我想不出更好的标题...如果可以请编辑!
class AbstractGUIBase
{
...
};
class GUIConcrete : public AbstractGUIBase
{
...
};
class AbstractApplicationBase
{
AbstractGUIBase *mGUI;
};
class MyApplication : public AbstractApplicationBase
{
GUIConcrete *mGUI;
};
这基本上是我的设置......应用程序基类提供了通用功能,包括对 GUI 基类实例的引用mGUI
。mGUI
仅在MyApplication
或其他具体子类中实例化。
我不想mGUI
在两个类中重新声明,因为我最终会做类似super::mGUI = mGUI = new ConcreteGUI()
. 但我也不想mGUI
每次在MyApplication
.
这里有正常的模式吗?我在想你可以AbstractApplicationBase
在 GUI 类类型上进行模板化,但我不是特别喜欢模板编程。
我使用的是 MSVC++2008,所以没有花哨的现代东西可用。