注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書教育/教材/教輔教材職業(yè)技術(shù)培訓教材C++程序設(shè)計(現(xiàn)代方法)

C++程序設(shè)計(現(xiàn)代方法)

C++程序設(shè)計(現(xiàn)代方法)

定 價:¥59.80

作 者: 白忠建
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115513731 出版時間: 2019-12-01 包裝:
開本: 16開 頁數(shù): 280 字數(shù):  

內(nèi)容簡介

  本書以C++ 1y標準為基準,詳細介紹了對象和面向?qū)ο蠹夹g(shù)的概念,并圍繞案例的求解,深入淺出地介紹了面向?qū)ο蠹夹g(shù)的4個核心思想(數(shù)據(jù)封裝、繼承、多態(tài)和泛型編程)在C++中的概念、實現(xiàn)機制和語法、編程方法等,其中包括類和對象、運算符重載、繼承和派生、虛函數(shù)和多態(tài)性、模板和泛型編程、流庫、多繼承、名字空間和異常處理,使讀者能夠循序漸進地掌握C++的語法以及面向?qū)ο蟪绦蛟O(shè)計的方法。

作者簡介

  白忠建 博士,碩士生導(dǎo)師,電子科技大學軟件與信息工程學院副教授,長期從事軟件工程、程序設(shè)計方面的教學與科研工作。先后擔任國家軟件人才國際培訓(成都)基地常務(wù)副主任、電子科技大學成都學院計算機系主任兼系黨總支書記等職務(wù)。

圖書目錄

