第1章 C++語言基礎 1
1.1 C++語言的發(fā)展 1
1.2 C++程序概述 2
1.2.1 C++程序的結構和組成 2
1.2.2 C++程序的運行 6
1.3 C++語言的數據類型 6
1.3.1 基本類型 7
1.3.2 基本類型的派生類型 8
1.3.3 用typedef定義新的類型名 8
1.4 常量 9
1.4.1 直接常量 9
1.4.2 符號常量 11
1.4.3 枚舉常量 12
1.5 變量和標識符 12
1.6 運算符和表達式 14
1.6.1 概述 14
1.6.2 算術運算符和算術表達式 15
1.6.3 賦值運算符和賦值表達式 16
1.6.4 關系運算符和關系表達式 19
1.6.5 邏輯運算符和邏輯表達式 20
1.6.6 位運算 22
1.6.7 條件運算符和條件表達式 25
1.6.8 逗號運算符和逗號表達式 26
1.6.9 長度運算符 27
習題 27
第2章 語句和控制結構 32
2.1 C++語言的語句和程序結構 32
2.1.1 C語句分類 32
2.1.2 程序的基本結構 33
2.2 順序結構 34
2.2.1 聲明語句 34
2.2.2 數據的輸入和輸出 36
2.3 選擇結構 38
2.3.1 if語句 38
2.3.2 switch語句和break語句 43
2.4 循環(huán)結構 46
2.4.1 while語句 46
2.4.2 do-while語句 48
2.4.3 for語句 49
2.4.4 循環(huán)嵌套 50
2.4.5 循環(huán)中控制語句的使用 52
2.5 編程綜合例題 55
習題 60
第3章 數組.結構體和共用體 75
3.1 一維數組 75
3.1.1 一維數組的定義 75
3.1.2 引用數組元素 76
3.1.3 一維數組的初始化 77
3.1.4 一維數組的編程舉例 77
3.2 二維數組 82
3.2.1 二維數組的定義 82
3.2.2 二維數組的使用 83
3.2.3 二維數組的應用舉例 85
3.3 字符數組 90
3.3.1 字符數組的定義 90
3.3.2 字符數組的輸入輸出 91
3.3.3 字符串處理函數 92
3.3.4 用二維字符數組處理多個字符串 95
3.4 結構體類型 97
3.4.1 結構體類型的定義 98
3.4.2 結構體類型變量.數組 99
3.5 共用體類型 102
習題 104
第4章 指針 112
4.1 指針和指針變量的概念 112
4.2 指向變量的指針變量 113
4.2.1 指針變量的定義 113
4.2.2 指針變量參與的運算 114
4.2.3 動態(tài)存儲空間的分配 116
4.2.4 引用 117
4.2.5 指向結構體類型和共用體類型數據的指針變量 119
4.3 數組和指針 122
4.3.1 一維數組的地址和數組元素的引用 122
4.3.2 二維數組的地址 124
4.3.3 使用指針變量引用二維數組的元素 126
4.4 指針和字符串 128
4.5 指針數組和多級指針 130
4.5.1 指針數組 130
4.5.2 指向指針的指針變量 131
4.5.3 用指針數組作為main函數的命令行參數 133
習題 133
第5章 函數 142
5.1 結構化程序設計和函數的概念 142
5.1.1 函數的概念 142
5.1.2 函數的定義 144
5.1.3 函數的返回值 144
5.1.4 函數原型及聲明(說明) 146
5.2 函數的調用 146
5.2.1 函數調用方法 146
5.2.2 函數調用時參數的傳遞方式 148
5.2.3 其他類型的數據作為函數的參數 152
5.2.4 用指針變量調用函數 160
5.2.5 默認參數 161
5.3 內聯(lián)函數 162
5.4 函數的特殊調用 164
5.4.1 嵌套調用 164
5.4.2 遞歸調用 165
5.5 函數重載 166
5.6 函數模板 169
5.6.1 函數模板的定義和使用 169
5.6.2 模板實參的使用 171
5.6.3 模板函數的重載 174
5.7 變量的作用域和生存期 175
5.7.1 變量的作用域 175
5.7.2 變量的存儲類型 177
5.7.3 變量的生存期 180
習題 180
第6章 類和對象 189
6.1 面向對象的程序設計思想 189
6.1.1 對象和類的概念 189
6.1.2 面向對象的程序設計 190
6.2 類和對象的定義 191
6.2.1 定義類 191
6.2.2 定義對象 197
6.2.3 this指針 202
6.3 構造函數和析構函數 203
6.3.1 定義構造函數 203
6.3.2 定義析構函數 204
6.3.3 缺省構造函數和缺省析構函數 206
6.3.4 拷貝構造函數 206
6.4 類的模板 208
6.5 關于對象的其他討論 210
6.5.1 對象的動態(tài)建立和刪除 210
6.5.2 對象按生存期的分類 212
6.5.3 成員對象 214
6.6 靜態(tài)成員 217
6.6.1 靜態(tài)數據成員 217
6.6.2 靜態(tài)函數成員 219
6.7 常類型 221
6.7.1 常對象 221
6.7.2 常成員函數 222
6.7.3 常數據成員 224
6.8 友員 226
6.8.1 友元函數 226
6.8.2 友元成員 227
6.8.3 友元類 229
習題 231
第7章 類的繼承和派生 235
7.1 繼承和派生 235
7.1.1 繼承和派生的概念 235
7.1.2 單繼承的定義 236
7.1.3 繼承類與基類成員的同名覆蓋 238
7.1.4 多繼承的定義 238
7.2 派生類對基類的繼承方式 239
7.2.1 公有繼承 239
7.2.2 私有繼承 240
7.2.3 保護繼承 240
7.3 派生類的構造函數和析構函數 242
7.3.1 派生類的構造函數 243
7.3.2 派生類的析構函數 243
7.4 派生類成員的訪問標識 248
7.5 虛基類 254
7.5.1 虛基類的定義 254
7.5.2 虛基類構造函數的調用 255
7.6 基類和派生類的指針 258
習題 261
第8章 多態(tài)性 263
8.1 多態(tài)性的概念 263
8.2 虛函數 264
8.2.1 虛函數的定義 264
8.2.2 多繼承中的虛函數 266
8.2.3 虛析構函數 269
8.3 純虛函數和抽象類 270
8.4 運算符的重載 272
8.4.1 運算符重載的概念 273
8.4.2 運算符重載為成員函數 274
8.4.3 運算符重載為友元函數 277
8.4.4 不同運算符重載應注意的問題 280
習題 281
第9章 C++流與輸入輸出 284
9.1 C++流的概念 284
9.2 輸入輸出的格式控制 286
9.2.1 數據的輸入輸出 286
9.2.2 默認的輸入輸出格式 289
9.2.3 輸入輸出格式的控制 290
9.3 文件的輸入輸出操作 295
9.3.1 文件的打開和關閉 296
9.3.2 文件流的狀態(tài) 298
9.3.3 文件的順序讀寫 298
9.3.4 文件流的定位與文件的隨機讀寫 301
習題 304
C++程序設計筆試模擬試題 306
參考答案 310
部分習題答案 311
附錄1 C++語言中的關鍵字 317
附錄2 C++語言的運算符 318
附錄3 C++語言的函數庫 320
附錄4 VC6.0集成環(huán)境的使用 323
參考文獻 330