ログクラスを作る
ログクラスを作成してみる。
シングルトン
main.c
#include "log.h" int main() { /* シングルスレッドのmain関数内で初期化することでスレッドセーフになる */ static Log &log = Log::GetInstance(); return 0; }
Log.h
class Log { public: static Log &GetInstance(); private: // コンストラクタデストラクタコピーコンストラクタ代入はプライベートで定義 Log() {}; ~Log(){}; Log(const Log &other) {}; Log& operator=(const Log &other) {}; };
Log.cpp
#include "Log.h" Log &Log::GetInstance() { static Log instance; // 一度だけLogインスタンスを生成する return instance; }