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

网站缩写的英文网站代维护

网站缩写的英文,网站代维护,域名是什么,镇江网站制作案例一.什么是菱形继承 菱形继承是多继承的一种特殊情况#xff0c;一个类有多个父类#xff0c;这些父类又有相同的父类或者祖先类#xff0c;那么该类就会有多份重复的成员#xff0c;从而造成调用二义性和数据冗余。 class Person {public:Person(){cout P…一.什么是菱形继承 菱形继承是多继承的一种特殊情况一个类有多个父类这些父类又有相同的父类或者祖先类那么该类就会有多份重复的成员从而造成调用二义性和数据冗余。 class Person {public:Person(){cout Person构造 endl;} public:int _name 0;int _age 0; };class Student : public Person {public:Student(){cout Student构造 endl;}int _stuid 0; };class Teacher : public Person { public:Teacher(){cout Teacher构造 endl;}int _jobid 0; };class Assistant : public Student, public Teacher { public:Assistant(){cout Assistant构造 endl;}int _task 0; }; int main() {Assistant a;//a._name;//二义性:访问Student的_name还是Teacher的_name呢?//需要指定类域访问a.Student::_name 1;a.Student::_age 2;a._stuid 3;a.Teacher::_name 4;a.Teacher::_age 5;a._jobid 6;a._task 7;return 0; } 从a的内存布局可以看到a中有两份_name和_age它们是从Student和Teacher类继承下来的。二义性的问题可以通过指定类域访问解决,但数据冗余的问题是无法规避的,必须引入新的技术——虚继承  二.虚继承的用法 只需在继承那个祖先类时加上关键字virtual即可 class Person {public:Person(){cout Person构造 endl;} public:int _name 0;int _age 0; };class Student : virtual public Person {public:Student(){cout Student构造 endl;}int _stuid 0; };class Teacher : virtual public Person { public:Teacher(){cout Teacher构造 endl;}int _jobid 0; };class Assistant : public Student, public Teacher { public:Assistant(){cout Assistant构造 endl;}int _task 0; }; int main() {Assistant a;a.Student::_name 1;a.Student::_age 2;a._stuid 3;a.Teacher::_name 4;a.Teacher::_age 5;a._jobid 6;a._task 7;return 0; }虚继承前 虚继承后  可以看到Person构造函数只调用了一次。 再来看看虚继承后a的内存分布 虚继承后重复的那部分成员被单独拎了出来只有一份此时就不存在二义性的问题了。a.Student::_namea.Student::_namea._name访问的是同一份数据。同时也解决了数据冗余的问题。  三.虚继承的原理 Student和Teacher中多出的这两个东西是什么呢这似乎是一个地址那我们在内存中看一看注意是小端存储低字节存低位数据高字节存高位数据故地址应该为007e9b4c和007e9b54 注意这是16进制故第一个数 是20第二个数是12。 在看看上面的内存分布会发现006ff8d0这个地址加上20006ff8d8加上12刚好是006ff8e4也就是重复的Person那部分变量的起始地址。 Assistant对象中将Person放到的了对象组成的最下面这个Person同时属于Student和Teacher给Student和Teacher都添加一个指针指向的一张表。这两个指针叫虚基表指针这两个表叫虚基表。虚基表中存了偏移量通过偏移量可以找到下面的Person。事实上虚基表中存放了两个数据第二个数是偏移量第一个数与多态中的虚表有关这里不作展开后面的多态会讲到。
http://www.dnsts.com.cn/news/147165.html

相关文章:

  • 济南网站改版wordpress春节
  • 做建筑材料哪个网站好一点WordPress判断手机输出
  • 餐饮行业做微信网站有什么好处个人怎么建立网站吗
  • 小说网站系统怎么做宝贝做网站
  • 上饶建设银行网站海南免费做网站
  • 一般网站维护要多久十大最好玩网页游戏
  • 专业重庆房产网站建设自助建站空间怎么用
  • 西安百度推广网站建设上海seo服务公司
  • 南昌建设企业网站公司个人公司注册流程图
  • 吉安做网站多少钱网吧可以做网站吗
  • 营销型网站有哪些建设流程宜昌市住房城乡建设网站
  • 做的网站为什么图片看不了工业园区网站模版
  • 拼团购物网站怎么做wordpress 邀请机制
  • 网站空间域名购买润滑油 东莞网站建设
  • 金融公司网站模板专业商城网站设计
  • 象山县城乡和住房建设局网站山东做网站公司有哪些
  • 手绘风格的网站跨境电商购物网站
  • 沭阳住房和城乡建设局网站网页设计与制作用什么软件做
  • 网站搜索 代码惠城区龙丰街道
  • 建筑招工网站报告总结网站建设实验
  • 网站建设提案ppt做货代的有哪些网站
  • 如皋建设医院网站微信如何申请小程序
  • 嘉兴市建设工程监理协会网站中秋节网页设计素材
  • 内网网站建设的必要性平台推广
  • 商务网站建设工程师做网站需要哪些方面的支出
  • 网页设计作业可爱的家乡做seo需要哪些知识
  • 网站设计与开发专业校园网站建设年度总结
  • 网站开发的服务台州关键词首页优化
  • 怎么制作一个免费的网站模板网站备案能查到什么
  • 自己想做网站广州 电商设计网站建设