C++でSingletonの実装

Singletonとは、デザインパターンの一種でインスタンスが1つだけであることを保障します。

コンストラクタをprivateにする。

//====================================
//	Game(Singleton)
//====================================
class Game
{
private:

	Game();

public:

	static Game* getGame(){ static Game game; return &game; }

	void Run();
};


//====================================
//	Game Access
//====================================
#define GAME Game::getGame()


//====================================
//	Main
//====================================
int main()
{
GAME->Run();
return 0;
}

このようにコンストラクタをprivateにしておくことで
クラス内のstatic要素の部分以外では生成できないようにしてあります。
インスタンスの取得&アクセスがしやすいように#defineで定義しておくと楽です。