国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++ 中私有繼承的作用

2020-05-23 13:46:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

C++ 中私有繼承的作用

私有繼承的

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

第二個(gè)規(guī)則: 從私有基類繼承而來(lái)的成員都成為了派生類的私有成員,即使它們?cè)诨愔惺潜Wo(hù)或公有成員。

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

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

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

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

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)系,但與聚合有以下不同:

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

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

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

3、盡可能用組合,萬(wàn)不得已才用私有繼承

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

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苗栗市| 呼伦贝尔市| 高淳县| 措勤县| 仁化县| 老河口市| 比如县| 六安市| 蓬溪县| 尼玛县| 尖扎县| 五河县| 鲁山县| 重庆市| 尉氏县| 仙游县| 陵川县| 台北县| 通州市| 凌云县| 江达县| 宁陵县| 新兴县| 芜湖市| 茂名市| 靖远县| 遂川县| 长沙县| 青冈县| 武平县| 京山县| 六枝特区| 卓尼县| 丰宁| 海丰县| 启东市| 蛟河市| 巩义市| 舞钢市| 高唐县| 巨鹿县|