コンストラクタ
コンストラクタ:インデックス への移動
コンストラクタは,その属するクラスと同じ名前を持つことによって,ほかのすべてのメンバー関数と区別されます。そのクラスのオブジェクトが作成またはコピーされるときには,適切なコンストラクタが暗黙的に呼び出されます。
グローバル変数のためのコンストラクタは,main 関数が呼び出される前に呼び出されます。さらに,グローバル変数のコンストラクタは,#pragma startup 関数の前に呼び出されます。
ローカルオブジェクトは,その変数のスコープがアクティブになるのに従って作成されます。コンストラクタは,そのクラスの一時的なオブジェクトが作成されるときにも呼び出されます。
class X {
public:
X(); // クラス X のコンストラクタ
};
クラス X のコンストラクタは,X を引数として持つことはできません。
class X {
public:
X(X); // 不正
};
そのクラスのメンバーである場合を除き,コンストラクタへのパラメータの型はなんでもかまいません。コンストラクタは,パラメータとして自分のクラスへの参照を受入れることができます。そうした参照を受け入れた場合,それはコピーコンストラクタと呼ばれます。パラメータをとらないコンストラクタはデフォルトコンストラクタと呼ばれます。