首页 > 代码库 > 【C++基础 09】避免对象的拷贝

【C++基础 09】避免对象的拷贝

如果我们要使某个类不具备拷贝的功能,可写一个基类(base classes),然后将copy构造函数声明为private且不去实现它。

具体实现如下:

class A
{
public:
	A(){}
private:
	A(const A&);//copy构造函数为private且不实现它
	A& operator=(const A&);
};

class B : public A{
public:
	B(){}
	~B(){}
};

void main()
{
	A a ;
	A a1(a);    //error
	A a2 = a;   //error

	B b;
	B b1(b);    //error
	B b2 = b;   //error
	return;
}

所有错误的提示都是copy构造函数不能访问