问题
单项选择题
有如下类声明: class XA{ int X; public: XA(int n){x=n;} }; class XB:public XA{ int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是( )。
A.XB::XB(inta,int :x(,y({}
B.XB::XB(int a,int :XA(,y({}
C.XB::XB(int a,int :x(,XB({}
D.XB::XB(int a,int :XA(,XB({}
答案
参考答案:B
解析: C++中派生类构造函数的一般语法规则为:<派生类名>::(派生类名)(<参数表>):<基类1>(<参数表 1>),…,<基类名n>(<参数表n>),(子对象1)(<于对象参数表1>,…<子对象m>(<于对象参数表m>){<派生类新增成的初始化语句>;},终上所述。