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

常规网站服务器临沂seo公司

常规网站服务器,临沂seo公司,上海南汇汽车网站制作,大庆seo推广Linux C/C 开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全) c中一个类中无非有四种成员:静态数据成员和非静态数据成员,静态函数和非静态函数。 1.非静态数据成员被放在每一个对象体内作为对象专有的数据成员。 2.静态数据成员被提取出来…

Linux C/C+ +开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)

c++中一个类中无非有四种成员:静态数据成员和非静态数据成员,静态函数和非静态函数。

1.非静态数据成员被放在每一个对象体内作为对象专有的数据成员。
2.静态数据成员被提取出来放在程序的静态数据区内,为该类所有对象共享,因此只存在一份。
3.静态和非静态成员函数最终都被提取出来放在程序的代码段中并为该类所有对象共享,因此每一个成员函数也只能存在一份代码实体。在c++中类的成员函数都是保存在静态存储区中的 ,那静态函数也是保存在静态存储区中的,他们都是在类中保存同一个惫份。

因此,构成对象本身的只有数据,任何成员函数都不隶属于任何一个对象,非静态成员函数与对象的关系就是绑定,绑定的中介就是this指针。成员函数为该类所有对象共享,不仅是处于简化语言实现、节省存储的目的,而且是为了使同类对象有一致的行为。同类对象的行为虽然一致,但是操作不同的数据成员。

#include"iostream.h"
class A
{
private:int x;int y;
public:void sety(){y=5;}void print(){cout<<"x="<<x<<endl<<"y="<<y<<endl;}
};
void main()
{A a;a.sety();a.print();int *p=(int *)&a;//对象a的内存模型里面,只有非静态数据成员,所以是合理的。*p=6;a.print();
}

4.单继承的对象的内存布局,第一个为虚函数表指针vtbl,其后为成员且先基类后子类,虚函数表里包含了所有的虚函数的地址,以NULL结束。 虚函数如果子类有重写,就由子类的重新的代替

img

添加图片注释,不超过 140 字(可选)

上述类图的解释:B的v2覆盖了A的v2,C的v1覆盖了A的v1,C的v3覆盖了B的v3.

注意:发生覆盖的特征有:

  1. 不同的范围(分别位于派生类与基类);
  2. 函数名字相同
  3. 参数相同
  4. 基类函数必须有virtual关键字

成员函数被重载的特征

(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无

隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)

类C的对象的内存模型为:

img

单继承的对象的布局,第一个为虚函数表指针vtbl,其后为成员且先基类后子类,虚函数表里包含了所有的虚函数的地址,以NULL结束。虚函数如果子类有重写,就由子类的重新的代替。

5.与单继承相同的是所有的虚函数都包含在虚函数表中,所不同的多重继承有多个虚函数表,当子类对父类的虚函数有重写时,子类的函数替换父类的函数在对应的虚函数位置,当子类有新的虚函数时,这些虚函数被加在第一个虚函数表的后面

img

对类图的解释:D的v3覆盖了B3的v3,另外D有一个新的虚函数vD。

class D 的内存模型

img

总结:与单继承相同的是所有的虚函数都包含在虚函数表中,所不同的多重继承有多个虚函数表**,当子类对父类的虚函数有重写时,子类的函数覆盖父类的函数在对应的虚函数位置,当子类有新的虚函数时,这些虚函数被加在第一个虚函数表的后面**

6.虚继承,使公共的基类在子类中只有一份,我们看到虚继承在多重继承的基础上多了vbtable来存储到公共基类的偏移。

img

类图的解释:D2覆盖了B的vB,GD覆盖了D1的vD1同时也覆盖B的vB,GD也有自己的虚函数vGD。

class GD的内存模型

img

总结:虚继承,使公共的基类在子类中只有一份,我们看到虚继承在多重继承的基础上多了vbtable来存储到公共基类的偏移

整理了一些学习书籍、视频资料(Linux C++ 后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全
学习资料、教学视频和学习路线图),有需要的可以自行添加学习交流群:739729163 领取哦!!!

http://www.dinnco.com/news/64488.html

相关文章:

  • 前端面试seo中介平台
  • wordpress 页面和分类目录天津做优化好的公司
  • 克隆的网站怎么做数据库建站之星官方网站
  • 有赞商城网站建设淘宝关键词查询工具哪个好
  • 高性能网站建设进阶指南pdf百度推广账号登陆入口
  • 做网站那种语言好曼联官方发文
  • 企业网站推广 知乎如何加入广告联盟赚钱
  • 做纺织都有那些好网站互联网优化是什么意思
  • 新手去哪个网站做翻译深圳做网站seo
  • 网站开发的权限设置百度seo权重
  • 网页版游戏排行榜4399搜索引擎优化的定义是什么
  • cps推广网站百度正版下载并安装
  • sever 2008 网站建设外贸网站推广方法之一
  • 视频拍摄案例seo外链平台
  • 2019做seo网站网络营销案例实例
  • 网站免费源码大全无需下载整站优化
  • 长春网站制作链接检测工具
  • 昆明做网站seo排名规则
  • 查看网站备案信息百度客服电话24小时客服电话
  • 商丘幼儿园网站建设策划方案国外引擎搜索
  • 无棣做网站百度客服电话号码
  • 用.cc做网站官网可以吗怎么制作自己的网站网页
  • 成片1卡2卡三卡4卡厦门谷歌seo公司有哪些
  • 山东助企网站建设广州谷歌推广
  • 甘肃省嘉峪关建设局网站百度指数怎么算
  • 网站地图设计友情链接的网站
  • 别人用我的备案信息做网站太原搜索排名提升
  • h5网站制作接单网站排名分析
  • 广东茶叶网站建设免费推广seo
  • 做公司的网站有哪些山西seo