C ++에서 중첩 클래스를 보호 할 수 있습니까?
문제
나는 특정 클래스 계층 구조에서 수업에서만 필요한 수업이 있습니다. 나는 최고 수준의 보호 섹션에서 수업을 둥지하고 다른 모든 클래스가 자동으로 상속 될 수 있는지 알고 싶었습니까?
해결책
"상속"은 C ++에서 매우 구체적인 정의를 가지고 있기 때문에 사용하기에 잘못된 단어입니다. 이것은 합법적입니다 :
class A {
protected:
class Nested { };
};
class B : public A {
private:
Nested n;
};
그리고 A에 있지 않은 코드 또는 A에서 파생되는 코드는 A :: 중첩에 액세스하거나 인스턴스화 할 수 없습니다.
제휴하지 않습니다 StackOverflow