你能用C ++保护嵌套类吗?

时间:2008-11-21 01:23:46

标签: c++ class nested protected

我有一个类,它只是某个类层次结构中的类所需要的。我想知道是否可以将类嵌套在最高级别的受保护部分中,并让所有其他类自动继承它?

1 个答案:

答案 0 :(得分:8)

“继承”是一个错误的词,因为它在C ++中有一个非常具体的定义,你不是这个意思,但是你可以这样做。这是合法的:

 class A {
   protected:
   class Nested { };
 };

 class B : public A {
   private:
   Nested n;
 };

不在A中的代码或从A派生的代码无法访问或实例化A :: Nested。