C++

C++纯虚函数的多重继承及使用问题

多态

Posted by VK on September 20, 2019

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;
}