社区
C++ 语言
帖子详情
关于c++ 中的虚函数表的问题
Nosoft12345
2017-09-27 02:56:04
大家接触过c++的都应该知道这个虚函数表。
我现在的问题是,一个基类(存在虚函数),派生一个子类,如果这个子类自身也有虚函数(不是继承基类的),
那么在子类自己的虚函数表中,为什么会看不到这个虚函数?
我在很多地方,看到的文章都是这么说的:虚函数表会把该类的虚函数指针存放到自己虚函数表中。
但通过程序,我发现并没有。
有人能说的清楚这个吗?
对于一个存在继承关系的类,虚函数表是由谁来觉得
...全文
237
7
打赏
收藏
关于c++ 中的虚函数表的问题
大家接触过c++的都应该知道这个虚函数表。 我现在的问题是,一个基类(存在虚函数),派生一个子类,如果这个子类自身也有虚函数(不是继承基类的), 那么在子类自己的虚函数表中,为什么会看不到这个虚函数? 我在很多地方,看到的文章都是这么说的:虚函数表会把该类的虚函数指针存放到自己虚函数表中。 但通过程序,我发现并没有。 有人能说的清楚这个吗? 对于一个存在继承关系的类,虚函数表是由谁来觉得
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FancyMouse
2017-10-19
打赏
举报
回复
虚函数表是为了转成基类指针的时候调用虚函数能调用到正确的函数上。既然基类不存在这个函数声明那干啥要放虚表里?
wh_
2017-10-18
打赏
举报
回复
哦,我刚才用vs试了试,确实也没有看到,但我进内存,在虚函数表的指针地址处查看,是有可以看到自己的虚函数地址的,估计是巨硬 的一个bug
wh_
2017-10-18
打赏
举报
回复
每一个含有虚函数的类,都有一个属于自己的虚函数表
wh_
2017-10-18
打赏
举报
回复
怎么会查看不到?绝对能查看到
赵4老师
2017-09-27
打赏
举报
回复
《深度探索C++对象模型》 《C++反汇编与逆向分析技术揭秘》
蠓虫带着秤砣飞
2017-09-27
打赏
举报
回复
通过什么方式确定的没有看到?
Saleayas
2017-09-27
打赏
举报
回复
每一个有虚函数的类都有自己的虚函数表。 在构造这个类的时候,会分配空间以便指向这个虚函数表。 如果这个类继承于其他的有虚函数的类,那么会为每一个有虚函数的基类的虚函数表分配一个指向它的指针。 同时如果派生类重写了虚函数,会修改虚函数表里的函数指针。 如果这个派生类也有自己的虚函数,那么一般会直接添加在第一个基类的虚函数表的后面。(这个没有看到文档描述,我是分析 VS 得来的。嘻嘻)
C++
STL函数应用
C++
STL函数算法精讲+刷题实战,包括16个常用STL函数,vector/stack/queue/deque/priority_queue、list/bitset/set/multiset/map/multimap等函数应用和刷题实战。
c++
-
虚函数
表
中
虚函数
表
的地址存放在对象的最前面,这是为了即使多继承下也能快速获取到
虚函数
表
。 代码示例: class Base{ public: virtual void A(){cout << "Base::A()" << endl;} virtual void B(){cout &
C++
:
虚函数
表
存在哪
C++
中
,一个类存在
虚函数
,那么编译器就会为这个类生成一个
虚函数
表
,在
虚函数
表
里存放的是这个类所有
虚函数
的地址。当生成类对象的时候,编译器会自动的将类对象的前四个字节设置为虚
表
的地址,而这四个字节就可以...
C++
虚函数
表
解析
C++
虚函数
表
解析 陈皓http://blog.csdn.net/haoel 前言
C++
中
的
虚函数
的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。...
C++
类对象
中
虚函数
表
指针、
虚函数
表
、
虚函数
之间的关系以及在内存
中
的布局
C++
类的
虚函数
表
和
虚函数
在内存
中
的位置
虚函数
表
和
虚函数
在内存
中
的位置说明 结论 原文
C++
类的
虚函数
表
和
虚函数
在内存
中
的位置_JMW1407的博客-CSDN博客
C++
类的
虚函数
表
和
虚函数
在内存
中
的位置 关系:
虚函数
表
...
C++ 语言
64,647
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章