可以说我有两节课 Widget ^ |Window 我有另一个类应用程序: 定义如下 class Application{public: ...private: friend Widget;}; 这不会使Window访问受保护的应用程序和私有成员.有没有办法在不声明Windo
Widget ^ | Window
我有另一个类应用程序:
定义如下
class Application { public: ... private: friend Widget; };
这不会使Window访问受保护的应用程序和私有成员.有没有办法在不声明Window和任何后续“Widget”作为Application的朋友的情况下完成此操作?
不,这是不可能的.友谊不是可继承的.
此外,友谊表明两个实体之间有意强烈的耦合因此,如果你的设计确实要求这样一个强大的耦合继续前进,并使他们成为朋友.打破封装的友谊是一个太被误解的概念.