継承の話(ちょっとまとめ)

まずクラスのアクセス権の基本

クラス、宣言、定義、インスタンス、この辺の言葉の使い方は大丈夫だよね?
宣言したクラスの定義部では、自クラス内のメンバのアクセス権にかかわらずすべてのメンバにアクセスできます。
クラスのインスタンスからは、そのクラスのpublicメンバにしかアクセスできません(カプセル化)

main.cppを選択してソースコードを表示してね
RUNボタンで実行もできます(エラーを含まないコードのみ)

次に継承したときの継承先から見たアクセス権(public継承)

public継承では、

として、継承先に引き継ぎます。
ついでに、継承先のクラスからは、継承元のprivateメンバは直接アクセスできません。(setter,getter経由)
つまり、継承関係にあるとはいえ、ベースクラス(継承元(基底クラスの))はサブクラス(継承先(派生クラス))からはカプセル化(隠蔽)されています。
具体的に、ソースコードを見てみましょう

main.cppを選択してソースコードを表示してね
RUNボタンで実行もできます(エラーを含まないコードのみ)