クラスの継承は、既存のクラス(親クラスまたは基底クラスとも呼ばれます)の特性と振る舞いを継承するためのメカニズムです。この機能を使用することで、コードの再利用性が向上し、階層的なオブジェクトの構造を表現することができます。
クラスの継承を実現するには、次のような構文を使用します:
class 子クラス名 : アクセス指定子 基底クラス名
{
// 子クラスの定義
};
アクセス指定子は、public、protected、またはprivateのいずれかを指定します。これは、子クラスが親クラスのメンバにアクセスできる範囲を制御するために使用されます。public指定子は、親クラスのメンバが子クラスから直接アクセス可能であることを意味し、protected指定子は、親クラスのメンバが子クラスからアクセス可能であることを意味しますが、外部からはアクセスできません。private指定子は、親クラスのメンバが子クラスからも外部からもアクセスできないことを意味します。
以下に、具体的なコード例を示します:
class Animal
{
public:
void eat()
{
cout << "Animal is eating" << endl;
}
};
class Dog : public Animal
{
public:
void bark()
{
cout << "Dog is barking" << endl;
}
};
int main()
{
Dog dog;
dog.eat(); // Animal is eating
dog.bark(); // Dog is barking
return 0;
}
上記の例では、Animalクラスを親クラスとして、Dogクラスを作成しています。DogクラスはAnimalクラスを継承しており、eat()メソッドを使用することができます。また、Dogクラスには独自のメソッドであるbark()も定義されています。
このように、クラスの継承を使用することで、既存のクラスの機能を拡張しながら、新しいクラスを作成することができます。コードの再利用性と保守性を高めるために、適切にクラスの継承を活用しましょう。
以上が、C++における2つのクラスの継承についての解説です。