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

admin2013-02-27  27

问题 有如下类声明:
   class XA{
   int x;
   public:
   XA(int U)}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

解析 在派生类的构造函数声明中,一般格式为:
   派生类名(参数总表):基类名(参数总表),对象成员名(参数表)
   XB继承XA,基类XA的构造函数带有参数,所以必须给XA的构造函数的形参赋值,同时也可以为数据成员Y赋值。
转载请注明原文地址:https://kaotiyun.com/show/BbNp777K
0

最新回复(0)