シングルトン

C++でのシングルトンをJavaと同じように書いてみたら、
コンパイルは通るけど、ビルドで落ちました…(´Д`;
 
小一時間悩んでも分からなかったので、ネットで調べたらこんなものが…。
 
http://www.01-tec.com/document/cpp_design_pattern.html#Singleton
 
そうか、ヘッダファイルは宣言だけで、
実体はCPPファイルに書かなければいけないのか〜、
などと基本的な間違いをしておりました…。
 
ということで、以下、サンプル。
<Singleton.h>

#pragma once

#include <iostream>

using namespace std;
class CSingleton
{
private:
	static CSingleton m_Singleton;
	CSingleton() {};
public:
	static CSingleton *GetInstance() {return &m_Singleton;};
	void SayHello() {cout << "Hello" << endl;};
};

<Singleton.cpp>

#include ".\singleton.h"

CSingleton CSingleton::m_Singleton;

<main.cpp>

#include "Singleton.h"

void main()
{
	CSingleton::GetInstance()->SayHello();
}

まだまだ、勉強が必要ですね、、。
っていうか、なんでprivateな名前空間インスタンスを外部で作れるんじゃ〜!
と、一人で怒ってみる。(´Д`;ハァ