这要填的空在哪呢
在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体
虚函数的知识可参考:虚函数和抽象类基础知识_午后斜阳-CSDN博客_虚函数和抽象类
这要填的空在哪呢
A obj---错的,A是抽象类,不能定义实例
pointer.show()---错的,pointer是指针,应该是pointer->show();
A类的void show()=0改为 virtual void show() = 0;
B类cout<<adata错的,adata是A类的私有成员,子类不能直接访问
D(int a,int b,int c,int d):B(a,b),C(a,c),vd(d) {}--错误。由于A类没有默认构造函数,此处无法构造,改为
D(int a,int b,int c,int d):A(a),B(a,b),C(a,c),vd(d) {}或者给A类增加默认无参构造函数