当前位置: 首页 > news >正文

如何在网盘上做网站/百度上海分公司

如何在网盘上做网站,百度上海分公司,合肥做网站的公司,网站空间和服务器的区别多态的实现分为静态多态和动态多态,静态多态主要靠函数重载,动态多态主要靠虚函数 当类中声明了虚函数之后,该类的内存映像会获得一个虚表指针,叫做_vfptr指向该类的虚表,下面的我测试使用的类图(有的没必要…

多态的实现分为静态多态和动态多态,静态多态主要靠函数重载,动态多态主要靠虚函数

当类中声明了虚函数之后,该类的内存映像会获得一个虚表指针,叫做_vfptr指向该类的虚表,下面的我测试使用的类图(有的没必要的东西没有写)

这里恰好还是一个菱形继承,但是就像我之前说的虚继承和虚表关系不大,所以单继承也是可以测试的

其中高亮的部分就是虚表指针,用内存窗口就可以看到虚表中存放的东西了,每一个多态类的对象都有一个自己的虚表指针,并且多继承的对象会有多个_vptr指针

m和m1的_vptr指向同一个虚表

多继承对象有更多的_vfptr指向不同的虚表

 

这里我们虽然看到的是_vfptr是放在m对象的最后,但是在内存中_vfptr是存放在m内存空间一开头的地方!!如果我们想要强取虚表并且把虚表中的函数指针打印出来看看的话,只要取m的地址(就是一开始的头地址)就可以了,=(虽然一般人不会这么做,如果只是想看看的话),如果还想打印其他的虚表的话就把指针偏移一下,_vfptr就是指向虚表的指针,就相当于指向一个函数指针数组的第一个元素指针,获得了这个指针之后就可以像访问数组一样访问这个虚表了

如下图所示对象m地址空间一开始就是虚表指针_vfptr,紧接着是虚继承表指针_vbptr(要区分开!)(虚继承表详解看菱形继承那篇博客)

强取虚表打印代码

 1 void PrintVtable(int *vTable)
 2 {
 3     for (int i = 0; vTable[i] != 0; i++)
 4     {
 5         printf("%x\n", vTable[i]);
 6         FUNC f = (FUNC)vTable[i];
 7         f();
 8     }
 9 }//因为指针和int型变量都是4个字节,所以我们用整型变量来存放地址
10 
11 
12 
13 
14 int *vTable = (int *)(*(int *)&m);
15 PrintVtable(vTable);

 

转载于:https://www.cnblogs.com/lenomirei/p/5516235.html

http://www.lbrq.cn/news/784243.html

相关文章:

  • net网站开发技术方案/微信投放广告多少钱
  • 电商网页美工设计/seo管理平台
  • 做一名优秀网站设计师计划/简单网页制作成品免费
  • 源码网站跟自己做的网站区别/长沙seo管理
  • 建设银行纪念币网站/谷歌官方seo入门指南
  • 开发一个软件的流程/苏州关键词优化搜索排名
  • 宁夏住房和城乡建设厅门户网站/sem竞价托管代运营
  • 邮箱号怎么注册?/seo优化是啥
  • wordpress纯代码/泰安网站seo
  • 嘉兴制作网站企业/百度指数在线查询工具
  • 苏州做网站品牌公司/怎么做电商卖东西
  • 查看网站流量的工具/网络营销与策划试题及答案
  • 最简单的html代码/seo培训资料
  • 网页设计可以进怎样的公司/天津seo渠道代理
  • 西安做网站哪里便宜/代运营公司排行榜
  • js与asp.net做的网站/自己的网站怎么样推广优化
  • 番禺网站建设报价/最新国际军事动态
  • 网站开发毕设文献/广告代理公司
  • 超云建站/全自动推广引流软件免费
  • 郴州高椅岭/关键词的优化和推广
  • 代理商加盟项目网站/下载百度网盘app
  • 户外网站 整站下载/市场推广计划书
  • 网上做兼职做网站/网络公关公司联系方式
  • 如何做单位网站/深圳百度国际大厦
  • 做网站的收获及感想/网络seo优化推广
  • 现在还做自适应网站/seo蜘蛛屯
  • 医院网站优化/宁波seo行者seo09
  • 做导航网站赚钱吗/app拉新推广怎么做
  • 北京城乡住房建设官方网站/培训心得体会800字
  • 网页游戏网站斗地主/永久免费的建站系统有哪些
  • 软件定义汽车 --- 电子电气架构的驱动
  • 【运维进阶】DHCP服务配置和DNS域名解析
  • dify之推送飞书群消息工作流
  • 【Java】使用FreeMarker来实现Word自定义导出
  • SP20D120CTU:1200 V/20 A SiC肖特基二极管的TO-263封装升级版,数据工程师必看!
  • 选择排序原理与C语言实现详解