本書實際是一本基礎知識和項目相結合的教科書,但是為了符合一般讀者的學習和思維習慣,所以采用傳統章節組織方式和內容安排。它從C++編程規范出發,引入設計模式和項目設計。遵循讀者認知規律,以循序漸進、由淺入深的講解方式,使讀者在C++基礎知識、基本方法、基本技能、項目設計、編程規范等方面奠定一定基礎。
全書共分13章,各章均配有練習、項目設計,項目的全部代碼放在資料中,旨在突出主題,知識系統。
本書可作高等院校的C++編程教材,尤其可作為項目式教學的教材,也可作二級C++考試、自學考試參考資料。本書封面貼有清華大學出版社防偽標簽,無標簽者不得銷售。
1. 依據標準:根據C++2011標準_ISO_IEC-14882-2011編寫。
2. 內容取舍:覆蓋二級、自考大綱要求的知識點。
3. 實用案例:通過登錄與注冊案例,將課堂教學與企業文化結合起來,兩者相輔相成,在 學中用,在用中學。
4. 描述工具:采用統一建模語言UML和語法圖進行描述。
5. 編碼規范:采用Google C++編程規范。
第1章C++語言基礎1
1.1面向對象的特征1
1.1.1什么是面向對象1
1.1.2C++面向對象的特征2
1.2C++應用程序的組成3
1.2.1頭文件3
1.2.2實現文件6
1.2.3C++程序的內存空間分配12
1.3C++程序的基本框架13
1.4C++程序的開發15
1.5語法格式中符號的約定17
1.6C++語言的詞匯18
1.7C++輸入與輸出簡介21
1.8注釋25
本章小結26
本章實踐26
第2章數據類型與表達式28
2.1數據類型28
2.1.1數據類型28
2.1.2變量定義和符號常量30
2.1.3整型數據35
2.1.4浮點型37
2.1.5邏輯型39
2.1.6字符型與字符串39
2.1.7空值型42
2.2操作符與表達式42
2.2.1操作符422.2.2算術操作符與表達式43
2.2.3逗號操作符與表達式49
2.2.4sizeof操作符與表達式50
2.2.5圓括號操作符50
2.2.6操作符的優先級與結合性51
本章小結54
本章實踐55
第3章順序結構56
3.1基本控制結構56
3.2賦值表達式58
3.3語句61
本章小結64
本章實踐64
第4章分支結構66
4.1關系表達式66
4.2邏輯表達式67
4.3位表達式69
4.4基本if語句72
4.5if…else語句74
4.6if語句的嵌套75
4.7條件表達式78
4.8switch語句79
本章小結83
本章實踐84
第5章循環結構86
5.1循環概述86
5.2while語句86
5.3do…while語句90
5.4for語句91
5.5三種循環的比較與循環嵌套94
5.6跳轉語句96
本章小結101
本章實踐101
第6章函數104
6.1函數定義104
6.1.1函數定義的格式104
6.1.2編寫函數的規范110
6.2函數調用113
6.2.1函數調用格式113
6.2.2函數參數傳遞117
6.3變量的使用方式123
6.3.1全局變量和局部變量123
6.3.2變量的存儲類別125
6.3.3作用域與生存期130
6.4內部函數與外部函數133
6.5函數重載與遞歸函數134
6.5.1函數重載134
6.5.2遞歸函數136
6.6內聯函數138
本章小結139
本章實踐140
第7章數組143
7.1一維數組143
7.2二維數組149
7.3多維數組155
7.4字符數組156
7.5main函數的參數164
本章小結165
本章實踐166
第8章指針與引用168
8.1指針變量168
8.2指針和數組175
8.3結構體與指針182
8.4函數與指針185
8.5常量與指針189
8.6引用192
本章小結197
本章實踐199
第9章類和對象202
9.1類與對象202
9.2構造函數和析構函數223
9.2.1構造函數與默認構造函數223
9.2.2析構函數231
9.2.3復制構造函數235
9.3靜態成員242
9.4常成員248
9.5友元258
9.6對象的應用260
9.6.1成員對象260
9.6.2指向類成員的指針260
9.6.3對象數組261
9.6.4對象指針262
本章小結263
本章實踐264
第10章繼承和派生268
10.1繼承與派生268
10.2派生類對基類的成員的訪問273
10.3派生類的構造函數和析構函數278
10.4多繼承與虛基類285
10.4.1多繼承285
10.4.2虛繼承與虛基類291
10.5虛函數與抽象類296
10.5.1虛函數296
10.5.2純虛函數306
10.5.3抽象類307
本章小結309
本章實踐311
第11章運算符重載313
11.1運算符的重載313
11.1.1運算符重載的定義313
11.1.2運算符重載遵循的規則314
11.1.3運算符重載的形式316
11.1.4一些說明323
11.2典型運算符的重載324
11.2.1一元運算符重載324
11.2.2二元運算符重載329
11.2.3重載類型轉換符330
11.2.4重載C++流運算符332
本章小結333
本章實踐333
第12章模板337
12.1函數模板337
12.1.1函數模板聲明337
12.1.2模板函數341
12.1.3函數模板的調用342
12.1.4非類型參數344
12.1.5函數模板的重載345
12.1.6變長模板347
12.2類模板348
12.2.1類模板的聲明與定義348
12.2.2類模板的實例化357
本章小結361
本章實踐362
第13章輸入輸出流364
13.1C++流的概念364
13.1.1文件的基本概念364
13.1.2C++的流365
13.1.3文件操作的一般步驟366
13.2C++文件流366
13.2.1文件流的建立367
13.2.2文件流的定位371
13.2.3讀寫文件374
13.2.4格式輸入輸出379
本章小結387
本章實踐388
參考文獻390