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

admin2017-10-17  16

问题 有如下类声明:    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,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

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

最新回复(0)