欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 中私有繼承的作用

 更新時間:2017年10月16日 14:12:56   作者:freeboy1015  
這篇文章主要介紹了C++ 中私有繼承的作用的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

C++ 中私有繼承的作用

私有繼承的

第一個規(guī)則:和公有繼承相反,如果兩個類之間的繼承關(guān)系為私有,編譯器一般不會將派生類對象轉(zhuǎn)換成基類對象。

第二個規(guī)則: 從私有基類繼承而來的成員都成為了派生類的私有成員,即使它們在基類中是保護(hù)或公有成員。

私有繼承的含義:私有繼承意味著 "用...來實(shí)現(xiàn)"。

如果使類D私有繼承于類B,這樣做是因?yàn)槟阆肜妙怋中已經(jīng)存在的某些代碼,而不是因?yàn)轭愋虰的對象和類型D的對象之間有什么概念上的關(guān)系。

因而,私有繼承純粹是一種實(shí)現(xiàn)技術(shù)。

私有繼承意味著只是繼承實(shí)現(xiàn),接口會被忽略。如果D私有繼承于B,就是說D對象在實(shí)現(xiàn)中用到了B對象,僅此而已。
私有繼承在軟件 "設(shè)計(jì)" 過程中毫無意義,只是在軟件 "實(shí)現(xiàn)" 時才有用。

1、私有繼承的聲明形式:    

  class  Foo  :  private  Bar 
   { 
      public: 
           void  fun(); 
     //  ... 
   };  

基類的公有和保護(hù)成員在派生類里都成為私有成員;承屬于is-a關(guān)系的一部分,而私有繼承屬于has-a關(guān)系的一部分 

2、在架構(gòu)上私有繼承表達(dá)的是一種 'has   a '關(guān)系,但與聚合有以下不同:

      私有繼承形式可能引入不必要的多重繼承   

      私有繼承形式允許訪問基類的保護(hù)(protected)成員   

      私有繼承形式允許派生類重寫基類的虛函數(shù)(多態(tài))

3、盡可能用組合,萬不得已才用私有繼承

      通常你不會想訪問其他類的內(nèi)部,而私有繼承給你這樣的一些的特權(quán)(和責(zé)任)。但是私有繼承并不有害。只是由于它增加了別人更改某些東西時,破壞你的代碼的可能性,從而使維護(hù)的花費(fèi)更昂貴。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • C++函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別

    C++函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別

    函數(shù)指針是一個指針變量,它可以存儲函數(shù)的地址,然后使用函數(shù)指針,這篇文章主要介紹了C++中函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值
    2022-08-08
  • C語言字符串函數(shù)入門

    C語言字符串函數(shù)入門

    這篇文章主要為大家介紹了C語言字符串函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 淺談C++對象的內(nèi)存分布和虛函數(shù)表

    淺談C++對象的內(nèi)存分布和虛函數(shù)表

    下面小編就為大家?guī)硪黄獪\談C++對象的內(nèi)存分布和虛函數(shù)表。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C++實(shí)例講解引用的使用

    C++實(shí)例講解引用的使用

    引用是C++一個很重要的特性,顧名思義是某一個變量或?qū)ο蟮膭e名,對引用的操作與對其所綁定的變量或?qū)ο蟮牟僮魍耆葍r,這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識點(diǎn),需要的朋友可以參考下
    2022-05-05
  • Qt中暫停程序的幾種方法小結(jié)

    Qt中暫停程序的幾種方法小結(jié)

    本文主要介紹了Qt中暫停程序的幾種方法小結(jié),包含了4種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • C語言學(xué)生成績管理系統(tǒng)源代碼

    C語言學(xué)生成績管理系統(tǒng)源代碼

    這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生成績管理系統(tǒng)源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Qt5+QMediaPlayer實(shí)現(xiàn)音樂播放器的示例代碼

    Qt5+QMediaPlayer實(shí)現(xiàn)音樂播放器的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt5和QMediaPlayer實(shí)現(xiàn)簡易的音樂播放器,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2022-12-12
  • C語言中實(shí)現(xiàn)協(xié)程案例

    C語言中實(shí)現(xiàn)協(xié)程案例

    這篇文章主要介紹了C語言中實(shí)現(xiàn)協(xié)程案例,本文通過將協(xié)程與線程和異步回調(diào)進(jìn)行對比,以及具體實(shí)現(xiàn)案例,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++中for auto的用法及說明

    C++中for auto的用法及說明

    這篇文章主要介紹了C++中for auto的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C++用一棵紅黑樹同時封裝出set與map的實(shí)現(xiàn)代碼

    C++用一棵紅黑樹同時封裝出set與map的實(shí)現(xiàn)代碼

    set中存儲的一般為鍵K即可,而map存儲的一般都是鍵值對KV,也就是說他們結(jié)構(gòu)是不同的,那么我們?nèi)绾尾拍苡靡活w紅黑樹同時封裝出set與map兩種容器呢,那么接下來我們具體地來研究下STL庫中是怎樣實(shí)現(xiàn)的,并且進(jìn)行模擬實(shí)現(xiàn),需要的朋友可以參考下
    2024-03-03

最新評論