防止对象被复制以及赋值
把复制构造函数以及赋值构造函数声明为private,并且不实现只是声明,可以防止复制以及赋值,不实现是防止友元函数以及成员函数调用。
对于不可复制以及赋值的对象,把错误可以转到编译期而不是链接期
class Uncopy { private: Uncopy(Uncopy&); Uncopy& operator=(const Uncopy&); }; class HomeForSale:private Uncopy {};
以上的HomeForSale是不会被复制以及赋值,如果成员函数或者友元函数调用复制或者赋值函数,那么在编译期就会报错,而不是等到链接。
浙公网安备 33010602011771号