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

克隆网站后怎么做软文网站推广

克隆网站后怎么做,软文网站推广,农业电子商务平台建设,视觉网站建设假设有一个问题,类似于鸭子这样的动物有很多种,如企鹅和鱿鱼,它们也可能会有一些共同的特性。例如,我们可以有一个叫做 AquaticBird (涉禽,水鸟的一类)的类,它又继承自 Animal 和 Sw…

假设有一个问题,类似于鸭子这样的动物有很多种,如企鹅和鱿鱼,它们也可能会有一些共同的特性。例如,我们可以有一个叫做 AquaticBird (涉禽,水鸟的一类)的类,它又继承自 Animal 和 SwimmingAnimal,就像这样:

class AquaticBird : public Animal, public SwimmingAnimal {  // AquaticBird类既是Animal也是SwimmingAnimal  
};  

如果我们同时继承了这两个类,像下图所示,将发生菱形继承:

        Animal  /      \
FlyingAnimal   AquaticBird  \      /  Duck  

在这个结构中,Duck 既继承了 FlyingAnimal,也间接继承了 Animal 通过 AquaticBird 的方式。问题在于,如果我们试图调用 Animal 类的方法,例如 eat(),Duck 会造成二义性:它不清楚是通过哪个路径来调用 Animal 类的实例。

那么如何解决菱形继承问题呢

解决菱形继承问题

通过使用 虚继承,我们可以确保在最终的 Duck 类中,只有一个 Animal 的实例。


class Animal {  
public:  void eat() {  std::cout << "Eating food." << std::endl;  }  
};  
class FlyingAnimal : virtual public Animal { // 使用virtual  
public:  void fly() {  std::cout << "Flying." << std::endl;  }  
};  
class SwimmingAnimal : virtual public Animal { // 使用virtual  
public:  void swim() {  std::cout << "Swimming." << std::endl;  }  
};  
class Duck : public FlyingAnimal, public SwimmingAnimal {  // Duck类继承自FlyingAnimal和SwimmingAnimal  
};  

现在,当 Duck 类调用 eat() 方法时,编译器知道只有一份 Animal 的实例,从而避免了二义性。

那么虚继承的底层实现原理是什么呢?

g++ -fdump -class-hlerarchy *.cpp gcc8.0之前

g++ fdump -lang - class *.cpp gcc8.0及以后

通过虚表指针偏移来实现虚继承

父类的vptr都有到共同基类的偏移量,从而让子类多继承是指向同一个“父类的父类”

只有C++有菱形继承

一般不使用菱形继承,但在库里面使用了

如下所示,下面的箭头都是继承,我们就会发现中间出现了菱形继承,iostream继承了istream和ostream。

http://www.dtcms.com/wzjs/176593.html

相关文章:

  • 东莞外贸公司建网站google搜索app下载
  • 东莞谢岗网站建设个人接app推广单去哪里接
  • 电商网站如何设计内容海南乐秀同城群软件下载
  • 网站设计用什么软件推广员是干什么的
  • 自己做的网站百度搜不到百度竞价排名商业模式
  • 网站营销网杭州10大软件开发公司
  • 怀仁有做网站的公司吗青岛网站seo分析
  • 射阳做网站的公司阿拉营销网站
  • 企业网站建设方案费用优化大师兑换码
  • 做企业网站那家好成都网站推广
  • 泉州做网站的西安百度提升优化
  • 建站系统加盟谷歌推广哪家好
  • 网站的整合搜索引擎推广
  • cocos creator做网站江苏seo技术教程
  • 动态网站开发基础公司网络推广服务
  • 郑州专业做网站seo外链自动群发工具
  • 扁平化企业网站搜索引擎推广的方法有
  • 签订网站制作协议需注意什么软文营销的定义
  • 温州做网站建设多少钱免费推广网站推荐
  • 福田公司网站建设最新注册域名查询
  • 营销网站建立免费网站统计工具
  • 深圳cms建站系统seo建站平台哪家好
  • 瑞安市聚齐网络科技有限公司seo免费优化
  • 网站建设咨询电话成品ppt网站国外
  • 网站切片怎么做sem是什么意思
  • wordpress 程序员主题seoul是啥意思
  • 作业代做网站网站推广代理
  • 网站怎么做json数据企业网站推广渠道
  • 咸阳网站建设公司电话佛山做网站的公司哪家好
  • 免费企业网站怎么做北京网络推广公司排行