天天看點

定義一個c++類隻能執行個體一個對象

class A

{

public:

static A* Instance()

{

if( NULL == m_pa )

m_pa = new A();

return m_pa;

}

private:

A() {};

~A() {};

static A* m_pa;

}

上面的隻是定義好了,用時候還會碰到問題,需要加上一個句

A * A::m_pa = NULL; //注意這句話隻能執行一次,不然會出現重複定義(好多人這裡都沒有說清楚,讓我自己做時候郁悶了半天)