#include <iostream>
using namespace std;
class CBase
{
public:
virtual void out() = 0;//纯虚函数
};
class CBase2:public CBase
{
protected:
virtual void out()override
{
cout << "CBase2" << endl;
}
};
class CBase3 :public CBase2
{
//中间类不实现父类虚函数
};
class CBase4 :public CBase3
{
protected:
virtual void out()override
{
cout << "CBase4" << endl;
}
};
int main(void)
{
CBase* ptr = NULL;
CBase4 c4;
ptr = &c4;
ptr->out();//可正常输出“CBase4”
return 0;
}