1. 程式人生 > >如果類的建構函式私有化,再例項化時,通過靜態成員函式來呼叫建構函式。

如果類的建構函式私有化,再例項化時,通過靜態成員函式來呼叫建構函式。

靜態私有成員在類外不能被訪問,可通過類的靜態成員函式來訪問;

當類的建構函式是私有的時,不像普通類那樣例項化自己,只能通過靜態成員函式來呼叫建構函式。

物件之間通過類的靜態成員變數來實現資料的共享的。靜態成員變數佔有自己獨立的空間不為某個物件所私有。

例項:::

class A { private: A(){  } ~A(){ } public: void Instance()//類A的內部的一個函式 { A a; } }; 該類以外呼叫的話,必須申明為靜態成員函式,才能呼叫:
class Single { private: Single(); ~Single();
static Single* gPsg; public: static  Single* GetSingle() { if(!gPsg) gPsg = new Single(); return gPsg; }; }; Single* Single::gPsg = null; void sFun() { Single::GetSingle()->....這樣就可以呼叫了; };