本書的例程以VC 2010為運行環境,全書分為上、下兩冊:上冊介紹C++程序設計的基礎知識,下冊介紹VC++在.Net環境下的Windows應用程序設計。本書為上冊,共分12章:第1章基本數據與表達式,第2章程序控制結構,第3章函數,第4章數組,第5章集合與結構,第6章類與對象,第7章運算符重載,第8章繼承,第9章虛函數與多態性,第10章模板,第11章輸入/輸出流,第12章異常處理。本書提供配套的電子課件和習題解答,請登錄華信教育資源網(www.hxedu.com.cn)注冊后免費下載。電子課件由近3000張PPT幻燈片組成,以圖形語言為設計理念,充分表達程序設計課程的教學特點。本書可以作為高等學校計算機類、信息類、電類專業本科生高級語言程序設計課程教材,也可以作為教師、學生和C++語言愛好者的參考書。
暢銷教材修訂版,*家級精品資源共享課程配套教材。
周靄如,華南理工大學計算機學院,教授。編寫教材:《計算機系統應用教程》,廣東科技出版社,1995年10月出版;《FoxPro數據庫管理基礎》,廣東教育出版社,1998年7月出版;《Visual Basic程序設計教程》,清華大學出版社,2000年2月出版。《Visual Basic程序設計》,電子工業出版社,2002年1月出版。等等。
第1章 基本數據與表達式 1
1.1 概述 1
1.1.1 程序設計與程序設計語言 1
1.1.2 一個簡單的C++程序 2
1.1.3 程序的編譯執行 4
1.2 C++語言的字符集與詞匯 5
1.2.1 字符集 6
1.2.2 詞匯 6
1.3 C++語言的基本數據類型與存儲形式 7
1.3.1 C++語言的數據類型 7
1.3.2 數據存儲 7
1.3.3 基本數據類型 8
1.4 數據對象與訪問 11
1.4.1 變量定義 11
1.4.2 訪問變量 12
1.4.3 常量和約束訪問 17
1.5 表達式 19
1.5.1 運算符 19
1.5.2 算術表達式 21
1.5.3 邏輯表達式 23
1.5.4 賦值表達式 25
1.5.5 條件表達式 26
1.5.6 逗號表達式 26
1.6 數據輸入和輸出 27
1.6.1 鍵盤輸入 27
1.6.2 屏幕輸出 27
1.6.3 表達式語句 29
本章小結 29
練習題 30
第2章 程序控制結構 36
2.1 選擇控制 36
2.1.1 if語句 36
2.1.2 switch語句 41
2.2 循環控制 45
2.2.1 while語句 45
2.2.2 do-while語句 48
2.2.3 for語句 52
2.2.4 循環的嵌套 56
2.3 判斷表達式的使用 58
2.4 轉向語句 60
本章小結 63
練習題 63
第3章 函數 70
3.1 函數的定義與調用 70
3.1.1 函數定義 70
3.1.2 函數調用 71
3.1.3 函數原型 71
3.2 函數參數的傳遞 73
3.2.1 傳值參數 73
3.2.2 指針參數 77
3.2.3 引用參數 79
3.2.4 函數的返回類型 81
3.3 函數調用機制 84
3.3.1 嵌套調用 84
3.3.2 遞歸調用 85
3.4 函數地址和函數指針 89
3.4.1 函數的地址 90
3.4.2 函數指針 91
3.5 內聯函數和重載函數 95
3.5.1 內聯函數 95
3.5.2 重載函數 96
3.6 變量存儲特性與標識符作用域 96
3.6.1 存儲特性 97
3.6.2 標識符的作用域與可見性 98
3.7 多文件程序結構 101
3.7.1 多文件結構 101
3.7.2 預處理指令 102
3.7.3 多文件程序使用全局變量 106
3.8 命名空間 107
3.8.1 標準名空間 107
3.8.2 定義命名空間 108
3.8.3 使用命名空間 110
3.9 終止程序執行 111
本章小結 113
練習題 114
第4章 數組 124
4.1 一維數組 124
4.1.1 一維數組定義與初始化 124
4.1.2 一維數組訪問 126
4.2 指針數組 129
4.2.1 指向基本數據類型的指針數組 129
4.2.2 指向數組的指針數組 129
4.2.3 指向函數的指針數組 130
4.3 二維數組 131
4.3.1 二維數組的定義與初始化 132
4.3.2 二維數組訪問 133
4.4 數組作為函數參數 136
4.4.1 向函數傳送數組元素 136
4.4.2 數組名作為函數參數 137
4.4.3 應用舉例 139
4.5 動態存儲 143
4.5.1 new和delete操作符 143
4.5.2 動態存儲的應用 143
4.6 字符數組與字符串 146
4.6.1 字符串存儲 146
4.6.2 字符串的訪問 148
4.6.3 字符串處理函數 150
4.7 STRING類 154
本章小結 158
練習題 159
第5章 集合與結構 169
5.1 位運算 169
5.2 集合 175
5.2.1 集合的基本運算 175
5.2.2 集合運算的實現 175
5.3 結構 181
5.3.1 定義結構 181
5.3.2 訪問結構 183
5.3.3 結構參數 185
5.4 結構數組 187
5.5 鏈表 190
本章小結 199
練習題 199
第6章 類與對象 207
6.1 類和對象的定義與訪問 207
6.1.1 定義類和對象 208
6.1.2 訪問對象成員 210
6.1.3 this指針 211
6.2 構造函數和析構函數 211
6.2.1 簡單構造函數和析構函數 212
6.2.2 帶參數的構造函數 213
6.2.3 重載構造函數 215
6.2.4 復制構造函數 215
6.3 類的其他成員 221
6.3.1 常成員 221
6.3.2 靜態成員 224
6.3.3 友元 228
6.4 類的包含 230
本章小結 234
練習題 234
第7章 運算符重載 244
7.1 運算符重載規則 244
7.1.1 重載運算符的限制 244
7.1.2 重載運算符的語法形式 244
7.2 用成員或友元函數重載運算符 246
7.2.1 用成員函數重載運算符 247
7.2.2 用友元函數重載運算符 249
7.3 幾個典型運算符的重載 251
7.3.1 重載++與- - 251
7.3.2 重載賦值運算符 253
7.3.3 重載運算符[ ]和() 254
7.3.4 重載流插入和流提取運算符 256
7.4 類類型轉換 263
7.4.1 構造函數進行類類型轉換 263
7.4.2 類型轉換函數 264
本章小結 268
練習題 268
第8章 繼承 277
8.1 類之間的關系 277
8.2 基類和派生類 278
8.2.1 訪問控制 278
8.2.2 重名成員 285
8.2.3 派生類中訪問靜態成員 288
8.3 基類的初始化 289
8.4 繼承的應用實例 291
8.5 多繼承 296
8.5.1 多繼承的派生類構造和訪問 297
8.5.2 虛繼承 300
本章小結 304
練習題 305
第9章 虛函數與多態性 314
9.1 靜態聯編 314
9.2 類指針的關系 315
9.2.1 用基類指針引用派生類對象 315
9.2.2 用派生類指針引用基類對象 316
9.3 虛函數和動態聯編 319
9.3.1 虛函數和基類指針 319
9.3.2 虛函數的重載特性 322
9.3.3 虛析構函數 323
9.4 純虛函數和抽象類 325
9.4.1 純虛函數 325
9.4.2 抽象類 327
9.5 虛函數和多態性的應用 329
9.5.1 一個實例 329
9.5.2 異質鏈表 334
本章小結 337
練習題 337
第10章 模板 341
10.1 什么是模板 341
10.2 函數模板 341
10.2.1 模板說明 342
10.2.2 函數模板與模板函數 342
10.2.3 重載函數模板 344
10.3 類模板 346
10.3.1 類模板與模板類 346
10.3.2 類模板作為函數參數 348
10.3.3 在類層次中的類模板 349
10.3.4 類模板與友元 352
10.3.5 類模板與靜態成員 354
10.4 標準模板 355
10.4.1 容器 355
10.4.2 迭代器 360
10.4.3 算法 362
本章小結 365
練習題 366
第11章 輸入/輸出流 370
11.1 流類和流對象 370
11.1.1 流類庫 370
11.1.2 頭文件 371
11.2 標準流和流操作 372
11.2.1 標準流 372
11.2.2 輸入流操作 373
11.2.3 輸出流操作 374
11.2.4 流錯誤狀態 375
11.3 格式控制 377
11.3.1 設置標志字 377
11.3.2 格式控制符 380
11.4 串流 382
11.5 文件處理 384
11.5.1 文件和流 384
11.5.2 打開和關閉文件 385
11.5.3 文本文件 387
11.5.4 二進制數據文件 391
本章小結 402
練習題 403
第12章 異常處理 409
12.1 C++的異常處理機制 409
12.2 異常處理的實現 410
12.2.1 異常處理程序 410
12.2.2 帶異常說明的函數原型 413
12.2.3 再拋出異常傳遞 414
12.2.4 創建對象的異常處理 415
本章小結 416
附錄A 控制臺程序設計 418
附錄B 常用庫函數 440
附錄C C++關鍵字表 452
附錄D ASCII碼字符集 453