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

公司网站制作机构郑州网站推广专员

公司网站制作机构,郑州网站推广专员,wordpress主题制作实例,wordpress杂志文章目录 1. 基本概念1.1 虚函数1.2 虚函数表1.3 虚函数表指针1.4 虚函数表在支持多态方面的工作原理 2. 类对象在内存中的布局参考 1. 基本概念 1.1 虚函数 类的成员函数,并不占用类对象的内存空间。 类中有虚函数,编译器会向类中插入一个看不见的成…

在这里插入图片描述


文章目录

  • 1. 基本概念
    • 1.1 虚函数
    • 1.2 虚函数表
    • 1.3 虚函数表指针
    • 1.4 虚函数表在支持多态方面的工作原理
  • 2. 类对象在内存中的布局
  • 参考

1. 基本概念

1.1 虚函数

类的成员函数,并不占用类对象的内存空间。

类中有虚函数,编译器会向类中插入一个看不见的成员变量,类似下面的伪代码:

class A
{public:void *vptr; //虚函数表指针(virtual table pointer)//......
};

这个看不见的成员变量,就叫虚函数表指针


1.2 虚函数表

虚函数表的生成时机:
在编译过程中,当类A中虚函数个数≥1个,编译器就会为类A生成一个虚函数表(virtual table),这个虚函数表会一直伴随着类A,编译完成,在程序执行的时候,也会被加载到内存中。


1.3 虚函数表指针

在这里插入图片描述


在这里插入图片描述


1.4 虚函数表在支持多态方面的工作原理

在这里插入图片描述

多态必须存在虚函数,没有虚函数,绝不可能存在多态

从代码实现上:
在这里插入图片描述


class Base
{public:virtual void myvirfunc(){}
};int main()
{Base*pa = new Base();pa->myvirfunc();//这是不是多态,是多态的Base base;base.myvirfunc();//这个就不是多态的Base* ybase = &base;ybase->myvirfunc();//这个也是多态
}

在这里插入图片描述


从表现形式上:

  1. 程序中既存在父类也存在子类,父类中必须含有虚函数,子类中也必须重写父类中的虚函数。
  2. 父类指针指向子类对象,或者父类引用绑定(指向)子类对象。
  3. 当通过父类的指针或引用,调用子类中重写的虚函数时,就能看出多态性的表现了。
class Derive:public Base
{
public:
virtual void myvirfunc(){}
}/父类指针指向子类对象
Derive derive;
Base*pbase =&derive;
pbase->myvirfunc();//Derive:myvirfunc()
/或者
Base*pbase2=new Derive();//释放内存请自行释放,在这里没演示
pbase2->myvirfunc();//Derive:myvirfunc()
//父类用绑定(指向)子类对象
Derive derive2;
Base&yinbase derive2;
yinbase.myvirfunc();//Derive:myvirfunc()

在这里插入图片描述


2. 类对象在内存中的布局

TBD.


参考

【1】C++ 多态
【2】C++ 一篇搞懂多态的实现原理
【3】C++ 多态 超详细讲解
【4】[C++]:万字超详细讲解多态以及多态的实现原理(面试的必考的c++考点)
【5】CPU眼里的:多态
【6】C++语言面试中,如何深入理解虚函数和多态?
【7】侯捷谈虚函数与多态(上)
【8】侯捷谈虚函数与多态(下)


文章转载自:

http://mTJiOnJP.Lsjgh.cn
http://sN860xw8.Lsjgh.cn
http://bsuFUx25.Lsjgh.cn
http://6r0NbkAy.Lsjgh.cn
http://T6egnxz4.Lsjgh.cn
http://7hg00df0.Lsjgh.cn
http://gLWxaYyI.Lsjgh.cn
http://6SaFK0Yz.Lsjgh.cn
http://tXHLtaPi.Lsjgh.cn
http://eHNhEMQp.Lsjgh.cn
http://1CpZPPqf.Lsjgh.cn
http://kdNGbhvh.Lsjgh.cn
http://dvCjaoFP.Lsjgh.cn
http://TBMG3xuU.Lsjgh.cn
http://3vTHbo46.Lsjgh.cn
http://qE2CQ1rp.Lsjgh.cn
http://R4TEKo2o.Lsjgh.cn
http://bpGwmYUC.Lsjgh.cn
http://ktcHOmbB.Lsjgh.cn
http://aj0qNlT2.Lsjgh.cn
http://qpVXjKdz.Lsjgh.cn
http://EHRxw408.Lsjgh.cn
http://5bTcaKZQ.Lsjgh.cn
http://Xtca2frw.Lsjgh.cn
http://lhcCBb03.Lsjgh.cn
http://LSk0cCJa.Lsjgh.cn
http://wIhdcWO6.Lsjgh.cn
http://YdyT5Y1i.Lsjgh.cn
http://WH8TKeBy.Lsjgh.cn
http://NiptmUoY.Lsjgh.cn
http://www.dtcms.com/wzjs/672221.html

相关文章:

  • 云南省中国建设工程造价管理协会网站公司邮箱地址
  • ps做网站72分辨率收录查询 站长工具
  • 网站制作公司咨询服务外包企业有哪些
  • 中国建设银行官方网站登录大连网站设计费用
  • 没备案的网站百度收录潮品服饰网站建设规划书
  • 昆明做个人网站小程序名称大全
  • 网站开发数据如何转化沧州海外网站建设
  • 慈溪做网站的公司宁波网站建设的企业
  • 网站做游戏吗seo外包优化公司
  • 福州公司建站模板招聘小程序怎么制作
  • 矿山建设工程公司网站东莞大岭山森林公园
  • 广元如何做百度的网站上海森琦阳网络科技有限公司
  • 做网站 技术wordpress网站背景
  • 微信怎么做捐钱的网站四合一网站建设源码
  • wordpress 图片整理快速排名优化公司
  • 网站备案是否收费游戏代理加盟
  • 上海高端网站搭建协会建设网站的必要性
  • 投稿的网站做网站很简单
  • 分类信息建站系统优秀设计网站推荐
  • 青岛百度网站排名推荐一下做图文的网站
  • 江门网站建设公司哪家好网站开发就业怎么样
  • 如何建立购物网站宁波网站优化找哪家
  • 网站开发专业有什么工作中国建设官网首页
  • 企业 北京 响应式网站巨量算数关键词查询
  • 怎样做百度推广网站鹤壁市城乡一体化示范区规划图
  • wordpress站点取名制作公司网站需要购买域名和服务器吗
  • 做抛物线的网站wordpress自定义404页面
  • 网站导航下拉菜单代码电商网站设计趋势
  • 怎样用网站模板做网站章丘市网站建设seo
  • 衡阳网站建设在中国可以做国外的域名网站吗