21.アクセス制御

クラスのメンバのアクセス指定のうち、public を指定したメンバを公開メンバと呼び
非公開メンバはそのクラス内からのみアクセス可能です
ここに public を指定すると、基本クラスの公開メンバをそのまま公開メンバとして継承するということです
これによって、Base クラスの公開メンバは Derived クラスでも公開メンバとして扱われます
Base クラスの str メンバ変数はデフォルトの private すなわち非公開メンバです
https://m.hujiang.com/d/jp/%E3%81%99%E3%81%AA%E3%82%8F%E3%81%A1

public と private の中間的なアクセス指定子が存在します

protected で指定されたメンバは被保護メンバと呼ばれます

派生クラスからもアクセスできる非公開メンバが被保護メンバといえます

被保護メンバへのアクセス権は、あくまで基本クラスかそのクラスの派生クラスのみ保有します

https://dict.hjenglish.com/jp/jc/%E3%81%82%E3%81%8F%E3%81%BE%E3%81%A7

しかし、被保護メンバへのアクセスは派生クラスからならば可能です

protected はクラスの継承時のアクセス指定に用いることも可能です