コンストラクタとデストラクタ

提供: C++入門
2013年3月23日 (土) 22:04時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「<!-- vim: filetype=mediawiki --> __TOC__ == 概要 == クラス は、コンストラクタデストラクタと呼ばれるメンバを持ちます...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク


概要

クラス は、コンストラクタデストラクタと呼ばれるメンバを持ちます。 クラスをインスタンス化するときにコンストラクタが呼び出されます。 インスタンスが解放されたり、スコープ外になったときに、デストラクタが呼び出されます。

コンストラクタの役割は、インスタンスの初期化です。メンバ変数の初期化処理などを請け負います。

デストラクタの役割は、インスタンスの終了処理です。メモリの解放やファイルのクローズなどをやってもらうことができます。

クラスにおけるコンストラクタ

クラスのコンストラクタは、クラス名と同じ名前を持ちます。

class C {
	public:
		// コンストラクタ
		C() {
		}
};

オーバーロードのために複数のコンストラクタを持つことができます。

class C {
	public:
		int m_i;
		// コンストラクタ
		C() {
		}
		C(int i): m_i(i) {
		}
};

クラスのデストラクタは、クラス名の前にチルダ(~)をつけた名前を持ちます。

クラスにおけるデストラクタ

class C {
	public:
		// デストラクタ
		~C() {
		}
};

コンストラクタとデストラクタの省略

コンストラクタとデストラクタは、不要であれば、省略できます。

class C {
	public:
		void foo() {
		}
};

関連項目




スポンサーリンク