プログラミング実習の受講生の皆さん、今回の実習では C++ の真骨頂とも言える「継承」と「ポリモーフィズム」を学びます。

これまでは「便利な C 言語」として C++ を使ってきたかもしれませんが、ここからは「オブジェクト指向」という強力な設計思想の核心に触れていくことになります。課題に取り組む前に、以下のポイントを整理しておきましょう。


1. 今回の課題のねらい

「再利用」と「共通化」の極意を学ぶ

プログラムが大規模になると、似たようなコードを何度も書く「重複」が最大の敵となる。


2. 今回の課題の到達目標

抽象的な概念を具体的なコードに落とし込む


3. 重要な C++ の概念と C 言語との違い

今回の範囲で最も重要な 3 つの概念を整理しよう。

① 継承 (Inheritance)

既存のクラス(基底クラス)のメンバー変数や関数を、新しいクラス(派生クラス)へ引き継ぐ仕組みである。

② 仮想関数 (Virtual Function)

基底クラスのポインタを経由して関数を呼んだ際、実際に指しているオブジェクト(派生クラス)の関数を呼び出すための仕掛けである。

③ ポリモーフィズム (Polymorphism / 多態性)

「同じメッセージ(関数呼び出し)を送っても、相手によって異なる振る舞いをする」という性質である。


4. 今回の課題で気をつけるべき点

実習中に陥りやすい罠がいくつかある。


次に取り組むべきこと:
まずは資料の [List 12.1] 〜 [List 12.3] を確認し、基本的な car クラスの動作を理解することから始めてください。準備ができたら、課題 12.1 の hybrid_car への拡張に進みましょう。