【发布时间】:2017-12-26 22:48:59
【问题描述】:
我有两个基类和一个继承这两个基类的类。 两个基类都有一个签名相同的虚函数,我想在派生类中为每个虚函数提供不同的实现。
class A{
virtual void f() = 0;
}
class B{
virtual void f() = 0;
}
class Derived:public A, public B{
void A::f() override{ // Error
...
}
void B::f() override{ // Error
...
}
}
这样做的正确方法是什么? (我不能重命名虚函数。实际上这两个基类是从同一个模板类生成的。)
【问题讨论】:
-
派生类继承了相同的混合模板类,但参数不同。函数f()其实就是一些类似update()的函数,我需要为不同的参数定义不同的更新函数。
-
可能是我误解了这个问题,但请考虑使用一个基类和两个派生类,而不是您目前正在做的事情。
标签: c++ overriding multiple-inheritance