我们遇到这种情况:
Window Keyboard ^ ^ | / ApplicationWindow
所以
class Window { }
class Keyboard { }
class AppWindow : public Window, public Keyboard { }
现在,键盘想要访问 ApplicationWindow 中的属性,例如,它想要调用ApplicationWindow的 getWidth()属性。< / p>
我的解决方案是在键盘中放置指向 ApplicationWindow 的指针。
我正在尝试使用多重继承作为composition,而我知道实际的构成更受鼓励,我想尝试MI。
在任何情况下,如果我仍使用合成,我需要从键盘获取 ApplicationWindow 实例的反向链接。
答案 0 :(得分:1)
我想说将属性移动到基类键盘会更清晰。
ApplicationWindow也可以访问它,因为ApplicationWindow扩展了Keyboard。
您不希望基类需要了解任何子类。