( 23 )下列关于虚基类的描述中,错误的是A )使用虚基类可以消除由多继承产生的二义性B )构造派生类对象时,虚基类的构造函数只被调用一次C )声明 “ class B : virtual public A ” 说明类 B 为虚基类D )建立派生类对象时,首先调用虚基类的构造函数

题目

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

A )使用虚基类可以消除由多继承产生的二义性

B )构造派生类对象时,虚基类的构造函数只被调用一次

C )声明 “ class B : virtual public A ” 说明类 B 为虚基类

D )建立派生类对象时,首先调用虚基类的构造函数


相似考题
更多“( 23 )下列关于虚基类的描述中,错误的是A )使用虚基类可以消除由多继承产生的二义性B )构造派生 ”相关问题
  • 第1题:

    下列有关类继承的叙述中,错误的是( )。

    A.继承可以实现软件复用

    B.虚基类可以解决由多继承产生的二义性问题

    C.派生类构造函数要负责调用基类的构造函数

    D.派生类没有继承基类的私有成员


    正确答案:D
    解析: 本题考查的是类继承。派生类继承了基类的全部数据成员和私有成员,只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问。

  • 第2题:

    下列关于虚基类的叙述中,错误的是

    A.使用虚基类可以消除由多继承产生的二义性

    B.构造派生类对象时,虚基类的构造函数只被调用一次

    C.声明“class B:virtual public A”说明类B为虚基类

    D.建立派生类对象时,首先调用虚基类的函数


    正确答案:C
    解析:使用虚基类的目的就是为了解决多继承路径下对基类成员的访问的二义性问题。一旦继承虚基类,那么在构造派生类对象时,虚基类构造函数就只调用一次。派生类对象调用构造函数和普通类对象一样,都是先调用基类构造函数,然后调用派生类构造函数。

  • 第3题:

    下列有关类继承的叙述中,错误的是( )。

    A.继承可以实现软件复用

    B.虚基类可以解决由多继承产生的二义性问题

    C.派生类构造函数要负责调用基类的构造函数

    D.派生类没有继承基类的私有成员


    正确答案:D
    D。【解析】本题考查类继承。派生类继承了基类的全部数据成员和私有成员,只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问。

  • 第4题:

    一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是( )。

    A.每个派生类的构造函数都要为虚基类构造函数提供实参

    B.多继承时有可能出现对基类成员访问的二义性问题

    C.使用虚基类可以解决二义性问题并实现运行时的多态性

    D.建立最派生类对象时,虚基类的构造函数会首先被调用


    正确答案:C

  • 第5题:

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

    A.使用虚基类可以消除由多继承产生的二义性

    B.构造派生类对象时,虚基类的构造函数只被调用一次

    C.声明“classB:virtualpublicA”说明类B为虚基类

    D.建立派生类对象时,首先调用虚基类的构造函数


    正确答案:C
    C。【解析】本题针对虚基类的定义及特点考查。虚基类的声明为“class<类名>:virtual<继承方式><基类名>”,即本题的A为虚基类。