定 價(jià):45 元
叢書(shū)名:面向CS2013計(jì)算機(jī)專(zhuān)業(yè)規(guī)劃教材
- 作者:陳家駿, 鄭滔編著
- 出版時(shí)間:2015/6/1
- ISBN:9787111501237
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP312C
- 頁(yè)碼:381
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
本書(shū)以C++為編程語(yǔ)言,介紹程序設(shè)計(jì)的基本思想、方法和技術(shù)。本書(shū)內(nèi)容圍繞程序設(shè)計(jì)的基礎(chǔ)知識(shí)、過(guò)程式和面向?qū)ο蟪绦蛟O(shè)計(jì)基本內(nèi)容進(jìn)行展開(kāi),主要包括:計(jì)算機(jī)基礎(chǔ)知識(shí)、基本數(shù)據(jù)類(lèi)型、常量、變量、操作符、表達(dá)式、流程控制、結(jié)構(gòu)化程序設(shè)計(jì)、過(guò)程抽象、遞歸函數(shù)、復(fù)雜數(shù)據(jù)類(lèi)型(數(shù)組、結(jié)構(gòu)等)、數(shù)據(jù)抽象、繼承、類(lèi)屬類(lèi)型(STL)、輸入/輸出、異常處理以及事件驅(qū)動(dòng)和基于MFC“文檔-視”結(jié)構(gòu)的面向?qū)ο蟮腤indows應(yīng)用程序框架等。
自本教材的第2版出版以來(lái),根據(jù)我們的教學(xué)實(shí)踐以及廣大讀者的反饋意見(jiàn),我們發(fā)現(xiàn)教材還存在一些不盡如人意的地方,現(xiàn)予以修訂。
教材第3版的變動(dòng)主要體現(xiàn)在以下幾個(gè)方面:
1.重新組織和調(diào)整了一些章節(jié)的內(nèi)容,使得教材內(nèi)容安排更加合理,并進(jìn)一步突出教材對(duì)主流程序設(shè)計(jì)思想、概念和技術(shù)的介紹。例如:把對(duì)整數(shù)的補(bǔ)碼表示以及實(shí)數(shù)的浮點(diǎn)表示的描述集中放入1.1.3 節(jié)“機(jī)內(nèi)信息表示”中介紹;把基于斷言的程序調(diào)試從第4章“過(guò)程抽象—函數(shù)”移至第10章“異常處理”中介紹;在第5章“復(fù)合數(shù)據(jù)的描述—構(gòu)造數(shù)據(jù)類(lèi)型”的子標(biāo)題中顯式指出每種類(lèi)型的作用;把“操作符重載”從單獨(dú)的一章(第2版的第7章)變成一節(jié)(6.6.5節(jié))放入6.6節(jié)的“對(duì)象與類(lèi)的進(jìn)一步討論”中;把C++的編譯預(yù)處理命令(包括條件編譯)、常用標(biāo)準(zhǔn)函數(shù)和STL算法以及MFC常用類(lèi)的介紹放到附錄中;圍繞“消息驅(qū)動(dòng)”和“文檔-視”軟件結(jié)構(gòu)重新組織了第11章對(duì)基于MFC的面向?qū)ο蟪绦蛟O(shè)計(jì)的介紹;等等。
2.針對(duì)C++新的國(guó)際標(biāo)準(zhǔn)(C++11),增加一些對(duì)程序設(shè)計(jì)有良好支持的C++內(nèi)容。例如:增加了對(duì)λ表達(dá)式的介紹,包括λ表達(dá)式的定義(4.6.4節(jié)“匿名函數(shù)—λ表達(dá)式”)、實(shí)現(xiàn)(6.6.5節(jié)中的“函數(shù)調(diào)用操作符重載”)以及應(yīng)用(5.5.6節(jié)“函數(shù)指針”和8.3節(jié)“C++標(biāo)準(zhǔn)模板庫(kù)”),通過(guò)λ表達(dá)式可以實(shí)現(xiàn)匿名函數(shù),它把函數(shù)定義和使用合二為一,以提高程序中“臨時(shí)用一下”的小函數(shù)的靈活性;增加了對(duì)轉(zhuǎn)移構(gòu)造函數(shù)(6.6.4節(jié)“對(duì)象拷貝構(gòu)造過(guò)程的優(yōu)化—轉(zhuǎn)移構(gòu)造函數(shù)”)和轉(zhuǎn)移賦值操作符重載函數(shù)(6.6.5節(jié))的介紹,它們基于“右值引用”參數(shù)類(lèi)型實(shí)現(xiàn)把資源從即將消亡的對(duì)象轉(zhuǎn)移(而不是復(fù)制)到新創(chuàng)建的或已有的對(duì)象中,從而提高程序效率;等等。
3.針對(duì)初學(xué)者,尤其是自學(xué)者,對(duì)一些內(nèi)容的描述進(jìn)行了完善,并對(duì)全書(shū)的語(yǔ)言文字和邏輯進(jìn)行了優(yōu)化,使得教材更加便于閱讀;對(duì)教材例子中的程序代碼增加了注釋?zhuān)沟盟鼈兏尤菀桌斫。另外,盡量減少了在前面出現(xiàn)而在后面才會(huì)詳細(xì)介紹的概念,以避免給初學(xué)者帶來(lái)困擾。對(duì)于必須提前出現(xiàn)的概念以“將在……節(jié)……中介紹”的引用形式給出,而在后面用到前面介紹的內(nèi)容時(shí),將采用“參見(jiàn)……節(jié)的……”的引用形式。
4.補(bǔ)充了一些習(xí)題,使得讀者能更好地理解和掌握核心內(nèi)容,并有針對(duì)性地進(jìn)行程序設(shè)計(jì)訓(xùn)練。
5.修正了教材第2版中的一些錯(cuò)誤。
本書(shū)修訂過(guò)程中得到了很多人的幫助,在第3版出版之際向他們表示感謝。特別感謝劉奇志老師和黃書(shū)劍老師,他們?cè)谂c作者一起承擔(dān)程序設(shè)計(jì)課程的教學(xué)過(guò)程中發(fā)現(xiàn)了本教材的一些問(wèn)題,并對(duì)本教材的修訂提出了很多很好的建議,作者獲益良多。另外,還要感謝策劃編輯朱劼對(duì)我們的鼓勵(lì)與鞭策,并為教材編寫(xiě)出謀劃策。
作者于南京大學(xué)2015年2月第2版前言本書(shū)第1版自2004年出版以來(lái),得到了廣大讀者的熱情關(guān)注和支持,很多讀者還提出了寶貴的建議,我們深表感謝。
在近幾年的教學(xué)中,我們也發(fā)現(xiàn)了本書(shū)的一些不足之處。首先,編寫(xiě)該教材的初衷是介紹程序設(shè)計(jì)的基本思想、概念和技術(shù),C++語(yǔ)言是作為編程實(shí)現(xiàn)語(yǔ)言的角色出現(xiàn),然而,在教材某些內(nèi)容的表述上違背了這個(gè)初衷,教材的一些地方出現(xiàn)了C++語(yǔ)言“喧賓奪主”的情況。其次,教材在一些內(nèi)容的表達(dá)上過(guò)于“精煉”,使初學(xué)者有“看天書(shū)”的感覺(jué)。再次,教材對(duì)現(xiàn)在比較流行的C++標(biāo)準(zhǔn)模板庫(kù)(STL)以及它所支持的泛型程序設(shè)計(jì)沒(méi)有給出足夠的介紹,從而給讀者學(xué)習(xí)使用STL帶來(lái)了困難。此外,教材中還存在少量的錯(cuò)誤。
針對(duì)上述問(wèn)題,我們對(duì)教材進(jìn)行了修訂。第2版的變動(dòng)主要體現(xiàn)在以下幾個(gè)方面:
1)重新組織了一些章節(jié)的內(nèi)容,并調(diào)整了相應(yīng)章節(jié)(主要是節(jié))的標(biāo)題和次序,進(jìn)一步突出了程序設(shè)計(jì)的主流思想、概念和技術(shù)。
2)對(duì)教材的文字進(jìn)行了潤(rùn)色,補(bǔ)充了例子,并為例子中的程序代碼增加了注釋?zhuān)怪尤菀桌斫狻?br />
3)補(bǔ)充了對(duì)STL的介紹,包括一些常用的容器和算法以及它們的使用實(shí)例,有利于讀者更好地進(jìn)行泛型程序設(shè)計(jì)。
4)增加了對(duì)計(jì)算機(jī)內(nèi)部信息表示的介紹,使得讀者能更好地理解程序設(shè)計(jì)中涉及的二進(jìn)制。
5)補(bǔ)充了一些習(xí)題,使讀者有更多的機(jī)會(huì)進(jìn)行有針對(duì)性的訓(xùn)練。
6)對(duì)一些重要的程序設(shè)計(jì)術(shù)語(yǔ)用不同的字體加以突出的標(biāo)注并給出了它們的英文對(duì)照,突出了對(duì)程序設(shè)計(jì)重要概念的介紹。
7)修正了上一版中的一些錯(cuò)誤。
在教材的修訂過(guò)程中,得到了很多人幫助,在教材第2版出版之際向他們表示感謝,并希望繼續(xù)得到大家的支持,使教材進(jìn)一步得到完善。
作者于南京大學(xué)2009年2月
第1版前言隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷擴(kuò)大、應(yīng)用層次的不斷加深,社會(huì)對(duì)計(jì)算機(jī)軟件的需求急劇增長(zhǎng),這就導(dǎo)致了軟件的規(guī)模不斷擴(kuò)大、復(fù)雜程度不斷提高。如何設(shè)計(jì)出大量的滿(mǎn)足用戶(hù)需求的高質(zhì)量軟件是軟件工作者所面臨的嚴(yán)峻挑戰(zhàn)。
作為計(jì)算機(jī)軟件的主要表現(xiàn)形式—計(jì)算機(jī)程序不同于其他程序(如音樂(lè)會(huì)程序),它是由計(jì)算機(jī)來(lái)執(zhí)行的。這就使得計(jì)算機(jī)程序的編制(程序設(shè)計(jì))不能完全以人的思維模式和習(xí)慣來(lái)進(jìn)行,它往往要受到計(jì)算機(jī)解決問(wèn)題的方式和特點(diǎn)的限制。除此之外,要設(shè)計(jì)出解決各種問(wèn)題的程序,程序設(shè)計(jì)者往往還需要了解與問(wèn)題領(lǐng)域有關(guān)的知識(shí)。這些都給程序設(shè)計(jì)帶來(lái)一定的難度。
從程序設(shè)計(jì)的發(fā)展歷史來(lái)看,程序設(shè)計(jì)經(jīng)歷了從低級(jí)語(yǔ)言到高級(jí)語(yǔ)言、從以編碼為中心到面向軟件生存周期的軟件工程、從過(guò)程式到面向?qū)ο蟮陌l(fā)展過(guò)程。這一過(guò)程體現(xiàn)了人們對(duì)程序設(shè)計(jì)活動(dòng)的不斷認(rèn)識(shí)和改進(jìn)的過(guò)程,特別是從過(guò)程式程序設(shè)計(jì)到面向?qū)ο蟪绦蛟O(shè)計(jì)的發(fā)展,體現(xiàn)了人們對(duì)以自然的方式來(lái)描述和解決問(wèn)題的需求,它使得解題過(guò)程更接近于人的思維方式。
有人認(rèn)為程序設(shè)計(jì)是一門(mén)藝術(shù),而藝術(shù)基于人的靈感和天賦。對(duì)于一些小型程序的設(shè)計(jì)而言,上述的說(shuō)法可能有一些道理。但是,對(duì)于大型、復(fù)雜的程序設(shè)計(jì)問(wèn)題,靈感和天賦是不能很好地解決問(wèn)題的,幾十年的程序設(shè)計(jì)實(shí)踐已證明了這一點(diǎn)。不可否認(rèn),程序設(shè)計(jì)需要靈感和天賦,它們往往在程序的一些局部設(shè)計(jì)上發(fā)揮著作用。但從總體上講,程序設(shè)計(jì)是一門(mén)科學(xué),它是有規(guī)律和步驟可循的。通過(guò)對(duì)程序設(shè)計(jì)的基本思想、概念和技術(shù)的學(xué)習(xí),再加上必要的訓(xùn)練和實(shí)踐,程序設(shè)計(jì)的規(guī)律和步驟是可以掌握的,這正是本書(shū)的主旨所在。本書(shū)強(qiáng)調(diào)準(zhǔn)確的程序設(shè)計(jì)基本概念、良好的程序設(shè)計(jì)風(fēng)格和實(shí)際動(dòng)手能力的訓(xùn)練與培養(yǎng)。
關(guān)于C++語(yǔ)言是否適合作為介紹程序設(shè)計(jì)時(shí)的編程實(shí)現(xiàn)語(yǔ)言,目前存在不同的看法。持反對(duì)意見(jiàn)的人認(rèn)為C++太靈活,以至于會(huì)使初學(xué)者感到無(wú)所適從。本書(shū)之所以選擇C++語(yǔ)言作為實(shí)現(xiàn)語(yǔ)言,首先,因?yàn)镃++語(yǔ)言是一種流行的高級(jí)語(yǔ)言,很多人都在用C++編寫(xiě)實(shí)際的程序;其次,C++支持大部分基本的程序設(shè)計(jì)思想、概念和技術(shù),其中包括對(duì)過(guò)程式及面向?qū)ο髢煞N程序設(shè)計(jì)范型的支持。再次,與其他高級(jí)語(yǔ)言相比,C++語(yǔ)言具有靈活和高效等特點(diǎn),這使得一些程序設(shè)計(jì)思想、概念和技術(shù)能夠更好地實(shí)現(xiàn)。本書(shū)是以介紹基本的程序思想、概念和技術(shù)為主旨,C++服務(wù)于這個(gè)主旨,而不是相反,這樣,初學(xué)者在使用C++時(shí)能夠做到有的放矢。因此,本書(shū)對(duì)C++的一些特殊的、用于解決非主流的程序設(shè)計(jì)問(wèn)題的成分和技巧不予重點(diǎn)介紹。特別地,本書(shū)對(duì)一些屬于C++語(yǔ)言“文化”范疇的內(nèi)容不予過(guò)分強(qiáng)調(diào)。
本書(shū)的內(nèi)容分成兩大部分:第1章至第5章為第一部分,主要對(duì)一些基本的程序設(shè)計(jì)思想、概念和技術(shù)以及過(guò)程式程序設(shè)計(jì)的基本內(nèi)容進(jìn)行介紹,其中包括:數(shù)據(jù)類(lèi)型、表達(dá)式、流程控制、子程序(函數(shù))、遞歸等;第6章至第12章為第二部分,重點(diǎn)介紹面向?qū)ο蟪绦蛟O(shè)計(jì)的基本內(nèi)容,其中包括:類(lèi)/對(duì)象、繼承、操作符重載、類(lèi)屬(模板)、輸入/輸出、異常處理以及面向?qū)ο蟮腤indows應(yīng)用程序基本框架等。
本書(shū)既適合于程序設(shè)計(jì)的初學(xué)者使用,同時(shí),對(duì)具有一些程序設(shè)計(jì)經(jīng)驗(yàn)的人也有一定的參考價(jià)值。本書(shū)可以作為一學(xué)年的程序設(shè)計(jì)課程使用,其中,第一學(xué)期介紹第1章到第5章的全部?jī)?nèi)容以及第10章的部分內(nèi)容;第二學(xué)期介紹第6章到第9章全部?jī)?nèi)容、第10章的部分內(nèi)容以及第11章到12章的全部?jī)?nèi)容。如果讀者已學(xué)過(guò)過(guò)程式程序設(shè)計(jì)(如C語(yǔ)言程序設(shè)計(jì)等)的基本內(nèi)容,則本書(shū)也可作為一學(xué)期的面向?qū)ο蟪绦蛟O(shè)計(jì)課程使用,重點(diǎn)介紹第6章到12章的內(nèi)容。書(shū)中加“*”標(biāo)記的節(jié)在初次閱讀時(shí)可以跳過(guò)。
本書(shū)的編寫(xiě)和完成與很多人的幫助是分不開(kāi)的。首先,要感謝鄭國(guó)梁教授對(duì)本書(shū)編寫(xiě)工作的精心指導(dǎo)。在內(nèi)容的選取、安排、用語(yǔ)的規(guī)范性等方面,鄭老師都事無(wú)巨細(xì)地給予了考慮,并檢查了全文(包括每個(gè)例子程序)。值得一提的是,作者編寫(xiě)本書(shū)所必備的專(zhuān)業(yè)知識(shí)和專(zhuān)業(yè)素質(zhì)是在鄭老師的長(zhǎng)期熏陶下獲得的,這些知識(shí)和素質(zhì)使得作者能夠完成本書(shū)的編寫(xiě)。其次,非常感謝尹存燕老師和戴新宇在本書(shū)習(xí)題的設(shè)計(jì)和文字易讀性方面所做的大量工作;非常感謝孫明欣和周明對(duì)書(shū)中內(nèi)容所做的檢查工作,特別是對(duì)本書(shū)初稿中一些概念上的模糊與謬誤、內(nèi)容安排的合理性與易讀性以及在遵守C++標(biāo)準(zhǔn)規(guī)范方面所提出的建議;感謝胡昊和徐鋒,作者對(duì)一些基本概念的理解是在與他們就相關(guān)問(wèn)題的討論中獲得的。另外,還要感謝機(jī)械工業(yè)出版社的溫莉芳總編輯對(duì)本書(shū)編寫(xiě)工作的鼓勵(lì)和支持。
最后,要感謝我們的家人對(duì)本書(shū)編寫(xiě)工作的理解和支持,本書(shū)的編寫(xiě)占用了大量本應(yīng)與他們共度的家庭歡樂(lè)時(shí)間。感謝所有支持和幫助過(guò)本書(shū)編寫(xiě)工作的人們。
由于作者水平有限,加之時(shí)間倉(cāng)促,錯(cuò)誤和疏漏在所難免,懇請(qǐng)廣大讀者不吝指教,以便于我們?cè)诮窈蟮陌姹局羞M(jìn)行改進(jìn)。
第3版 前言
第2版 前言
第1版 前言
教學(xué)建議
第1章 概述
1.1 計(jì)算機(jī)的工作模型
1.1.1 馮·諾依曼體系結(jié)構(gòu)
1.1.2 硬件與軟件
1.1.3 機(jī)內(nèi)信息表示
1.2 程序設(shè)計(jì)
1.2.1 程序設(shè)計(jì)范式
1.2.2 程序設(shè)計(jì)步驟
1.2.3 程序設(shè)計(jì)語(yǔ)言
1.3 C++語(yǔ)言
1.3.1 概述
1.3.2 C++程序的構(gòu)成
1.3.3 C++語(yǔ)言的詞法
1.3.4 C++程序的運(yùn)行步驟
1.4 小結(jié)
1.5 習(xí)題
第2章 簡(jiǎn)單數(shù)據(jù)的描述-基本數(shù)據(jù)類(lèi)型和表達(dá)式
2.1 概述
2.2 基本數(shù)據(jù)類(lèi)型
2.2.1 整數(shù)類(lèi)型
2.2.2 實(shí)數(shù)類(lèi)型
2.2.3 字符類(lèi)型
2.2.4 邏輯類(lèi)型
2.3 數(shù)據(jù)的表現(xiàn)形式
2.3.1 常量
2.3.2 變量
2.3.3 變量值的輸入
2.4 數(shù)據(jù)的基本運(yùn)算-操作符
2.4.1 操作符概述
2.4.2 算術(shù)操作符
2.4.3 關(guān)系與邏輯操作符
2.4.4 位操作符
2.4.5 賦值操作符
2.4.6 其他操作符
2.4.7 操作數(shù)的類(lèi)型轉(zhuǎn)換
2.5 數(shù)據(jù)基本運(yùn)算的實(shí)現(xiàn)-表達(dá)式
2.5.1 表達(dá)式的構(gòu)成與分類(lèi)
2.5.2 操作符的優(yōu)先級(jí)和結(jié)合性
2.5.3 表達(dá)式中操作數(shù)的類(lèi)型轉(zhuǎn)換
2.5.4 帶副作用操作符的表達(dá)式計(jì)算
2.5.5 表達(dá)式結(jié)果的輸出
2.6 小結(jié)
2.7 習(xí)題
第3章 程序的流程控制(算法)描述-語(yǔ)句
3.1 概述
3.2 順序執(zhí)行
3.2.1 表達(dá)式語(yǔ)句
3.2.2 復(fù)合語(yǔ)句
3.2.3 空語(yǔ)句
3.3 選擇執(zhí)行
3.3.1 if語(yǔ)句
3.3.2 switch語(yǔ)句
3.4 循環(huán)(重復(fù))執(zhí)行
3.4.1 迭代與窮舉
3.4.2 while語(yǔ)句
3.4.3 do-while語(yǔ)句
3.4.4 for語(yǔ)句
3.4.5 計(jì)數(shù)循環(huán)和事件循環(huán)
3.4.6 循環(huán)程序設(shè)計(jì)實(shí)例
3.5 無(wú)條件轉(zhuǎn)移
3.5.1 goto語(yǔ)句
3.5.2 break語(yǔ)句
3.5.3 continue語(yǔ)句
3.6 程序設(shè)計(jì)風(fēng)格
3.6.1 結(jié)構(gòu)化程序設(shè)計(jì)
3.6.2 關(guān)于goto語(yǔ)句
3.7 小結(jié)
3.8 習(xí)題
第4章 過(guò)程抽象-函數(shù)
4.1 概述
4.1.1 功能分解與復(fù)合
4.1.2 子程序及子程序間的數(shù)據(jù)傳遞
4.2 C++函數(shù)
4.2.1 函數(shù)的定義
4.2.2 函數(shù)的調(diào)用
4.2.3 值作為參數(shù)傳遞
4.2.4 局部變量與全局變量
4.2.5 基于函數(shù)的過(guò)程式程序設(shè)計(jì)
4.3 標(biāo)識(shí)符的作用域與變量的生存期
4.3.1 程序的多模塊結(jié)構(gòu)
4.3.2 標(biāo)識(shí)符的作用域
4.3.3 命名空間
4.3.4 變量的生存期(存儲(chǔ)分配)
*4.3.5 基于棧的函數(shù)調(diào)用的實(shí)現(xiàn)
4.4 遞歸函數(shù)
4.4.1 什么是遞歸函數(shù)
4.4.2 “分而治之”的程序設(shè)計(jì)
4.4.3 遞歸與循環(huán)的選擇
4.4.4 遞歸函數(shù)應(yīng)用實(shí)例
4.5 標(biāo)準(zhǔn)函數(shù)庫(kù)
4.6 C++函數(shù)的進(jìn)一步討論
4.6.1 內(nèi)聯(lián)函數(shù)
4.6.2 帶默認(rèn)值的形式參數(shù)
4.6.3 函數(shù)名重載
4.6.4 匿名函數(shù)-λ表達(dá)式
4.7 小結(jié)
4.8 習(xí)題
第5章 復(fù)合數(shù)據(jù)的描述-構(gòu)造數(shù)據(jù)類(lèi)型
5.1 枚舉類(lèi)型-自定義值集的數(shù)據(jù)描述
5.1.1 枚舉類(lèi)型的定義
5.1.2 枚舉類(lèi)型的操作
5.2 數(shù)組類(lèi)型-由多個(gè)同類(lèi)型元素構(gòu)成的復(fù)合數(shù)據(jù)描述
5.2.1 一維數(shù)組類(lèi)型-線(xiàn)性復(fù)合數(shù)據(jù)的描述
5.2.2 一維字符數(shù)組-字符串類(lèi)型的一種實(shí)現(xiàn)
5.2.3 二維數(shù)組類(lèi)型-二維復(fù)合數(shù)據(jù)的描述
5.2.4 數(shù)組類(lèi)型的應(yīng)用
5.3 結(jié)構(gòu)類(lèi)型-由若干屬性構(gòu)成的復(fù)合數(shù)據(jù)描述
5.3.1 結(jié)構(gòu)類(lèi)型的定義
5.3.2 結(jié)構(gòu)類(lèi)型的操作
5.3.3 結(jié)構(gòu)類(lèi)型的應(yīng)用
5.4 聯(lián)合類(lèi)型-用一種類(lèi)型表示多種類(lèi)型的數(shù)據(jù)
5.4.1 聯(lián)合類(lèi)型的定義與操作
5.4.2 聯(lián)合類(lèi)型的應(yīng)用
5.5 指針類(lèi)型-內(nèi)存地址的描述
5.5.1 指針類(lèi)型的定義
5.5.2 指針類(lèi)型的基本操作
5.5.3 指針作為參數(shù)類(lèi)型
5.5.4 指針與動(dòng)態(tài)變量
5.5.5 指針與數(shù)組
5.5.6 函數(shù)指針
*5.5.7 多級(jí)指針
5.6 引用類(lèi)型-變量的別名
5.6.1 引用類(lèi)型的定義
5.6.2 引用作為參數(shù)類(lèi)型
5.7 小結(jié)
5.8 習(xí)題
第6章 數(shù)據(jù)抽象-對(duì)象與類(lèi)
6.1 概述
6.1.1 數(shù)據(jù)抽象與封裝
6.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)
*6.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)與過(guò)程式程序設(shè)計(jì)的對(duì)比
6.2 類(lèi)
6.2.1 數(shù)據(jù)成員
6.2.2 成員函數(shù)
6.2.3 成員的訪問(wèn)控制-信息隱藏
6.3 對(duì)象
6.3.1 對(duì)象的創(chuàng)建
6.3.2 對(duì)象的操作
6.3.3 this指針
6.4 對(duì)象的初始化和消亡前處理
6.4.1 構(gòu)造函數(shù)
6.4.2 析構(gòu)函數(shù)
6.4.3 成員對(duì)象的初始化
6.4.4 拷貝構(gòu)造函數(shù)
6.5 類(lèi)作為模塊
6.5.1 類(lèi)模塊的組成
*6.5.2 Demeter法則
6.6 對(duì)象與類(lèi)的進(jìn)一步討論
6.6.1 對(duì)常量對(duì)象的訪問(wèn)-常(const)成員函數(shù)
6.6.2 同類(lèi)對(duì)象之間的數(shù)據(jù)共享-靜態(tài)(static)數(shù)據(jù)成員
6.6.3 提高對(duì)象私有數(shù)據(jù)成員的訪問(wèn)效率-友元(friend)
6.6.4 對(duì)象拷貝構(gòu)造過(guò)程的優(yōu)化-轉(zhuǎn)移構(gòu)造函數(shù)
6.6.5 操作符重載
6.7 小結(jié)
6.8 習(xí)題
第7章 繼承(類(lèi)的復(fù)用)-派生類(lèi)
7.1 概述
7.1.1 類(lèi)之間的繼承關(guān)系-基類(lèi)與派生類(lèi)
7.1.2 繼承的作用
7.2 單繼承
7.2.1 單繼承派生類(lèi)的定義
7.2.2 在派生類(lèi)中訪問(wèn)基類(lèi)成員-protected訪問(wèn)控制
7.2.3 派生類(lèi)對(duì)基類(lèi)成員的訪問(wèn)控制-繼承方式
7.2.4 派生類(lèi)對(duì)象的初始化和賦值操作
7.2.5 單繼承的應(yīng)用實(shí)例
7.2.6 類(lèi)之間的聚集關(guān)系
7.3 消息(成員函數(shù)調(diào)用)的動(dòng)態(tài)綁定
7.3.1 消息的多態(tài)性
7.3.2 虛函數(shù)與消息的動(dòng)態(tài)綁定
7.3.3 純虛函數(shù)和抽象類(lèi)
*7.3.4 虛函數(shù)動(dòng)態(tài)綁定的一種實(shí)現(xiàn)
7.4 多繼承
7.4.1 多繼承的必要性
7.4.2 多繼承派生類(lèi)的定義
7.4.3 命名沖突
7.4.4 重復(fù)繼承-虛基類(lèi)
7.5 小結(jié)
7.6 習(xí)題
第8章 類(lèi)屬類(lèi)型(泛型)-模板
8.1 概述
8.2 模板
8.2.1 函數(shù)模板
8.2.2 類(lèi)模板
8.2.3 模板的復(fù)用
8.3 C++標(biāo)準(zhǔn)模板庫(kù)
8.3.1 概述
8.3.2 容器
8.3.3 迭代器
8.3.4 算法
8.4 小結(jié)
8.5 習(xí)題
第9章 輸入/輸出
9.1 概述
9.2 面向控制臺(tái)的輸入/輸出
9.2.1 基于函數(shù)庫(kù)的控制臺(tái)I/O
9.2.2 基于類(lèi)庫(kù)的控制臺(tái)I/O
9.2.3 抽取/插入操作符“>>”和“<<”的重載
9.3 面向文件的輸入/輸出
9.3.1 文件概述
9.3.2 基于函數(shù)庫(kù)的文件I/O
9.3.3 基于類(lèi)庫(kù)的文件I/O
9.4 面向字符串變量的輸入/輸出
9.5 小結(jié)
9.6 習(xí)題
第10章 異常處理
10.1 概述
10.1.1 什么是異常
10.1.2 異常處理的基本手段
10.2 C++異常處理機(jī)制
10.2.1 try、throw以及catch語(yǔ)句
10.2.2 異常的嵌套處理
10.3 基于斷言的程序調(diào)試
10.4 小結(jié)
10.5 習(xí)題
第11章 Windows應(yīng)用程序設(shè)計(jì)
11.1 Windows應(yīng)用程序的基本結(jié)構(gòu)
11.1.1 Windows應(yīng)用程序簡(jiǎn)介
11.1.2 消息驅(qū)動(dòng)的程序結(jié)構(gòu)
11.2 面向?qū)ο蟮腤indows應(yīng)用程序結(jié)構(gòu)
11.2.1 Windows應(yīng)用程序中的對(duì)象
11.2.2 微軟基礎(chǔ)類(lèi)庫(kù)(MFC)
11.2.3 基于MFC“文檔-視”結(jié)構(gòu)的應(yīng)用框架
11.3 小結(jié)
11.4 習(xí)題
附錄A ASCII字符集及其編碼
附錄B IEEE浮點(diǎn)數(shù)的內(nèi)部表示
附錄C C++標(biāo)準(zhǔn)函數(shù)庫(kù)中的常用函數(shù)
附錄D C++編譯預(yù)處理命令
附錄E C++標(biāo)準(zhǔn)模板庫(kù)(STL)常用功能
附錄F MFC一些常用類(lèi)的功能
參考文獻(xiàn)