如果我们实在不想编写拷贝构造函数和赋值函数,又不允许别人使用编译器生成的缺省函数,怎么办?

       偷懒的办法是:只需将拷贝构造函数和赋值函数声明为私有函数,不用编写代码。

例如:

    class A

    {

      private:

        A(const A &a);              // 私有的拷贝构造函数

        A & operate =(const A &a); // 私有的赋值函数

    };

 

如果有人试图编写如下程序:

    A  b(a);    // 调用了私有的拷贝构造函数

    b = a;      // 调用了私有的赋值函数

编译器将指出错误,因为外界不可以操作A的私有函数。