類在項目中只有一個實例

僅記錄下類只有一個實例的方法。

MyClass.h

Class MyClass
{
 public:
    static MyClass* GetInstance();
    static void ReleaseInstance();
    MyClass();
private:
    static MyClass* handle;
}

 MyClass.cpp

MyClass* MyClass::handle = NULL;
MyClass* MyClass::GetInstance()
{
    if(handle ==NULL){
        handle = new MyClass();
    }
    return handle;
}

void MyClass::ReleaseInstance(){
    if(handle !=NULL){
        delete handle;
        handle = NULL;
    }
}

MyClass::MyClass()
{
}


每次只需調用MyClass* MyClass::GetInstance()即可獲得MyClass類的實例句柄。

例(xxx.cpp):

#include "MyClass"

MyClass *myC = MyClass::GetInstance()




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章