参见英文答案 > C++ virtual override functions with same name 4个
标题可能令人困惑.
假设我们有以下设置;
class A
{
public:
virtual void fn() = 0;
};
class B
{
public:
virtual int fn() {};
};
class C: public A, public B
{
};
有没有办法在C类中定义A :: fn?
解决方法:
不,这是不可能的.它总是与fn()中的任何一个冲突.
fn()的语法不同,
void fn(); // in A
而在B中,
int fn(); // in B
你必须在A和B中使这些语法相同,让C实现fn(). Demo.