コンストラクタ
出典: YKAwiki
[編集]
概要
クラスからオブジェクト(インスタンス)が生成される時に呼ばれる関数です。
ポインタか否かで呼ばれるタイミングが異なります。
[編集]
コンストラクタの例
たとえば以下のようなHogeというクラスがある場合、
[Hoge.h]
class Hoge{
Hoge();
~Hoge();
};
Hoge()がコンストラクタ、~Hoge()がデストラクタになります。
コンストラクタの定義は次のようになります。
[Hoge.cpp]
Hoge::Hoge(){
}
メンバ変数の初期化などに使いましょう。
[編集]
呼び出し例
通常のインスタンスの場合、宣言(生成)されたその瞬間に呼ばれます
[somewhat.h] Hoge hoge; Hoge piyo = Hoge();
上の場合いずれもこの瞬間にコンストラクタHoge()が呼ばれています。
ポインタを使っている場合、newした瞬間に呼ばれます
[somewhat.cpp] Hoge* hoge; hoge = new Hoge(); //←ここでやっと呼ばれます。
ポインタでの利用は、宣言と初期化のタイミングをずらしたいときなどに便利です。
