对复制的控制

为了禁止对类X对象的复制,只要简单地把复制构造函数和赋值都定义为私有的:
class X
{
  X& operator=(const X&); //assignment;
  X(const X&);   //copy constructor
public:
  X(int);
  //....
};

void f()
{
 X a(1);  //fine:can create X
 X b=a; //error: X::X(const X&) private
 b=a; //error:X::operator=(const X&) private
}

你可能感兴趣的:(error,private,create)