首先,我们看看编译器如何处理虚函数。
当编译器发现我们的类中有虚函数的时候,编译器会创建一张虚函数表,把虚函数的函数入口地址放到虚函数表中,并且在类中秘密增加一个指针,这个指针就是vpointer(缩写vptr),这个指针是指向对象的虚函数表。
在多态调用的时候,根据vptr指针,找到虚函数表来实现动态绑定。
更多关于物联网培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。
千锋教育-做有情怀、有良心、有品质的职业教育机构
首先,我们看看编译器如何处理虚函数。
当编译器发现我们的类中有虚函数的时候,编译器会创建一张虚函数表,把虚函数的函数入口地址放到虚函数表中,并且在类中秘密增加一个指针,这个指针就是vpointer(缩写vptr),这个指针是指向对象的虚函数表。
在多态调用的时候,根据vptr指针,找到虚函数表来实现动态绑定。
更多关于物联网培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。
上一篇
物联网面试题:虚继承下一篇
静态多态与动态多态的区别
题目:请谈谈您对物联网安全的理解,以及在物联网系统中保障安全性的措施。回答:物联网安全是指在物联网系统中保护设备、数据和通信免受未经授...详情>>
2023-07-26 11:59:27
答案:边缘计算是一种将计算和数据处理能力移动到物联网设备附近的计算模型。在边缘计算中,数据的处理和分析发生在接近数据源的设备或边缘节点...详情>>
2023-07-18 14:15:00
提供了操作时间和日期的方法拥有一系列属性和方法,可以用来获取系统当前时间或者设置 Date 对象中的时间 通过 getTime()方法可返回距 1970 年 ...详情>>
2023-01-21 15:51:32
弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。 第一次握手:客户端发送网络包,服务端收到了。...详情>>
2022-10-25 16:55:00
服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,...详情>>
2022-10-25 16:55:00