首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说虚函数表具体是怎样实现运行时多态的?
[问答题]
请你说说虚函数表具体是怎样实现运行时多态的?
添加笔记
求解答(3)
邀请回答
收藏(82)
分享
纠错
2个回答
添加回答
0
滴答答嗒
子类创建对象后,在对象模型的头部会存放一个指向虚函数表的指针,
虚函数表中函数的地址->父类的虚函数被子类重写之后,虚函数表中的函数地址将被替换,替换成子类的虚函数地址。
发表于 2020-09-17 21:53:38
回复(0)
0
vector<>
原理:
虚函数表是一个类的虚函数的地址表,每个对象在创建时,都会有一个指针指向该类虚函数表,每一个类的虚函数表,按照函数声明的顺序,会将函数地址存在虚函数表中,当子类对象重写父类的虚函数的时候,父类的虚函数表中对应的位置会被子类的虚函数地址覆盖。
作用:在用父类的指针调用子类对象成员函数时,虚函数表会指明要调用的具体函数是哪个。
发表于 2020-03-23 09:36:33
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
上传者:
小小
难度:
2条回答
82收藏
2125浏览
热门推荐
相关试题
用二进制来编码字符串“xyzwxy...
字符串
评论
(1)
下面关于 Java 中的反射(Re...
Java
评论
(1)
在Spring事务管理中,若Ser...
Spring
评论
(1)
对一个带有过期时间的 key 执行...
Redis
评论
(1)
在Go语言中,以下自定义类型中,哪...
Go
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题