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

可以自己建设购物网站互联网广告销售是做什么的

可以自己建设购物网站,互联网广告销售是做什么的,南通网站建设公司,html网站开发实用技术目录 概念: 菱形虚拟继承: 概念: 此时D类属于多继承,可以看到D类里面会有两份A类的数据,菱形继承也并不一定就一定就是上图的菱形,假如B类下面还有一个类,D类继承它,同样也是菱形继承问题 cla…

目录

概念:

菱形虚拟继承:


概念:

 

 

此时D类属于多继承,可以看到D类里面会有两份A类的数据,菱形继承也并不一定就一定就是上图的菱形,假如B类下面还有一个类,D类继承它,同样也是菱形继承问题

class A
{
public:int a;
};class B : public A
{
public:int b;
};class C : public A
{
public:int c;
};class D : public B, public C
{
public:int d;
};int main()
{D data;cout << data.a << endl;return 0;
}

 大家觉得这段代码有问题嘛?

 

我们此时D类已经出现了数据冗余和二义性的问题了,我们直接访问 a 的值是不可行的,只有明确地表明你要访问地是哪个类里面的 a

class A
{
public:int a;
};class B : virtual public A
{
public:int b;
};class C : virtual public A
{
public:int c;
};class D : public B, public C
{
public:int d;
};int main()
{D data;cout << data.a << endl;return 0;
}

 不过可以在腰部,也就是 B和C 类加上 virtual ,就可以数据二义性的问题和数据冗余,这个叫 菱形虚拟继承

菱形虚拟继承:

class A
{
public:int a;
};//class B : virtual public A
class B : public A
{
public:int b;
};//class C : virtual public A
class C : public A
{
public:int c;
};class D : public B, public C
{
public:int d;
};int main()
{D data;//data.a = 1;data.B::a = 2;data.C::a = 6;data.b = 3;data.c = 4;data.d = 5;return 0;
}

 我们来看一下上述代码运行完,在内存的角度观察他们的变化:

 

能够看的出,总共分为三个部分:上面两个框分别是B和C类的,谁先继承谁就在上面,并且,数据a 也是独立开来的,B里面a = 2;C里面a = 6 。 

再来看加了virtual后的又会是什么样的变化: 

 

同样也是分为了三个部分,先继承的类就在上面,所以上面两个分别是B和C类,但这次不一样的是:

数据a并没有分开来,而是在最下面去了,相代替的是一个指针,这个指针指向的是一个虚基表,这个表里面存放着一个偏移量,当我们要进行 切割 的时候,获取 数据a 就通过当前的这个指针 + 这个偏离量就能找到了。(这个表叫虚基表,指针叫虚基表指针)

如果此时定义一个B对象,它的里面同时也有一个续集表指针,指向一个自己的续集表,这个偏移量 和 D定义出来的 对象 里的 B类的虚基表里的偏离量不同 

 

如图所示:左边是B类定义出来的对象;右边是D类定义出来的对象。

他们都有各自的虚基表指针,这个指针是不一样的!!!!里面的偏移量也是!! 

http://www.dt0577.cn/news/25738.html

相关文章:

  • 天津武清做网站的公司百度推广总部电话
  • 肇庆建设银行招聘网站网站查询站长工具
  • 微信网站如何制作手机app推广平台
  • 新注册域名做网站好处什么是seo营销
  • 石家庄专业网站制最近发生的新闻
  • 有没有给宝宝做辅食的网站网络营销的三大基础
  • 怎样做禁毒网站的试卷龙岗seo优化
  • 赣州管理中心网站营销型网站的分类
  • 网站建设战略伙伴baidu百度网盘
  • 海南省政府网站官网百度网站推广申请
  • 深圳市住建局造价站seo这个职位是干什么的
  • 网站与客户互动网站页面
  • 四川省城乡建设厅网站新闻摘抄2022最新5篇
  • 网络品牌推广策划方案杭州seo的优化
  • 做电脑网站用什么软件有哪些方面qq推广工具
  • 网站推广含义全球搜官网
  • h5网页制作代码佛山seo按效果付费
  • 镇江网站建设一般多少钱google关键词查询工具
  • 阿里云数据库怎么跟wordpress连接运营seo是什么意思
  • vk社交网站做婚介常见的网站推广方式
  • 山东杰瑞数字做网站做一个网站的步骤
  • 基于互联网 模式下的安全网站建设厦门seo关键词
  • 和县网站制作郑州搜索引擎优化公司
  • 宜昌建站长沙百度快速排名
  • 安徽科技网站建设seo的优化策略有哪些
  • 微信做淘宝优惠券但网站是怎么建设但2023新闻摘抄十条
  • 迪奥官网网站做的好吗上海站优云网络科技有限公司
  • 给公司做的东西放到私人网站上网站优化排名易下拉系统
  • 蓬莱专业做网站公司杭州优化外包哪里好
  • 宁波网站建设哪家好希爱力副作用太强了