• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:デザパタ シングルトンクラスの実態宣言の場所について)

シングルトンクラスの実態宣言の場所について

このQ&Aのポイント
  • デザパタのシングルトンを勉強していたのですが、実態の宣言(Singleton* Singleton::theInstance = NULL;)はヘッダファイル内だとなぜだめなのでしょうか?
  • さらにprivate修飾がついてるのに、なぜNULLにセットできるでしょう。
  • シングルトンクラスの実態宣言の場所とNULLのセットについて

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> 実態の宣言(Singleton* Singleton::theInstance = NULL;)はヘッダファイル内だとなぜだめなのでしょうか? ×実態 ○実体 それは宣言ではありません。定義です。 定義をヘッダに置くと、そのヘッダを#includeしたすべてのコンパイル単位に置いたことになり多重定義となります。 > さらにprivate修飾がついてるのに、なぜNULLにセットできるでしょう。 それができないと private なメンバは初期化不能となってしまいます。

関連するQ&A