內容簡介
本書仍然採用Visual C++ 6.0(中文版)平台,在第4版的基礎上進行增減、修改和完善,同時兼顧C++等級考試的內容,從而進一步方便教和學。主要內容包含實用教程、習題、上機操作指導、綜合套用實習、附錄等部分。“教程”包括C++和Visual C++,C++部分包括基本C++語言和C++面向對象程式設計,Visual C++包括MFC基本應用程式的建立、視窗和對話框、常用控制項、基本界面元素、文檔和視圖、圖形和文本、資料庫編程等,一般在講解內容後緊跟實例。“上機操作指導”與教程配套和同步,通過實例先引導操作和編程,然後提出問題思考或在原有基礎上自己進行操作和編程練習。“綜合套用實習”分為獨立的兩個部分,分別對C++和Visual C++進行綜合套用訓練。本書提供配套的教學課件、教程實例檔案、實驗檔案、綜合套用實習源檔案等教學資源,同時提供本書二維碼掃描配套視頻,可從華信教育資源網免費下載。本書可作為大學本科、高職高專院校相關課程教材,也可供廣大Visual C++套用開發人員參考。
圖書目錄
目 錄
第1部分 實 用 教 程
第1章 基本C++語言 1
1.1 C++程式結構 1
1.1.1 C++概述 1
1.1.2 C++程式創建 1
1.1.3 C++代碼結構 4
1.2 數據類型和基本輸入/輸出 5
1.2.1 基本數據類型 5
1.2.2 字面常量 7
1.2.3 變數及其命名規則 9
1.2.4 標識符常量和枚舉 12
1.2.5 基本輸入/輸出 13
1.3 運算符和表達式 15
1.3.1 算術運算符 15
1.3.2 賦值運算符 16
1.3.3 數據類型轉換 18
1.3.4 關係運算符 19
1.3.5 邏輯運算符 20
1.3.6 位運算符 20
1.3.7 條件運算符 21
1.3.8 sizeof運算符 21
1.3.9 逗號運算符 21
1.3.10 自增和自減 22
1.4 基本語句 23
1.4.1 順序語句和塊 23
1.4.2 選擇結構語句 24
1.4.3 循環結構語句 27
1.4.4 break和continue語句 30
1.5 函式和預處理 31
1.5.1 函式的定義和調用 31
1.5.2 函式的參數傳遞 33
1.5.3 帶默認形參值的函式 34
1.5.4 遞歸函式 35
1.5.5 內聯函式 37
1.5.6 函式重載 38
1.5.7 作用域和可見性 39
1.5.8 存儲類型 40
1.5.9 編譯預處理 42
1.6 數組 46
1.6.1 一維數組 46
1.6.2 二維數組 48
1.6.3 字元數組 50
1.6.4 數組與函式 51
1.7 指針和引用 52
1.7.1 指針和指針變數 52
1.7.2 &和*運算符 53
1.7.3 指針運算 54
1.7.4 指針和數組 55
1.7.5 指針和函式 57
1.7.6 new和delete 61
1.7.7 引用和引用傳遞 61
1.8 字元指針和字元串處理 63
1.8.1 字元指針 63
1.8.2 帶參數的main函式 64
1.8.3 字元串處理函式 64
1.9 結構、共用和自定義 66
1.9.1 結構體 66
1.9.2 結構體數組 69
1.9.3 結構體與函式 70
1.9.4 結構體指針 70
1.9.5 共用體 71
1.9.6 使用typedef 72
第2章 C++面向對象程式設計 74
2.1 類和對象 74
2.1.1 類的定義 74
2.1.2 對象的定義 76
2.1.3 類作用域和成員訪問許可權 76
2.1.4 構造函式和析構函式 78
2.1.5 對象賦值和複製 80
2.1.6 淺複製和深複製 82
2.1.7 對象成員的初始化 83
2.2 數據共享和成員特性 85
2.2.1 靜態成員 85
2.2.2 友元 89
2.2.3 常類型 93
2.2.4 this指針 96
2.3 繼承和派生 97
2.3.1 單繼承 98
2.3.2 派生類的構造函式和析構函式 100
2.3.3 多繼承 101
2.3.4 虛基類 101
2.4 多態和虛函式 104
2.4.1 多態概述 105
2.4.2 虛函式 105
2.4.3 純虛函式和抽象類 107
2.5 運算符重載 108
2.5.1 運算符重載函式 108
2.5.2 運算符重載限制 109
2.5.3 友元重載 110
2.5.4 轉換函式 112
2.5.5 賦值運算符的重載 113
2.5.6 自增自減運算符的重載 114
2.6 輸入/輸出流 116
2.6.1 流類和流對象 116
2.6.2 流的格式控制和錯誤處理 117
2.6.3 使用輸入/輸出成員函式 120
2.6.4 提取和插入運算符重載 122
2.6.5 檔案流及其處理 123
第3章 MFC基本應用程式的建立 131
3.1 Windows編程基礎 131
3.1.1 C++的Windows編程 131
3.1.2 Windows編程特點 135
3.1.3 Windows基本數據類型 136
3.2 創建MFC應用程式 137
3.2.1 設計一個MFC程式 137
3.2.2 理解程式代碼 138
3.2.3 使用MFC AppWizard 139
3.2.4 創建文檔應用程式 140
3.3 MFC應用程式框架 143
3.3.1 項目檔案和配置 143
3.3.2 項目管理和項目工作區 144
3.3.3 MFC程式類結構 145
3.4 訊息和訊息映射 146
3.4.1 訊息類別 147
3.4.2 訊息映射和類嚮導 147
3.4.3 訊息映射代碼框架 149
3.4.4 鍵盤和滑鼠訊息 150
3.4.5 其他視窗訊息 151
3.5 Visual C++常用操作 152
3.5.1 單類的添加和刪除 152
3.5.2 成員的添加和刪除 153
3.5.3 檔案打開和成員定位 154
3.5.4 使用嚮導工具列 154
第4章 視窗和對話框 156
4.1 框架視窗 156
4.1.1 主框架視窗和文檔視窗 156
4.1.2 視窗樣式的設定 157
4.1.3 視窗狀態的改變 160
4.2 創建對話框 162
4.2.1 創建對話框應用程式 162
4.2.2 資源和資源標識 163
4.2.3 添加對話框資源 164
4.2.4 設定對話框屬性 165
4.2.5 添加和布局控制項 166
4.2.6 創建對話框類 169
4.2.7 映射WM_INITDIALOG訊息 170
4.3 使用對話框 171
4.3.1 在程式中調用對話框 171
4.3.2 使用無模式對話框 174
4.4 通用對話框和訊息對話框 176
4.4.1 通用對話框 176
4.4.2 訊息對話框 177
第5章 常用控制項 179
5.1 創建和使用控制項 179
5.1.1 控制項的創建方式 179
5.1.2 控制項的訊息及訊息映射 181
5.1.3 控制項類和控制項對象 184
5.1.4 DDX和DDV 186
5.2 靜態控制項和按鈕 187
5.2.1 靜態控制項 187
5.2.2 按鈕 188
5.2.3 示例:製作問卷調查 189
5.3 編輯框和旋轉按鈕控制項 192
5.3.1 編輯框的屬性和通知訊息 192
5.3.2 編輯框的基本操作 193
5.3.3 旋轉按鈕控制項 194
5.3.4 示例:用對話框輸入學生成績 195
5.4 列表框 198
5.4.1 列表框的樣式和訊息 198
5.4.2 列表框的基本操作 199
5.4.3 示例:基本課程信息 200
5.5 組合框 203
5.5.1 組合框的樣式類型和訊息 203
5.5.2 組合框常見操作 204
5.5.3 示例:課程號和課程信息 205
5.6 進展條和日曆控制項 209
5.6.1 進展條 209
5.6.2 DTP控制項 210
5.6.3 計時器 210
5.6.4 示例:自動時間顯示 211
5.7 滾動條和滑動條 212
5.7.1 滾動條 212
5.7.2 滑動條 213
5.7.3 示例:調整對話框背景顏色 215
第6章 基本界面元素 218
6.1 圖示和游標 218
6.1.1 圖像編輯器 218
6.1.2 圖示 219
6.1.3 游標 222
6.2 選單 224
6.2.1 選單一般規則 224
6.2.2 更改應用程式選單 225
6.2.3 使用鍵盤快捷鍵 226
6.2.4 選單的編程控制 227
6.2.5 使用快捷選單 230
6.3 工具列 232
6.3.1 使用工具列編輯器 232
6.3.2 工具按鈕和選單項相結合 234
6.3.3 多個工具列的使用 234
6.4 狀態欄 237
6.4.1 狀態欄的定義 237
6.4.2 狀態欄的常用操作 237
6.4.3 改變狀態欄的風格 238
6.5 互動對象的動態更新 239
第7章 文檔和視圖 241
7.1 文檔模板 241
7.1.1 文檔模板類 241
7.1.2 文檔模板字元串資源 242
7.2 文檔序列化 243
7.2.1 文檔序列化過程 243
7.2.2 CArchive類和序列化操作 245
7.2.3 使用簡單數組集合類 247
7.2.4 類對象序列化 250
7.2.5 使用檔案對話框和CFile類 254
7.2.6 CFile和CArchive類之間的關聯 258
7.3 一般視圖框架 258
7.3.1 CEditView和CRichEditView 259
7.3.2 CFormView 259
7.3.3 CHtmlView 263
7.3.4 CScrollView 263
7.4 列表視圖框架 263
7.4.1 圖像列表 263
7.4.2 列表視圖類型和樣式 264
7.4.3 列表項的基本操作 265
7.4.4 列表控制項的訊息 266
7.4.5 示例:列表顯示當前的檔案 267
7.5 樹視圖框架 270
7.5.1 樹控制項及其樣式 270
7.5.2 樹控制項的常用操作 271
7.5.3 樹視圖控制項的訊息 272
7.5.4 示例:遍曆本地資料夾 273
7.6 文檔視圖結構 275
7.6.1 文檔與視圖的相互作用 275
7.6.2 應用程式對象指針的互調 276
7.6.3 切分視窗 278
7.6.4 一檔多視 280
第8章 圖形和文本 286
8.1 概述 286
8.1.1 設備環境類 286
8.1.2 坐標映射 286
8.1.3 CPoint、CSize和CRect 288
8.1.4 顏色和顏色對話框 290
8.2 圖形設備接口 291
8.2.1 使用GDI對象 291
8.2.2 畫筆 292
8.2.3 畫刷 293
8.2.4 點陣圖 294
8.2.5 圖形繪製 296
8.3 字型與文字處理 300
8.3.1 字型和字型對話框 300
8.3.2 常用文本輸出函式 302
8.3.3 文本格式化屬性 304
8.3.4 計算字元的幾何尺寸 304
8.3.5 文檔內容顯示及其字型改變 305
第9章 資料庫編程 308
9.1 資料庫和ODBC操作 308
9.1.1 資料庫基本概念 308
9.1.2 常用SQL語句 309
9.1.3 Visual C++運算元據庫接口 310
9.2 MFC ODBC一般操作 311
9.2.1 MFC ODBC嚮導過程 311
9.2.2 ODBC數據表綁定更新 316
9.2.3 MFC的ODBC類 317
9.3 MFC ODBC套用編程 319
9.3.1 顯示記錄總數和當前記錄號 319
9.3.2 編輯記錄 321
9.3.3 欄位操作 323
9.3.4 多表處理 326
9.4 ADO資料庫編程 330
9.4.1 ADO編程的一般過程 331
9.4.2 Recordset對象使用 333
9.4.3 Command對象使用 335
第2部分 習 題
第1章 基本C++語言 336
第2章 C++面向對象程式設計 345
第3章 MFC基本應用程式的建立 348
第4章 視窗和對話框 348
第5章 常用控制項 349
第6章 基本界面元素 349
第7章 文檔和視圖 349
第8章 圖形和文本 350
第9章 資料庫編程 350
第3部分 上機操作指導
實驗1 認識Visual C++ 6.0開發環境 351
實驗內容 351
實驗準備和說明 351
實驗步驟 351
思考與練習 359
實驗2 基本數據類型、表達式和基本語句 360
實驗內容 360
實驗準備和說明 360
實驗步驟 360
思考與練習 363
實驗3 函式和預處理 363
實驗內容 363
實驗準備和說明 363
實驗步驟 364
思考與練習 366
實驗4 構造類型、指針和引用 366
實驗內容 366
實驗準備和說明 366
實驗步驟 367
思考與練習 369
實驗5 類和對象、繼承和派生 369
實驗內容 369
實驗準備和說明 369
實驗步驟 369
思考與練習 372
實驗6 多態和虛函式、運算符重載 373
實驗內容 373
實驗準備和說明 373
實驗步驟 373
思考與練習 377
實驗7 輸入/輸出流庫 377
實驗內容 377
實驗準備和說明 377
實驗步驟 377
思考與練習 383
實驗8 視窗、訊息及調試 383
實驗內容 383
實驗準備和說明 383
實驗步驟 383
思考與練習 388
實驗9 對話框和按鈕控制項 389
實驗內容 389
實驗準備和說明 389
實驗步驟 389
思考與練習 391
實驗10 編輯框、列表框和組合框 391
實驗內容 391
實驗準備和說明 391
實驗步驟 391
思考與練習 395
實驗11 進展條、滾動條和滑動條 395
實驗內容 395
實驗準備和說明 395
實驗步驟 396
思考與練習 400
實驗12 基本界面元素 400
實驗內容 400
實驗準備和說明 400
實驗步驟 400
思考與練習 404
實驗13 數據、文檔和視圖 404
實驗內容 404
實驗準備和說明 404
實驗步驟 404
思考與練習 404
實驗14 圖形和文本 405
實驗內容 405
實驗準備和說明 405
實驗步驟 405
思考與練習 405
實驗15 ADO資料庫編程 406
實驗內容 406
實驗準備和說明 406
實驗步驟 406
思考與練習 413
實驗16 ODBC資料庫編程 413
實驗內容 413
實驗準備和說明 413
實驗步驟 414
思考與練習 420
第4部分 綜合套用實習
題目1 學生成績管理程式(C++版) 421
所需知識 421
難度級別 421
目的 421
要求 421
實現方法 421
題目2 學生學習成績管理程式(MFC版) 427
所需知識 427
難度級別 427
目的 427
建議 427
要求 427
界面設計原則 427
方案 428
實現方法 429
第5部分 附 錄
附錄A 運算符優先權和結合性 434
附錄B 字元串類型和CString類 435
附錄C 常用C++庫函式及類庫 439
附錄D 匈牙利的命名規則 440