目 錄
前言
**部分 教 程
第1章 C/C++語言概述 1
1.1 從C到C++的程序結構 1
1.2 程序書寫規范 2
1.3 數據類型 3
1.3.1 基本數據類型 3
1.3.2 常量 4
1.3.3 變量 6
1.3.4 數據類型轉換 7
1.3.5 數組 7
1.3.6 結構體 9
1.3.7 共用體 11
1.3.8 枚舉類型 11
1.3.9 用typedef定義類型 12
1.4 運算符和表達式 12
1.4.1 算術運算符 13
1.4.2 賦值運算符 14
1.4.3 關系運算符 15
1.4.4 邏輯運算符 15
1.4.5 位運算符 15
1.4.6 三目運算符 16
1.4.7 增1和減1運算符 16
1.4.8 逗號運算符 17
1.4.9 sizeof運算符 17
1.4.10 new和delete 17
1.5 基本語句 18
1.5.1 表達式語句、空語句和復合語句 18
1.5.2 選擇語句 18
1.5.3 循環語句 19
1.5.4 break、continue語句 21
1.6 函數 22
1.6.1 函數的定義和調用 22
1.6.2 帶默認形參值的函數 23
1.6.3 函數的遞歸調用 24
1.6.4 內聯函數 25
1.6.5 函數的重載 26
1.7 指針和引用 26
1.7.1 指針和指針變量 26
1.7.2 &和*運算符 27
1.7.3 指針和數組 28
1.7.4 指針和結構體 28
1.7.5 函數的指針傳遞 29
1.7.6 引用 29
1.7.7 函數的引用傳遞 30
1.8 作用域和存儲類型 31
1.8.1 作用域 31
1.8.2 變量的存儲類型 32
1.9 預處理 33
習題 34
第2章 C++面向對象程序設計基礎 38
2.1 類和對象 38
2.1.1 從結構到類 38
2.1.2 類的定義 38
2.1.3 對象的定義 40
2.2 類的成員及特性 41
2.2.1 構造函數 41
2.2.2 析構函數 42
2.2.3 對象成員初始化 42
2.2.4 常類型 44
2.2.5 this指針 46
2.2.6 類的作用域和對象的生存期 47
2.2.7 靜態成員 47
2.2.8 友元 49
2.3 繼承和派生類 50
2.3.1 單繼承 50
2.3.2 派生類的構造函數和析構函數 54
2.3.3 多繼承 54
習題 55
第3章 C++面向對象程序設計進階 56
3.1 多態和虛函數 56
3.1.1 虛函數 56
3.1.2 純虛函數和抽象類 58
3.2 運算符重載 59
3.2.1 運算符重載的語法 59
3.2.2 賦值運算符的重載 61
3.2.3 提取和插入運算符重載 62
3.3 輸入輸出流庫 63
3.3.1 概述 63
3.3.2 cout和cin 64
3.3.3 流的錯誤處理 66
3.3.4 使用輸入輸出成員函數 67
3.3.5 文件流概述 69
3.3.6 順序文件操作 70
3.3.7 隨機文件操作 72
3.4 模板 74
3.4.1 函數模板 74
3.4.2 類模板 77
習題 79
第4章 MFC框架、消息和對話框 81
4.1 Windows編程 81
4.1.1 C++的Windows編程 81
4.1.2 Windows編程特點 84
4.1.3 Windows基本數據類型 85
4.2 MFC編程 86
4.2.1 MFC程序框架 86
4.2.2 使用MFC AppWizard 88
4.2.3 創建文檔應用程序 89
4.2.4 項目文件和管理 91
4.2.5 MFC程序類結構 93
4.3 消息和消息映射 94
4.3.1 消息類別 94
4.3.2 消息映射機制 95
4.3.3 使用類向導 96
4.3.4 鍵盤和鼠標消息 98
4.3.5 其他窗口消息 99
4.4 設計并使用對話框 99
4.4.1 資源和資源標識 99
4.4.2 添加對話框資源 101
4.4.3 設置對話框屬性 102
4.4.4 添加和布局控件 102
4.4.5 創建對話框類 105
4.4.6 映射WM_INITDIALOG消息 105
4.4.7 在程序中調用對話框 106
4.4.8 模式和非模式對話框 107
4.4.9 創建對話框應用程序 107
4.5 通用對話框和消息對話框 108
4.5.1 通用對話框 108
4.5.2 消息對話框 109
4.6 常見問題解答 110
習題 111
單元綜合測試 111
第5章 常用控件 113
5.1 創建和使用控件 113
5.1.1 控件的創建方式 113
5.1.2 控件的消息及消息映射 114
5.1.3 控件類和控件對象 116
5.1.4 DDX和DDV 118
5.2 靜態控件和按鈕 120
5.2.1 靜態控件 120
5.2.2 按鈕 121
5.2.3 示例:制作問卷調查 122
5.3 編輯框和旋轉按鈕 125
5.3.1 編輯框 125
5.3.2 旋轉按鈕 126
5.3.3 示例:學生成績輸入 127
5.4 列表框 130
5.4.1 列表框樣式和消息 130
5.4.2 列表框基本操作 131
5.4.3 示例:城市郵政編碼 132
5.5 組合框 135
5.5.1 組合框樣式和消息 135
5.5.2 組合框常見操作 136
5.5.3 示例:城市郵編和區號 137
5.6 進展條、日歷控件和計時器 139
5.6.1 進展條 139
5.6.2 日歷控件 140
5.6.3 計時器 141
5.6.4 示例:自動時間顯示 141
5.7 滾動條和滑動條 142
5.7.1 滾動條 142
5.7.2 滑動條 144
5.7.3 示例:調整對話框背景顏色 145
5.8 常見問題解答 147
習題 148
單元綜合測試 148
第6章 框架窗口界面設計 150
6.1 框架窗口 150
6.1.1 主窗口和文檔窗口 150
6.1.2 窗口樣式的設置 150
6.1.3 窗口狀態的改變 153
6.2 圖標和光標 155
6.2.1 圖像編輯器 155
6.2.2 圖標及其使用 157
6.2.3 光標及其使用 159
6.3 菜單 161
6.3.1 用編輯器設計菜單 161
6.3.2 更改應用程序菜單 163
6.3.3 使用鍵盤快捷鍵 165
6.3.4 菜單的編程控制 166
6.3.5 使用快捷菜單 168
6.4 工具欄 170
6.4.1 使用工具欄編輯器 170
6.4.2 工具按鈕和菜單項相結合 171
6.4.3 多個工具欄的使用 172
6.5 狀態欄 174
6.5.1 狀態欄的定義 174
6.5.2 狀態欄的常用操作 175
6.5.3 改變狀態欄的風格 176
6.6 交互對象的動態更新 177
6.7 常見問題解答 178
習題 179
單元綜合測試 179
第7章 數據、文檔和視圖 181
7.1 文檔模板 181
7.1.1 文檔模板類 181
7.1.2 文檔模板字符串資源 182
7.2 文檔序列化 183
7.2.1 文檔序列化過程 183
7.2.2 CArchive類和序列化操作 184
7.2.3 使用簡單數組集合類 186
7.2.4 類對象序列化 189
7.2.5 文件對話框和CFile類 193
7.3 視圖及應用框架 196
7.3.1 一般視圖框架 196
7.3.2 圖像列表 198
7.3.3 列表視圖框架 199
7.3.4 樹視圖框架 204
7.4 文檔視圖結構 208
7.4.1 文檔與視圖的相互作用 208
7.4.2 切分窗口 210
7.4.3 一檔多視 211
7.5 常見問題解答 216
習題 217
單元綜合測試 217
第8章 圖形、文本和數據庫 219
8.1 設備環境和數據 219
8.1.1 CDC類概述 219
8.1.2 坐標映射 219
8.1.3 CPoint、CSize和CRect 220
8.1.4 顏色和顏色對話框 222
8.2 圖形和文本 223
8.2.1 畫筆、畫刷和位圖 223
8.2.2 圖形繪制 227
8.2.3 字體與文字 230
8.3 MFC ODBC一般操作 235
8.3.1 使用MFC ODBC向導 235
8.3.2 數據表綁定更新 239
8.3.3 MFC ODBC類及記錄集 239
8.3.4 記錄的過濾條件、排序法和查詢 240
8.3.5 顯示記錄信息 241
8.3.6 編輯記錄 243
8.4 MFC ODBC應用編程 246
8.4.1 字段操作與記錄列表 246
8.4.2 直接使用MFC ODBC類 248
8.4.3 使用RemoteData和DBGrid控件 252
8.4.4 多表處理 254
8.5 常見問題解答 258
習題 259
單元綜合測試 259
第二部分 實 驗
實驗1 認識Visual C++ 6.0開發環境 261
實驗2 基本數據類型、表達式和基本語句 267
實驗3 函數和預處理 270
實驗4 構造類型、指針和引用 272
實驗5 類和對象、繼承和派生 275
實驗6 多態和虛函數、運算符重載 278
實驗7 輸入輸出流庫 281
實驗8 向導框架、消息及調試 286
實驗9 對話框和按鈕控件 290
實驗10 編輯框、列表框和組合框 291
實驗11 進展條、滾動條和滑動條 295
實驗12 基本界面元素 298
實驗13 數據、文檔和視圖 301
實驗14 圖形和文本 302
實驗15 ODBC數據庫編程 303
第三部分 實 習
實習一 學生成績管理程序(C++版) 305
實習二 學生成績管理程序(MFC版) 309
附錄A 常用C++庫函數及類庫 317
附錄B 字符串類型和CString類 319
附錄C Visual C++常用操作 323
模擬測試試卷 326
單元綜合測試和模擬測試參考答案 334