C++の常識

コンストラクタ


 オブジェクト(クラスの実体)を初期化するためのコードは、コンストラクタの中に書きます。

コンストラクタの宣言

 コンストラクタ(constructor)は、メンバー関数の一種です。しかし、次の点で普通のメンバー関数とは異なります。

コンストラクタの規則

  1. 関数の名前をクラス名と同じにする
  2. 必ずpublicセクションで宣言する
  3. 型を指定できない。したがって値を返せない
  4. 引数をとることもできる
 この規則にしたがって、クラスSampleにコンストラクタを導入してみましょう。まず規則1によって、コンストラクタの名前はSampleになります。

class Sample {
  
    ・・・・・・・
	
    Sample();             // コンストラクタ
	
    ・・・・・・・

  };

 規則2にしたがって、コンストラクタをpublicセクションに置きます。これは、コンストラクタがクラスの外から呼び出されるからです。コンストラクタをprivateセクションに置くと、コンパイルエラーになります。

class Sample {
  
    ・・・・・・・
	
public:
    Sample();             // コンストラクタはpublicセクションに置く
	
    ・・・・・・・

  };

 規則3にしたがって、コンストラクタには型を指定しません。上記では型を指定していませんので、これでコンストラクタの宣言は完成です。引数を取ることもできますが、上記の例は引数なしのコンストラクタです。