【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構造函數不能訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章