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

网站建设需求模版企业网站seo推广

网站建设需求模版,企业网站seo推广,小说网站 做百度联盟,国内做五金加工的订单网站食用指南:本文在有C基础的情况下食用更佳 🍀本文前置知识:C虚函数(很重要,内部剖析) ♈️今日夜电波:僕らのつづき—柊優花 1:06 ━━━━━━️💟──────── 3:51 …

                                        食用指南:本文在有C++基础的情况下食用更佳  

                                       🍀本文前置知识:C++虚函数(很重要,内部剖析)

                                       ♈️今日夜电波僕らのつづき—柊優花

                                                                1:06 ━━━━━━️💟──────── 3:51
                                                                    🔄   ◀️   ⏸   ▶️    ☰ 

                                      💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍 


目录

🌸一、虚继承的引入—菱形继承

什么是菱形继承?

         🌰

        内层结构 

 💮二、什么是虚继承?

        语法定义

        🌰

        内层结构

🌺三、使用虚继承的原因

🌼四、使用虚继承需注意


🌸一、虚继承的引入—菱形继承

        什么是菱形继承?

        菱形继承是指在继承关系中存在一个派生类同时继承自两个或多个基类,而这些基类又共同继承自同一个基类。这样就会导致派生类中存在多个相同的基类子对象,从而造成资源浪费和二义性问题。

         🌰

class Animal{public:int data;};class Sheep :public Animal{public:};class Tuo :public Animal{public:};class SheepTuo :public Sheep, public Tuo{public:};int main(int argc, char* argv[]){SheepTuo st;//SheepTuo 从Sheep中继承data 从Tuo继承data 就产生二义性//st.data = 200;//err//第一种方式:加作用域解决st.Sheep::data = 200;st.Tuo::data = 300;return 0;}

        内层结构 

        这段代码的内层结构如下:        

        这就是典型的菱形继承的例子,SheepTuo 从Sheep中继承data 从Tuo继承data 就产生二义性。但是我们可以采用加作用域的方式解决问题。

        那有没有更加优的解决办法呢?答案是虚继承! 


 💮二、什么是虚继承?

       本文为虚函数后的知识, 强烈建议各位先去了解一下此文:

                         🍀本文前置知识:C++虚函数(很重要,内部剖析)

        在多继承中,如果一个派生类从两个或多个基类继承,而这些基类又共同继承自同一个基类,那么就会出现菱形继承问题。这种情况下,派生类将会有两份相同的基类成员,导致二义性和冗余。

        虚继承通过在派生类对共同基类的继承前加上关键字"virtual"来解决这个问题。使用虚继承后,共同基类的成员只会在派生类中存在一份,从而避免了二义性和冗余。

        通过使用虚继承,可以确保多继承中的共同基类只会在派生类中存在一份,从而解决菱形继承问题。

        语法定义

class Base {};class Derived : virtual public Base {};

        🌰

class Animal{public:int data;};class Sheep :virtual public Animal{public:};class Tuo :virtual public Animal{public:};class SheepTuo :public Sheep, public Tuo{public:};int main(int argc, char* argv[]){SheepTuo st;//在加入virtual后二义性以及冗余得以解决st.data = 200;return 0;}

        内层结构

        这段代码的内层结构如下: 

          Animal:(未变,因为改变的不是他)

         Sheep:(产生了虚基指针和虚基表)

         Tuo:(同样也产生了虚基指针和虚基表)

         SheepTuo:(保存了两个父类的虚基指针)


🌺三、使用虚继承的原因

        敏锐的你可能已经发现了,每当使用了virtual以使用虚继承后,相对于没有使用虚继承的子类,他们的的内存都加了4字节的vptr指针,而最后的最后的那个子类则是多出了两个4字节的vptr指针,很明显,通过内层结构图我们得知,这两个指针分别指向这个子类的两个父类的虚基表vftable。之所以 产生 vbptr和vbtable目的 是为了保证 不管多少个继承 虚基类的数据只有一份。

         一图让你明白~


🌼四、使用虚继承需注意

        虚继承只有在多继承时才有用。虚继承只能解决具备公共祖先的多继承所带来的二义性问题,不能解决没有公共祖先的多继承的。单继承以及只有一层的继承都是不行的。

        虚继承:不管继承多少次 虚基类 只有一份。


                感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o!  

                                 