第1章 引論 1
1.1 C++程序概貌 1
1.1.1 編寫第一個C++程序 2
1.1.2 程序釋義 3
1.2 面向?qū)ο蟮幕靖拍睢?
1.2.1 對象 5
1.2.2 面向?qū)ο蠓椒ǖ暮诵母拍睢?
1.2.3 面向?qū)ο蠓治?、設(shè)計和程序設(shè)計 8
第2章 C++:一個更好的C 10
2.1 基礎(chǔ)類型 10
2.1.1 增強的字面常量 10
2.1.2 bool類型 12
2.1.3 強類型枚舉 12
2.2 地址類型 14
2.2.1 指針類型 14
2.2.2 引用類型 16
2.3 類型自動推導(dǎo) 19
2.3.1 decltype關(guān)鍵字 19
2.3.2 auto關(guān)鍵字 20
2.4 運算符和表達式 20
2.4.1 C++特有的運算符 20
2.4.2 lambda表達式 23
2.5 控制結(jié)構(gòu)和語句 25
2.6 異常處理及語句 26
2.6.1 異常以及異常拋出 26
2.6.2 try…catch語句 26
2.7 函數(shù) 30
2.7.1 函數(shù)的類型 30
2.7.2 函數(shù)的參數(shù) 30
2.7.3 函數(shù)的返回值 33
2.7.4 函數(shù)重載 37
2.7.5 回調(diào)函數(shù) 38
2.8 復(fù)雜類型聲明的簡化 40
2.9 名字空間 41
2.9.1 名字空間的定義 42
2.9.2 using聲明和using指令 42
2.9.3 嵌套的名字空間 43
第3章 類:面向?qū)ο蟮幕?4
3.1 案例—鏈表的實現(xiàn) 44
3.1.1 案例及其實現(xiàn) 44
3.1.2 案例問題分析 49
3.2 類 49
3.2.1 定義類類型和類對象 49
3.2.2 訪問控制和數(shù)據(jù)封裝 56
3.2.3 類的靜態(tài)成員 60
3.2.4 struct和union 62
3.2.5 聚集與組合 62
3.3 類對象的構(gòu)造、初始化和析構(gòu) 63
3.3.1 類的構(gòu)造函數(shù) 64
3.3.2 構(gòu)造函數(shù)重載 67
3.3.3 統(tǒng)一初始化 69
3.3.4 析構(gòu)函數(shù) 70
3.3.5 默認和被刪除的成員函數(shù) 71
3.4 案例的完整解決方案 72
3.5 面向?qū)ο蠓椒ǖ膽?yīng)用 74
3.5.1 面向?qū)ο蠓治觥?5
3.5.2 面向?qū)ο笤O(shè)計 76
3.5.3 編碼實現(xiàn) 77
第4章 類的高級特性 80
4.1 案例—鏈表類的復(fù)制問題 80
4.1.1 案例及其實現(xiàn) 80
4.1.2 案例問題分析 84
4.2 復(fù)制控制 85
4.2.1 復(fù)制 85
4.2.2 賦值 86
4.2.3 淺復(fù)制和深復(fù)制 87
4.2.4 轉(zhuǎn)移對象和轉(zhuǎn)移語義 90
4.2.5 禁止復(fù)制 94
4.3 指向類成員的指針 95
4.4 友元 96
4.4.1 友元函數(shù)和友元類 96
4.4.2 友元關(guān)系的特性 98
4.5 類的const成員和mutable成員 99
4.5.1 類的const成員 99
4.5.2 類的mutable成員 100
4.6 類中的類型名 100
4.6.1 類中的類類型 100
4.6.2 類中的枚舉類型 101
4.6.3 類中的typedef和using 102
4.6.4 typename關(guān)鍵字 102
4.7 案例的完整解決方案 102
第5章 運算符重載 106
5.1 案例分析—complex類及
其常規(guī)運算 106
5.1.1 案例及其實現(xiàn) 106
5.1.2 案例問題分析 107
5.2 運算符函數(shù)重載 108
5.2.1 重載運算符函數(shù)的考慮因素 108
5.2.2 運算符函數(shù)重載的一般性規(guī)則 112
5.3 常用運算符的重載 114
5.3.1 重載賦值運算符 114
5.3.2 重載算術(shù)運算符 115
5.3.3 重載關(guān)系運算符 119
5.3.4 重載流式輸入運算符>>和
輸出<<運算符 119
5.4 類型轉(zhuǎn)換 121
5.4.1 標量類型向類類型轉(zhuǎn)換 121
5.4.2 類類型向標量類型轉(zhuǎn)換 122
5.4.3 類類型向類類型轉(zhuǎn)換 123
5.5 重載特殊運算符 124
5.5.1 下標運算符[] 125
5.5.2 指針運算符*和成員選擇
運算符?> 129
5.5.3 函數(shù)調(diào)用運算符() 132
第6章 繼承 135
6.1 案例—四邊形家族的類描述 135
6.1.1 案例及其實現(xiàn) 135
6.1.2 案例問題分析 137
6.2 繼承和派生 139
6.2.1 定義基類和派生類 139
6.2.2 繼承的實現(xiàn)機制 141
6.2.3 基類子對象的初始化 142
6.2.4 基類成員的繼承 144
6.2.5 重新定義基類成員 147
6.3 賦值兼容原則 148
6.3.1 派生類和基類對象間的賦值 148
6.3.2 引用作用于派生類和基類對象 148
6.3.3 指針作用于派生類和基類對象 149
6.4 多繼承 150
6.4.1 多繼承的語法 150
6.4.2 虛繼承和虛基類 151
6.4.3 多繼承面臨的其他問題 152
6.5 繼承的前提:正確的分類 153
6.5.1 案例—基于角色的分類 154
6.5.2 案例存在的問題 155
6.5.3 案例的改進方案 156
第7章 多態(tài) 159
7.1 案例分析—賦值兼容原則的
進一步應(yīng)用 159
7.1.1 案例及其實現(xiàn) 159
7.1.2 案例問題分析 160
7.2 多態(tài)的概念 161
7.2.1 靜態(tài)多態(tài)性 161
7.2.2 動態(tài)多態(tài)性 162
7.3 虛函數(shù):實現(xiàn)多態(tài)的關(guān)鍵 162
7.3.1 虛函數(shù)的聲明和覆蓋 162
7.3.2 虛函數(shù)的實現(xiàn)原理 167
7.3.3 虛析構(gòu)函數(shù) 169
7.4 純虛函數(shù)和抽象類 170
7.4.1 純虛函數(shù) 170
7.4.2 抽象類 171
第8章 模板 174
8.1 案例分析—類型帶來的困擾 174
8.1.1 案例的設(shè)計與實現(xiàn) 174
8.1.2 案例問題分析 178
8.2 變量模板 179
8.2.1 定義和使用變量模板 179
8.2.2 變量模板的特化 180
8.3 函數(shù)模板 181
8.3.1 定義和使用函數(shù)模板 181
8.3.2 函數(shù)模板的重載和特化 183
8.3.3 完美轉(zhuǎn)發(fā) 184
8.3.4 折疊表達式 185
8.4 類模板 187
8.4.1 定義和使用類模板 188
8.4.2 類模板的特化 191
8.4.3 類模板的友元 191
8.4.4 類模板的繼承和派生 192
8.4.5 類模板的變長模板參數(shù) 192
8.4.6 類模板性能的改進 194
8.5 模板的別名 196
8.6 traits技術(shù) 198
8.6.1 特性萃取 198
8.6.2 類型萃取 200
8.6.3 隨之而來的問題 202
8.7 模板元編程初探 204
8.7.1 模板遞歸 204
8.7.2 奇異遞歸模板模式 205
第9章 容器、迭代器和
泛型算法 207
9.1 案例分析—鏈表類的遍歷 207
9.1.1 案例的設(shè)計與實現(xiàn) 208
9.1.2 案例問題分析 209
9.2 容器的迭代器 210
9.2.1 迭代器的結(jié)構(gòu)設(shè)計 210
9.2.2 迭代器的實現(xiàn) 211
9.3 泛型算法 217
9.3.1 只用到迭代器的泛型算法 217
9.3.2 帶更多參數(shù)的泛型算法 218
9.3.3 只讀算法和寫算法 220
9.3.4 泛型算法返回值類型的考慮 221
9.3.5 iterator traits 222
9.4 C++標準模板庫STL 224
9.4.1 C++的標準容器類 224
9.4.2 C++的標準泛型算法和
可調(diào)用對象 224
9.4.3 C++的標準iterator庫 225
第10章 多線程 226
10.1 案例分析—順序執(zhí)行的局限 226
10.1.1 案例的設(shè)計與實現(xiàn) 226
10.1.2 案例問題分析 226
10.2 關(guān)鍵概念 227
10.2.1 異步 227
10.2.2 進程和線程 227
10.2.3 共享和互斥 228
10.2.4 鎖和死鎖 228
10.3 C++的多線程庫 229
10.3.1 頭文件 229
10.3.2 頭文件 232
10.3.3 頭文件 234
10.3.4 頭文件 236
10.4 多線程編程示例 239
10.4.1 系統(tǒng)簡要分析 239
10.4.2 系統(tǒng)設(shè)計 240
10.4.3 系統(tǒng)實現(xiàn) 241
第11章 面向?qū)ο笤O(shè)計的原則 244
11.1 單一職責原則 244
11.2 開閉原則 247
11.3 聚集與組合復(fù)用原則 248
11.4 里氏替換原則 248
11.5 依賴倒置原則 249
11.6 接口隔離原則 251
11.7 最少知識原則 252
第12章 C++程序設(shè)計案例 257
12.1 案例描述 257
12.2 系統(tǒng)分析 258
12.2.1 MVC設(shè)計模式
簡介 258
12.2.2 系統(tǒng)的用例模型 259
12.3 系統(tǒng)設(shè)計 259
12.3.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計 259
12.3.2 對象設(shè)計 260
12.3.3 用戶界面設(shè)計 263
12.4 系統(tǒng)實現(xiàn) 263
附錄A C++關(guān)鍵字 274
附錄B 常用運算符的優(yōu)先級和
結(jié)合性 275
附錄C 使用不同的C++編譯器 276
C.1 使用GNU GCC for Linux 276
C.2 使用MinGW 277
C.3 使用Visual Studio 2017(VS 2017) 277
C.4 使用Clang 278
參考文獻 280

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號