【发布时间】:2015-07-23 11:32:37
【问题描述】:
可能已经有关于此的问题,但我找不到。
我确定有一个简单的解决方案,但我看不到。
假设您有以下内容:
class FooBase
{
protected:
BarBase myInstance;
}
class FooChild : public FooBase
{
protected:
BarChild myInstance;
}
class BarChild : public BarBase
{
}
所以基本上,您想在 FooChild 类中使用 BarBase 的派生版本。
我认为在上面的代码中,将有 2 个不同的 myInstance 实例(一个 BarBase 和一个 BarChild)。
我希望只有一个实例,以便我可以在 FooBase 中使用 BarBase,并且我可以在 FooChild 中使用 BarChild。
有没有优雅的解决方案?
【问题讨论】:
标签: c++ inheritance composition