全書分為3篇21章,包括初識C++、C++語言基礎、運算符與表達式、位運算、條請棄件判斷語句、循環語句、函式、數組、指針和引用、結構體、共用體和枚舉類型、面向對象編程技術、類和對象、繼承與派生、模板、STL標準模板庫、RTTI與異常處理、程式調試、檔案操作、網路通信和餐飲管理系統等內容。
第1 篇 基礎篇
第1 章 初識C++ 2
視頻講解:1小時6 分鐘
1.1 C++概述 3
1.1.1 C++發展歷程 3
1.1.2 C++中的傑出人物 4
1.1.3 C++的特點 5
1.2 搭建C++開發環境 5
1.2.1 認識Visual C++6.0 5
1.2.2 Visual C++6.0的下載與安裝 6
1.3 C++程式的創建及編譯 10
1.3.1 使用Visual C++ 6.0創建C++程式 10
1.3.2 編譯與連線C++程式 13
1.4 C++代碼結構 16
1.4.1 C++工程項目檔案 16
1.4.2 認識C++代碼結構 17
1.5 小結 18
第2 章 C++ 語言基礎 19
視頻講解:2 小時49 分鐘
2.1 第一個C++程式 20
2.1.1 #include指令 20
2.1.2 iostream標準庫 21
2.1.3 命名空間 21
2.1.5 函式體 22
2.1.6 函式返回值 22
2.1.7 注釋 22
2.2 常量及符號 22
2.2.1 整型常量 22
2.2.2 實型常量 24
2.2.3 字元常蒸詢霸定量 25
2.3 變數及標識符 27
2.3.1 變數的聲明及賦值 27
2.3.2 整型變數 28
2.3.3 實型變數 29
2.3.4 字元型變數 30
2.3.5 標識符 31
2.4 數據類型 32
2.4.1 定義贈元境數值類型 33
2.4.2 字元類型 33
2.4.3 布爾類型 34
2.5 數據輸入與輸出 34
2.5.1 C++語言中的流 34
2.5.2 流輸出格式的控制 35
2.6 小結 37
2.7 實戰 38
2.7.1 輸出《登鸛雀樓》 38
2.7.2 模擬銀行利息問題 38
第3 章 運算符與表達式 39
視頻講解:1 小時51 分鐘
3.1 運算符 40
3.1.5 sizeof運算符 43
3.2 結合性和優先權 45
3.3 表達式 47
3.3.1 認識表達式 47
3.3.2 表達式中的類型轉換 47
3.4 判斷左值與右值 50
3.5 小結 51
3.6 實戰 51
3.6.1 招聘開始啦 51
3.6.2 貨車載物量 51
第4 章 位運算 52
視頻講解:10 分鐘
4.1 位與位元組 53
4.2 位運算操作符 53
4.2.1 “與”運算符 54
4.2.2 “或”運算符 55
4.2.3 “取反”運算符 56
4.2.4 “異或”運算符 57
4.2.5 “左移”運算符 59
4.2.6 “右移”運算符 61
4.3 循環移位旬戒夜 62
4.4 小結 65
4.5 實戰 65
4.5.1 加密數據 65
4.5.2 將自己身高數據右移 66
第5 章 條件判斷語句 67
視頻講解:1 小時37 分鐘付嚷廈享
5.1 決策分支 68
5.2 判斷語句 69
5.2.1 第一種形式的判斷語句 69
5.2.2 第二種形式的判斷語句 71
5.2.3 第三種形式的判斷語句 72
5.3 使用條件運算符進行判斷 73
5.4 switch語句戶辯愉 74
5.5 判斷語句的嵌套 77
5.6 小結 78
5.7 實戰奔定墓 78
5.7.1 模擬上班簽到場景 78
5.7.2 計程車計費問題 79
第6 章 循環語句 80
視頻講解:1 小時24 分鐘
6.1 while和do...while循環 81
6.1.1 while循環 81
6.1.2 do...while循環 83
6.2 for循環語句 84
6.2.1 for循環的一般形式 84
6.2.2 for循環的變體 87
6.3 循環控制 88
6.3.1 控制循環的變數 89
6.3.3 continue語句 91
6.4 循環的嵌套 92
6.5 小結 93
6.6 實戰 93
6.6.1 模擬自動售貨機 93
6.6.2 蝸牛爬井 94
第7 章 函式 95
視頻講解:2 小時41 分鐘
7.1 函式概述 96
7.1.1 函式的定義 96
7.1.2 函式的聲明 96
7.2 函式參數及返回值 98
7.2.1 空函式 98
7.2.2 形參與實參 98
7.2.3 默認參數 99
7.2.4 可變參數 100
7.2.5 返回值 101
7.3 函式調用 102
7.3.1 傳值調用 103
7.3.2 嵌套調用 105
7.3.3 遞歸調用 105
7.5 重載函式 109
7.6 內聯函式 110
7.7 小結 111
7.8 實戰 111
7.8.1 模擬生兔子 111
7.8.2 警察抓小偷 112
第8 章 數組 113
視頻講解:1 小時9 分鐘
8.1 一維數組 114
8.1.1 一維數組的聲明 114
8.1.2 一維數組的引用 114
8.1.3 一維數組的初始化 115
8.2 二維數組 116
8.2.1 二維數組的聲明 116
8.2.2 二維數組元素的引用 117
8.2.3 二維數組的初始化 117
8.3 字元數組 120
8.4 小結 125
8.5 實戰 126
8.5.1 列印出“心”形圖案 126
8.5.2 模擬銀行取錢 126
第9 章 指針和引用 127
視頻講解:2 小時37 分鐘
9.1 指針 128
9.1.1 變數與指針 128
9.1.3 指針運算 132
9.1.4 指向空的指針與空類型指針 133
9.1.5 指向常量的指針與指針常量 134
9.2 指針與數組 135
9.2.1 指針與一維數組 135
9.2.2 指針與二維數組 137
9.2.3 指針與字元數組 139
9.3 指針在函式中的套用 140
9.3.1 傳遞地址 140
9.3.2 指向函式的指針 142
9.3.3 從函式中返回指針 143
9.4 指針數組 144
9.5 引用 146
9.5.1 引用概述 146
9.5.2 使用引用傳遞參數 147
9.5.3 數組作為函式參數 148
9.6 小結 149
9.7 實戰 149
9.7.1 尋找第一個元音字母 149
9.7.2 哪個燈亮著 149
9.7.3 模擬年齡增長情況 150
第10 章 結構體 151
視頻講解:1 小時1 分鐘
10.1 結構體 152
10.1.1 結構體定義 152
10.1.2 結構體變數 152
10.1.3 結構體成員及初始化 153
10.1.4 結構體的嵌套 156
10.1.5 結構體大小 157
10.2 重命名數據類型 159
10.3 結構體與函式 161
10.3.1 結構體變數作為函式參數 161
10.3.2 結構體指針作為函式參數 162
10.4 結構體數組 163
10.4.1 結構體數組聲明與引用 163
10.4.2 指針訪問結構體數組 164
10.5 小結 166
10.6 實戰 166
10.6.1 顯示汽車信息 166
10.6.2 汽車加油問題 166
第11 章 共用體和枚舉類型 167
視頻講解:29 分鐘
11.1 共用體 168
11.1.1 共用體的定義與聲明 168
11.1.2 共用體的大小 169
11.1.3 共用體的特點 170
11.2 枚舉類型 170
11.2.1 枚舉類型的聲明 171
11.2.2 枚舉類型變數 171
11.2.3 枚舉類型的運算 173
11.3 小結 174
11.4 實戰 174
11.4.1 罐頭品種 174
11.4.2 生肖排序 174
第2 篇 提高篇
第12 章 面向對象編程技術 176
視頻講解:38 分鐘
12.1 面向對象概述 177
12.2 面向對象與面向過程編程 178
12.2.1 面向過程編程 178
12.2.2 面向對象編程 178
12.2.3 面向對象的特點 179
12.3 統一建模語言 179
12.3.1 統一建模語言概述 179
12.3.2 統一建模語言的結構 180
12.3.3 面向對象的建模 182
12.4 小結 182
第13 章 類和對象 183
視頻講解:3 小時6 分鐘
13.1 C++類 184
13.1.1 類概述 184
13.1.2 類的聲明與定義 184
13.1.3 類的實現 185
13.1.4 對象的聲明 190
13.2 構造函式 192
13.2.1 構造函式概述 192
13.2.2 複製構造函式 193
13.3 析構函式 195
13.4 類成員 197
13.4.1 訪問類成員 197
13.4.2 內聯成員函式 198
13.4.3 靜態類成員 199
13.4.4 嵌套類 202
13.4.5 局部類 203
13.5 友元 204
13.5.1 友元概述 204
13.5.2 友元類 204
13.5.3 友元方法 205
13.6 小結 207
13.7 實戰 207
13.7.1 手機默認語言 207
13.7.2 銷毀手機卡 207
第14 章 繼承與派生 208
視頻講解:1 小時15 分鐘
14.1 繼承 209
14.1.1 類的繼承 209
14.1.2 繼承後可訪問性 211
14.1.3 構造函式訪問順序 212
14.1.4 子類顯示調用父類構造函式 213
14.1.5 子類隱藏父類的成員函式 215
14.1.6 嵌套定義多個類 216
14.2 重載運算符 217
14.2.1 重載運算符的必要性 217
14.2.2 重載運算符的形式與規則 219
14.2.3 重載運算符的運算 220
14.2.4 轉換運算符 222
14.3 多重繼承 223
14.3.1 多重繼承定義 223
14.3.2 二義性 225
14.3.3 多重繼承的構造順序 225
14.4 多態 227
14.4.1 虛函式概述 227
14.4.2 利用虛函式實現動態綁定 228
14.4.3 虛繼承 229
14.5 小結 231
14.6 實戰 231
14.6.1 模擬火車種類 231
14.6.2 學生 軍人 232
第15 章 模板 233
視頻講解:32 分鐘
15.1 函式模板 234
15.1.1 函式模板的定義 234
15.1.2 函式模板的作用 235
15.1.3 重載函式模板 237
15.2 類模板 238
15.2.1 類模板的定義與聲明 238
15.2.2 簡單類模板 240
15.2.3 默認模板參數 241
15.2.4 為具體類型的參數提供默認值 242
15.2.5 有界數組模板 243
15.3 模板的使用 245
15.3.1 定製類模板 245
15.3.2 定製類模板成員函式 247
15.4 鍊表類模板 248
15.4.1 鍊表 249
15.4.2 鍊表類模板 251
15.4.3 類模板的靜態數據成員 254
15.5 小結 255
15.6 實戰 255
15.6.1 比較字元串大小 255
15.6.2 求數組元素和 256
視頻講解:30 分鐘
16.1 序列容器 258
16.1.1 向量類模板 258
16.1.2 雙端佇列類模板 261
16.1.3 鍊表類模板 262
16.2 關聯式容器 264
16.2.1 set類模板 264
16.2.2 multiset類模板 265
16.2.3 map類模板 266
16.2.4 multimap類模板 267
16.3 疊代器 268
16.3.1 輸出疊代器 268
16.3.2 輸入疊代器 269
16.3.3 前向疊代器 270
16.3.4 雙向疊代器 271
16.3.5 隨機訪問疊代器 272
16.4 小結 273
16.5 實戰 273
16.5.1 顯示倉庫物品信息 273
16.5.2 查單詞 273
第17 章 RTTI 與異常處理 274
視頻講解:18 分鐘
17.1 RTTI(運行時類型識別) 275
17.1.1 什麼是RTTI 275
17.1.2 RTTI與引用 276
17.1.3 RTTI與多重繼承 277
17.1.4 RTTI映射語法 278
17.2 異常處理 278
17.2.1 拋出異常 279
17.2.2 異常捕獲 280
17.2.3 異常匹配 282
17.2.4 標準異常 284
17.3 小結 284
第18 章 程式調試 285
視頻講解:13 分鐘
18.1 選擇正確的調試方法 286
18.2 程式錯誤常見的4種類型 286
18.2.1 語法錯誤 286
18.2.2 連線錯誤 287
18.2.3 運行時錯誤 287
18.2.4 邏輯錯誤 288
18.3 調試工具的使用 288
18.3.1 創建調試程式 289
18.3.2 進入調試狀態 290
18.3.3 Watch視窗 291
18.3.4 Call Stack視窗 291
18.3.5 Memory視窗 292
18.3.6 Variables視窗 292
18.3.7 Registers視窗 293
18.3.8 Disassembly視窗 293
18.4 小結 294
第19 章 檔案操作 295
視頻講解:32 分鐘
19.1 流簡介 296
19.1.1 C++中的流類庫 296
19.1.2 類庫的使用 296
19.1.3 流的輸入/輸出 297
19.2 檔案打開 297
19.2.1 打開方式 297
19.2.2 打開檔案同時創建檔案 299
19.3 檔案的讀寫 300
19.3.1 檔案流 300
19.3.2 寫文本檔案 302
19.3.3 讀取文本檔案 303
19.3.4 二進制檔案的讀寫 303
19.3.5 實現檔案複製 305
19.4 檔案指針移動操作 306
19.4.1 檔案錯誤與狀態 306
19.4.2 檔案的追加 306
19.4.3 檔案結尾的判斷 307
19.4.4 在指定位置讀寫檔案 309
19.5 刪除檔案 310
19.6 小結 311
19.7 實戰 311
19.7.1 接收用戶輸入 311
19.7.2 求和 312
第20 章 網路通信 313
視頻講解:20 分鐘
20.1 TCP/IP協定 314
20.1.1 OSI參考模型 314
20.1.2 TCP/IP參考模型 314
20.1.3 IP位址 315
20.1.4 數據包格式 316
20.2 套接字 317
20.2.1 Winsocket套接字 318
20.2.2 Winsocket的使用 318
20.2.3 位元組順序 323
20.2.4 面向連線流 323
20.2.5 面向無連線流 324
20.3 簡單協定通信 324
20.3.1 服務端 324
20.3.2 客戶端 327
20.3.3 實例的運行 328
20.4 小結 328
第3 篇 項目篇
第21 章 餐飲管理系統 330
視頻講解:54 分鐘
21.1 系統設計 331
21.1.1 系統目標 331
21.1.2 系統功能結構 331
21.1.3 系統預覽 331
21.2 公共類設計 332
21.3 主窗體設計 333
21.4 註冊模組設計 337
21.4.1 註冊模組概述 337
21.4.2 註冊模組實現過程 337
21.5 登錄模組設計 339
21.5.1 登錄模組概述 339
21.5.2 登錄模組實現過程 339
21.6 開台模組設計 340
21.6.1 開台模組概述 340
21.6.2 開台模組實現過程 341
21.7 點菜模組設計 343
21.7.1 點菜模組概述 343
21.7.2 點菜模組實現過程 344
21.8 結賬模組設計 348
21.8.1 結賬模組概述 348
21.8.2 結賬模組實現過程 348
21.9 資料庫維護模組設計 351
21.9.1 資料庫維護模組概述 351
21.9.2 資料庫維護模組實現過程 351
21.10 小結 354
3.3.1 認識表達式 47
3.3.2 表達式中的類型轉換 47
3.4 判斷左值與右值 50
3.5 小結 51
3.6 實戰 51
3.6.1 招聘開始啦 51
3.6.2 貨車載物量 51
第4 章 位運算 52
視頻講解:10 分鐘
4.1 位與位元組 53
4.2 位運算操作符 53
4.2.1 “與”運算符 54
4.2.2 “或”運算符 55
4.2.3 “取反”運算符 56
4.2.4 “異或”運算符 57
4.2.5 “左移”運算符 59
4.2.6 “右移”運算符 61
4.3 循環移位 62
4.4 小結 65
4.5 實戰 65
4.5.1 加密數據 65
4.5.2 將自己身高數據右移 66
第5 章 條件判斷語句 67
視頻講解:1 小時37 分鐘
5.1 決策分支 68
5.2 判斷語句 69
5.2.1 第一種形式的判斷語句 69
5.2.2 第二種形式的判斷語句 71
5.2.3 第三種形式的判斷語句 72
5.3 使用條件運算符進行判斷 73
5.4 switch語句 74
5.5 判斷語句的嵌套 77
5.6 小結 78
5.7 實戰 78
5.7.1 模擬上班簽到場景 78
5.7.2 計程車計費問題 79
第6 章 循環語句 80
視頻講解:1 小時24 分鐘
6.1 while和do...while循環 81
6.1.1 while循環 81
6.1.2 do...while循環 83
6.2 for循環語句 84
6.2.1 for循環的一般形式 84
6.2.2 for循環的變體 87
6.3 循環控制 88
6.3.1 控制循環的變數 89
6.3.3 continue語句 91
6.4 循環的嵌套 92
6.5 小結 93
6.6 實戰 93
6.6.1 模擬自動售貨機 93
6.6.2 蝸牛爬井 94
第7 章 函式 95
視頻講解:2 小時41 分鐘
7.1 函式概述 96
7.1.1 函式的定義 96
7.1.2 函式的聲明 96
7.2 函式參數及返回值 98
7.2.1 空函式 98
7.2.2 形參與實參 98
7.2.3 默認參數 99
7.2.4 可變參數 100
7.2.5 返回值 101
7.3 函式調用 102
7.3.1 傳值調用 103
7.3.2 嵌套調用 105
7.3.3 遞歸調用 105
7.5 重載函式 109
7.6 內聯函式 110
7.7 小結 111
7.8 實戰 111