資源簡介
本書作者根據自己學習C++的親身體會及多年教學經驗,用簡單的例子和簡練的敘述講解C++編程,別具特色。
全書共分十八章,內容涉及對象的演化、數據抽象、隱藏實現、初始化與清除、函數重載與缺省參數、輸入輸出流介紹、常量、內聯函數、命名控制、引用和拷貝構造函數、運算符重載、動態對象創建、繼承和組合、多態和虛函數、模板和包容器類、多重繼承、異常處理和運行時類型識別。
本書作為正式教材和自學用書均非常優秀,作為程序設計者的參考用書亦極為合適。
目 錄
譯者序
前言
第1章 對象的演化 1
1.1 基本概念 1
1.1.1 對象:特性+行為 1
1.1.2 繼承:類型關系 1
1.1.3 多態性 2
1.1.4 操作概念:OOP程序像什么 3
1.2 為什么C++會成功 3
1.2.1 較好的C 3
1.2.2 采用漸進的學習方式 4
1.2.3 運行效率 4
1.2.4 系統更容易表達和理解 4
1.2.5 “庫”使你事半功倍 4
1.2.6 錯誤處理 5
1.2.7 大程序設計 5
1.3 方法學介紹 5
1.3.1 復雜性 5
1.3.2 內部原則 6
1.3.3 外部原則 7
1.3.4 對象設計的五個階段 9
1.3.5 方法承諾什么 10
1.3.6 方法應當提供什么 10
1.4 起草:最小的方法 12
1.4.1 前提 13
1.4.2 高概念 14
1.4.3 論述(treatment) 14
1.4.4 結構化 14
1.4.5 開發 16
1.4.6 重寫 17
1.4.7 邏輯 17
1.5 其他方法 17
1.5.1 Booch 18
1.5.2 責任驅動的設計(RDD) 19
1.5.3 對象建模技術(OMT) 19
1.6 為向OOP轉變而采取的策略 19
1.6.1 逐步進入OOP 19
1.6.2 管理障礙 20
1.7 小結 21
第2章 數據抽象 22
2.1 聲明與定義 22
2.2 一個袖珍C庫 23
2.3 放在一起:項目創建工具 29
2.4 什么是非正常 29
2.5 基本對象 30
2.6 什么是對象 34
2.7 抽象數據類型 35
2.8 對象細節 35
2.9 頭文件形式 36
2.10 嵌套結構 37
2.11 小結 41
2.12 練習 41
第3章 隱藏實現 42
3.1 設置限制 42
3.2 C++的存取控制 42
3.3 友元 44
3.3.1 嵌套友元 45
3.3.2 它是純的嗎 48
3.4 對象布局 48
3.5 類 48
3.5.1 用存取控制來修改stash 50
3.5.2 用存取控制來修改stack 51
3.6 句柄類(handle classes) 51
3.6.1 可見的實現部分 51
3.6.2 減少重復編譯 52
3.7 小結 54
3.8 練習 54
第4章 初始化與清除 55
4.1 用構造函數確保初始化 55
4.2 用析構函數確保清除 56
4.3 清除定義塊 58
4.3.1 for循環 59
4.3.2 空間分配 60
4.4 含有構造函數和析構函數的stash 61
4.5 含有構造函數和析構函數的stack 63
4.6 集合初始化 65
4.7 缺省構造函數 67
4.8 小結 68
4.9 練習 68
第5章 函數重載與缺省參數 69
5.1 范圍分解 69
5.1.1 用返回值重載 70
5.1.2 安全類型連接 70
5.2 重載的例子 71
5.3 缺省參數 74
5.4 小結 81
5.5 練習 82
第6章 輸入輸出流介紹 83
6.1 為什么要用輸入輸出流 83
6.2 解決輸入輸出流問題 86
6.2.1 預先了解操作符重載 86
6.2.2 插入符與提取符 87
6.2.3 通常用法 88
6.2.4 面向行的輸入 90
6.3 文件輸入輸出流 91
6.4 輸入輸出流緩沖 93
6.5 在輸入輸出流中查找 94
6.6 strstreams 96
6.6.1 為用戶分配的存儲 96
6.6.2 自動存儲分配 98
6.7 輸出流格式化 100
6.7.1 內部格式化數據 101
6.7.2 例子 102
6.8 格式化操縱算子 106
6.9 建立操縱算子 108
6.10 輸入輸出流實例 111
6.10.1 代碼生成 111
6.10.2 一個簡單的數據記錄 117
6.11 小結 123
6.12 練習 123
第7章 常量 124
7.1 值替代 124
7.1.1 頭文件里的const 124
7.1.2 const的安全性 125
7.1.3 集合 126
7.1.4 與C語言的區別 126
7.2 指針 127
7.2.1 指向const的指針 127
7.2.2 const指針 127
7.2.3 賦值和類型檢查 128
7.3 函數參數和返回值 128
7.3.1 傳遞const值 128
7.3.2 返回const值 129
7.3.3 傳遞和返回地址 131
7.4 類 133
7.4.1 類里的const和enum 133
7.4.2 編譯期間類里的常量 134
7.4.3 const對象和成員函數 136
7.4.4 只讀存儲能力 139
7.5 可變的(volatile) 140
7.6 小結 141
7.7 練習 141
第8章 內聯函數 142
8.1 預處理器的缺陷 142
8.2 內聯函數 144
8.2.1 類內部的內聯函數 145
8.2.2 存取函數 146
8.3 內聯函數和編譯器 150
8.3.1 局限性 150
8.3.2 賦值順序 150
8.3.3 在構造函數和析構函數里隱藏行為 151
8.4 減少混亂 152
8.5 預處理器的特點 153
8.6 改進的錯誤檢查 154
8.7 小結 155
8.8 練習 155
第9章 命名控制 157
9.1 來自C語言中的靜態成員 157
9.1.1 函數內部的靜態變量 157
9.1.2 控制連接 160
9.1.3 其他的存儲類型指定符 161
9.2 名字空間 161
9.2.1 產生一個名字空間 162
9.2.2 使用名字空間 163
9.3 C++中的靜態成員 166
9.3.1 定義靜態數據成員的存儲 166
9.3.2 嵌套類和局部類 168
9.3.3 靜態成員函數 169
9.4 靜態初始化的依賴因素 171
9.5 轉換連接指定 174
9.6 小結 174
9.7 練習 174
第10章 引用和拷貝構造函數 176
10.1 C++中的指針 176
10.2 C++中的引用 176
10.2.1 函數中的引用 177
10.2.2 參數傳遞準則 178
10.3 拷貝構造函數 179
10.3.1 傳值方式傳遞和返回 179
10.3.2 拷貝構造函數 182
10.3.3 缺省拷貝構造函數 187
10.3.4 拷貝構造函數方法的選擇 188
10.4 指向成員的指針
全書共分十八章,內容涉及對象的演化、數據抽象、隱藏實現、初始化與清除、函數重載與缺省參數、輸入輸出流介紹、常量、內聯函數、命名控制、引用和拷貝構造函數、運算符重載、動態對象創建、繼承和組合、多態和虛函數、模板和包容器類、多重繼承、異常處理和運行時類型識別。
本書作為正式教材和自學用書均非常優秀,作為程序設計者的參考用書亦極為合適。
目 錄
譯者序
前言
第1章 對象的演化 1
1.1 基本概念 1
1.1.1 對象:特性+行為 1
1.1.2 繼承:類型關系 1
1.1.3 多態性 2
1.1.4 操作概念:OOP程序像什么 3
1.2 為什么C++會成功 3
1.2.1 較好的C 3
1.2.2 采用漸進的學習方式 4
1.2.3 運行效率 4
1.2.4 系統更容易表達和理解 4
1.2.5 “庫”使你事半功倍 4
1.2.6 錯誤處理 5
1.2.7 大程序設計 5
1.3 方法學介紹 5
1.3.1 復雜性 5
1.3.2 內部原則 6
1.3.3 外部原則 7
1.3.4 對象設計的五個階段 9
1.3.5 方法承諾什么 10
1.3.6 方法應當提供什么 10
1.4 起草:最小的方法 12
1.4.1 前提 13
1.4.2 高概念 14
1.4.3 論述(treatment) 14
1.4.4 結構化 14
1.4.5 開發 16
1.4.6 重寫 17
1.4.7 邏輯 17
1.5 其他方法 17
1.5.1 Booch 18
1.5.2 責任驅動的設計(RDD) 19
1.5.3 對象建模技術(OMT) 19
1.6 為向OOP轉變而采取的策略 19
1.6.1 逐步進入OOP 19
1.6.2 管理障礙 20
1.7 小結 21
第2章 數據抽象 22
2.1 聲明與定義 22
2.2 一個袖珍C庫 23
2.3 放在一起:項目創建工具 29
2.4 什么是非正常 29
2.5 基本對象 30
2.6 什么是對象 34
2.7 抽象數據類型 35
2.8 對象細節 35
2.9 頭文件形式 36
2.10 嵌套結構 37
2.11 小結 41
2.12 練習 41
第3章 隱藏實現 42
3.1 設置限制 42
3.2 C++的存取控制 42
3.3 友元 44
3.3.1 嵌套友元 45
3.3.2 它是純的嗎 48
3.4 對象布局 48
3.5 類 48
3.5.1 用存取控制來修改stash 50
3.5.2 用存取控制來修改stack 51
3.6 句柄類(handle classes) 51
3.6.1 可見的實現部分 51
3.6.2 減少重復編譯 52
3.7 小結 54
3.8 練習 54
第4章 初始化與清除 55
4.1 用構造函數確保初始化 55
4.2 用析構函數確保清除 56
4.3 清除定義塊 58
4.3.1 for循環 59
4.3.2 空間分配 60
4.4 含有構造函數和析構函數的stash 61
4.5 含有構造函數和析構函數的stack 63
4.6 集合初始化 65
4.7 缺省構造函數 67
4.8 小結 68
4.9 練習 68
第5章 函數重載與缺省參數 69
5.1 范圍分解 69
5.1.1 用返回值重載 70
5.1.2 安全類型連接 70
5.2 重載的例子 71
5.3 缺省參數 74
5.4 小結 81
5.5 練習 82
第6章 輸入輸出流介紹 83
6.1 為什么要用輸入輸出流 83
6.2 解決輸入輸出流問題 86
6.2.1 預先了解操作符重載 86
6.2.2 插入符與提取符 87
6.2.3 通常用法 88
6.2.4 面向行的輸入 90
6.3 文件輸入輸出流 91
6.4 輸入輸出流緩沖 93
6.5 在輸入輸出流中查找 94
6.6 strstreams 96
6.6.1 為用戶分配的存儲 96
6.6.2 自動存儲分配 98
6.7 輸出流格式化 100
6.7.1 內部格式化數據 101
6.7.2 例子 102
6.8 格式化操縱算子 106
6.9 建立操縱算子 108
6.10 輸入輸出流實例 111
6.10.1 代碼生成 111
6.10.2 一個簡單的數據記錄 117
6.11 小結 123
6.12 練習 123
第7章 常量 124
7.1 值替代 124
7.1.1 頭文件里的const 124
7.1.2 const的安全性 125
7.1.3 集合 126
7.1.4 與C語言的區別 126
7.2 指針 127
7.2.1 指向const的指針 127
7.2.2 const指針 127
7.2.3 賦值和類型檢查 128
7.3 函數參數和返回值 128
7.3.1 傳遞const值 128
7.3.2 返回const值 129
7.3.3 傳遞和返回地址 131
7.4 類 133
7.4.1 類里的const和enum 133
7.4.2 編譯期間類里的常量 134
7.4.3 const對象和成員函數 136
7.4.4 只讀存儲能力 139
7.5 可變的(volatile) 140
7.6 小結 141
7.7 練習 141
第8章 內聯函數 142
8.1 預處理器的缺陷 142
8.2 內聯函數 144
8.2.1 類內部的內聯函數 145
8.2.2 存取函數 146
8.3 內聯函數和編譯器 150
8.3.1 局限性 150
8.3.2 賦值順序 150
8.3.3 在構造函數和析構函數里隱藏行為 151
8.4 減少混亂 152
8.5 預處理器的特點 153
8.6 改進的錯誤檢查 154
8.7 小結 155
8.8 練習 155
第9章 命名控制 157
9.1 來自C語言中的靜態成員 157
9.1.1 函數內部的靜態變量 157
9.1.2 控制連接 160
9.1.3 其他的存儲類型指定符 161
9.2 名字空間 161
9.2.1 產生一個名字空間 162
9.2.2 使用名字空間 163
9.3 C++中的靜態成員 166
9.3.1 定義靜態數據成員的存儲 166
9.3.2 嵌套類和局部類 168
9.3.3 靜態成員函數 169
9.4 靜態初始化的依賴因素 171
9.5 轉換連接指定 174
9.6 小結 174
9.7 練習 174
第10章 引用和拷貝構造函數 176
10.1 C++中的指針 176
10.2 C++中的引用 176
10.2.1 函數中的引用 177
10.2.2 參數傳遞準則 178
10.3 拷貝構造函數 179
10.3.1 傳值方式傳遞和返回 179
10.3.2 拷貝構造函數 182
10.3.3 缺省拷貝構造函數 187
10.3.4 拷貝構造函數方法的選擇 188
10.4 指向成員的指針
代碼片段和文件信息
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-07-02?18:55??Thinking?C++?中文版\
?????文件??????573149??2002-09-04?00:00??Thinking?C++?中文版\01.pdf
?????文件??????703542??2002-09-04?00:00??Thinking?C++?中文版\02.pdf
?????文件??????456729??2002-09-04?00:00??Thinking?C++?中文版\03.pdf
?????文件??????487539??2002-09-04?00:00??Thinking?C++?中文版\04.pdf
?????文件??????495426??2002-09-04?00:00??Thinking?C++?中文版\05.pdf
?????文件?????1533344??2002-09-04?00:00??Thinking?C++?中文版\06.pdf
?????文件??????636275??2002-09-04?00:00??Thinking?C++?中文版\07.pdf
?????文件??????520560??2002-09-04?00:00??Thinking?C++?中文版\08.pdf
?????文件??????640092??2002-09-04?00:00??Thinking?C++?中文版\09.pdf
?????文件??????621943??2002-09-04?00:00??Thinking?C++?中文版\10.pdf
?????文件?????1539005??2002-09-04?00:00??Thinking?C++?中文版\11.pdf
?????文件??????762411??2002-09-04?00:00??Thinking?C++?中文版\12.pdf
?????文件??????667880??2002-09-04?00:00??Thinking?C++?中文版\13.pdf
?????文件??????743835??2002-09-04?00:00??Thinking?C++?中文版\14.pdf
?????文件?????1711636??2002-09-04?00:00??Thinking?C++?中文版\15.pdf
?????文件??????750555??2002-09-04?00:00??Thinking?C++?中文版\16.pdf
?????文件??????739593??2002-09-04?00:00??Thinking?C++?中文版\17.pdf
?????文件??????848373??2002-09-04?00:00??Thinking?C++?中文版\18.pdf
?????文件??????187925??2002-09-04?00:00??Thinking?C++?中文版\19.pdf
?????文件??????165206??2002-09-04?00:00??Thinking?C++?中文版\20.pdf
?????文件??????256854??2002-09-04?00:00??Thinking?C++?中文版\21.pdf
?????文件?????????442??2002-09-04?00:00??Thinking?C++?中文版\內容簡介.txt
?????文件????????4168??2002-09-04?00:00??Thinking?C++?中文版\目錄.txt
-----------?---------??----------?-----??----
?????目錄???????????0??2011-07-02?18:55??Thinking?C++?中文版\
?????文件??????573149??2002-09-04?00:00??Thinking?C++?中文版\01.pdf
?????文件??????703542??2002-09-04?00:00??Thinking?C++?中文版\02.pdf
?????文件??????456729??2002-09-04?00:00??Thinking?C++?中文版\03.pdf
?????文件??????487539??2002-09-04?00:00??Thinking?C++?中文版\04.pdf
?????文件??????495426??2002-09-04?00:00??Thinking?C++?中文版\05.pdf
?????文件?????1533344??2002-09-04?00:00??Thinking?C++?中文版\06.pdf
?????文件??????636275??2002-09-04?00:00??Thinking?C++?中文版\07.pdf
?????文件??????520560??2002-09-04?00:00??Thinking?C++?中文版\08.pdf
?????文件??????640092??2002-09-04?00:00??Thinking?C++?中文版\09.pdf
?????文件??????621943??2002-09-04?00:00??Thinking?C++?中文版\10.pdf
?????文件?????1539005??2002-09-04?00:00??Thinking?C++?中文版\11.pdf
?????文件??????762411??2002-09-04?00:00??Thinking?C++?中文版\12.pdf
?????文件??????667880??2002-09-04?00:00??Thinking?C++?中文版\13.pdf
?????文件??????743835??2002-09-04?00:00??Thinking?C++?中文版\14.pdf
?????文件?????1711636??2002-09-04?00:00??Thinking?C++?中文版\15.pdf
?????文件??????750555??2002-09-04?00:00??Thinking?C++?中文版\16.pdf
?????文件??????739593??2002-09-04?00:00??Thinking?C++?中文版\17.pdf
?????文件??????848373??2002-09-04?00:00??Thinking?C++?中文版\18.pdf
?????文件??????187925??2002-09-04?00:00??Thinking?C++?中文版\19.pdf
?????文件??????165206??2002-09-04?00:00??Thinking?C++?中文版\20.pdf
?????文件??????256854??2002-09-04?00:00??Thinking?C++?中文版\21.pdf
?????文件?????????442??2002-09-04?00:00??Thinking?C++?中文版\內容簡介.txt
?????文件????????4168??2002-09-04?00:00??Thinking?C++?中文版\目錄.txt
- 上一篇:c++語言寫的計算器(源碼)
- 下一篇:TC運行環境
評論
共有 條評論