2016-10-14 3 views
-1

クラスがパブリックモードで継承され、パブリックメンバーと保護された基本クラスのメンバーがパブリックになり、派生クラスの保護されたセクションになる場合。 私の質問は、派生クラスに保護されたセクションがない場合、どうなるでしょうか?C++の継承について

+0

とにかく暗黙的に継承されます。 –

+2

この質問は、あなたが実際にこれをテストし、質問にテストコードを含めて、テストで得られた結果の説明/確認を求めた方が良いでしょう。 – hyde

答えて

1

"何も起こりません"。クラスには基本的なメンバー以外のメンバーはいません。protected

protected:と書かれていない場合、クラスが[継承] protectedメンバーを持つことができないこと、または「保護されたセクション」がないことを意味するわけではありません。構文とセマンティクスは密接に結合されていません。

0

パブリック継承では、派生クラスに定義されている保護セクションがまったくない場合、または空の場合は問題ありません。基本クラスの保護されたメンバーは、とにかに継承され、保護されたままです。派生クラスの定義にパブリックセクションがない場合でも、パブリックの場合と同じです。 calss定義の

public:/protected:/private:本当に「セクション」ではありません、彼らは次のpublic:/protected:/private:まで、それらを次のメンバーのメンバーのアクセスをマークするだけの構文であり、あなたは、このような、任意の数を持つことができます「セクション」を任意の順序で使用します。