《Effective C++ 中文版 第三版》读书笔记
** 条款 05:了解 C++ 默默编写并调用哪些函数**
如果打算在一个包含“引用成员”的 class 内支持赋值操作符,就必须自己定义 “operator=” 操作符。面对包含 “const成员” 的 class,也需要这样子。
如果 base class 将 copy 赋值操作符声明为 private,编译器将拒绝为其 derived classes 生成一个 “operator=” 操作符。因为 derived classes 产生的 copy 赋值操作符想处理 base class 的 copy 赋值操作,但是这是不可行的。
** 请记住:**
编译器可以暗自为class创建默认构造函数、拷贝构造函数、拷贝赋值操作符,以及析构函数。
网友评论