1. 程式人生 > >C++ GetInstances()的實現 獲取物件例項

C++ GetInstances()的實現 獲取物件例項

//獲取物件例項 函式的定義和實現以及物件指標的初始化和釋放
.h
//全域性單元
class A
{
public:  static A*   m_pA;    //物件指標

    //函式定義
public:
    //建構函式
    A();
    //解構函式
    virtual ~A();

//函式定義
public:
    static A * GetInstances() { return m_pA;}
}

.cpp
//初始化物件指標
A * A::m_pA=NULL;    //初始化物件指標

//建構函式
A::A()
{
    //設定物件
    ASSERT(m_pA==NULL);
    if (m_pA==NULL) m_pA=this;
}

//解構函式
A::~A()
{
    //釋放物件
    ASSERT(m_pA==this);
    if (m_pA==this) m_pA=NULL;
}


//呼叫
A::GetInstances()->類的成員函式