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

题目

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


相似考题
更多“有如下类声明: class XA { int x; public: XA(int n){x=n;} }; cl ”相关问题
  • 第1题:

    有如下类声明: 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
    解析:此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中的新增成员初始化。格式:派生类名(构造函数形参表)基类构造函数(形参表)。

  • 第2题:

    有如下类声明: classXA( intX; public: XA(intn){x=n;} }; classXB:publicXA{ inty; public: XB(inta,intb); ]; 在构造函数XB的下列定义中,正确的是( )。

    A.XB::XB(inta,intb):x(a),y(b){)

    B.XB::XB(inta,intb):XA(a),y(b){)

    C.XB::XB(inta,intb):x(a),XB(b)(}

    D.XB::XB(inta,intb):XA(a),XB(b){)


    正确答案:B
    B。【解析】本题考查派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化,然后对派生类中的新增成员初始化。格式为,派生类名(构造函数形参表)基类构造函数(形参表)。

  • 第3题:

    如下代码中,类 X 的拷贝构造函数的数量是 class X { public: X(); X(int&); X(const X&, int = 1); ~X(); };


    A

  • 第4题:

    有如下类声明: classXA{ intx: public: XA(intn){x=n;} }; classXB:publicXA{ inty; oublic: XB(inta,intb); }; 在构造函数XB的下列定义中,正确的是( )。

    A.XB::XB(inta,intb):x(a),y(b){}

    B.XB::XB(inta,intb):XA(a),y(b){}

    C.XB::XB(inta,intb):x(a),XB(b){}

    D.XB::XB(inta,intb):XA(a),XB(b){}


    正确答案:B
    B。【解析】C++中派生类构造函数的一般语法规则为<派生类名>::<派生类名>(<参数表>):<基类1>(<参数表1>),…,<基类名n>(<参数表n>),<子对象l>(<子对象参数表1>,…<子对象m>(<子对象参数表m>){<派生类新增成的初始化语句>;}。

  • 第5题:

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

    D.XB::XB(int a,int b):XA(a),XB(b){}


    正确答案:B
    解析:构造函数的定义过程中,初始化基类成员,只能通过调用基类构造函数,所以答案选择B。