更多“定义构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化由基类的构造函数完成。()”相关问题
  • 第1题:

    下列关于派生类的构造函数的叙述中,正确的是( )。

    A.派生类通过成员初设列表的方法调用基本类的构造函数,实现对基本类的初始化

    B.派生类构造函数的调用顺序先基类后子对象构造函数

    C.派生类构造函数的调用顺序先子对象构造函数后基类

    D.派生类构造函数是不能继承基类的


    正确答案:C

  • 第2题:

    派生类的构造函数的成员初始化列表中,不能包含( )。

    A.基类的构造函数

    B.派生类中子对象的初始化

    C.基类中子对象的初始化

    D.派生类中一般数据成员的初始化


    正确答案:C

  • 第3题:

    下面的描述中,( )是正确的。

    A.virtual可以用来声明虚函数

    B.含有纯虚函数的类是不可以用宋创建对象的,因为它是虚基类

    C.即使基类的构造函数没有参数,派生类也必须建立构造函数

    D.静态数据成员可以通过成员初始化成员列表来初始化


    正确答案:A
    解析:本题考核C++中各知识点的应用。①virtual关键词既可以用来声明虚基类,也可以用来声明虚函数。所以选项A的描述是正确的。②C++规定,含有纯虚函数的类是抽象类,它不能用来定义对象。选项B的描述中,前半句是正确的,但后半句是错误的。③在C++中,如果所有的基类和子对象构造函数都不需要参数,派生也不需要参数初始化,则派生类中,可以不定义构造函数。所以选项C的描述是错误的。④在C++中,静态数据成员的初始化必须在类体外进行。所以选项D的描述是错误的。

  • 第4题:

    下列关于虚基类的描述中,错误的是( )。

    A.虚基类子对象的初始化由最派生类完成

    B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关

    C.设置虚基类的目的是消除二义性

    D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用


    正确答案:B

  • 第5题:

    下面的描述中,正确的是( )。

    A.virtual可以用来声明虚函数

    B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类

    C.即使基类的构造函数没有参数,派生类也必须建立构造函数

    D.静态数据成员可以通过成员初始化列表来初始化


    正确答案:A

  • 第6题:

    对基类数据成员的初始化必须派生类的构造函数中的_____处执行。


    正确答案:
    成员初始化列表 【解析】C 语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。

  • 第7题:

    对类中对象和基类成员的初始化只能通过在构造函数中给出的()来实现的。
    初始化表

  • 第8题:

    下面描述中,正确的是()。

    • A、virtual可以用来声明虚函数
    • B、含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类
    • C、即使基类的构造函数没有参数,派生类也必须建立构造函数
    • D、静态数据成员可以通过成员初始化列表来初始化

    正确答案:A

  • 第9题:

    在创建派生类对象时,构造函数的执行顺序是()

    • A、对象成员构造函数―基类构造函数―派生类本身的构造函数
    • B、派生类本身的构造函数―基类构造函数―对象成员构造函数
    • C、基类构造函数―派生类本身的构造函数―对象成员构造函数
    • D、基类构造函数―对象成员构造函数―派生类本身的构造函数

    正确答案:D

  • 第10题:

    单选题
    对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。
    A

    A

    B

    B

    C

    C

    D

    都可以


    正确答案: D
    解析: 暂无解析

  • 第11题:

    填空题
    对类中对象和基类成员的初始化只能通过在构造函数中给出的()来实现的。

    正确答案: 初始化表
    解析: 暂无解析

  • 第12题:

    单选题
    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()
    A

    基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员

    B

    基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数

    C

    派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数

    D

    对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数


    正确答案: C
    解析: 暂无解析

  • 第13题:

    下列关于派生类的构造函数的说法中,哪个是错误的 ______。

    A.派生类不继承基类的构造函数和赋值运算

    B.派生类的构造函数可以调用基类的构造函数

    C.派生类的构造函数先于基类的构造函数执行

    D.在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象中的基类成员


    正确答案:C

  • 第14题:

    下列关于虚基类的描述中,错误的是( )。

    A.虚基类子对象的初始化由派生类完成

    B.虚基类子对象的初始化次数与虚基类下面的派生类的个数有关

    C.设置虚基类的目的是消除二义性

    D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用


    正确答案:B
    解析:本题考核虚基类的初始化。从虚基类直接或间接派生的派生类的构造函数的成员初始化列表中都要列出对虚基类构造函数的调用,但只有用于建立对象的派生类的构造函数调用虚基类的构造函数,而该派生类的所有基类中列出的对虚基类的构造函数的调用在执行中被忽略,从而保证了对虚基类子对象只初始化一次。

  • 第15题:

    派生类构造函数的成员初始化列表中,不能包含( )。

    A.基类的构造函数

    B.派生类中子对象的初始化

    C.基类中子对象的初始化

    D.派生类中一般数据成员的初始化


    正确答案:C
    解析: 构造函数的主要作用是对数据成员初始化。在设计派生类的构造函数中,不仅要考虑派生类所增加数据成员的初始化,还应考虑基类中构造函数的初始化。子对象是对象中的对象,子对象的初始化是在建立派生类时通过调用派生类构造函数来实现。所以派生类构造函数的任务包括3部分:对基类数据成员初始化:对子对象数据成员初始化;对派生类数据成员初始化。即本题选择选项C)。

  • 第16题:

    对基类数据成员的初始化必须在派生类的( )中的成员初始化列表处执行。

    A.派生函数

    B.析构函数

    C.内联函数

    D.构造函数


    正确答案:D
    解析:C++语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。

  • 第17题:

    派生类的构造函数的成员初始化列表中,不能包含( )。

    A)基类的构造函数

    B)派生类中子对象的初始化

    C)基类中子对象的初始化

    D)派生类中一般数据成员的初始化


    正确答案:C

  • 第18题:

    对基类数据成员的初始化必须在派生类的构造函数中的__________处执行。


    正确答案:
    成员初始化列表 【解析】派生类是基类的具体化,而基类则是派生类的抽象。派生类也就是基类的具体实现,所以对基类数据成员的初始化是在派生类的构造函数中成员初始化列表执行的。

  • 第19题:

    若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()

    • A、在类B的成员函数中可以访问A类的私有数据成员
    • B、在类B的成员函数中可以访问A类的保护数据成员
    • C、类B的构造函数可以调用类A的构造函数做数据成员初始化
    • D、类A的构造函数可以调用类B的构造函数做数据成员初始化

    正确答案:C

  • 第20题:

    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()

    • A、基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员
    • B、基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数
    • C、派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数
    • D、对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数

    正确答案:A

  • 第21题:

    多重继承的派生类构造函数中执行基类构造函数的顺序取决于该派生类构造函数的成员初始化列表中出现基类初始化项的顺序。


    正确答案:错误

  • 第22题:

    判断题
    多重继承的派生类构造函数中执行基类构造函数的顺序取决于该派生类构造函数的成员初始化列表中出现基类初始化项的顺序。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    单选题
    若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()
    A

    在类B的成员函数中可以访问A类的私有数据成员

    B

    在类B的成员函数中可以访问A类的保护数据成员

    C

    类B的构造函数可以调用类A的构造函数做数据成员初始化

    D

    类A的构造函数可以调用类B的构造函数做数据成员初始化


    正确答案: A
    解析: 暂无解析