【发布时间】:2016-09-17 17:03:14
【问题描述】:
我有这个问题,不知道如何正确解决。
class A : public B, public C
{
virtual void GetSomethingElse()
{
}
}
class B
{
public void GetSomething()
{
GetSomethingElse();
}
virtual void GetSomethingElse() = 0;
}
class C
{
virtual void GetSomethingElse() = 0;
}
基本上,我有两个抽象类B,C。通常,我只需要继承其中一个,但在某些特定情况下,我需要它们两个。
如何用GetSomethingElse() 方法正确解决这个问题,需要从B 调用。如果我只继承B,它将在孩子中实现。如果只是来自C,一切都还可以。
但是,如果我继承B 和C,我有一些“奇怪”的设计,类似于钻石继承问题,但完全不一样。
【问题讨论】:
-
我没有看到从 B 和 C 继承的问题。您到底有什么问题?
-
您能否提供实际生成您希望解决的错误的代码?