问题
填空题
下列程序编译错误,因为add函数返回值是一个引用,故对return返回值的要求是______。
#include(iostream.h)
int& add(int x,int y)
return x+y,
void main()
int i=3,j=19;
cout<<(add(i,j)+=20)<<end1;
答案
参考答案:AAB。
解析: 本题考查的是派生类的构造函数。建立派生类对象时,构造函数的执行顺序:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右),接着执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序->执行派生类的构造函数。题目中首先定义了类CA的对象a,输出’A’;然后定义CB类的对象b,因为 CB类派生自CA类,所以会先执行CA类的构造函数,再执行CB类的构造函数,即输出’A’和’B’。