谁能解释第一道填空题

 

这要填的空在哪呢

在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体

虚函数的知识可参考:虚函数和抽象类基础知识_午后斜阳-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类增加默认无参构造函数