Posted on 2006-05-09 00:02
Harry 閱讀(437)
評論(0) 編輯 收藏 引用 所屬分類:
讀書筆記
前言
1。本書討論的是編程問題,討論了
??? 1)。為什么它是問題
??? 2)。用C++解決編程問題所采用的方法
章節(jié)安排
1。對象的演化。討論了
?? 1)。面向?qū)ο蟪绦蛟O(shè)計思想;
?? 2)。如何運用這一思想解決軟件危機問題;
?? 3)。將闡述采用這種語言的好處,提出如何轉(zhuǎn)入C++世界的建議。
2。數(shù)據(jù)抽象。C++的根本思想:創(chuàng)建新數(shù)據(jù)類型的能力。通過如何將函數(shù)放入結(jié)構(gòu)內(nèi)部的簡單過程而實現(xiàn)這一思想;可以看到如何具體地完成這樣的過程和創(chuàng)建什么樣的代碼。
3。隱藏實現(xiàn)。把下層實現(xiàn)和客戶程序員看到的接口隔離開。C++使用關(guān)鍵詞class作為描述新數(shù)據(jù)類型的更奇特的方法。
4。初始化和清除。C++的構(gòu)造函數(shù)使得程序員能保證他的新數(shù)據(jù)類型的變量(即類的對象)總是能被恰當(dāng)?shù)爻跏蓟晃鰳?gòu)函數(shù)完成其的清除。
5。函數(shù)重載和缺省參數(shù)。復(fù)雜的項目可能會引進使用相同函數(shù)名的多個庫,還可能會在同一個庫中選擇具有不同含義的相同名字。C++的函數(shù)重載使這一問題容易解決。重載允許當(dāng)參數(shù)表不同時重用相同的函數(shù)名。缺省參數(shù)能自動地對某些缺省的參數(shù)提供缺省值。
6。輸入輸出流。I/O庫更易使用、靈活,且更可擴充--可以讓它和新類一起工作。
7。常量。const和volatile關(guān)鍵字。還說明const的含義在類的內(nèi)部和外部有何不同;如何在類的內(nèi)部創(chuàng)建編譯時常量。
8。內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)具有預(yù)處理宏(省去了函數(shù)調(diào)用開支)和實際函數(shù)調(diào)用(有價值的C++類型檢查)的所有好處。
9。命名控制。C++的兩個控制名字的技術(shù)
??? 1。)static關(guān)鍵字用以控制可視性和連接,還將研究它對于類的特殊含義。
??? 2。)namespace,它允許把全局名字空間劃分為不同的區(qū)域。
10。引用和拷貝構(gòu)造函數(shù)。當(dāng)我們使用平常的符號時,引用讓編譯器處理地址操作。拷貝構(gòu)造函數(shù)控制對象通過傳值方式傳送給函數(shù)或從函數(shù)中返回。指向成員的指針(pointer to member)。
11。運算符重載。運算符也是函數(shù)調(diào)用。運算符重載只是不同類型的函數(shù)調(diào)用。要學(xué)會如何寫自己的運算符重載,特別是當(dāng)參數(shù)、返回類型混合使用和讓運算符成為成員和友元時。
12。動態(tài)對象創(chuàng)建。
13。繼承和組合
??? 1)。用組合方法,可以以老的類型作為零件組裝成新的類型。
??? 2)。用繼承方法,可以創(chuàng)建已存在類型的一個更特殊的版本。
14。多態(tài)和虛函數(shù)。關(guān)鍵字virtual允許籠統(tǒng)地談?wù)撨@個族中的所有對象。
15。模板和包容器類。模板為編譯器提供了一種在類或函數(shù)體中代換類型名的方法。
16。多重繼承。當(dāng)需要通過用一個以上公共基類操作對象時,多重繼承才是唯一必需的。介紹如何用模板解決一個共同的問題。:)作者不提倡使用多重繼承?:)用多重繼承修理一個“受損”的類界面是這一性能的主要的和非常有價值的應(yīng)用。
17。異常處理。
18。運行時類型識別(RTTI).當(dāng)我們僅給出一個指向基本類型的指針或引用時RTTI可以找出對象的準(zhǔn)確類型。通常,我們會有意忽略對象的準(zhǔn)確數(shù)據(jù)類
型,而讓虛函數(shù)機制來實現(xiàn)這個類的正確行為,而知道準(zhǔn)確類型將更有效地完成特殊情況的運算。解釋了RTTI做什么和如何使用它。