问题
单项选择题
有如下类定义:
class XX
int xx;
public:
XX( ):xx(0)eout<<’A’;
XX(int n):xx(n)tout<<’B’;
;
class YY:public XX
mt yy;
public:
YY( ):yy(0)i cout<<yy;
YY(int n):XX(n+1),yy(n)cout<<yy;
YY(int m,int n):XX(in),yy(n)cout<<yy;
;
下列选项中,输出结果为A0的语句是
A.YY y1(0,0);
B.YY y2(1);
C.YY y3(0);
D.YY y4;
答案
参考答案:D
解析: 派生类对象创建时,先调用基类的构造函数,然后调用派生类的构造函数。若要打印出“AO”,显然是分别调用了基类和派生类的无参构造函数,故答案为D。