气冲斗牛的意思
首頁 > 圖書中心 > 圖書詳情

C++面向對象程序設計

作者:王桃發

定價:33.80

ISBN:978-7-5609-8549-7

圖書開本:16

出版日期:2013-02-01

分享到

內容簡介

本書共分9章。第1章主要介紹C++在非面向對象方面的擴展。第2章、第3章、第4章主要介紹代碼重用技術——繼承,內容涉及類本身管理函數、類聚合與包含、對象內存模型、子類與基類之間的特殊關系、派生類對象構建和析構過程、對象兼容性和多繼承、多態性概念、虛函數、純虛函數、抽象類、支持虛擬機制類對象內存模型等內容。第5章、第6章、第7章介紹代碼重用的另外一種技術——模板技術。第5章介紹函數模板和類模板,內容主要涉及模板重載、特化、部分特化、非類型化參數等技術細節。第6章主要介紹運算符重載,即重載為全局運算符或類成員函數或類友元函數,并列舉常用運算符重載例子。第7章介紹一種重要的編程技術——標準模板庫,內容主要涉及迭代器、容器、適配器、函數對象、算法、存儲分配器等內容。第8章主要介紹異常處理,內容主要涉及C++異常處理原則、C++異常類型匹配規則、C++異常處理堆棧解退,同時還介紹RTTI(運行時類型標識)對異常處理的支持。第9章介紹C++對I/O的支持,內容主要涉及流、數據格式、預定義流對象、格式控制、文件操作和內存格式化。
本書既可以作為本科生面向對象程序設計的教材,也是程序員理想的參考書。

相關資源

作者介紹

書籍目錄

