niusouti.com
更多“在进行类设计时,( )可以选择( )的某些操作进行完全的继承或变异。A.派生类B.基类C.抽象类D.虚拟类”相关问题
  • 第1题:

    通过类的继承创建的新类称为“子类”或()。

    A.“基类”

    B.“子类”

    C.“父类”

    D.“派生类”


    正确答案:D

  • 第2题:

    以下关于派生机制的描述中,不正确的是

    A.派生类不仅可以继承基类的成员,也可以添加自己的成员

    B.设置protected成员是为派生类访问基类成员之用

    C.采用不同的继承方式,将限制派生类对基类成员的访问

    D.采用私有继承,派生类只能得到基类的公有成员


    正确答案:D
    解析:继承方式不同,派生类能够访问的基类的成员数量也不同。继承方式有三种:公有继承,私有继承和保护继承,每种继承方式结合成员函数的类型可以组合成不同的访问级别,从而提供了灵活多样的派生类访问基类的权限。

  • 第3题:

    下面描述中,错误的是()。

    A.在派生类中不可见的成员要变成可访问的,需要进行访问声明

    B.在基类定义的public成员在保护继承的派生类中可见,也能在类外被访问

    C.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问

    D.在基类定义的public和protected成员在保护继承的派生类中可见


    正确答案:BC

  • 第4题:

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

    A.派生类可以作为墓类派生其他的子类

    B.派生类继承基类的所有数据成员

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

    D.派生类不能继承一些函数成员


    正确答案:B

  • 第5题:

    下面关于派生类的描述中错误的是( )

    A.派生类中至少有一个基类

    B.一个派生类可以作为另一个派生类的基类

    C.派生类只继承了基类中的公有成员和保护成员

    D.派生类的缺省继承方式是私有


    正确答案:C
    解析:继承方式有公有继承、私有继承和保护继承3种,缺省的继承方式是私有继承。派生类从基类继承所有的成员,但是对于基类的私有成员派生类是不可直接访问的。

  • 第6题:

    下面关于继承机制的描述中,不正确的是( )。

    A.派生类不仅可以继承基类的成员,也可以添加自己的成员

    B.设置protected成员是为派生类访问基类成员之用

    C.采用不同的继承方式,将限制派生类对基类成员的访问

    D.采用私有继承,派生类只能得到基类的公有成员


    正确答案:D
    解析:本题主要考察C++中继承机制的特点。C++中允许利用已有的数据类型来定义新的数据类型,这种机制称为继承机制,并称已存在的用来派生新类的类称为基类,由已存在的类派生出的新类称为派生类。派生类有3种继承方式可以采用,即public、private和protected方式。派生类除了继承基类中的数据成员和成员函数外,还可以添加具有自身特点的成员,这是继承机制的真正用意所在。因此选项A的叙述正确。采用不同的继承方式,将限制派生类对基类成员的访问权限,因此选项C的叙述正确。对于类本身,protected成员和private成员对外的访问权限是相同的,即外界函数都无法直接访问这两类成员。对于类作为基类被继承产生派生类时,protected成员又和public成员性质相同,即在所有继承方式下都可以被派生类所继承,在public继承时可以被派生类对象访问,在protected和private继承方式下无法被派生类的子类访问。这也正是C++设置protected访问权限成员的真正用途,即为派生类继承基类隐蔽成员之用途。因此选项B的叙述正确。

  • 第7题:

    在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。

    A.虚基类

    B.抽象类

    C.虚函数类

    D.模板类


    正确答案:B
    解析:类中一旦有纯虚函数的定义那么这个类就再也不能创建此类的对象了,我们把这种类叫做抽象类。

  • 第8题:

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

    A.公有继承时基类中的公有成员在派生类中仍是公有成员

    B.公有继承时基类中的保护成员在派生类中仍是保护成员

    C.保护继承时基类中的公有成员在派生类中仍是公有成员

    D.保护继承时基类中的保护成员在派生类中仍是保护成员


    正确答案:C
    C。【解析】保护继承时,类成员的访问级别只能是降低为保护模式,因此即使基类的公有成员,也被缩小为保护模式。

  • 第9题:

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

    A.派生类中继承的基类成员的访问权限在派生类保持不变

    B.派生类的成员除了自己的成员外,还包含它的基类的成员

    C.派生类是基类的组合

    D.析构函数不能被继承


    正确答案:A
    解析:在继承中,基类的构造函数和析构函数不能被继承。派生类中包含了基类中的成员,是对基类定义的扩展和延续,可以说派生类是基类的组合。派生类继承了积累的全部数据成员和除构造函数和析构函数外的所有函数成员。派生类不能访问基类的私有成员,而对基类的公有成员和保护成员的访问权限则随派生类对基类的继承方式而改变。

  • 第10题:

    下面的描述中表达错误的是

    A.公有继承时基类中的public成员在派生类中仍是public的

    B.公有继承时基类中的private成员在派生类中仍是private的

    C.公有继承时基类中的protected成员在派生类中仍是protected的

    D.私有继承时基类中的public成员在派生类中是private的


    正确答案:B
    解析:C++中,继承方式控制了基类中具有不同访问属性的成员在派生类中的访问属性。基类中的私有成员在派生类中是隐蔽的,只能在基类内部访问。所以B)选项是错误的。派生类中的成员不能访问基类的中私有成员,但可以访问基类中的公有成员和保护成员。此时派生类对基类中各个成员的访问能力与继承方式无关,但继承方式将影响基类成员在派生类中的访问控制属性,基类中公有和保护成员在派生类中的访问控制属性将随着继承方式而改变:派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员,派生类从基类保护继承时,基类的公有成员在派生类中改变为保护成员,基类的保护成员在派生类中仍然为保护成员.所以,A)、C)和D)选项都是正确的。

  • 第11题:

    下列描述中错误的是( )

    A.派生类可以作为基类派生其他的子类
    B.派生类继承基类的所有数据成员
    C.派生类可以有多个基类
    D.派生类不能继承一些函数成员

    答案:B
    解析:

  • 第12题:

    判断题
    创建派生类时,可以通过Inherits指定要继承的基类,通过NotInheritable禁止某个类称为基类,通过MustInherit指定“抽象类”。
    A

    B


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

  • 第13题:

    下列说法中错误的是

    A.公有继承时基类中的public成员在派生类中仍是public成员

    B.私有继承时基类中的protecte成员在派生类中仍是protected成员

    C.私有继承时基类中的public成员在派生类中是private成员

    D.保护继承时基类中的public成员在派生类中是protected成员


    正确答案:B

  • 第14题:

    带有纯虚函数的类称为()。

    A. 抽象类

    B. 基类

    C. 派生类

    D. 子类


    正确答案:A

  • 第15题:

    下列关于派生类和基类的描述中,正确的是( )。

    A.派生类成员函数只能访问基类的公有成员

    B.派生类成员函数只能访问基类的公有和保护成员

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

    D.派生类对基类的默认继承方式是公有继承


    正确答案:B
    B。【解析】派生类成员函数不能访问基类的private成员,只能由基类的对象来访问。这才体现了C++的数据封装特性。

  • 第16题:

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

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

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

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

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


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

  • 第17题:

    下列关于抽象类的表述中正确的是( )。

    A.派生类必须要实现作为基类的抽象类中的纯虚函数

    B.抽象类的成员函数至少有一个没实现

    C.抽象类不可能用来定义对象

    D.派生类不能成为抽象类


    正确答案:C

  • 第18题:

    下列说法中错误的是( )

    A.公有继承时基类中的public成员在派生类中仍是public的

    B.公有继承时基类中的private成员在派生类中仍public是的

    C.私有继承时基类中的public成员在派生类中仍private是的

    D.保护继承时基类中的public成员在派生类中仍protected是的


    正确答案:B

  • 第19题:

    _____

    A.基类

    B.派生类

    C.抽象类

    D.用户定义类型

    A.

    B.

    C.

    D.


    正确答案:B

  • 第20题:

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

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

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

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

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


    正确答案:D
    解析:派生方式分为两种:private派生或public派生,分别被称为私有派生和公有派生,使用 public派生,基类的所有成员在派生类中的访问权限不变。

  • 第21题:

    使用继承的优点是()

    A.基类的大部分功能可以通过继承关系自动进入派生类

    B.继承将基类的实现细节暴露给派生类

    C.一旦基类实现出现bug,就会通过继承的传播影响到派生类的实现

    D.可在运行期决定是否选择继承代码,有足够的灵活性


    正确答案:B

  • 第22题:

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

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

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

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

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


    正确答案:D

  • 第23题:

    创建派生类时,可以通过Inherits指定要继承的基类,通过NotInheritable禁止某个类称为基类,通过MustInherit指定“抽象类”。


    正确答案:正确