クラスのメンバ関数には、特殊なモノが存在します。
コンストラクタとデストラクタです。
ここではコンストラクタについて説明します。
(デストラクタについてはコチラ。)
コンストラクタは、クラスのインスタンスが作られた時に、
自動的に呼ばれる特殊なメンバ関数です。
主にクラスのメンバ変数の初期化に利用されます。
コンストラクタの名前は、クラス名と同じになります。
クラス名が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のインスタンスを作った時に
コンストラクタが呼ばれ、メンバ変数の初期化が行われています。