本書在全面介紹C++語言中面向過程方法的語法知識的基礎(chǔ)上,著重介紹面向?qū)ο蟪绦蛟O(shè)計(jì)方法中的類、對象、繼承、派生和多態(tài)性的概念。本書以程序的運(yùn)行時(shí)間和存儲(chǔ)空間為主線,把握程序的靜態(tài)性和動(dòng)態(tài)性兩個(gè)特點(diǎn),運(yùn)用“運(yùn)行時(shí)序圖”和“內(nèi)存模型圖”的分析手段,從時(shí)間和空間兩個(gè)角度深入講解程序運(yùn)行的基本原理,使讀者掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法。全書共分3部分:第1部分(第1、2章)為C++的基礎(chǔ)知識,著重介紹C++語言的基本知識;第2部分(第3~6章)為C++面向過程的程序設(shè)計(jì),著重介紹C++語言中的操作符、語句、函數(shù)、數(shù)組、指針和引用;第3部分(第7~9章)為C++面向?qū)ο蟮某绦蛟O(shè)計(jì),著重介紹C++語言中的類、對象、繼承與派生和多態(tài)性。全書提供了大量應(yīng)用實(shí)例,每章后均附有習(xí)題。所有實(shí)例代碼都在VC++6.0編譯器運(yùn)行通過。為了便于教學(xué),作者還為本書制作了配套的電子課件。
本書將C++語言作為程序設(shè)計(jì)的入門語言。大多數(shù)示例都是筆者在多年教學(xué)過程中的演示代碼,具有較強(qiáng)的實(shí)用價(jià)值。在講解程序設(shè)計(jì)語言基本概念的同時(shí),穿插講述計(jì)算機(jī)組成原理、操作系統(tǒng)、編譯原理、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等方面的相關(guān)知識,以使學(xué)生盡快掌握編程的基本技能。
Contents第1章認(rèn)識C++1
1.1C++簡單程序設(shè)計(jì)1
1.1.1“helloworld!”程序?qū)嵗?
1.1.2綜合程序?qū)嵗?
1.2C和C++4
1.2.1面向過程與面向?qū)ο?
1.2.2C++語言的特點(diǎn)9
1.3C++詞法與語法9
1.3.1字符集9
1.3.2關(guān)鍵字10
1.3.3標(biāo)識符10
1.3.4操作符11
1.3.5分隔符11
1.3.6空白11
1.4C++上機(jī)步驟11
1.4.1C++開發(fā)過程11
1.4.2上機(jī)步驟12
1.5小結(jié)15
習(xí)題15
第2章變量和數(shù)據(jù)類型17
2.1內(nèi)置數(shù)據(jù)類型18
2.1.1空類型19
2.1.2布爾型19
2.1.3整型19
2.1.4浮點(diǎn)型20
2.1.5字符型21◆C++程序設(shè)計(jì)目錄2.1.6類型轉(zhuǎn)換23
2.2變量26
2.2.1什么是變量26
2.2.2變量的定義與聲明26
2.2.3變量的賦值與初始化29
2.2.4一種特殊的變量:符號常量31
2.2.5標(biāo)識符的作用域32
2.2.6程序的存儲(chǔ)組織39
2.2.7變量的存儲(chǔ)類別40
2.3自定義數(shù)據(jù)類型43
2.3.1枚舉類型44
2.3.2結(jié)構(gòu)體類型47
2.3.3共同體類型53
2.4小結(jié)56
習(xí)題56
第3章運(yùn)算符與表達(dá)式59
3.1基本概念59
3.1.1運(yùn)算符59
3.1.2優(yōu)先級與結(jié)合性61
3.2運(yùn)算符62
3.2.1算術(shù)運(yùn)算符62
3.2.2賦值運(yùn)算符62
3.2.3邏輯運(yùn)算符與關(guān)系運(yùn)算符63
3.2.4sizeof操作符65
3.2.5條件運(yùn)算符65
3.2.6位運(yùn)算符66
3.2.7逗號運(yùn)算符67
3.3小結(jié)68
習(xí)題68
第4章語句70
4.1程序運(yùn)行的三種控制方式70
4.2選擇語句71
4.2.1if語句71
4.2.1switch語句76
4.3循環(huán)語句78
4.3.1while語句78
4.3.2for語句79
4.3.3dowhile語句82
4.4跳轉(zhuǎn)語句83
4.4.1break語句83
4.4.2continue語句86
4.4.3goto語句87
4.4.4try語句和異常處理88
4.5小結(jié)91
習(xí)題91
第5章數(shù)組、指針和引用94
5.1數(shù)組94
5.1.1數(shù)組的概念94
5.1.2一維數(shù)組的定義95
5.1.3一維數(shù)組的初始化97
5.1.4二維數(shù)組的定義98
5.1.5二維數(shù)組的初始化99
5.1.6字符數(shù)組與字符串101
5.1.7string類104
5.2指針107
5.2.1指針的概念107
5.2.2指針變量108
5.2.3幾個(gè)特殊的指針111
5.2.4指向結(jié)構(gòu)體變量的指針112
5.2.5new和delete115
5.3指針與數(shù)組118
5.3.1指向數(shù)組元素的指針118
5.3.2指向數(shù)組元素的指針的運(yùn)算119
5.4引用122
5.5小結(jié)123
習(xí)題124
第6章函數(shù)125
6.1函數(shù)的作用125
6.1.1沒有函數(shù)的程序125
6.1.2一個(gè)簡單函數(shù)的程序126
6.1.3一個(gè)更加“聰明”的程序127
6.2函數(shù)的使用128
6.2.1函數(shù)原型聲明128
6.2.2函數(shù)定義130
6.2.3函數(shù)調(diào)用131
6.2.4函數(shù)應(yīng)用示例134
6.3函數(shù)的調(diào)用方式137
6.3.1嵌套調(diào)用137
6.3.2遞歸調(diào)用138
6.4函數(shù)的參數(shù)傳遞142
6.4.1傳值142
6.4.2傳地址143
6.4.3傳引用144
6.5內(nèi)聯(lián)函數(shù)146
6.6函數(shù)形參默認(rèn)值的設(shè)置147
6.7函數(shù)重載149
6.8函數(shù)模板152
6.8.1模板的概念152
6.8.2函數(shù)模板的定義153
6.8.3實(shí)例化函數(shù)模板153
6.9小結(jié)155
習(xí)題155
第7章類158
7.1數(shù)據(jù)抽象158
7.2類和對象160
7.2.1類的定義161
7.2.2類的成員函數(shù)163
7.2.3對象165
7.3類成員的訪問權(quán)限169
7.4構(gòu)造函數(shù)和析構(gòu)函數(shù)171
7.4.1對象的初始化171
7.4.2構(gòu)造函數(shù)171
7.4.3復(fù)制構(gòu)造函數(shù)174
7.4.4析構(gòu)函數(shù)177
7.4.5一般程序的執(zhí)行過程179
7.5this指針183
7.6類的靜態(tài)成員187
7.6.1靜態(tài)數(shù)據(jù)成員187
7.6.2靜態(tài)函數(shù)成員193
7.7數(shù)據(jù)的保護(hù)197
7.7.1常引用197
7.7.2常對象198
7.7.3類的常成員199
7.8類的友元207
7.8.1友元函數(shù)208
7.8.2友元類213
7.9類模板216
7.9.1類模板的定義217
7.9.2實(shí)例化類模板219
7.10編譯預(yù)處理命令和類的多文件定義220
7.10.1編譯預(yù)處理220
7.10.2程序的一般組織結(jié)構(gòu)224
7.10.3類的多文件定義225
7.11小結(jié)231
習(xí)題232
第8章繼承與派生235
8.1類的繼承與派生235
8.1.1繼承與派生的概念235
8.1.2派生類的定義237
8.2派生類成員的訪問權(quán)限240
8.2.1公有繼承240
8.2.2私有繼承241
8.2.3保護(hù)成員和保護(hù)繼承242
8.3派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)248
8.3.1簡單的派生類的構(gòu)造函數(shù)248
8.3.2多層派生時(shí)的構(gòu)造函數(shù)256
8.3.3派生類的析構(gòu)函數(shù)259
8.4多繼承260
8.4.1多繼承派生類的構(gòu)造函數(shù)260
8.4.2同名成員的隱藏263
8.4.3多繼承時(shí)的二義性問題266
8.4.4虛基類269
8.5類的組合271
8.6基類與派生類的轉(zhuǎn)換276
8.7小結(jié)279
習(xí)題280
第9章多態(tài)性與虛函數(shù)287
9.1多態(tài)性的概念287
9.2虛函數(shù)288
9.2.1一般虛函數(shù)288
9.2.2虛析構(gòu)函數(shù)295
9.3抽象類296
9.3.1純虛函數(shù)296
9.3.2抽象類297
9.4運(yùn)算符重載299
9.4.1運(yùn)算符重載的方法300
9.4.2運(yùn)算符重載的規(guī)則301
9.4.3運(yùn)算符重載為非成員函數(shù)302
9.4.4運(yùn)算符重載為成員函數(shù)307
9.5小結(jié)311
習(xí)題312
參考文獻(xiàn)314