C++の継承の種類
C++での継承は以下の通りです
- パブリック継承では、基底クラスのパブリックメンバは派生クラスでもパブリックのまま、保護メンバは派生クラスでは保護のまま、プライベートメンバは派生クラスではアクセスできない。
- 派生クラスでは、基底クラスの public メンバーと protected メンバーは protected であり、private メンバーはアクセスできません。
- プライベート継承:基底クラスのpublic、protectedメンバーは派生クラスではprivateとなり、privateメンバーは派生クラスからはアクセス不可。
さらに、特例の相続方法があります
- 多重継承におけるダイヤモンド継承問題に対処するため、共有継承を使用します。共有継承では、基底クラスの子オブジェクトは派生クラス間で共有され、このため継承の重複やデータの冗長化を回避します。