如果類的建構函式私有化,再例項化時,通過靜態成員函式來呼叫建構函式。
阿新 • • 發佈:2019-02-12
靜態私有成員在類外不能被訪問,可通過類的靜態成員函式來訪問;
當類的建構函式是私有的時,不像普通類那樣例項化自己,只能通過靜態成員函式來呼叫建構函式。
物件之間通過類的靜態成員變數來實現資料的共享的。靜態成員變數佔有自己獨立的空間不為某個物件所私有。
例項:::
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()->....這樣就可以呼叫了;
};