首页/ 题库 / [问答题]C++程序设计语言中虚函数指针和虚函数表的答案

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

问答题
2022-01-01 08:52
查看答案

正确答案

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


试题解析

相关题目
在C++语言中规定函数的返回值的类型由( )
在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
C++源程序的基本结构单位是 main 函数.( )
语言程序从min()函数开始执行,所以这个函数要写在()
C语言程序主函数的函数名是Main。
C++语言中的函数的返回值的类型是由 ______。
C++语言规定,函数返回值的类型是由( )。
决定c++语言中函数的返回值类型的是( )。
决定C++语言中函数的返回值类型的是
C++函数必须有返回值,否则不能使用函数。
C++程序设计语言中this指针的作用?
C++程序设计语言中虚函数指针和虚函数表的作用?
C++语言函数中不能由系统自动生成的是
C++语言函数中不能由系统自动生成的是
析构函数和虚函数的用法和作用?
C++语言中关于构造函数的说法正确的是
C++语言中关于构造函数的说法正确的是( )。
C++语言中关于构造函数的说法正确的是
下面对C语言的描述中,正确的是A.函数一定有返回值,否则无法使用函数B.C语言函数既可以嵌套定义,又可以递归调用C.在C语言中,调用函数时,只能将实参的值传递给形参D.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中
广告位招租WX:84302438

免费的网站请分享给朋友吧