程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++實現不可被拷貝的類

C++實現不可被拷貝的類

編輯:關於C++

在C++中,類的拷貝主要是通過拷貝構造函數和賦值函數,再者就是為拷貝專門實現的成員方法。由於拷貝構造函數和賦值函數在用戶為提供的情況下是由C++編譯器自動生成的,而且是public成員,因此默認的C++類都有拷貝功能。若讓一個C++類不能被拷貝,可顯式地聲明類的拷貝構造函數和賦值函數為私有函數,從而達到該類不可被拷貝的目的。下面簡單地提供一個基類,任何需要提供不可被拷貝功能的C++類只需從此類派生即可。

/*
* 通過私有化拷貝構造函數和賦值函數而達到對象不可被拷貝的目的
* 任何需提供不能被拷貝功能的類可以直接從CNonCopyable派生即可
*/
class CNonCopyable
{
private:
CNonCopyable(const CNonCopyable&);
const CNonCopyable& operator=(const CNonCopyable&);

protected:
CNonCopyable() { }
~CNonCopyable() { }
};

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved