问题
单项选择题
有如下类声明: 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(int a,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
解析: 此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中的新增成员初始化。格式:派生类名(构造函数形参表)基类构造函数(形参表)。