条款六 若不想使用编译器自动生成的函数,就该明确的拒绝

1.可以将要拒绝的编译器会生成的函数自己定义为private的就可以,这样外部就无法调用这些函数,同时,
为了防止内部函数调用,可以只是声明函数,而不定义函数
如,拒绝使用copy构造函数
class Test
{
   private:
      Test(const Test&); //可以不明确写出参数
};

这样成员函数或者friend函数调用时,因为没有定义而在链接时报错,这样就可以提前发现.

2.可以定义一个base class,然后将要继承的函数放到private里,要拒绝自动生成的类可以继承该类

原文地址:https://www.cnblogs.com/bizhu/p/2601333.html