169、 如何禁止程序自动生成拷贝构造函数?

1) 为了阻止编译器默认生成拷贝构造函数和拷贝赋值函数,我们需要手动去重写这两个函数,某些情 况下,为了避免调用拷贝构造函数和拷贝赋值函数,我们需要将他们设置成private,防止被调用。

2) 类的成员函数和friend函数还是可以调用private函数,如果这个private函数只声明不定义,则会产 生一个连接错误;

3) 针对上述两种情况,我们可以定一个base类,在base类中将拷贝构造函数和拷贝赋值函数设置成 private,那么派生类中编译器将不会自动生成这两个函数,且由于base类中该函数是私有的,因此,派 生类将阻止编译器执行相关的操作。

原文地址:https://www.cnblogs.com/crbhf/p/15037604.html