デストラクタ

提供: C++入門
移動: 案内検索
スポンサーリンク

デストラクタ(destructor, 消去子) とは、C++クラスのインスタンスが消去されるときに、オブジェクトの後始末をするために自動的に呼び出されるメンバ関数です。C++のクラスのデストラクタの命名規則は、クラス名の前にチルダを付けたもの、と決まっています。

読み方

デストラクタ
ですとらくた
destructor
ですとらくた
消去子
しょうきょし

概要

クラスは、オブジェクトが作成されるときに呼び出されるコンストラクタデストラクタを持ちます。デストラクタは、オブジェクトの後始末を担当します。ファイルのクローズ、メモリの開放などのリソースの開放などを担当させることができます。デストラクタでリソースの開放処理を行うことで、開放漏れを防ぐことができます。

デストラクタの定義

C++のデストラクタは、クラス名の前にチルダをつけると命名規則が決まっています。

class X
{
        X () {}
        ~X () { cout << __PRETTY_FUNCTION__ << endl; }
};

継承と仮想デストラクタ

継承を利用する場合、デストラクタの宣言に注意が必要になります。 基底クラスデストラクタには、仮想関数(仮想デストラクタ)として定義します。簡単に言えば、デストラクタにvirtualをつけて宣言します。

class X
{
        X () {}
        virutal ~X () { cout << __PRETTY_FUNCTION__ << endl; }
};

詳しくは、継承と仮想デストラクタをご参照ください。

関連項目




スポンサーリンク