当前位置 : 主页 > 手机开发 > 其它 >

通过继承C成为朋友

来源:互联网 收集:自由互联 发布时间:2021-06-19
可以说我有两节课 Widget ^ |Window 我有另一个类应用程序: 定义如下 class Application{public: ...private: friend Widget;}; 这不会使Window访问受保护的应用程序和私有成员.有没有办法在不声明Windo
可以说我有两节课

Widget
  ^
  |
Window

我有另一个类应用程序:

定义如下

class Application
{
public:
    ...
private:
    friend Widget;
};

这不会使Window访问受保护的应用程序和私有成员.有没有办法在不声明Window和任何后续“Widget”作为Application的朋友的情况下完成此操作?

不,这是不可能的.

友谊不是可继承的.

此外,友谊表明两个实体之间有意强烈的耦合因此,如果你的设计确实要求这样一个强大的耦合继续前进,并使他们成为朋友.打破封装的友谊是一个太被误解的概念.

网友评论