第1章  面向對象程序設計與C++ 1
1.1  面向對象程序設計簡介 1
1.1.1  從面向過程到面向對象 1
1.1.2  面向對象程序設計基本概念 2
1.1.3  幾種典型的面向對象程序設計語言 6
1.2  C++語言 7
1.2.1  C++語言的演變過程 7
1.2.2  C++語言的特點 8
1.2.3  C++編程工具 8
1.3  一個簡單的C++程序 12
1.4  C++在非面向對象方面的擴展 13
1.4.1  C++的輸入/輸出功能 13
1.4.2  內聯函數 14
1.4.3  函數原型與函數重載 15
1.4.4  名稱空間與作用域運算符 17
1.4.5  引用 20
1.4.6  運算符new和delete 22
1.4.7  靈活的局部變量說明 25
1.4.8  const修飾符 26
1.4.9  注釋行 27
本章小結 28
練習 28
第2章  類與對象 32
2.1  簡單的類及對象 32
2.2  類定義注意事項 33
2.3  類成員函數定義的具體實現 34
2.4  類構造函數和析構函數的特點 35
2.5  拷貝構造函數與深拷貝 39
2.6  const成員函數 42
2.7  this指針 43
2.8  類的static屬性與static方法 44
2.9  賦值運算符(=)重載 47
2.10  友元 48
2.11  C++結構 50
2.12  類的包含與聚合 51
2.13  對象存儲持續性 56
2.14  類的其他應用 58
2.15  對象內存模型 64
2.16  類封裝實例 65
本章小結 68
練習 68
第3章  繼承 76
3.1  繼承的思想 76
3.2  派生類和基類之間的特殊關系 77
3.2.1  is_a關系 77
3.2.2  C++繼承的語法規則 78
3.2.3  派生類構造函數 78
3.2.4  派生類析構函數 78
3.2.5  訪問基類private成員 78
3.2.6  繼承的例子 79
3.2.7  錯誤繼承的例子 80
3.3  C++中三種繼承方式及派生類中訪問控制規則 81
3.4  派生類對象內存模型分析 82
3.5  派生類對象的構造過程和析構過程 82
3.6  跨類的同名成員 85
3.7  基類對象與派生類對象之間的賦值兼容性問題與類型轉換 86
3.8  多繼承 90
3.8.1  非虛擬基類多繼承 90
3.8.2  非虛擬基類多繼承派生類的構造函數和析構函數 91
3.8.3  如何訪問多個來自同一個共同基類的不同子對象 94
3.8.4  虛擬基類多繼承 94
3.8.5  虛擬基類多繼承派生類的構造函數和析構函數 95
3.9  繼承綜合應用實例 97
練習 101
第4章  多態性 107
4.1  重載和隱藏 107
4.2  多態性 108
4.3  多態性實現 111
4.4  virtual析構函數 114
4.5  純虛函數和抽象類 116
4.6  抽象類的接口功能 118
4.7  支持虛擬機制類對象的內存模型 121
4.8  微軟MFC簡介(選讀) 121
4.8.1  MFC介紹 122
4.8.2  CObject根類 122
4.8.3  MFC中重要的類 124
本章小結 125
練習 125
第5章  模板技術 131
5.1  函數模板 131
5.2  使用函數模板 133
5.2.1  函數模板的特點 133
5.2.2  函數模板類型化參數與函數模板非類型化參數 133
5.2.3  函數模板重載 134
5.2.4  函數模板特化 136
5.2.5  函數模板實例化 138
5.2.6  編譯器選擇函數版本策略 138
5.3  類模板與模板實例化 139
5.4  使用類模板 140
5.4.1  類模板完全特化 140
5.4.2  部分特化類模板與非類型化參數 142
5.4.3  類模板顯式實例化 145
5.4.4  將模板作為參數 146
5.4.5  編譯器選擇類的策略 149
本章小結 149
練習 150
第6章  運算符重載 154
6.1  運算符重載基本概念 154
6.2  重載為全局運算符或類成員運算符或類友元函數 155
6.3  運算符重載注意事項 157
6.4  運算符重載舉例 160
本章小結 167
練習 167
第7章  標準模板庫STL 171
7.1  嵌套類 171
7.2  STL 172
7.3  通用編程技術 173
7.3.1  迭代器 173
7.3.2  迭代器類型 177
7.3.3  適配器 177
7.3.4  容器概念 177
7.3.5  容器類型 178
7.3.6  函數對象 185
7.3.7  算法 187
7.3.8  存儲分配器 188
7.3.9  空容器和string類 188
本章小結 192
練習 192
第8章  異常與RTTI 196
8.1  傳統異常處理的方法 196
8.1.1  傳統異常處理 196
8.1.2  傳統異常處理方式的缺點 197
8.2  C++異常處理 198
8.2.1  C++異常的原則 198
8.2.2  C++異常處理 198
8.2.3  C++異常的類型匹配規則 202
8.2.4  C++異常處理如何解決堆棧解退 202
8.2.5  C++標準異常 207
8.3  RTTI 208
8.3.1  什么是RTTI 208
8.3.2  RTTI對C++異常機制的支持 211
8.3.3  支持RTTI的類的對象內存模型 211
本章小結 214
練習 214
第9章  C++ I/O操作 218
9.1  C++ I/O系統概念 218
9.1.1  從C I/O到C++ I/O 218
9.1.2  關于流 218
9.1.3  數據格式與轉換 219
9.2  C++ I/O系統 220
9.2.1  C++ I/O流類庫結構 220
9.2.2  預定義的流對象與重載>>、<<運算符 221
9.2.3  針對無格式的成員函數 224
9.2.4  C++ I/O格式控制(函數與操作符) 229
9.3  文件I/O操作 237
9.3.1  文件概述 237
9.3.2  文件的打開和關閉 237
9.3.3  文件讀/寫 241
9.3.4  隨機存取 246
9.3.5  內存格式化 248
本章小結 249
練習 249
附錄A  C++關鍵字 253
附錄B  UML類圖 254
B.1  UML簡介 254
B.2  UML類圖 254
B.3  常見免費UML建模工具 256
參考文獻 258
 

气冲斗牛的意思 1336579607644111113507737097383205331945652940035089215959675790576489985034117473774318217642791927 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();