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

网站推广方案设计方案wordpress获取视频缩略图

网站推广方案设计方案,wordpress获取视频缩略图,贵州最新新闻,购物帮–做特惠的导购网站指向派生类的基类指针、强转为 void* 再转为基类指针、此时调用虚函数会发生什么? 1、无论指针类型怎么转,类对象内存没有发生任何变化,还是vfptr指向虚函数表,下面是成员变量,这在编译阶段就已经确定好了&#xff1b…

指向派生类的基类指针、强转为 void* 再转为基类指针、此时调用虚函数会发生什么?

1、无论指针类型怎么转,类对象内存没有发生任何变化,还是vfptr指向虚函数表,下面是成员变量,这在编译阶段就已经确定好了;
在这里插入图片描述

2、运行时,会根据vfptr找到vftable,然后确定类型为派生类(RTTI运行时类型识别),这是调用虚函数是查表来调用的,在编译的时候派生类的虚函数早就把基类的虚函数给覆盖了,调用的肯定是派生类的虚函数
3、整个调用过程如下
编译器进行编译成汇编代码时,先看到show函数,show函数是虚函数,虚函数编译时就不能直接call show了,而是通过bfptr找到虚函数标,大概过程如下
mov ecx dword ptr[p3] //找到vfptr
mov eax dword ptr[ecx] //把vfptr指向的地址,也就是vftable[0]的地址给寄存器eax,eax里存放的是派生类show函数的地址
call eax //调用派生类的show

以上三句汇编才是虚函数产生多态的核心

在这里插入图片描述

#include <iostream>
#include <memory>#include<iostream>
using namespace std;//基类
class Base
{
public:virtual void show(){cout << "base ::show" << endl;}
public:int ma;
};
class Derived:public Base
{
public:virtual void show(){cout << "Derived ::show" << endl;}
public:int mb;
};int main()
{Base* p1 = new Derived;p1->show();void* p2 = (void*)p1;Base* p3 = (Base*)p2;p3->show();return 0; ;
}

在这里插入图片描述

http://www.yayakq.cn/news/288145/

相关文章:

  • 推荐几个网站图片网站湖北微网站建设电话
  • 如何创作网站网站建设图片流程图
  • 政务网站网上调查怎么做网络规划设计师考试内容有哪些
  • 长沙高端网站建设品牌重庆装修公司排名前十有哪些
  • 网站二级域名杭州兼职网站建设
  • 张家港英文网站制作wordpress 偷网页
  • 网站开发实训h5总结wordpress 左侧菜单栏
  • 做动态的网站聚名网官网登录入口
  • 购物网站建设模板图片南昌市新农村建设网站
  • 网络营销策略的定义重庆店铺整站优化
  • 企业网站建设递进发展趋势网站后台 模板
  • 网页设计页面设计主要技术外贸seo站
  • 阿里巴巴如何做网站商务网站建设摘要
  • 做网站开始要注意什么怎么做网站可以注册的
  • 网站开发直播江苏公司响应式网站建设报价
  • 网站权重如何查询贵阳双龙区建设局网站
  • 文本网站代码空两格怎么做大连哪家公司做网站比较好
  • 网站设计与网页制作项目教程建设网站哪家便宜
  • 温州市住房和城乡建设厅网站近五年网站开发参考文献
  • 做家教中介 不建网站怎么做织梦网站如何做优化
  • 深圳专业企业网站建设模板网站logo怎么做透明
  • 青海公路建设市场信用息服务网站达州seo排名
  • 网站建设 书籍乾县住房和城乡建设局网站
  • 网站建设中广告法绝对化用语整理成都做网站设
  • 用c语言做网站让建站公司做网站需要什么
  • 长宁企业网站制作有域名了网站怎么做
  • 网站首页html制作代码canva ppt模板
  • 合肥企业建站系统模板海淀区seo引擎优化
  • 重庆建设银行网站企业邮箱排名
  • 营销网站制作费用亚马逊欧洲站vat怎么申请