Cplusplus-cpp-constructor-destructor
提供:Dev Guides
C ++クラスのコンストラクタとデストラクタ
クラスコンストラクター
クラス*コンストラクタ*は、そのクラスの新しいオブジェクトを作成するたびに実行されるクラスの特別なメンバー関数です。
コンストラクターはクラスとまったく同じ名前を持ち、戻り値の型はまったくなく、voidさえもありません。 コンストラクターは、特定のメンバー変数の初期値を設定するのに非常に役立ちます。
次の例では、コンストラクタの概念を説明します-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
パラメータ化されたコンストラクタ
デフォルトのコンストラクターにはパラメーターはありませんが、必要に応じて、コンストラクターにパラメーターを含めることができます。 これは、次の例に示すように、作成時にオブジェクトに初期値を割り当てるのに役立ちます-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
初期化リストを使用してフィールドを初期化する
パラメータ化されたコンストラクタの場合、次の構文を使用してフィールドを初期化できます-
上記の構文は、次の構文と同じです-
クラスCの場合、初期化される複数のフィールドX、Y、Zなどがある場合、同じ構文を使用し、次のようにフィールドをカンマで区切ることができます-
クラスデストラクタ
- デストラクタ*は、クラスのオブジェクトがスコープ外に出たとき、またはそのクラスのオブジェクトへのポインタに削除式が適用されたときに実行されるクラスの特別なメンバー関数です。
デストラクタは、チルダ(〜)を前に付けたクラスとまったく同じ名前を持ち、値を返すことも、パラメータを取ることもできません。 デストラクタは、ファイルを閉じる、メモリを解放するなど、プログラムから出る前にリソースを解放するのに非常に役立ちます。
次の例では、デストラクタの概念を説明します-
上記のコードをコンパイルして実行すると、次の結果が生成されます-