第十四章 繼承和組合

簡介:代碼重用機(jī)制:組合(composition)與繼承(inheritance)

14.1 組合語法

訪問嵌入對象(子對象)的成員函數(shù)只需要再一次的成員選擇。

14.2 繼承語法

在類的左括號前,加一個(gè)冒號和基類的名字,對于多個(gè)基類,用逗號分開。

14.3 構(gòu)造函數(shù)的初始化表達(dá)式表

如果沒有顯示的進(jìn)行偽構(gòu)造函數(shù)的調(diào)用,初始化是不會執(zhí)行的。

14.4 組合和繼承的聯(lián)合

只有通過繼承才能重現(xiàn)定義它的函數(shù)。而對于成員對象,只能操作這個(gè)對象的公共接口,而不能重新定義它。

構(gòu)造是從類層次的最根處開始,而在每一層,首先會調(diào)用基類構(gòu)造函數(shù),然后調(diào)用成員對象構(gòu)造函數(shù)。調(diào)用析構(gòu)函數(shù)則嚴(yán)格按照構(gòu)造函數(shù)相反的次序。

14.5 名字隱藏

14.6 非自動(dòng)繼承的函數(shù)

構(gòu)造函數(shù)和析構(gòu)函數(shù)不能被繼承,必須為每一個(gè)特定的派生類分別創(chuàng)建。

operator= 也不能被繼承。

繼承和靜態(tài)成員函數(shù)(靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)的共同點(diǎn)):
1. 它們均可以被繼承到派生類中
2. 如果我們重新定義了一個(gè) 靜態(tài)成員,所有在基類中的其他重載函數(shù)會被隱藏
3. 如果我們改變了基類中一個(gè)函數(shù)的特征,所有使用該函數(shù)名字的基類版本都將會被隱藏

14.7 組合與繼承的選擇

組合通常是希望新類內(nèi)部具有已存在類的功能時(shí)使用,而不是希望已存在了類作為它的接口。

14.8 protected

protected:就這個(gè)類的用戶而言,它是private的,但它可以被從這個(gè)類繼承來的任何類使用。

14.9 運(yùn)算符的重載和繼承

14.10 多重繼承

14.11 漸曾式開發(fā)

14.12 向上類型轉(zhuǎn)換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,637評論 18 399
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,661評論 1 51
  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 3,091評論 0 3
  • 寒夜凄風(fēng)花散,月影嘆哀怨 星冷窗舊風(fēng)透,淚染心湖皺 昔時(shí)相依看花綻,茅舍竹籬話嬋娟 青梅竹馬,一琴一弦和流年 怎料...
    初晨曦微閱讀 282評論 0 2
  • 纏師已經(jīng)離去多年,他期望的那5位真磨煉成鋼鐵戰(zhàn)士何許人也,我是沒有辦法知道的了。但在我的心中有這樣的5位:第一位,...
    禪中悟纏閱讀 5,324評論 11 2

友情鏈接更多精彩內(nèi)容