有如下类声明: class XA{ int X; public: XA(int n){x=n;} }; class XB:public XA{ int y; public: XB(int a,int b

admin2010-12-16  24

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

解析  C++中派生类构造函数的一般语法规则为:<派生类名>::(派生类名)(<参数表>):<基类1>(<参数表 1>),…,<基类名n>(<参数表n>),(子对象1)(<于对象参数表1>,…<子对象m>(<于对象参数表m>){<派生类新增成的初始化语句>;},终上所述。
转载请注明原文地址:https://kaotiyun.com/show/S6Vp777K
0

最新回复(0)