niusouti.com
更多“94、作为虚函数隐含参数的this指针,决定了虚函数调用时执行的代码。”相关问题
  • 第1题:

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

    A.构造函数可以是虚函数

    B.析构函数可以是虚函数

    C.虚函数必须通过引用或基类的指针实现

    D.虚函数的函数名必须与基类中对应的虚函数的函数名完全相同


    正确答案:A
    解析:构造函数不能是虚函数。

  • 第2题:

    构造函数与析构函数所调用的虚函数是【 】的函数, 因此调用时实现的是【 】联编。


    正确答案:所在的类静态
    所在的类,静态

  • 第3题:

    多态性指的是

    A.以任何方式调用一个虚函数

    B.以任何方式调用一个纯虚函数

    C.借助于指向对象的基类指针或引用调用一个虚函数

    D.借助于指向对象的基类指针或引用调用一个纯虚函数


    正确答案:C

  • 第4题:

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

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

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

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

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


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

  • 第5题:

    作为虚函数隐含参数的this指针,决定了虚函数调用时执行的代码。( )

    此题为判断题(对,错)。


    正确答案:正确

  • 第6题:

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

    • A、虚函数是没有实现的函数
    • B、纯虚函数是返回值等于0的函数
    • C、抽象类是只有纯虚函数的类
    • D、抽象类指针可以指向不同的派生类

    正确答案:D

  • 第7题:

    C++中,根据()识别类层次中不同类定义的虚函数版本。

    • A、参数个数
    • B、参数类型
    • C、函数名
    • D、this指针类型

    正确答案:D

  • 第8题:

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

    • A、虚函数是一个静态成员函数
    • B、虚函数是一个非成员函数
    • C、虚函数既可以在函数说明时定义,也可以在函数实现时定义
    • D、派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

    正确答案:D

  • 第9题:

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

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

    B

    虚函数是一个非成员函数

    C

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

    D

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


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

  • 第10题:

    单选题
    C++中,根据()识别类层次中不同类定义的虚函数版本。
    A

    参数个数

    B

    参数类型

    C

    函数名

    D

    this指针类型


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

  • 第11题:

    单选题
    下面描述中,正确的是()
    A

    虚函数是没有实现的函数

    B

    纯虚函数是返回值等于0的函数

    C

    抽象类是只有纯虚函数的类

    D

    抽象类指针可以指向不同的派生类


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

  • 第12题:

    问答题
    C++程序设计语言中虚函数指针和虚函数表的作用?

    正确答案: C++编译器为每个“内含虚拟函数的类”建立一个虚拟函数表(vtablE.,表中每一个指针元素指向一个虚拟函数的地址,编译器为类加上一个成员变量vptr,vptr是一个指向虚拟函数表的指针。每一个派生类的对象,都有一个vptr,对象调用虚拟函数就是通过vptr找到虚拟函数表,再找到虚拟函数的真正地址。虚拟函数表的内容是依据类中的虚拟函数声明次序一一填入函数指针。派生类继承基类的虚拟函数表,派生类中改写虚拟函数,虚拟函数表中元素所指的函数地址不再是基类的函数地址,而是派生类的函数地址。包含虚拟函数的类通过vptr指针和虚拟函数表可以在程序运行时依据指针实际指向的对象调用对应的虚拟函数,从而实现多态(Polymorphism)。为了达到动态绑定的目的,虚拟函数是了解多态(Polymorphism)以及动态绑定的关键,同时也是了解如何使用MFC的关键。
    解析: 暂无解析

  • 第13题:

    对虚函数使用对象指针或引用调用,系统使用______联编;使用对象调用时,系统使用 _____联编。


    正确答案:动态 静态
    动态 静态

  • 第14题:

    关于动态联编的下列叙述中, ______ 是错误的。

    A.动态联编是以虚函数为基础的

    B.动态联编调用虚函数操作是指向对象的指针或引用

    C.动态联编是在运行时确定所调用的函数代码的

    D.动态联编是在编译时确定操作函数的


    正确答案:D

  • 第15题:

    下列对于虚函数和重载函数的叙述,正确的是( )。

    A.虚函数要求函数名、返回值类型和参数序列完全相同

    B.重载函数要求函数有相同的返回值类型和函数名称,并有不同的参数序列

    C.虚函数是根据对象的不同去调用不同类的虚函数

    D.虚函数和重载函数都是在运行时表现出多态功能


    正确答案:D

  • 第16题:

    编译时的多态性可以通过使用( )获得。

    A.虚函数和指针

    B.重载函数

    C.虚函数和对象

    D.虚函数和引用


    正确答案:C
    解析:采用一般类型的标示对象操作虚函数时,将采用静态联编方式调用虚函数。

  • 第17题:

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

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

    B)虚函数是非成员函数

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

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


    正确答案:A

  • 第18题:

    对象作为函数参数使用时,一般使用()形式

    • A、引用
    • B、指针
    • C、对象拷贝

    正确答案:A

  • 第19题:

    编译时的多态性可以通过使用()获得。

    • A、虚函数和指针
    • B、重载函数和析构函数
    • C、虚函数和对象
    • D、虚函数和引用

    正确答案:C

  • 第20题:

    单选题
    C++程序下列说法正确的有()
    A

    对调用的虚函数和模板类都进行迟后编译

    B

    基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual声明,而且必须名字相同且参数类型相同返回类型相同

    C

    重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同

    D

    静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数


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

  • 第21题:

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

    虚函数是一个静态成员函数

    B

    虚函数是一个非成员函数

    C

    虚函数既可以在函数说明时定义,也可以在函数实现时定义

    D

    派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型


    正确答案: C
    解析:
    AB两项错误,在基类中用virtual声明成员函数为虚函数,虚函数是成员函数,且不能被static修饰;C项错误,虚函数声明只能出现在类定义的函数原型声明中,而不能在成员函数的函数体实现的时候;D项正确,派生类的虚函数与基类中对应的虚函数具有相同的函数名、相同的参数个数和类型。返回值类型或者相同,或者都返回指针或引用,并且派生类虚函数所返回的指针或引用的基类型是基类中的虚函数所返回的指针或引用的基类型的子类型。

  • 第22题:

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

    从虚基类继承的函数都是虚函数

    B

    虚函数不得是静态成员函数

    C

    只能通过指针或引用调用虚函数

    D

    抽象类中的成员函数都是虚函数


    正确答案: C
    解析:
    在非静态成员函数声明的前面加上virtual修饰符,即把该函数声明为虚函数。虚函数可以是另一个函数的友元函数但不能是静态成员函数。

  • 第23题:

    单选题
    对象作为函数参数使用时,一般使用()形式
    A

    引用

    B

    指针

    C

    对象拷贝


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

  • 第24题:

    单选题
    编译时的多态性可以通过使用()获得。
    A

    虚函数和指针

    B

    重载函数和析构函数

    C

    虚函数和对象

    D

    虚函数和引用


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