多重継承
派生クラスは、複数の基本クラスを持つ事が可能です。
派生時の基本的な事柄は、単独継承の時と同じです。
記述例
派生クラスCは、基本クラスAとBから派生。
class C : public A, public B {
クラス定義
};
仮想基本クラス
次のような親子関係の時、
クラスBは、2つの基本クラスを持っていますが、
クラスAの内容が重複して2つ継承してしまう事になります。
このような時のために、解決策が用意されています。
上の例の場合、クラスA1がクラスAを継承する時、
同じく、クラスA2がクラスAを継承する時にキーワードvirtualをつけます。
記述例
class A { クラス定義 };
class A1 : virtual public A { クラス定義 };
class A2 : virtual public A { クラス定義 };
class B : public A1, public A2{ クラス定義 };
キーワードvirtualが付いたクラスを仮想基本クラスと呼びます。