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

admin2010-06-06  38

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

解析 本题考核派生类中构造函数的定义。C++中派生类构造函数的一般语法规则为:<派生类名>::<派生类名>(<参数表>):<基类名 1>(<参数表 1),...<基类名n>(<参数表n>),<子对象 1>(<子对象参数表 1>),...<子对象 m>(<子对象参数表 m>){<派生类新增成的初始化语句>;},对照上述表达只有B选项符合要求.
转载请注明原文地址:https://kaotiyun.com/show/5Yjp777K
0

最新回复(0)