博覽網(wǎng):C++面向?qū)ο蟾呒壘幊蹋ㄉ希┑谌芄P記

博覽網(wǎng)學習筆記:

第三周課程的知識點:

11.組合與繼承

注意:前兩周講的是單個類的設計赃泡,即基于對象編程。

本周是講類與類之間的關系板壮,即面向?qū)ο缶幊獭?/p>

類與類的三種關系:

1.復合composition

1)我們舉例來解釋復合:

我們新建一個類queue夺巩,queue中含有deque具练,因deque功能強大乍构,queue使用的功能,即queue包含deque的功能扛点,我們稱之為復合關系哥遮。(即只要A含有B,則就是一種復合關系)陵究。次例中queue功能都由deque實現(xiàn)眠饮。

其關系可用下圖表示:

2)復合的關系下的構造與析構:

上圖也可表示為:

構造函數(shù)由由內(nèi)(component)而外(container)!

container的構造函數(shù)首先調(diào)用component的默認的構造函數(shù)畔乙,然后執(zhí)行自己的構造函數(shù)君仆。(這部分知識,我么只需要了解即可牲距。編譯器會自動幫助我們正確調(diào)用函數(shù))

析構返咱,由外(container)而內(nèi)(component)!

container的析構函數(shù)首先執(zhí)行自己的析構函數(shù)牍鞠,然后調(diào)用component的析構函數(shù)咖摹。(若先執(zhí)行component的析構函數(shù),則內(nèi)部崩塌难述,編譯器報錯)

2.委托delegation

1)一種特殊的復合關系萤晴,不是含有component吐句,而是含有component的指針。

2)表示為:

3.繼承inheritance

1)舉例:

class a

{

........

}

class b:public a {}店读;

即類b繼承類a中的功能嗦枢,或者說類b是一種類a(子類b中有父類a的成分)。

2)表示為

注意:父類的析構函數(shù)必須是虛函數(shù)屯断,否則會報錯

3)構造與析構函數(shù)的執(zhí)行順序:

構造函數(shù)由內(nèi)而外:

子類文虏,也即衍生類(derived)的構造函數(shù)先調(diào)用父類(base)的默認構造函數(shù),然后執(zhí)行自己的殖演;

析構由內(nèi)外而內(nèi):

子類先執(zhí)行自己的析構函數(shù)氧秘,然后才調(diào)用父類的析構函數(shù);

12.虛函數(shù)與多態(tài)

1.初識虛函數(shù):

非虛函數(shù)(non-virtual):不希望子類重新定義(override)這個函數(shù)趴久;

虛函數(shù)(virtual):希望子類重新定義(override)這個函數(shù)丸相,且父類以對其進行默認定義,但子類不是必須定義這個函數(shù)彼棍;

純虛函數(shù)(pure virtual):希望子類一定重新定義(override)這個函數(shù)灭忠;對其沒有默認定義,例:virtual void draw()const=0座硕;

2.繼承搭配上虛函數(shù)才可以強而有力

1).子類可以繼承父類的所有內(nèi)容更舞,包括數(shù)據(jù)和函數(shù)。

2).從內(nèi)存角度坎吻,可以繼承數(shù)據(jù)

3).對于函數(shù),不能從內(nèi)存角度理解宇葱,而是子類繼承了父類的函數(shù)調(diào)用權瘦真。

13.委托相關設計

設計模式之composite:

以file system為例:

設計模式之Prototype,筆記見下圖:

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黍瞧,一起剝皮案震驚了整個濱河市诸尽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌印颤,老刑警劉巖您机,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異年局,居然都是意外死亡际看,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門矢否,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仲闽,“玉大人,你說我怎么就攤上這事僵朗±敌溃” “怎么了屑彻?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長顶吮。 經(jīng)常有香客問我社牲,道長,這世上最難降的妖魔是什么悴了? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任搏恤,我火速辦了婚禮,結果婚禮上让禀,老公的妹妹穿的比我還像新娘挑社。我一直安慰自己,他們只是感情好巡揍,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布痛阻。 她就那樣靜靜地躺著,像睡著了一般腮敌。 火紅的嫁衣襯著肌膚如雪阱当。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天糜工,我揣著相機與錄音弊添,去河邊找鬼。 笑死捌木,一個胖子當著我的面吹牛油坝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刨裆,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼澈圈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了帆啃?” 一聲冷哼從身側響起瞬女,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎努潘,沒想到半個月后诽偷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡疯坤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年报慕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贴膘。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡卖子,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刑峡,到底是詐尸還是另有隱情洋闽,我是刑警寧澤玄柠,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站诫舅,受9級特大地震影響羽利,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刊懈,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一这弧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虚汛,春花似錦匾浪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至将谊,卻和暖如春冷溶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尊浓。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工逞频, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栋齿。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓苗胀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓦堵。 傳聞我的和親對象是個殘疾皇子柒巫,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容