広告スペース(バナー)
レッスン 12 / 20

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

このレッスンでは、クラスのインスタンスが作られるとき・破棄されるときに自動で実行されるコンストラクタとデストラクタを学びます。「C++ コンストラクタ デストラクタ」で調べている方向けです。

コンストラクタはクラス名と同じ名前のメンバ関数で、インスタンス生成時に自動で呼ばれ、初期化処理を行います。デストラクタは~クラス名()という形で、インスタンスが破棄されるときに自動で呼ばれます。

サンプルコードでは、Animal(std::string n)というコンストラクタで名前を初期化し、~Animal()というデストラクタで「さようなら」というメッセージを出力しています。

初心者がよくつまずくのが、デストラクタが呼ばれるタイミングです。C++ではオブジェクトがスコープ(処理のブロック)を抜けるときに、自動的にデストラクタが呼ばれます。これはガベージコレクションを持つ言語との大きな違いです。

実際の開発現場では、コンストラクタでファイルを開き、デストラクタで確実に閉じる、といったリソース管理の仕組みとしてよく使われます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではC++を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
オブジェクトの生成・破棄のタイミングで自動処理が走る仕組みが理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)