C++單例設計模式

#include <iostream>

using namespace std;

class Engine

{

public:

    static Engine* getInstance();

    

    void showMe();

    

private:

    Engine(){};

    Engine(const Engine &t);

    Engine& operator=(const Engine &t);

    

    static Engine *m_engine;

    

    

};


Engine* Engine::m_engine = NULL;

Engine* Engine::getInstance()

{

    

    if (NULL == m_engine) {

        m_engine = new Engine();

    }

    

    return m_engine;

}


void Engine::showMe()

{

    cout << "I am a singleton class of engine!" << endl;

}



int main()

{

    

    auto engine = Engine::getInstance();

    engine->showMe();

    

    return 0;

    

}


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