C++ subclass inheritance
好吧,这可能是个愚蠢的问题,但我不知道如何解决我的问题。
假设我们有4个班
我的问题是:如何使用D中b定义的方法?如果d继承自b,则得到"错误:在不同类型的多个基类中找到成员'xxx'"如果d不从b继承,我得到"使用未声明的标识符"
以下是操作方法-根据您的描述:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class A { protected: void foo(); }; class B : public A { protected: void bar(); }; class D : public B { protected: void baz() { B::bar(); } }; |
请注意,您不应该直接继承
另外,下一次,请张贴一个最小的,完整的,可验证的例子,不要让我们猜测你确切的意思。
在这些情况下,来自多个继承路径的相同子类中的相同方法是"菱形模式",您可以在这里了解它。