其他分享
首页 > 其他分享> > c – 从不同的基类重载同名的虚函数.可能吗?

c – 从不同的基类重载同名的虚函数.可能吗?

作者:互联网

参见英文答案 > 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.

标签:c,inheritance,virtual-functions,overriding
来源: https://codeday.me/bug/20191008/1870075.html