本書從初學(xué)者的角度較全面地介紹了C++的相關(guān)知識,較系統(tǒng)地介紹了C++語言的基礎(chǔ)內(nèi)容。本書包括6 篇共21 章的內(nèi)容。其中,第1 篇是C++數(shù)據(jù)表達(dá)篇,包括C++入門、變量和數(shù)據(jù)類型、運算符和表達(dá)式以及程序控制結(jié)構(gòu)等;第2 篇是C++面向過程設(shè)計篇,包括函數(shù)、編譯預(yù)處理、數(shù)組、指針和構(gòu)造數(shù)據(jù)類型等內(nèi)容;第3 篇是C++面向?qū)ο缶幊唐饕惡蛯ο蟆⒗^承、多態(tài)、運算符重載和輸入/輸出流等內(nèi)容;第4 篇主要介紹了C++高級特性,內(nèi)容包括文件、命名空間和引用與內(nèi)存管理;第5篇的內(nèi)容主要是C++編程實踐,主要分析了標(biāo)準(zhǔn)模板庫STL、模板與C++標(biāo)準(zhǔn)庫和異常處理等;最后一篇結(jié)合學(xué)生成績管理系統(tǒng)開發(fā)實例,講解如何使用C++進(jìn)行實際開發(fā)。本書適合沒有編程基礎(chǔ)的C++語言初學(xué)者作為入門教程,也可作為大中專院校師生和培訓(xùn)班的教材,對于C++語言開發(fā)的愛好者,本書也有較大的參考價值。
劉蕾,長期從事C、VC程序設(shè)計語言的教學(xué)工作,并使用C和VC開發(fā)了大量的程序,主要有:學(xué)校食堂IC卡管理系統(tǒng);學(xué)校信息管理系統(tǒng)(使用VC和MS SQL 2000);達(dá)州軍分區(qū)點對點視頻會議系統(tǒng);市民政局局域網(wǎng)即時通信軟件;健身俱樂部會員管理系統(tǒng);某鉆探公司圖形矢量化系統(tǒng)。
第1 篇 C++數(shù)據(jù)表達(dá)篇
第1 章 C++入門 ............................................................................................................................... 1
1.1 C++概述 ............................................................................................................................... 1
1.1.1 C++的歷史沿革 ...................................................................................................................... 1
1.1.2 C++與面向?qū)ο?...................................................................................................................... 1
1.1.3 從C 語言到C++ ..................................................................................................................... 2
1.2 程序設(shè)計方法 ...................................................................................................................... 3
1.2.1 結(jié)構(gòu)化程序設(shè)計 ...................................................................................................................... 3
1.2.2 面向?qū)ο蟪绦蛟O(shè)計 .................................................................................................................. 4
1.2.3 程序設(shè)計方法比較 .................................................................................................................. 4
1.3 C++開發(fā)環(huán)境——Visual C++ 6.0 ....................................................................................... 5
1.3.1 工作區(qū) ..................................................................................................................................... 5
1.3.2 編輯區(qū)(Editor Area) ........................................................................................................... 6
1.3.3 輸出窗口(Output Window) ................................................................................................ 6
1.3.4 菜單欄、工具欄、狀態(tài)欄 ...................................................................................................... 7
1.4 第一個C++程序——Hello World ....................................................................................... 7
1.4.1 創(chuàng)建源程序 ............................................................................................................................. 7
1.4.2 編譯連接 ................................................................................................................................. 9
1.4.3 調(diào)試運行 ................................................................................................................................. 9
1.5 C++源程序組成元素 ......................................................................................................... 10
1.5.1 基本組成 ............................................................................................................................... 10
1.5.2 基本符號 ............................................................................................................................... 11
1.5.3 標(biāo)識符 ................................................................................................................................... 11
1.5.4 保留字 ................................................................................................................................... 11
1.5.5 分隔符 ................................................................................................................................... 12
1.6 小結(jié) .................................................................................................................................... 12
1.7 習(xí)題 .................................................................................................................................... 12
第2 章 變量和數(shù)據(jù)類型 ................................................................................................................. 16
2.1 常量 .................................................................................................................................... 16
2.1.1 聲明常量 ............................................................................................................................... 16
2.1.2 常量的應(yīng)用 ........................................................................................................................... 17
2.2 變量 .................................................................................................................................... 19
2.2.1 聲明變量 ............................................................................................................................... 19
2.2.2 變量的命名規(guī)則 .................................................................................................................... 19
2.2.3 變量的作用范圍 .................................................................................................................... 20
2.2.4 變量的應(yīng)用 ........................................................................................................................... 21
2.3 基本數(shù)據(jù)類型 .................................................................................................................... 22
2.3.1 整型 ....................................................................................................................................... 23
2.3.2 字符型 ................................................................................................................................... 24
2.3.3 浮點型 ................................................................................................................................... 26
2.3.4 布爾型 ................................................................................................................................... 26
2.4 類型轉(zhuǎn)換 ............................................................................................................................ 27
2.4.1 隱式轉(zhuǎn)換 ............................................................................................................................... 27
2.4.2 顯式轉(zhuǎn)換 ............................................................................................................................... 28
2.5 小結(jié) .................................................................................................................................... 29
2.6 習(xí)題 .................................................................................................................................... 29
第3 章 運算符和表達(dá)式 ................................................................................................................. 32
3.1 運算符 ................................................................................................................................ 32
3.1.1 算術(shù)運算符 ........................................................................................................................... 32
3.1.2 賦值運算符 ........................................................................................................................... 34
3.1.3 關(guān)系運算符 ........................................................................................................................... 35
3.1.4 邏輯運算符 ........................................................................................................................... 35
3.1.5 條件運算符 ........................................................................................................................... 36
3.1.6 逗號運算符 ........................................................................................................................... 37
3.1.7 位運算符 ............................................................................................................................... 37
3.1.8 sizeof 運算符 ......................................................................................................................... 38
3.1.9 運算符的優(yōu)先級 .................................................................................................................... 38
3.2 表達(dá)式 ................................................................................................................................ 39
3.2.1 算術(shù)表達(dá)式 ........................................................................................................................... 40
3.2.2 關(guān)系表達(dá)式 ........................................................................................................................... 40
3.2.3 邏輯表達(dá)式 ........................................................................................................................... 41
3.2.4 條件表達(dá)式 ........................................................................................................................... 42
3.2.5 賦值表達(dá)式 ........................................................................................................................... 43
3.2.6 逗號表達(dá)式 ........................................................................................................................... 43
3.3 語句 .................................................................................................................................... 44
3.3.1 語句中的空格........................................................................................................................ 44
3.3.2 空語句 ................................................................................................................................... 45
3.3.3 聲明語句 ............................................................................................................................... 45
3.3.4 賦值語句 ............................................................................................................................... 46
3.4 小結(jié) .................................................................................................................................... 46
3.5 習(xí)題 .................................................................................................................................... 46
第4 章 程序控制結(jié)構(gòu) ..................................................................................................................... 50
4.1 順序結(jié)構(gòu) ............................................................................................................................ 50
4.1.1 表達(dá)式語句 ........................................................................................................................... 50
4.1.2 輸入語句 ............................................................................................................................... 51
4.1.3 輸出語句 ............................................................................................................................... 51
4.1.4 格式控制符 ........................................................................................................................... 52
4.1.5 應(yīng)用示例 ............................................................................................................................... 55
4.2 選擇結(jié)構(gòu) ............................................................................................................................ 56
4.2.1 if 語句 .................................................................................................................................... 56
4.2.2 if?else 語句 .......................................................................................................................... 57
4.2.3 多重if…else 語句 ................................................................................................................. 58
4.2.4 switch 語句 ............................................................................................................................ 60
4.2.5 應(yīng)用示例 ............................................................................................................................... 62
4.3 循環(huán)結(jié)構(gòu) ............................................................................................................................ 64
4.3.1 for 語句 .................................................................................................................................. 64
4.3.2 while 語句 .............................................................................................................................. 65
4.3.3 do?while 語句 ...................................................................................................................... 66
4.3.4 多重循環(huán) ............................................................................................................................... 66
4.3.5 應(yīng)用示例 ............................................................................................................................... 68
4.4 轉(zhuǎn)向語句 ............................................................................................................................ 68
4.5 小結(jié) .................................................................................................................................... 70
4.6 習(xí)題 .................................................................................................................................... 70
第2 篇 C++面向過程設(shè)計篇
第5 章 函數(shù) ..................................................................................................................................... 74
5.1 函數(shù)簡介 ............................................................................................................................ 74
5.1.1 函數(shù)概述 ............................................................................................................................... 74
5.1.2 定義函數(shù) ............................................................................................................................... 75
5.1.3 應(yīng)用示例 ............................................................................................................................... 76
5.2 函數(shù)參數(shù)及原型 ................................................................................................................ 77
5.2.1 函數(shù)的參數(shù)及返回值 ............................................................................................................ 77
5.2.2 函數(shù)原型 ............................................................................................................................... 78
5.2.3 main()函數(shù) ............................................................................................................................. 78
5.2.4 帶參數(shù)的main()函數(shù) ............................................................................................................ 80
5.3 調(diào)用函數(shù) ............................................................................................................................ 81
5.3.1 函數(shù)調(diào)用格式........................................................................................................................ 81
5.3.2 傳值調(diào)用 ............................................................................................................................... 82
5.3.3 引用調(diào)用 ............................................................................................................................... 83
5.3.4 嵌套調(diào)用 ............................................................................................................................... 84
5.3.5 遞歸調(diào)用 ............................................................................................................................... 84
5.3.6 帶默認(rèn)形參值的函數(shù) ............................................................................................................ 86
5.4 變量的作用域 .................................................................................................................... 86
5.4.1 局部變量 ............................................................................................................................... 87
5.4.2 全局變量 ............................................................................................................................... 88
5.5 函數(shù)的作用域 .................................................................................................................... 89
5.6 函數(shù)重載 ............................................................................................................................ 90
5.6.1 函數(shù)重載的定義 .................................................................................................................... 91
5.6.2 參數(shù)類型不同的函數(shù)重載 .................................................................................................... 91
5.6.3 參數(shù)個數(shù)不同的重載函數(shù) .................................................................................................... 92
5.7 小結(jié) .................................................................................................................................... 93
5.8 習(xí)題 .................................................................................................................................... 93
第6 章 編譯預(yù)處理 ......................................................................................................................... 96
6.1 預(yù)處理命令 ........................................................................................................................ 96
6.2 宏 ........................................................................................................................................ 96
6.2.1 宏概述 ................................................................................................................................... 96
6.2.2 不帶參數(shù)的宏定義 ................................................................................................................ 97
6.2.3 取消宏 ................................................................................................................................... 98
6.2.4 宏嵌套 ................................................................................................................................. 100
6.2.5 帶參數(shù)的宏定義 .................................................................................................................. 100
6.2.6 內(nèi)聯(lián)函數(shù) ............................................................................................................................. 104
6.2.7 宏與函數(shù)的區(qū)別 .................................................................................................................. 105
6.3 文件包含 .......................................................................................................................... 106
6.3.1 #include 命令 ....................................................................................................................... 106
6.3.2 合理使用文件包含 .............................................................................................................. 107
6.4 條件編譯 .......................................................................................................................... 108
6.4.1 #ifdef 形式 ........................................................................................................................... 108
6.4.2 #ifndef 形式 ......................................................................................................................... 110
6.4.3 #if 形式 ................................................................................................................................ 110
6.5 其他命令 ........................................................................................................................... 111
6.5.1 #error 命令 ........................................................................................................................... 111
6.5.2 #line 命令 ............................................................................................................................ 112
6.6 小結(jié) .................................................................................................................................. 112
6.7 習(xí)題 .................................................................................................................................. 112
第7 章 數(shù)組 ................................................................................................................................... 115
7.1 聲明數(shù)組 .......................................................................................................................... 115
7.1.1 聲明一維數(shù)組...................................................................................................................... 115
7.1.2 聲明多維數(shù)組...................................................................................................................... 116
7.2 引用數(shù)組 .......................................................................................................................... 117
7.2.1 引用一維數(shù)組...................................................................................................................... 117
7.2.2 引用多維數(shù)組...................................................................................................................... 118
7.3 數(shù)組的賦值 ...................................................................................................................... 119
7.3.1 初始化數(shù)組 ......................................................................................................................... 119
7.3.2 通過賦值表達(dá)式賦值 .......................................................................................................... 121
7.3.3 通過輸入語句賦值 .............................................................................................................. 122
7.3.4 通過循環(huán)語句賦值 .............................................................................................................. 122
7.3.5 多維數(shù)組的賦值 .................................................................................................................. 124
7.4 字符串 .............................................................................................................................. 124
7.4.1 傳統(tǒng)字符串 ......................................................................................................................... 125
7.4.2 字符數(shù)組 ............................................................................................................................. 127
7.5 數(shù)組與函數(shù) ...................................................................................................................... 128
7.6 數(shù)組應(yīng)用 .......................................................................................................................... 130
7.6.1 順序查找 ............................................................................................................................. 130
7.6.2 折半查找 ............................................................................................................................. 131
7.6.3 排序 ..................................................................................................................................... 134
7.7 小結(jié) .................................................................................................................................. 136
7.8 習(xí)題 .................................................................................................................................. 136
第8 章 指針 ................................................................................................................................... 139
8.1 指針概述 .......................................................................................................................... 139
8.1.1 指針是什么 ......................................................................................................................... 139
8.1.2 定義指針 ............................................................................................................................. 140
8.1.3 指針的初始化...................................................................................................................... 140
8.2 指針的運算 ...................................................................................................................... 142
8.2.1 取地址與取值運算 .............................................................................................................. 142
8.2.2 指針的算術(shù)運算 .................................................................................................................. 143
8.2.3 指針的關(guān)系運算 .................................................................................................................. 145
8.2.4 指針的賦值運算 .................................................................................................................. 146
8.2.5 void 指針和const 指針 ....................................................................................................... 146
8.3 指針與數(shù)組 ...................................................................................................................... 148
8.3.1 訪問數(shù)組元素的方法 .......................................................................................................... 148
8.3.2 多維數(shù)組元素的訪問 .......................................................................................................... 150
8.3.3 數(shù)組指針與指針數(shù)組 .......................................................................................................... 151
8.4 指針與函數(shù) ...................................................................................................................... 152
8.4.1 指針作為函數(shù)參數(shù) .............................................................................................................. 152
8.4.2 指針型函數(shù) ......................................................................................................................... 154
8.4.3 函數(shù)指針 ............................................................................................................................. 155
8.5 指針與字符串 .................................................................................................................. 156
8.6 二級指針 .......................................................................................................................... 157
8.7 小結(jié) .................................................................................................................................. 158
8.8 習(xí)題 .................................................................................................................................. 159
第9 章 構(gòu)造數(shù)據(jù)類型 ................................................................................................................... 162
9.1 結(jié)構(gòu)體 .............................................................................................................................. 162
9.1.1 結(jié)構(gòu)體概述 ......................................................................................................................... 162
9.1.2 結(jié)構(gòu)體類型說明 .................................................................................................................. 163
9.1.3 定義結(jié)構(gòu)體類型變量 .......................................................................................................... 164
9.1.4 初始化結(jié)構(gòu)體變量 .............................................................................................................. 165
9.1.5 引用結(jié)構(gòu)體成員變量 .......................................................................................................... 167
9.1.6 結(jié)構(gòu)體作為函數(shù)參數(shù) .......................................................................................................... 169
9.2 共用體 .............................................................................................................................. 170
9.2.1 共用體類型說明 .................................................................................................................. 170
9.2.2 定義共用體類型變量 .......................................................................................................... 171
9.2.3 引用共用體成員變量 .......................................................................................................... 171
9.3 枚舉 .................................................................................................................................. 173
9.3.1 定義枚舉類型...................................................................................................................... 173
9.3.2 定義枚舉類型變量 .............................................................................................................. 175
9.3.3 引用枚舉類型變量 .............................................................................................................. 176
9.4 類型重定義typedef ......................................................................................................... 177
9.5 位域 .................................................................................................................................. 179
9.5.1 定義位域變量...................................................................................................................... 179
9.5.2 使用位域 ............................................................................................................................. 180
9.6 小結(jié) .................................................................................................................................. 181
9.7 習(xí)題 .................................................................................................................................. 182
第3 篇 C++面向?qū)ο缶幊唐?第10 章 類和對象 ........................................................................................................................ 185
10.1 類 .................................................................................................................................... 185
10.1.1 什么是類 ........................................................................................................................... 185
10.1.2 從結(jié)構(gòu)到類 ....................................................................................................................... 186
10.1.3 類的聲明 ........................................................................................................................... 188
10.1.4 類的訪問控制 .................................................................................................................... 189
10.1.5 類的定義 ........................................................................................................................... 191
10.2 對象 ................................................................................................................................ 193
10.2.1 對象概述 ........................................................................................................................... 193
10.2.2 對象數(shù)組 ........................................................................................................................... 194
10.3 構(gòu)造函數(shù) ........................................................................................................................ 196
10.3.1 構(gòu)造函數(shù)的概念 ................................................................................................................ 196
10.3.2 構(gòu)造函數(shù)的聲明和定義 .................................................................................................... 196
10.3.3 構(gòu)造函數(shù)的調(diào)用 ................................................................................................................ 198
10.3.4 不帶參數(shù)的構(gòu)造函數(shù) ........................................................................................................ 198
10.3.5 帶有默認(rèn)參數(shù)的構(gòu)造函數(shù) ................................................................................................ 199
10.3.6 構(gòu)造函數(shù)的重載 ................................................................................................................ 201
10.4 拷貝構(gòu)造函數(shù) ................................................................................................................ 202
10.4.1 定義拷貝構(gòu)造函數(shù) ............................................................................................................ 202
10.4.2 調(diào)用拷貝構(gòu)造函數(shù) ............................................................................................................ 203
10.4.3 默認(rèn)拷貝構(gòu)造函數(shù) ............................................................................................................ 205
10.5 析構(gòu)函數(shù) ........................................................................................................................ 206
10.6 友元 ................................................................................................................................ 207
10.6.1 友元函數(shù) ........................................................................................................................... 207
10.6.2 友元成員 ........................................................................................................................... 209
10.6.3 友元類 ............................................................................................................................... 210
10.7 小結(jié) ................................................................................................................................ 212
10.8 習(xí)題 ................................................................................................................................ 212
第11 章 繼承 ................................................................................................................................. 216
11.1 繼承與派生 .................................................................................................................... 216
11.1.1 繼承與派生概述 ................................................................................................................ 216
11.1.2 聲明派生類 ........................................................................................................................ 217
11.2 訪問控制 ........................................................................................................................ 217
11.2.1 公有繼承 ............................................................................................................................ 218
11.2.2 私有派生 ............................................................................................................................ 220
11.2.3 保護(hù)繼承 ............................................................................................................................ 221
11.3 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù) .................................................................................... 225
11.3.1 執(zhí)行順序和構(gòu)建原則 ........................................................................................................ 225
11.3.2 派生類的構(gòu)造函數(shù) ............................................................................................................ 225
11.3.3 派生類析構(gòu)函數(shù)的構(gòu)建 .................................................................................................... 226
11.4 多重繼承 ........................................................................................................................ 228
11.4.1 二義性問題 ........................................................................................................................ 228
11.4.2 聲明多重繼承 .................................................................................................................... 230
11.4.3 多重繼承的構(gòu)造函數(shù)和析構(gòu)函數(shù) .................................................................................... 232
11.5 虛基類 ............................................................................................................................ 234
11.5.1 虛基類的引入 .................................................................................................................... 234
11.5.2 定義虛基類 ........................................................................................................................ 235
11.5.3 虛基類的構(gòu)造函數(shù)和初始化 ............................................................................................ 237
11.6 小結(jié) ................................................................................................................................ 238
11.7 習(xí)題 ................................................................................................................................ 238
第12 章 多態(tài) ................................................................................................................................ 243
12.1 多態(tài)簡介 ........................................................................................................................ 243
12.1.1 什么是多態(tài) ....................................................................................................................... 243
12.1.2 多態(tài)的作用 ....................................................................................................................... 244
12.1.3 多態(tài)的引入 ....................................................................................................................... 244
12.2 函數(shù)重載 ........................................................................................................................ 246
12.3 虛函數(shù) ............................................................................................................................ 247
12.3.1 虛函數(shù)的引入 .................................................................................................................... 247
12.3.2 定義虛函數(shù) ....................................................................................................................... 249
12.3.3 使用虛函數(shù) ....................................................................................................................... 250
12.3.4 多重繼承和虛函數(shù) ............................................................................................................ 251
12.3.5 使用虛函數(shù)的注意事項 .................................................................................................... 253
12.4 抽象類 ............................................................................................................................ 253
12.4.1 純虛函數(shù) ........................................................................................................................... 253
12.4.2 抽象類 ............................................................................................................................... 255
12.5 小結(jié) ................................................................................................................................ 256
12.6 習(xí)題 ................................................................................................................................ 257
第13 章 運算符重載 .................................................................................................................... 260
13.1 運算符重載簡介 ............................................................................................................ 260
13.1.1 運算符重載的定義 ............................................................................................................ 260
13.1.2 運算符重載的特點 ............................................................................................................ 261
13.1.3 運算符重載的規(guī)則 ............................................................................................................ 262
13.2 運算符重載的形式 ........................................................................................................ 263
13.2.1 重載為類的成員函數(shù) ........................................................................................................ 263
13.2.2 雙目運算符重載為成員函數(shù) ............................................................................................ 263
13.2.3 單目運算符重載為成員函數(shù) ............................................................................................ 264
13.2.4 運算符重載為類的友元函數(shù) ............................................................................................ 266
13.2.5 雙目運算符重載為友元函數(shù) ............................................................................................ 266
13.2.6 單目運算符重載為友元函數(shù) ............................................................................................ 267
13.2.7 成員運算符函數(shù)與友元運算符函數(shù)的比較 .................................................................... 269
13.3 特殊運算符的重載 ........................................................................................................ 269
13.3.1 “++”和“??”的重載 ................................................................................................... 269
13.3.2 賦值運算符“=”的重載.................................................................................................. 271
13.3.3 下標(biāo)運算符“[ ]”的重載 ................................................................................................ 273
13.4 類類型轉(zhuǎn)換 .................................................................................................................... 274
13.5 小結(jié) ................................................................................................................................ 276
13.6 習(xí)題 ................................................................................................................................ 276
第14 章 輸入/輸出流 ................................................................................................................... 280
14.1 輸入/輸出流的引入 ....................................................................................................... 280
14.1.1 printf 與scanf 的缺陷 ....................................................................................................... 280
14.1.2 輸入/輸出流簡介 .............................................................................................................. 281
14.1.3 輸入/輸出流類層次 ........................................................................................................... 282
14.2 標(biāo)準(zhǔn)輸入/輸出流 ........................................................................................................... 283
14.2.1 標(biāo)準(zhǔn)輸出流對象 ................................................................................................................ 283
14.2.2 標(biāo)準(zhǔn)輸入流對象 ................................................................................................................ 284
14.2.3 標(biāo)準(zhǔn)錯誤輸出流對象 ........................................................................................................ 285
14.3 輸入/輸出流成員函數(shù) ................................................................................................... 286
14.3.1 get()函數(shù):輸出字符串 .................................................................................................... 286
14.3.2 getline()函數(shù):獲取字符串 .............................................................................................. 288
14.4 輸入/輸出的格式控制 ................................................................................................... 288
14.4.1 用ios 類的成員函數(shù)進(jìn)行格式控制 ................................................................................. 288
14.4.2 使用格式控制符進(jìn)行格式控制 ........................................................................................ 291
14.5 用戶自定義數(shù)據(jù)類型的輸入/輸出 ............................................................................... 293
14.5.1 重載輸出運算符“<<” ................................................................................................... 293
14.5.2 重載輸入運算符“>>” ................................................................................................... 294
14.6 小結(jié) ................................................................................................................................ 296
14.7 習(xí)題 ................................................................................................................................ 296
第4 篇 C++高級特性篇
第15 章 文件 ................................................................................................................................ 299
15.1 文件和流 ........................................................................................................................ 299
15.1.1 文件概述 ........................................................................................................................... 299
15.1.2 文件流類 ........................................................................................................................... 300
15.2 文件的打開與關(guān)閉 ........................................................................................................ 301
15.2.1 打開文件 ........................................................................................................................... 301
15.2.2 關(guān)閉文件 ........................................................................................................................... 303
15.3 文件的順序讀寫 ............................................................................................................ 304
15.3.1 讀寫文本文件 .................................................................................................................... 304
15.3.2 文本文件應(yīng)用示例 ............................................................................................................ 305
15.3.3 二進(jìn)制文件概述 ................................................................................................................ 307
15.3.4 讀寫二進(jìn)制文件 ................................................................................................................ 307
15.4 文件的隨機(jī)讀寫 ............................................................................................................ 310
15.5 小結(jié) ................................................................................................................................ 312
15.6 習(xí)題 ................................................................................................................................ 312
第16 章 命名空間 ........................................................................................................................ 315
16.1 命名空間簡介 ................................................................................................................ 315
16.1.1 什么是命名空間 ................................................................................................................ 315
16.1.2 定義命名空間 .................................................................................................................... 316
16.2 使用命名空間 ................................................................................................................ 318
16.2.1 使用作用域運算符引用成員 ............................................................................................ 318
16.2.2 使用using 指令 ................................................................................................................. 319
16.2.3 使用using 聲明 ................................................................................................................. 320
16.2.4 using 指令與using 聲明的比較 ........................................................................................ 321
16.3 類的作用域 .................................................................................................................... 321
16.3.1 靜態(tài)數(shù)據(jù)成員 .................................................................................................................... 321
16.3.2 靜態(tài)成員函數(shù) .................................................................................................................... 323
16.4 作用域 ............................................................................................................................ 324
16.4.1 局部作用域 ....................................................................................................................... 324
16.4.2 全局作用域 ....................................................................................................................... 326
16.4.3 作用域嵌套 ....................................................................................................................... 327
16.5 this 指針 ......................................................................................................................... 328
16.6 小結(jié) ................................................................................................................................ 330
16.7 習(xí)題 ................................................................................................................................ 330
第17 章 引用與內(nèi)存管理 ............................................................................................................. 333
17.1 引用 ................................................................................................................................ 333
17.1.1 引用概述 ........................................................................................................................... 333
17.1.2 引用的使用 ....................................................................................................................... 334
17.2 引用的操作 .................................................................................................................... 335
17.2.1 引用作為函數(shù)參數(shù) ............................................................................................................ 335
17.2.2 引用作為返回值 ................................................................................................................ 336
17.3 動態(tài)內(nèi)存分配 ................................................................................................................ 337
17.3.1 申請動態(tài)內(nèi)存 .................................................................................................................... 337
17.3.2 釋放空間 ........................................................................................................................... 338
17.3.3 malloc 和free 庫函數(shù) ........................................................................................................ 340
17.4 const 引用 ...................................................................................................................... 341
17.5 指針與引用的區(qū)別 ........................................................................................................ 343
17.6 小結(jié) ................................................................................................................................ 344
17.7 習(xí)題 ................................................................................................................................ 344
第5 篇 C++編程實踐篇
第18 章 標(biāo)準(zhǔn)模板庫STL ............................................................................................................ 347
18.1 標(biāo)準(zhǔn)模板庫 .................................................................................................................... 347
18.1.1 STL 概述 ........................................................................................................................... 347
18.1.2 STL 的引入 ....................................................................................................................... 347
18.1.3 STL 的組成 ....................................................................................................................... 348
18.2 算法 ................................................................................................................................ 349
18.3 容器 ................................................................................................................................ 351
18.3.1 什么是容器 ....................................................................................................................... 351
18.3.2 向量 ................................................................................................................................... 351
18.3.3 列表 ................................................................................................................................... 353
18.3.4 集合 ................................................................................................................................... 355
18.3.5 雙端隊列 ........................................................................................................................... 356
18.3.6 棧 ....................................................................................................................................... 357
18.3.7 映射和多重映射 ................................................................................................................ 358
18.4 迭代器 ............................................................................................................................ 359
18.5 小結(jié) ................................................................................................................................ 361
18.6 習(xí)題 ................................................................................................................................ 361
第19 章 模板與C++標(biāo)準(zhǔn)庫 ........................................................................................................ 364
19.1 模板概述 ........................................................................................................................ 364
19.1.1 模板簡介 ........................................................................................................................... 364
19.1.2 模板的引入 ....................................................................................................................... 365
19.2 函數(shù)模板 ........................................................................................................................ 366
19.2.1 定義函數(shù)模板 .................................................................................................................... 366
19.2.2 生成函數(shù)模板 .................................................................................................................... 367
19.2.3 函數(shù)模板的異常處理 ........................................................................................................ 368
19.3 類模板 ............................................................................................................................ 369
19.3.1 定義類模板 ....................................................................................................................... 369
19.3.2 模板類 ............................................................................................................................... 370
19.4 C++標(biāo)準(zhǔn)庫概述 ............................................................................................................. 372
19.5 字符串庫 ........................................................................................................................ 373
19.5.1 讀寫字符串 ....................................................................................................................... 373
19.5.2 字符串賦值 ....................................................................................................................... 373
19.5.3 字符串比較 ....................................................................................................................... 374
19.5.4 字符串長度和空字符串 .................................................................................................... 375
19.6 小結(jié) ................................................................................................................................ 377
19.7 習(xí)題 ................................................................................................................................ 377
第20 章 異常處理 ........................................................................................................................ 380
20.1 錯誤與異常 .................................................................................................................... 380
20.1.1 什么是異常 ....................................................................................................................... 380
20.1.2 異常處理的基本思想 ........................................................................................................ 380
20.2 異常處理的實現(xiàn) ............................................................................................................ 382
20.2.1 使用try/catch 捕獲異常 .................................................................................................... 382
20.2.2 使用throw 拋出異常 ........................................................................................................ 383
20.2.3 應(yīng)用示例 ........................................................................................................................... 384
20.3 類和結(jié)構(gòu)的異常處理 .................................................................................................... 385
20.3.1 異常處理中的構(gòu)造和析構(gòu) ................................................................................................ 386
20.3.2 處理結(jié)構(gòu)類型的異常 ........................................................................................................ 387
20.4 異常處理機(jī)制 ................................................................................................................ 388
20.5 小結(jié) ................................................................................................................................ 390
20.6 習(xí)題 ................................................................................................................................ 390
第6 篇 實例篇
第21 章 簡單的學(xué)生成績管理系統(tǒng)開發(fā)實例 ............................................................................. 393
21.1 需求分析 ........................................................................................................................ 393
21.2 總體設(shè)計 ........................................................................................................................ 393
21.3 功能模塊的實現(xiàn) ............................................................................................................ 394
21.3.1 成績錄入模塊 .................................................................................................................... 395
21.3.2 成績統(tǒng)計模塊 .................................................................................................................... 395
21.3.3 成績排名模塊 .................................................................................................................... 396
21.3.4 成績查詢模塊 .................................................................................................................... 398
21.3.5 輸出模塊 ........................................................................................................................... 399
21.4 系統(tǒng)集成 ........................................................................................................................ 399
21.5 系統(tǒng)實現(xiàn) ........................................................................................................................ 401
21.5.1 結(jié)構(gòu)和變量定義部分 ........................................................................................................ 402
21.5.2 功能函數(shù)定義部分 ............................................................................................................ 403
21.5.3 主函數(shù)部分 ....................................................................................................................... 404
21.6 小結(jié) ................................................................................................................................ 406