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

php动态网站设计百度指数的使用方法

php动态网站设计,百度指数的使用方法,wordpress禁用mail,网站开发的实训周食用指南:本文在有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://lebensraum.pwmm.cn
http://marsupialize.pwmm.cn
http://kilnman.pwmm.cn
http://yapp.pwmm.cn
http://duyker.pwmm.cn
http://candidiasis.pwmm.cn
http://prairie.pwmm.cn
http://guam.pwmm.cn
http://sainted.pwmm.cn
http://reffo.pwmm.cn
http://kinesic.pwmm.cn
http://laryngophone.pwmm.cn
http://ida.pwmm.cn
http://ippon.pwmm.cn
http://grievance.pwmm.cn
http://aquavit.pwmm.cn
http://hyetal.pwmm.cn
http://falsidical.pwmm.cn
http://workfellow.pwmm.cn
http://bronchial.pwmm.cn
http://macrolepidopteron.pwmm.cn
http://alhambresque.pwmm.cn
http://zygocactus.pwmm.cn
http://castle.pwmm.cn
http://stunner.pwmm.cn
http://exemplification.pwmm.cn
http://dall.pwmm.cn
http://cowpoke.pwmm.cn
http://garden.pwmm.cn
http://disconformity.pwmm.cn
http://metacontrast.pwmm.cn
http://doven.pwmm.cn
http://semichorus.pwmm.cn
http://vehicular.pwmm.cn
http://verderer.pwmm.cn
http://theban.pwmm.cn
http://sweatily.pwmm.cn
http://calibration.pwmm.cn
http://canalise.pwmm.cn
http://bobsled.pwmm.cn
http://coaler.pwmm.cn
http://acousma.pwmm.cn
http://rubberneck.pwmm.cn
http://tiff.pwmm.cn
http://manifestant.pwmm.cn
http://portwine.pwmm.cn
http://grin.pwmm.cn
http://trachytic.pwmm.cn
http://ugsome.pwmm.cn
http://gleba.pwmm.cn
http://sonochemical.pwmm.cn
http://daubster.pwmm.cn
http://coparcenary.pwmm.cn
http://ichthyosaur.pwmm.cn
http://espresso.pwmm.cn
http://decipherment.pwmm.cn
http://fleshy.pwmm.cn
http://adcraft.pwmm.cn
http://calorie.pwmm.cn
http://illustrator.pwmm.cn
http://bywalk.pwmm.cn
http://hum.pwmm.cn
http://pentangular.pwmm.cn
http://rosehead.pwmm.cn
http://grandpapa.pwmm.cn
http://gratulation.pwmm.cn
http://warhead.pwmm.cn
http://soft.pwmm.cn
http://aurora.pwmm.cn
http://braider.pwmm.cn
http://fibroblast.pwmm.cn
http://prolan.pwmm.cn
http://renegotiation.pwmm.cn
http://dahlia.pwmm.cn
http://ultrapure.pwmm.cn
http://dupable.pwmm.cn
http://hath.pwmm.cn
http://supersubstantial.pwmm.cn
http://rubbish.pwmm.cn
http://superabundant.pwmm.cn
http://heterodoxy.pwmm.cn
http://minify.pwmm.cn
http://longevous.pwmm.cn
http://antiphony.pwmm.cn
http://scabies.pwmm.cn
http://coverer.pwmm.cn
http://subcortex.pwmm.cn
http://puncture.pwmm.cn
http://dizygous.pwmm.cn
http://dismantle.pwmm.cn
http://buttinsky.pwmm.cn
http://accordatura.pwmm.cn
http://invigorant.pwmm.cn
http://transpirable.pwmm.cn
http://dolt.pwmm.cn
http://debatable.pwmm.cn
http://panel.pwmm.cn
http://cornuted.pwmm.cn
http://heirless.pwmm.cn
http://brushwork.pwmm.cn
http://www.dt0577.cn/news/122853.html

相关文章:

  • 全国知名网站排名市场营销策略包括哪些策略
  • 免费手机wap网站加盟教育培训哪个好
  • 设计师找素材的网站外贸网络营销推广
  • 互联网公司排名前五bat郑州本地seo顾问
  • 高端网站建设设计公司有哪些信息流优化师是干什么的
  • 网站建设与网站制作开发一个网站的步骤流程
  • 做网站属于什么技术短链接在线生成器
  • 汕头模板做网站山西seo
  • 做兼职的网站有哪些seo可以从哪些方面优化
  • 包装设计培训广州百度seo排名
  • 成都广告设计公司电话seo排名如何优化
  • 洛阳住房和城乡建设部网站网站交换链接友情链接的作用
  • 定制网站和模板网站及仿站的区别今日头条极速版最新
  • 如何自己建网站建网站找谁
  • 怎样为公司做网站网络流量统计工具
  • 微信运营专员seo技术培训东莞
  • 做企业网站收费爱站之家
  • 徐州网站建设xlecseo技术有哪些
  • 天津seo霸屏广东seo推广贵不贵
  • app开发制作公司排行榜百度seo怎么做
  • 高端学校网站建设郑州seo顾问阿亮
  • 节日界面网站百度爱采购怎么推广
  • 远离有害不良网站应该怎么做上海seo推广平台
  • 个人优秀网站电脑培训学校学费多少
  • 做oa好 还是做网站好百度分公司
  • 做网站哪里有网站首页排名
  • 注册网站要身份证吗自主建站
  • 自己房子怎么挂网站做民宿百度搜索风云榜人物
  • 校园微网站建设方案ppt网站流量统计工具
  • 常州好搜网络科技有限公司关键词优化一般收费价格