內容簡介
本書全面介紹了有關C++程式設計的知識,包括C++入門、基本數據類型與表達式、語句與結構化程式設計、數組與字元串、函式、指針、自定義數據類型、C++程式結構、類和對象、繼承與派生、運算符重載、多態與虛函式、模板、輸入輸出流和檔案、異常處理、綜合實例、集成開發環境等內容。通過本書,讀者可以學習程式設計知識、掌握程式設計方法、提高程式設計能力、形成程式設計風格、培養程式設計思維,並為進一步深入學習後續專業課程,提高綜合素質和能力奠定良好的基礎。本書既可作為高等學校計算機及相關專業程式設計課程的教材,也可作為自學程式設計的參考書。
圖書目錄
第1章C++入門1
1.1C++簡介1
1.1.1C++的產生與發展1
1.1.2C++的特點2
1.2簡單的C++程式3
1.2.1C++程式結構3
1.2.2輸入與輸出5
1.2.3注釋6
1.3C++程式的上機執行過程7
1.4程式設計語言介紹8
1.4.1機器語言8
1.4.2彙編語言9
1.4.3高級語言10
習題113第2章基本數據類型與表達式14
2.1字元集與標識符14
2.1.1字元集14
2.1.2標識符14
2.1.3關鍵字15
2.2基本數據類型16
2.2.1整型16
2.2.2字元型16
2.2.3布爾型17
2.2.4浮點型17
2.3常量18
2.3.1數值型常量18
2.3.2字元型常量19
2.4變數20
2.4.1變數的定義20
2.4.2常變數21
2.5運算符與表達式23
2.5.1算術運算符與算術表達式23
2.5.2賦值運算符與賦值表達式24
2.5.3逗號運算符與逗號表達式24
2.5.4自增自減運算符25
2.5.5類型轉換25
2.5.6位運算符與位運算表達式27
2.6計算機中的數據表示29
2.6.1計算機中的數制29
2.6.2數值型數據的表示31
2.6.3字元型數據的編碼表示33
習題233第3章語句與結構化程式設計34
3.1功能語句與順序結構程式設計34
3.1.1賦值語句34
3.1.2空語句34
3.1.3複合語句34
3.1.4順序結構程式設計34
3.2分支語句與分支結構程式設計35
3.2.1關係表達式和邏輯表達式35
3.2.2if語句38
3.2.3if…else語句38
3.2.4條件運算符與條件表達式40
3.2.5switch語句41
3.3循環語句與循環結構程式設計42
3.3.1for循環語句43
3.3.2do…while循環語句45
3.3.3while循環語句47
3.3.4循環語句的嵌套48
3.4轉移語句49
3.4.1break語句49
3.4.2continue語句49
3.4.3goto語句50
3.5程式舉例51
3.6算法與程式設計58
3.6.1算法設計與分析58
3.6.2程式設計風格61
習題362第4章數組與字元串63
4.1數組的定義與使用63
4.1.1一維數組的定義與使用63
4.1.2二維數組的定義與使用64
4.2數組的初始化66
4.3數組套用舉例67
4.3.1一維數組套用68
4.3.2二維數組套用73
4.4字元串76
4.4.1字元串變數的定義與使用76
4.4.2字元串變數的輸入輸出77
4.4.3字元串運算78
4.4.4字元串數組79
4.5字元數組81
4.6動態數組82
4.7靜態數組訪問的下標越界問題84
習題485第5章函式86
5.1函式定義86
5.2函式調用與函式聲明87
5.2.1函式調用87
5.2.2函式聲明88
5.3函式的參數傳遞90
5.3.1值傳遞90
5.3.2引用傳遞91
5.3.3函式的默認形參值92
5.4函式的嵌套與遞歸93
5.4.1函式嵌套94
5.4.2函式遞歸94
5.5數組作函式參數97
5.5.1數組元素作函式參數97
5.5.2一維數組名作函式參數98
5.5.3二維數組名作函式參數99
5.6內聯函式100
5.7重載函式101
5.8系統函式103
習題5104第6章指針106
6.1指針變數106
6.1.1記憶體單元地址106
6.1.2指針變數的定義107
6.2指針的賦值與運算107
6.2.1指針的賦值107
6.2.2指針的運算108
6.3指針作為函式參數110
6.4指針與數組111
6.4.1數組的地址111
6.4.2指針與一維數組111
6.4.3指針與二維數組112
6.4.4指針數組114
6.5動態記憶體分配116
6.6函式指針119
習題6122
第7章自定義數據類型123
7.1結構體類型123
7.1.1結構體類型的定義123
7.1.2結構體變數的定義與初始化124
7.1.3結構體變數的引用125
7.2結構體套用127
7.2.1結構體數組127
7.2.2結構體和指針129
7.2.3結構體和函式131
7.3共用體134
7.3.1共用體的定義135
7.3.2共用體的套用136
7.4鍊表137
7.4.1線性表137
7.4.2線性鍊表138
7.4.3線性鍊表的操作139
7.5枚舉類型144
7.5.1枚舉類型和枚舉變數的定義144
7.5.2枚舉變數的賦值和引用145
7.5.3枚舉變數值的輸入與輸出145
習題7147第8章C++程式結構149
8.1C++程式構成149
8.2預處理命令150
8.2.1宏定義150
8.2.2檔案包含151
8.2.3條件編譯153
8.3變數的作用域156
8.3.1局部變數156
8.3.2全局變數156
8.4變數的存儲類別157
8.4.1局部自動變數158
8.4.2局部暫存器變數159
8.4.3局部靜態變數159
8.4.4外部變數聲明160
8.5內部函式與外部函式162
8.5.1內部函式162
8.5.2外部函式163
習題8164第9章類和對象165
9.1面向對象程式設計概述165
9.1.1面向對象的概念165
9.1.2面向對象程式設計的特點165
9.1.3面向對象與面向過程的區別166
9.2類和對象167
9.2.1類的定義167
9.2.2對象的定義170
9.2.3對象成員的訪問171
9.3構造函式173
9.3.1不帶參數的構造函式173
9.3.2帶參數的構造函式174
9.3.3帶默認值的構造函式175
9.3.4帶初始化表的構造函式176
9.3.5構造函式的重載178
9.4析構函式180
9.5複製構造函式183
9.5.1對象的賦值183
9.5.2對象的複製184
9.6對象數組188
9.7const對象和const成員190
9.8成員函式存儲與this指針192
9.9類靜態成員194
9.9.1靜態數據成員194
9.9.2靜態成員函式195
9.10友元函式與友元類197
9.10.1友元函式199
9.10.2友元類201
習題9202第10章繼承與派生203
10.1繼承與派生的概念203
10.2派生類的聲明204
10.2.1派生類的聲明204
10.2.2派生類的構成205
10.3派生類成員的訪問特性207
10.3.1公有繼承207
10.3.2私有繼承208
10.3.3保護繼承208
10.3.4多級派生時的訪問特性209
10.4派生類的構造函式和析構函式212
10.4.1簡單派生類的構造函式213
10.4.2有子對象的派生類的構造函式215
10.4.3派生類的析構函式216
10.5基類與派生類的轉換218
10.5.1派生類對象的值可以賦給基類對象218
10.5.2派生類對象可以作為基類對象使用219
10.6類的繼承與組合220
10.7繼承在軟體開發中的作用221
10.8多基類繼承224
10.8.1定義多基類繼承224
10.8.2多繼承派生類的構造函式226
10.8.3基類成員名衝突227
10.8.4虛基類228
習題10232第11章運算符重載233
11.1運算符重載的實現233
11.2運算符重載規則237
11.3運算符重載函式238
11.4重載流插入和流提取運算符241
11.5數據的類型轉換244
11.5.1用轉換構造函式實現類型轉換245
11.5.2用類型轉換函式實現類型轉換247
習題11250第12章多態與虛函式251
12.1多態性和綁定251
12.2虛函式254
12.2.1虛函式的定義254
12.2.2虛析構函式255
12.3純虛函式與抽象類257
12.3.1純虛函式257
12.3.2抽象類260
12.4動態綁定與虛函式表263
12.4.1多態類與非多態類263
12.4.2動態綁定的實現265
習題12267第13章模板268
13.1模板的引入268
13.2函式模板269
13.2.1函式模板的定義269
13.2.2函式模板的調用269
13.2.3函式模板的重載271
13.3類模板274
13.3.1類模板的定義和使用274
13.3.2類模板的繼承275
13.4類模板套用275
13.4.1數組類模板275
13.4.2線性鍊表類模板278
習題13281第14章輸入輸出流和檔案282
14.1輸入輸出與流282
14.2C++的流類和流對象283
14.3標準輸入輸出流283
14.3.1標準輸出流284
14.3.2標準輸入流285
14.3.3流成員函式287
14.4設定輸入輸出格式290
14.5檔案處理294
14.5.1檔案的打開和關閉294
14.5.2對ASCII碼檔案的讀寫296
14.5.3對二進制檔案的讀寫298
習題14302第15章異常處理303
15.1異常處理的基本思路303
15.2C++異常處理的實現306
15.2.1簡單異常處理306
15.2.2類類型異常處理309
習題15311第16章綜合實例312
16.1用面向過程的方法設計人人對弈程式313
16.2用面向對象的方法設計人人對弈程式329
16.3擴展遊戲程式343
習題16344第17章集成開發環境345
17.1VisualStudio2010的安裝與啟動345
17.2VisualStudio2010的操作界面346
17.3創建和打開項目349
17.3.1創建項目349
17.3.2在解決方案中新建項目350
17.3.3在項目中添加項351
17.3.4打開項目355
17.3.5編輯源程式356
17.4生成和運行項目356
17.5調試程式357
習題17364附錄AASCII碼錶365參考文獻366
第1章C++入門1
1.1C++簡介1
1.1.1C++的產生與發展1
1.1.2C++的特點2
1.2簡單的C++程式3
1.2.1C++程式結構3
1.2.2輸入與輸出5
1.2.3注釋6
1.3C++程式的上機執行過程7
1.4程式設計語言介紹8
1.4.1機器語言8
1.4.2彙編語言9
1.4.3高級語言10第2章基本數據類型與表達式14
2.1字元集與標識符14
2.1.1字元集14
2.1.2標識符14
2.1.3關鍵字15
2.2基本數據類型16
2.2.1整型16
2.2.2字元型16
2.2.3布爾型17
2.2.4浮點型17
2.3常量18
2.3.1數值型常量18
2.3.2字元型常量19
2.4變數20
2.4.1變數20
2.4.2常變數21
2.5運算符與表達式23
2.5.1算術運算符與算術表達式23
2.5.2賦值運算符與賦值表達式24
2.5.3逗號運算符與逗號表達式24
2.5.4自增自減運算符25
2.5.5類型轉換25
2.5.6位運算符與位運算表達式27
2.6計算機中的數據表示29
2.6.1計算機中的數制29
2.6.2數值型數據的表示31
2.6.3字元型數據的編碼表示33第3章語句與結構化程式設計34
3.1功能語句與順序結構程式設計34
3.1.1賦值語句34
3.1.2空語句34
3.1.3複合語句34
3.1.4順序結構程式設計34
3.2分支語句與分支結構程式設計35
3.2.1關係表達式和邏輯表達式35
3.2.2if語句38
3.2.3if…else語句38
3.2.4條件運算符與條件表達式40
3.2.5switch語句41
3.3循環語句與循環結構程式設計42
3.3.1for循環語句43
3.3.2do…while循環語句45
3.3.3while循環語句47
3.3.4循環語句的嵌套48
3.4轉移語句49
3.4.1break語句49
3.4.2continue語句49
3.4.3goto語句50
3.5程式舉例51
3.6算法與程式設計58
3.6.1算法設計與分析58
3.6.2程式設計風格61
習題362第4章數組與字元串63
4.1數組的定義與使用63
4.1.1一維數組的定義與使用63
4.1.2二維數組的定義與使用64
4.2數組的初始化66
4.3數組套用舉例67
4.3.1一維數組套用68
4.3.2二維數組套用73
4.4字元串76
4.4.1字元串變數的定義與使用76
4.4.2字元串變數的輸入輸出77
4.4.3字元串運算78
4.4.4字元串數組79
4.5字元數組81
4.6動態數組82
4.7靜態數組訪問的下標越界問題84
習題485第5章函式86
5.1函式定義86
5.2函式調用與函式聲明87
5.2.1函式調用87
5.2.2函式聲明88
5.3函式的參數傳遞90
5.3.1值傳遞90
5.3.2引用傳遞91
5.3.3函式的默認形參值92
5.4函式的嵌套與遞歸93
5.4.1函式嵌套94
5.4.2函式遞歸94
5.5數組作函式參數97
5.5.1數組元素作函式參數97
5.5.2一維數組名作函式參數98
5.5.3二維數組名作函式參數99
5.6內聯函式100
5.7重載函式101
5.8系統函式103
習題5104第6章指針106
6.1指針變數106
6.1.1記憶體單元地址106
6.1.2指針變數的定義107
6.2指針的賦值與運算107
6.2.1指針的賦值107
6.2.2指針的運算108
6.3指針作為函式參數110
6.4指針與數組111
6.4.1數組的地址111
6.4.2指針與一維數組111
6.4.3指針與二維數組112
6.4.4指針數組114
6.5動態記憶體分配116
6.6函式指針119
習題6122第7章自定義數據類型123
7.1結構體類型123
7.1.1結構體類型的定義123
7.1.2結構體變數的定義與初始化124
7.1.3結構體變數的引用125
7.2結構體套用127
7.2.1結構體數組127
7.2.2結構體和指針129
7.2.3結構體和函式131
7.3共用體134
7.3.1共用體的定義135
7.3.2共用體的套用136
7.4鍊表137
7.4.1線性表137
7.4.2線性鍊表138
7.4.3線性鍊表的操作139
7.5枚舉類型144
7.5.1枚舉類型和枚舉變數的定義144
7.5.2枚舉變數的賦值和引用145
7.5.3枚舉變數值的輸入與輸出145
習題7147第8章C++程式結構149
8.1C++程式構成149
8.2預處理命令150
8.2.1宏定義150
8.2.2檔案包含151
8.2.3條件編譯153
8.3變數的作用域156
8.3.1局部變數156
8.3.2全局變數156
8.4變數的存儲類別157
8.4.1局部自動變數158
8.4.2局部暫存器變數159
8.4.3局部靜態變數159
8.4.4外部變數聲明160
8.5內部函式與外部函式162
8.5.1內部函式162
8.5.2外部函式163
習題8164第9章類和對象165
9.1面向對象程式設計概述165
9.1.1面向對象的概念165
9.1.2面向對象程式設計的特點165
9.1.3面向對象與面向過程的區別166
9.2類和對象167
9.2.1類的定義167
9.2.2對象的定義170
9.2.3對象成員的訪問171
9.3構造函式173
9.3.1不帶參數的構造函式173
9.3.2帶參數的構造函式174
9.3.3帶默認值的構造函式175
9.3.4帶初始化表的構造函式176
9.3.5構造函式的重載178
9.4析構函式180
9.5複製構造函式183
9.5.1對象的賦值183
9.5.2對象的複製184
9.6對象數組188
9.7const對象和const成員190
9.8成員函式存儲與this指針192
9.9類靜態成員194
9.9.1靜態數據成員194
9.9.2靜態成員函式195
9.10友元函式與友元類197
9.10.1友元函式199
9.10.2友元類201
習題9202第10章繼承與派生203
10.1繼承與派生的概念203
10.2派生類的聲明204
10.2.1派生類的聲明204
10.2.2派生類的構成205
10.3派生類成員的訪問特性207
10.3.1公有繼承207
10.3.2私有繼承208
10.3.3保護繼承208
10.3.4多級派生時的訪問特性209
10.4派生類的構造函式和析構函式212
10.4.1簡單派生類的構造函式213
10.4.2有子對象的派生類的構造函式215
10.4.3派生類的析構函式216
10.5基類與派生類的轉換218
10.5.1派生類對象的值可以賦給基類對象218
10.5.2派生類對象可以作為基類對象使用219
10.6類的繼承與組合220
10.7繼承在軟體開發中的作用221
10.8多基類繼承224
10.8.1定義多基類繼承224
10.8.2多繼承派生類的構造函式226
10.8.3基類成員名衝突227
10.8.4虛基類228
習題10232第11章運算符重載233
11.1運算符重載的實現233
11.2運算符重載規則237
11.3運算符重載函式238
11.4重載流插入和流提取運算符241
11.5數據的類型轉換244
11.5.1用轉換構造函式實現類型轉換245
11.5.2用類型轉換函式實現類型轉換247
習題11250第12章多態與虛函式251
12.1多態性和綁定251
12.2虛函式254
12.2.1虛函式的定義254
12.2.2虛析構函式255
12.3純虛函式與抽象類257
12.3.1純虛函式257
12.3.2抽象類260
12.4動態綁定與虛函式表263
12.4.1多態類與非多態類263
12.4.2動態綁定的實現265
習題12267第13章模板268
13.1模板的引入268
13.2函式模板269
13.2.1函式模板的定義269
13.2.2函式模板的調用269
13.2.3函式模板的重載271
13.3類模板274
13.3.1類模板的定義和使用274
13.3.2類模板的繼承275
13.4類模板套用275
13.4.1數組類模板275
13.4.2線性鍊表類模板278
習題13281第14章輸入輸出流和檔案282
14.1輸入輸出與流282
14.2C++的流類和流對象283
14.3標準輸入輸出流283
14.3.1標準輸出流284
14.3.2標準輸入流285
14.3.3流成員函式287
14.4設定輸入輸出格式290
14.5檔案處理294
14.5.1檔案的打開和關閉294
14.5.2對ASCII碼檔案的讀寫296
14.5.3對二進制檔案的讀寫298
習題14302第15章異常處理303
15.1異常處理的基本思路303
15.2C++異常處理的實現306
15.2.1簡單異常處理306
15.2.2類類型異常處理309
習題15311第16章綜合實例312
16.1用面向過程的方法設計人人對弈程式313
16.2用面向對象的方法設計人人對弈程式329
16.3擴展遊戲程式343
習題16344第17章集成開發環境345
17.1VisualStudio2010的安裝與啟動345
17.2VisualStudio2010的操作界面346
17.3創建和打開項目349
17.3.1創建項目349
17.3.2在解決方案中新建項目350
17.3.3在項目中添加項351
17.3.4打開項目355
17.3.5編輯源程式356
17.4生成和運行項目356
17.5調試程式357
習題17364附錄AASCII碼錶365參考文獻366
第1章C++入門1
1.1C++簡介1
1.1.1C++的產生與發展1
1.1.2C++的特點2
1.2簡單的C++程式3
1.2.1C++程式結構3
1.2.2輸入與輸出5
1.2.3注釋6
1.3C++程式的上機執行過程7
1.4程式設計語言介紹8
1.4.1機器語言8
1.4.2彙編語言9
1.4.3高級語言10第2章基本數據類型與表達式14
2.1字元集與標識符14
2.1.1字元集14
2.1.2標識符14
2.1.3關鍵字15
2.2基本數據類型16
2.2.1整型16
2.2.2字元型16
2.2.3布爾型17
2.2.4浮點型17
2.3常量18
2.3.1數值型常量18
2.3.2字元型常量19
2.4變數20
2.4.1變數20
2.4.2常變數21
2.5運算符與表達式23
2.5.1算術運算符與算術表達式23
2.5.2賦值運算符與賦值表達式24
2.5.3逗號運算符與逗號表達式24
2.5.4自增自減運算符25
2.5.5類型轉換25
2.5.6位運算符與位運算表達式27
2.6計算機中的數據表示29
2.6.1計算機中的數制29
2.6.2數值型數據的表示31
2.6.3字元型數據的編碼表示33第3章語句與結構化程式設計34
3.1功能語句與順序結構程式設計34
3.1.1賦值語句34
3.1.2空語句34
3.1.3複合語句34
3.1.4順序結構程式設計34
3.2分支語句與分支結構程式設計35
3.2.1關係表達式和邏輯表達式35
3.2.2if語句38
3.2.3if…else語句38
3.2.4條件運算符與條件表達式40
3.2.5switch語句41
3.3循環語句與循環結構程式設計42
3.3.1for循環語句43
3.3.2do…while循環語句45
3.3.3while循環語句47
3.3.4循環語句的嵌套48
3.4轉移語句49
3.4.1break語句49
3.4.2continue語句49
3.4.3goto語句50
3.5程式舉例51
3.6算法與程式設計58
3.6.1算法設計與分析58
3.6.2程式設計風格61第4章數組與字元串62
4.1數組的定義與使用62
4.1.1一維數組的定義與使用62
4.1.2二維數組的定義與使用63
4.2數組的初始化65
4.3數組套用舉例66
4.3.1一維數組套用67
4.3.2二維數組套用72
4.4字元串75
4.4.1字元串變數的定義與使用75
4.4.2字元串變數的輸入輸出76
4.4.3字元串運算77
4.4.4字元串數組78
4.5字元數組80
4.6動態數組81
4.7靜態數組訪問的下標越界問題83第5章函式84
5.1函式定義84
5.2函式調用與函式聲明85
5.2.1函式調用85
5.2.2函式聲明86
5.3函式的參數傳遞88
5.3.1值傳遞88
5.3.2引用傳遞89
5.3.3函式的默認形參值90
5.4函式的嵌套與遞歸91
5.4.1函式嵌套92
5.4.2函式遞歸92
5.5數組作函式參數95
5.5.1數組元素作函式參數95
5.5.2一維數組名作函式參數96
5.5.3二維數組名作函式參數97
5.6內聯函式98
5.7重載函式99
5.8系統函式101第6章指針103
6.1指針變數103
6.1.1記憶體單元地址103
6.1.2指針變數的定義104
6.2指針的賦值與運算104
6.2.1指針的賦值104
6.2.2指針的運算105
6.3指針作為函式參數107
6.4指針與數組108
6.4.1數組的地址108
6.4.2指針與一維數組108
6.4.3指針與二維數組109
6.4.4指針數組111
6.5動態記憶體分配112
6.6函式指針115第7章自定義數據類型119
7.1結構體類型119
7.1.1結構體類型的定義119
7.1.2結構體變數的定義與初始化120
7.1.3結構體變數的引用121
7.2結構體套用123
7.2.1結構體數組123
7.2.2結構體和指針125
7.2.3結構體和函式127
7.3共用體130
7.3.1共用體的定義131
7.3.2共用體的套用132
7.4鍊表133
7.4.1線性表133
7.4.2線性鍊表134
7.4.3線性鍊表的操作135
7.5枚舉類型140
7.5.1枚舉類型和枚舉變數的定義140
7.5.2枚舉變數的賦值和引用141
7.5.3枚舉變數值的輸入與輸出141第8章C++程式結構144
8.1C++程式構成144
8.2預處理命令145
8.2.1宏定義145
8.2.2檔案包含146
8.2.3條件編譯148
8.3變數的作用域151
8.3.1局部變數151
8.3.2全局變數151
8.4變數的存儲類別152
8.4.1局部動態變數153
8.4.2局部暫存器變數154
8.4.3局部靜態變數154
8.4.4外部變數聲明155
8.5內部函式與外部函式157
8.5.1內部函式157
8.5.2外部函式158第9章類和對象160
9.1面向對象程式設計概述160
9.1.1面向對象的概念160
9.1.2面向對象程式設計的特點160
9.1.3面向對象與面向過程的區別161
9.2類和對象162
9.2.1類的定義162
9.2.2對象的定義165
9.2.3對象成員的訪問166
9.3構造函式168
9.3.1不帶參數的構造函式168
9.3.2帶參數的構造函式169
9.3.3帶默認值的構造函式170
9.3.4帶初始化表的構造函式171
9.3.5構造函式的重載173
9.4析構函式175
9.5複製構造函式178
9.5.1對象的賦值178
9.5.2對象的複製179
9.6對象數組183
9.7const對象和const成員185
9.8成員函式存儲與this指針187
9.9類靜態成員189
9.9.1靜態數據成員189
9.9.2靜態成員函式190
9.10友元函式與友元類192
9.10.1友元函式194
9.10.2友元類196第10章繼承與派生197
10.1繼承與派生的概念197
10.2派生類的聲明198
10.2.1派生類的聲明198
10.2.2派生類的構成199
10.3派生類成員的訪問特性201
10.3.1公有繼承201
10.3.2私有繼承202
10.3.3保護繼承202
10.3.4多級派生時的訪問特性203
10.4派生類的構造函式和析構函式206
10.4.1簡單派生類的構造函式207
10.4.2有子對象的派生類的構造函式209
10.4.3派生類的析構函式210
10.5基類與派生類的轉換212
10.5.1派生類對象的值可以賦給基類對象212
10.5.2派生類對象可以作為基類對象使用213
10.6類的繼承與組合214
10.7繼承在軟體開發中的作用215
10.8多基類繼承218
10.8.1定義多基類繼承218
10.8.2多繼承派生類的構造函式220
10.8.3基類成員名衝突221
10.8.4虛基類222第11章運算符重載227
11.1運算符重載的實現227
11.2運算符重載規則231
11.3運算符重載函式232
11.4重載流插入和流提取運算符235
11.5數據的類型轉換238
11.5.1用轉換構造函式實現類型轉換238
11.5.2用類型轉換函式實現類型轉換241第12章多態與虛函式245
12.1多態性和綁定245
12.2虛函式248
12.2.1虛函式的定義248
12.2.2虛析構函式249
12.3純虛函式與抽象類251
12.3.1純虛函式251
12.3.2抽象類254
12.4動態綁定與虛函式表257
12.4.1多態類與非多態類257
12.4.2動態綁定的實現259第13章模板261
13.1模板的引入261
13.2函式模板262
13.2.1函式模板的定義262
13.2.2函式模板的調用262
13.2.3函式模板的重載264
13.3類模板267
13.3.1類模板的定義和使用267
13.3.2類模板的繼承268
13.4類模板套用268
13.4.1數組類模板268
13.4.2線性鍊表類模板271第14章輸入輸出流和檔案275
14.1輸入輸出與流275
14.2C++的流類和流對象276
14.3標準輸入輸出流276
14.3.1標準輸出流277
13.4.2標準輸入流278
14.3.3流成員函式280
14.4設定輸入輸出格式283
14.5檔案處理287
14.5.1檔案的打開和關閉287
14.5.2對ASCII碼檔案的讀寫289
14.5.3對二進制檔案的讀寫291第15章異常處理296
15.1異常處理的基本思路296
15.2C++異常處理的實現299
15.2.1簡單異常處理299
15.2.2類類型異常處理302第16章綜合實例305
16.1用面向過程的方法設計人人對弈程式306
16.2用面向對象的方法設計人人對弈程式322
16.3擴展遊戲程式336第17章集成開發環境338
17.1VisualStudio2010的安裝與啟動338
17.2VisualStudio2010的操作界面339
17.3創建和打開項目342
17.3.1創建項目342
17.3.2在解決方案中新建項目343
17.3.3在項目中添加項344
17.3.4打開項目348
17.3.5編輯源程式349
17.4生成和運行項目349
17.5調試程式350附錄AASCII碼錶357參考文獻358