C++ コンストラクタとは?

クラスのメンバ関数には、特殊なモノが存在します。
コンストラクタデストラクタです。

ここではコンストラクタについて説明します。
(デストラクタについてはコチラ。)


コンストラクタは、クラスのインスタンスが作られた時に、
自動的に呼ばれる特殊なメンバ関数です。

主にクラスのメンバ変数の初期化に利用されます。

コンストラクタの名前は、クラス名と同じになります。

クラス名がhitoならば、コンストラクタ名もhitoになります。

引数は複数指定できますが、戻り値は設定できません。(void記述も不要。)

また、コンストラクタは、多重定義(オーバーロード)が可能です。

コンストラクタ利用例

#include <iostream>

using namespace std;

class hito {
public:
   int age;
   int sinchou;
   int taiju;

   hito();    // コンストラクタ

};

hito::hito() {    // コンストラクタ実体
   age = 0;
   sinchou = 0;
   taiju = 0;
}

void main(void) {
   hito satou;      // ここでコンストラクタが呼ばれる

   cout << "佐藤君の年齢は" << satou.age << "です" << '\n';
   cout << "佐藤君の身長は" << satou.sinchou << "です" << '\n';
   cout << "佐藤君の体重は" << satou.taiju << "です" << '\n';
}

クラスhitoにコンストラクタを記述し、動作確認した例です。

hito satou;のように、クラスhitoのインスタンスを作った時に
コンストラクタが呼ばれ、メンバ変数の初期化が行われています。