C++纯虚函数的多重继承及使用问题
总结:未实现父类的纯虚函数的子类只是无法创建实例,但子类仍然能直接调用父类的纯虚函数,哪怕纯虚函数没有在该子类中实现。如果在B的子类的C类实现了B从A继承而来的纯虚函数,那么C调用B类继承来的函数,然后该函数又包含A类的纯虚的时候,仍然可以正常调用
#include <iostream>
using namespace std;
class A{
public:
virtual void GET() = 0;
};
class B:public A
{
public:
void Get(){
GET();
};
};
class C:public B
{
virtual void GET()override;
};
void C::GET()
{
cout<<"hahhaha"<<endl;
};
int main()
{
C c;
c.Get(); //输出hahhaha
return 0;
}