关于继承的问题

0 c++

class B{
private:
   void DoSomething();
}

class W{
private: 
   class D: public B{
   }

   D d; 
}
Run Code Online (Sandbox Code Playgroud)

我可以在W类的范围内调用D的基类中的私有成员函数吗?

Ari*_*yck 5

不.除了拥有它的类之外,你永远不能从任何地方调用私有成员函数.如果您希望派生类能够访问它,请将其声明为受保护的.

你也可以宣布D是B级的"朋友"; 这将允许D访问B.DoSomething().但是,这种方法通常不受欢迎.