C 實現單例模式

2021-09-17 22:25:03 字數 558 閱讀 8769

#include

#include

using namespace std;

class singleton

;//這裡宣告了乙個構造,則必須要有{}實現方法體,不然會報錯symbol錯誤

//~singleton(void);  //不顯式宣告的話,缺省會帶有析構函式

static singleton* instance; //不能在這裡直接賦值,不然會報pure的錯誤

public:

static singleton* getintance();

};singleton* singleton::instance = null;

//外部顯式的書寫getintance方法,也可以在類裡面內聯函式方法體

singleton* singleton::getintance()

return instance;

};//singleton::singleton()

void main()

;錯誤反思:

對於宣告的建構函式體,c++內必須具備{}方法體,不然會出現此錯誤。

C 實現單例模式

給所需要進行單例的類ctest的建構函式宣告為private或者protected 防止在類外隨意生成ctest的物件 然後宣告乙個靜態成員變數 instance 乙個靜態成員函式getinsance staticctest getinstance staticctest instance 靜態成員...

C 實現單例模式

ifndef singleton h define singleton h include include using namespace std class locker inline locker inline void lock inline void unlock private pthre...

C 實現單例模式

class singleton 私有建構函式 singleton const singleton 拷貝建構函式,只宣告不定義,這要當使用者或友元想要拷貝構造該類的已存在例項時會出錯。singleton operator const singleton 賦值運算子,只宣告不定義,作用同上 public...