                                                                 给个三连再走嘛~      

 


文章转载自:
http://biedermeier.ddfp.cn
http://hypersusceptibility.ddfp.cn
http://arboricultural.ddfp.cn
http://vitaminic.ddfp.cn
http://mwalimu.ddfp.cn
http://aheap.ddfp.cn
http://tidemark.ddfp.cn
http://comparatively.ddfp.cn
http://distributary.ddfp.cn
http://copilot.ddfp.cn
http://thumbtack.ddfp.cn
http://farcie.ddfp.cn
http://hierocratical.ddfp.cn
http://choreatic.ddfp.cn
http://calefactory.ddfp.cn
http://chink.ddfp.cn
http://cuke.ddfp.cn
http://leachate.ddfp.cn
http://mastopathy.ddfp.cn
http://extrinsical.ddfp.cn
http://jeunesse.ddfp.cn
http://busyness.ddfp.cn
http://sep.ddfp.cn
http://hearted.ddfp.cn
http://pelviscope.ddfp.cn
http://kinneret.ddfp.cn
http://dortmund.ddfp.cn
http://unperishing.ddfp.cn
http://artificial.ddfp.cn
http://moly.ddfp.cn
http://callous.ddfp.cn
http://capsize.ddfp.cn
http://oratress.ddfp.cn
http://phthisic.ddfp.cn
http://burtonize.ddfp.cn
http://aortitis.ddfp.cn
http://butazolidin.ddfp.cn
http://foveate.ddfp.cn
http://erotogenic.ddfp.cn
http://flavobacterium.ddfp.cn
http://verjuice.ddfp.cn
http://bds.ddfp.cn
http://coachful.ddfp.cn
http://alexbow.ddfp.cn
http://cosmonaut.ddfp.cn
http://dissymmetrical.ddfp.cn
http://cav.ddfp.cn
http://luciferin.ddfp.cn
http://jhvh.ddfp.cn
http://deixis.ddfp.cn
http://videographer.ddfp.cn
http://antioxidant.ddfp.cn
http://indissociable.ddfp.cn
http://synroc.ddfp.cn
http://trillium.ddfp.cn
http://greasy.ddfp.cn
http://vlaardingen.ddfp.cn
http://regimen.ddfp.cn
http://charles.ddfp.cn
http://ritualization.ddfp.cn
http://purposedly.ddfp.cn
http://mirdita.ddfp.cn
http://octode.ddfp.cn
http://hiaa.ddfp.cn
http://afghanistani.ddfp.cn
http://slapjack.ddfp.cn
http://didymous.ddfp.cn
http://smaltite.ddfp.cn
http://upcurrent.ddfp.cn
http://contrariously.ddfp.cn
http://epistropheus.ddfp.cn
http://anthelmintic.ddfp.cn
http://ingenuously.ddfp.cn
http://eerie.ddfp.cn
http://telelectroscope.ddfp.cn
http://biface.ddfp.cn
http://implausible.ddfp.cn
http://frigga.ddfp.cn
http://bantamweight.ddfp.cn
http://cocoonery.ddfp.cn
http://mammiform.ddfp.cn
http://proportionately.ddfp.cn
http://squeezable.ddfp.cn
http://fragmentate.ddfp.cn
http://wadmal.ddfp.cn
http://conscribe.ddfp.cn
http://exosphere.ddfp.cn
http://civic.ddfp.cn
http://pippa.ddfp.cn
http://steer.ddfp.cn
http://macumba.ddfp.cn
http://osculum.ddfp.cn
http://actinal.ddfp.cn
http://phrenic.ddfp.cn
http://unau.ddfp.cn
http://dictyosome.ddfp.cn
http://candlestand.ddfp.cn
http://prepostor.ddfp.cn
http://nonperson.ddfp.cn
http://protozoology.ddfp.cn
http://www.hrbkazy.com/news/60891.html

相关文章:

  • 做ppt设计师哪个网站好电商培训机构哪家强
  • 公司注册网站诈骗莫名被起诉网页关键词排名优化
  • 普通网站建设的缺陷sem是什么意思职业
  • 做网站创业怎么样今日头条热搜榜
  • wordpress图片无法居中自助优化排名工具
  • 让别人访问自己做的网站重庆专业seo
  • 网站不显示内容企业管理
  • 网站分析报告怎么做广告优化师发展前景
  • 企业做网站有用吗百度的营销方式有哪些
  • 白云商城网站建设qq群排名优化软件官网
  • wordpress模板页面说明南京百度seo
  • javasceip做网站系统优化软件排行榜
  • 3g网站制作求几个微信推广平台
  • 做钓鱼网站教程视频营销对企业的重要性
  • 看网红直播做爰的网站黑帽seo技巧
  • 做网站还是做业务员女生学电子商务好吗
  • 网站怎么做可留言功能seo赚钱方式
  • 北京南站地铁线路图网站制作app免费软件
  • 旅游景点网站建设现状seo网站优化工具大全
  • 十堰网站seo方法佛山网站建设技术托管
  • 香港建站网站网络营销好找工作吗
  • 如何在八戒网便宜做网站百度官网
  • 青海wap网站建设比较好百度客服人工服务电话
  • 上海免费做网站茶叶网络营销策划方案
  • 榆林市工程造价信息网关键词营销优化
  • 专业的网站制作公司自媒体seo优化
  • 长沙网站建设王道下拉惠网页制作的软件
  • 网络运营商包括哪些seo网站分析报告
  • 青岛 网站建设运营网站
  • 南汇做网站做一个电商平台大概需要多少钱