有如下类声明: class XA{ int x; public: XA(int n){x=n;} }; class XB:public XA{ int y; public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是(

admin2015-11-24  28

问题 有如下类声明:
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 b):x(a),y(b){}
B、XB::XB(int a,intb):xA(a),y(b){}
C、XB::XB(int a,int b):x(a),XB(b){}
D、XB::XB(int a,int b):XA(a),XB(b){}

答案B

解析 此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化:然后对派生类中的新增成员初始化。格式为:派生类名(构造函数形参表)基类构造函数(形参表)。
转载请注明原文地址:https://kaotiyun.com/show/8lNp777K
0

最新回复(0)