在派生类中重新调用虚函数时,其他方面都必须与基类的相应虚函数保持一致,但要排除( )方面。A.参数个数B.参数类型C.函数名称D.函数体

题目

在派生类中重新调用虚函数时,其他方面都必须与基类的相应虚函数保持一致,但要排除( )方面。

A.参数个数

B.参数类型

C.函数名称

D.函数体


相似考题
参考答案和解析
正确答案:D
解析:派生类中的虚函数必须和基类的虚函数具有相同的函数名、参数个数、参数类型、相同返回值,或者都返回指针或者引用,其中派生类返回的指针或者引用的基类型是基类中的虚函数的所返回的指针或者引用的基类新的子类型。
更多“在派生类中重新调用虚函数时,其他方面都必须与基类的相应虚函数保持一致,但要排除()方面。A.参数 ”相关问题
  • 第1题:

    下列关于构造函数和析构函数的描述,错误的是( )。

    A.析构函数中调用虚函数采用静态联编

    B.对虚析构函数的调用可以采用动态联编

    C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数

    D.构造函数可以声明为虚函数


    正确答案:D
    解析: 构造函数的主要作用是对数据成员初始化。构造函数不能声明为虚函数,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。

  • 第2题:

    在派生类中重新定义虚函数时,除了(),其它方面都必须与基类中相应的虚函数保持一致。

    A、参数个数

    B、参数类型

    C、函数体

    D、函数名称


    参考答案:C

  • 第3题:

    下面关于虚函数的描述,错误的是( )。

    A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

    B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数

    C.虚函数可以是另一个类的友元函数,但不能是静态成员函数

    D.基类中说明的纯虚函数在其任何派生类中都必须实现


    正确答案:B
    基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

  • 第4题:

    下列是关于虚函数的描述,正确的是______。

    A.虚函数是一个static类型的成员函数

    B.虚函数是一个非成员函数

    C.基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明

    D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型


    正确答案:C
    解析:根据C++语法规定,虚函数在继承层次结构中总是自动从基类传播下去,因此,基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明。

  • 第5题:

    在派生类中重新定义虚函数时,除了( )方面,其他方面都必须与基类中相应的虚函数保持一致。

    A.参数个数

    B.参数类型

    C.函数名称

    D.函数体


    正确答案:D

  • 第6题:

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

    A.设置虚基类的目的是为了消除二义性

    B.虚基类的构造函数在非虚基类之后调用

    C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

    D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调,用派生类的构造函数


    正确答案:B
    解析: 虚基类的引入就是为了消除二义性,其构造函数的调用仍然是按照继承的顺序进行的,对于多个虚基类则按它们说明的次序调用,虚基类的构造函数选于非虚基类的构造函数执行。

  • 第7题:

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

    A.虚析构函数

    B.构造函数

    C.纯虚函数

    D.静态成员函数


    正确答案:C

  • 第8题:

    要实现多态性,派生类中的虚函数必须( )。

    A.函数名、参数及返回值必须与基类中对应的虚函数完全相同

    B.参数个数不必与基类中对应的虚函数的函数名完全相同

    C.参数类型不必与基类中对应的虚函数的函数名完全相同

    D.返回值类型不必与基类中对应的虚函数的函数名完全相同


    正确答案:A
    解析:函数名、参数及返回值必须与基类中对应的虚函数完全相同。

  • 第9题:

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


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

  • 第10题:

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

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

    正确答案:B

  • 第11题:

    单选题
    关于虚函数的描述中,()是正确的。
    A

    虚函数是一个static类型的成员函数

    B

    虚函数是一个非成员函数

    C

    基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数

    D

    派生类的虚函数与基类的同名虚函数应具有不同的参数个数和类型


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

  • 第12题:

    单选题
    下列关于虚函数的描述中,正确的是(  )。
    A

    虚函数是一个static类型的成员函数

    B

    虚函数是一个非成员函数

    C

    基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明

    D

    派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型


    正确答案: C
    解析:
    在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。虚函数只能是类中的一个成员函数,但不能是静态成员函数。在派生类中重新定义虚函数时必须有相同的函数类型,包括函数的返回类型、函数名、参数个数、参数类型的顺序必须相同。

  • 第13题:

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

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

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

    C.派生类应当向基类的构造函数传递参数

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


    正确答案:C
    解析:本题考查的知识点是:继承和派生。无论使用哪种继承方式,派生类中的成员都不能访问基类中的私有成员,而可以访问基类中的公有成员和保护成员,因此选项A) 不正确。在C++中,只有抽象类不能被实例化,而虚基类不一定非得是抽象类,所以选项B) 不正确。在派生类中可以重新定义从基类继承下来的虚函数,也可以不重新定义,因此选项D) 不正确。故本题应该选择C。

  • 第14题:

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

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

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

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

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


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

  • 第15题:

    在基类中没有具体定义,但要求任何派生类都自已定义版本的虚函数是()。

    A.虚析构函数;

    B.构造函数;

    C.纯虚函数;

    D.静态成员函数。


    参考答案:C
    析:如果虚基类的派生类不重定义虚基类的纯虚函数,该派生类也将虚化。

  • 第16题:

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

    A.虚析构函数

    B.虚构造函数

    C.纯虚函数

    D.静态成员函数


    正确答案:C

  • 第17题:

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

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

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

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

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


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

  • 第18题:

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

    A.设置虚基类的目的是为了消除二义性

    B.虚基类的构造函数在非虚基类之后调用

    C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

    D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数


    正确答案:B
    解析:虚基类的引入就是为了消除二义性,其构造函数的调用仍然是按照继承的顺序进行的,对于多个虚基类则按它们说明的次序调用,虚基类的构造函数先于非虚基类的构造函数执行。

  • 第19题:

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

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

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

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

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


    正确答案:A

  • 第20题:

    下面关于虚函数的描述中,正确的是( )。

    A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明

    B)虚函数是非成员函数

    C)虚函数是static类型的成员函数

    D)派生类中的虚函数与基类中类型相同的虚函数具有不同的参数个数或类型


    正确答案:A

  • 第21题:

    在多层次的继承结构中,基类与派生类中存在着虚函数,这时调用虚函数就一定实现动态联编吗?


    正确答案: 在多层次的继承结构中,基类与派生类中存在着虚函数,这时调用虚函数不一定实现动态联编。

  • 第22题:

    在派生类中重新定义虚函数时,必须在下列哪方面与基类保持一致()

    • A、参数类型
    • B、参数名字
    • C、操作内容
    • D、赋值

    正确答案:A

  • 第23题:

    单选题
    在派生类中重新定义虚函数时,必须在下列哪方面与基类保持一致()
    A

    参数类型

    B

    参数名字

    C

    操作内容

    D

    赋值


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