我有这个问题,我不知道如何正确解决。C++ - OOP设计 - 多继承和纯虚方法
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继承的问题。究竟是什么问题? –
你能提供能够真正产生你想解决的错误的代码吗? – Galik