c ++从2个函数多重继承,其中一个是纯虚拟的
c++ Multiple inheritance from 2 functions, while one of them is pure virtual
假设我们有一个 class 继承自另外 2 个 classes,它们都有一个具有相同签名的虚函数。
因为签名相同,所以会出现错误,因为mainclass不知道从谁那里继承虚函数。
此外,如果函数是 纯 虚拟函数,则需要在主函数 class 中对其进行初始化。
所以我的问题是,如果 main class 继承自 2 个具有相同虚函数的 classes 但 其中一个 是纯虚函数,它会只使用第二个?
还是需要做其他事情?
顺便说一句,如果可能的话,我想看看你写的代码来回答这个问题。
谢谢:)
if the main class inherits from 2 classes with same virtual function but one of them is a pure virtual, will it just use the second one?
没有。 C++ 不会假设您想要那种行为。
Or something else needs to be done?
如果不希望派生的 class 是抽象的,则必须实现函数。
void Derived::func()
{
SomeBase::func();
}
假设我们有一个 class 继承自另外 2 个 classes,它们都有一个具有相同签名的虚函数。 因为签名相同,所以会出现错误,因为mainclass不知道从谁那里继承虚函数。 此外,如果函数是 纯 虚拟函数,则需要在主函数 class 中对其进行初始化。 所以我的问题是,如果 main class 继承自 2 个具有相同虚函数的 classes 但 其中一个 是纯虚函数,它会只使用第二个?
还是需要做其他事情?
顺便说一句,如果可能的话,我想看看你写的代码来回答这个问题。
谢谢:)
if the main class inherits from 2 classes with same virtual function but one of them is a pure virtual, will it just use the second one?
没有。 C++ 不会假设您想要那种行为。
Or something else needs to be done?
如果不希望派生的 class 是抽象的,则必须实现函数。
void Derived::func()
{
SomeBase::func();
}