#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;
}