问题详情

有如下类声明: 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){}

时间:2021-12-31 19:57 关键词:

答案解析

B
解析: C++中派生类构造函数的一般语法规则为:派生类名>::(派生类名)(参数表>):基类1>(参数表 1>),…,基类名n>(参数表n>),(子对象1)(于对象参数表1>,…子对象m>(于对象参数表m>){派生类新增成的初始化语句>;},终上所述。
相关问题