C ++でネストされたクラスを保護できますか?
質問
特定のクラス階層のクラスが本当に必要とするクラスがあります。最上位クラスの保護されたセクションにクラスをネストし、他のすべてのクラスに自動的に継承させることができるかどうかを知りたいですか?
解決
"継承" C ++には非常に具体的な定義がありますが、そうではありませんが、そうすることはできます。これは合法です:
class A {
protected:
class Nested { };
};
class B : public A {
private:
Nested n;
};
そして、Aにないコード、またはAから派生したコードは、A :: Nestedにアクセスしたりインスタンス化することはできません。
所属していません StackOverflow