当不同的类具有相同的间接基类时,()A、 各派生类无法按继承路线产生自己的基类版本B、为了建立惟一的间接基类版本,应该声明间接基类为虚基类C、为了建立惟一的间接基类版本,应该声明派生类虚继承基类D、一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类

题目

当不同的类具有相同的间接基类时,()

  • A、 各派生类无法按继承路线产生自己的基类版本
  • B、为了建立惟一的间接基类版本,应该声明间接基类为虚基类
  • C、为了建立惟一的间接基类版本,应该声明派生类虚继承基类
  • D、一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类

相似考题
更多“当不同的类具有相同的间接基类时,()A、 各派生类无法按继承路线产生自己的基类版本B、为了建立惟一的间接基类版本,应该声明间接基类为虚基类C、为了建立惟一的间接基类版本,应该声明派生类虚继承基类D、一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类”相关问题
  • 第1题:

    基类的【 】不能被派生类的成员访问,基类的【 】在派生类中的性质和继承的性质一样,而基类的【 】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。


    正确答案:私有成员 公有成员 保护成员
    私有成员 公有成员 保护成员

  • 第2题:

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

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

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

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

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


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

  • 第3题:

    下列描述中错误的是( )。

    A.析构函数可以被继承

    B.虚函数不能被继承

    C.派生类可以有多个基类

    D.纯虚基类的子类可以是虚基类


    正确答案:B
    解析: 本题考查关于C++语言基类中虚函数的继承问题。C++语言中基类的虚函数是可以被派生类继承的。

  • 第4题:

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

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

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

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

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


    正确答案:C
    解析:虚基类不能解决二义性的问题。

  • 第5题:

    虚基类说明格式如下:slass 派生类名【 】<继承方式><基类名>。


    正确答案:virtual
    virtual

  • 第6题:

    继承具有(53),即当基类本身也是一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

    A.规律性

    B.传递性

    C.重复性

    D.多样性


    正确答案:B
    解析:本题考查类继承的基本特性。类的继承是面向对象程序设计中最重要的基本特征之一,类的继承具有传递性,即当基类本身也是一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

  • 第7题:

    下列有关继承和派生的叙述中,正确的是( )。

    A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员

    B.派生类的成员函数可以访问基类的所有成员

    C.基类对象可以赋值给派生类对象

    D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


    正确答案:D

  • 第8题:

    虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。


    正确答案:正确

  • 第9题:

    下列关于继承的描述中,错误的是()。

    • A、基类中的析构函数不能被派生类继承
    • B、基类中的保护成员在派生类中无法直接访问
    • C、派生类的成员除了包括派生类中自己定义的成员外,还包括它从基类继承的成员
    • D、在公有继承方式下基类中公有成员和保护成员的访问权限到派生类保持不变

    正确答案:B

  • 第10题:

    下列关于类的继承描述中,正确的是()

    • A、派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。
    • B、派生类也是基类,所以它们是等价的。
    • C、派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。
    • D、一个基类可以有多个派生类,一个派生类可以有多个基类。

    正确答案:D

  • 第11题:

    单选题
    对基类和派生类的关系描述中,错误的是()
    A

    派生类是基类的具体化

    B

    基类继承了派生类的属性

    C

    派生类是基类定义的延续

    D

    派生类是基类的特殊化


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

  • 第12题:

    单选题
    当不同的类具有相同的间接基类时,()
    A

     各派生类无法按继承路线产生自己的基类版本

    B

    为了建立惟一的间接基类版本,应该声明间接基类为虚基类

    C

    为了建立惟一的间接基类版本,应该声明派生类虚继承基类

    D

    一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类


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

  • 第13题:

    在声明派生类时,派生类把基类的的构造函数也一起继承过来。()


    参考答案:错误

  • 第14题:

    下列有关继承和派生的叙述中,正确的是( )。

    A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员

    B.派生类的成员函数可以访问基类的所有成员

    C.基类对象可以赋值给派生类对象

    D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


    正确答案:D
    私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。

  • 第15题:

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

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

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

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

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


    正确答案:C
    解析:虚基类主要解决在多重继承时,基类可能被多次继承的问题,虚基类提供了一个基类给派生类。class B:virtual public:A中很明显B继承了虚基类A,所以选项c)错误。

  • 第16题:

    定义对象数组a[2]时,要调用2次构造函数;生成*p的对象时,要调用一次构造函数,故答案为3。

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

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

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

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


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

  • 第17题:

    1.  下列有关继承和派生的叙述中,正确的是(  )

    A)派生类不能访问通过私有继承的基类的保护成员

    B)多继承的虚基类不能够实例化

    C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数

    D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现


    B

  • 第18题:

    下面关于继承和派生的叙述中,正确的是( )。

    A.作为虚基类的类不能被实例化

    B.派生类不能访问基类中的保护成员

    C.虚函数必须在派生类中重新实现

    D.派生类向基类的构造函数传递参数


    正确答案:A

  • 第19题:

    一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称__________。


    正确答案:
    纯虚函数 【解析】纯虚函数是在声明虚函数时被“初始化”为0的函数。纯虚函数没有函数体,只是函数的名而不具备函数的功能,只是在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。

  • 第20题:

    多继承派生类构造函数构造对象时,()被最先调用。

    • A、派生类自己的构造函数
    • B、虚基类的构造函数
    • C、非虚基类的构造函数
    • D、派生类中子对象类的构造函数

    正确答案:B

  • 第21题:

    继承具有(),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。

    • A、规律性
    • B、传递性
    • C、重复性
    • D、多样性

    正确答案:B

  • 第22题:

    单选题
    下列关于继承的描述中,错误的是()。
    A

    基类中的析构函数不能被派生类继承

    B

    基类中的保护成员在派生类中无法直接访问

    C

    派生类的成员除了包括派生类中自己定义的成员外,还包括它从基类继承的成员

    D

    在公有继承方式下基类中公有成员和保护成员的访问权限到派生类保持不变


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

  • 第23题:

    单选题
    继承具有(),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。
    A

    规律性

    B

    传递性

    C

    重复性

    D

    多样性


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