构造函数、拷贝构造函数、赋值操作函数(重载)、析构函数,这些函数如果没有显式编写的话,编译器将自动生成其缺省的版本,自动生成的函数都是public以及inline的。
对于默认的对象赋值操作,如果其中涉及非法操作(如改变引用的指向,改变const变量等),则编译器就会拒绝生成缺省的赋值操作函数。
另一种特殊情况是父类的赋值操作函数为private,首先此时编译器不会再为子类生成默认赋值操作函数,但此时子类对象不能进行赋值操作,因为无权调用父类的private成员。
构造函数、拷贝构造函数、赋值操作函数(重载)、析构函数,这些函数如果没有显式编写的话,编译器将自动生成其缺省的版本,自动生成的函数都是public以及inline的。
对于默认的对象赋值操作,如果其中涉及非法操作(如改变引用的指向,改变const变量等),则编译器就会拒绝生成缺省的赋值操作函数。
另一种特殊情况是父类的赋值操作函数为private,首先此时编译器不会再为子类生成默认赋值操作函数,但此时子类对象不能进行赋值操作,因为无权调用父类的private成员。