發表於2024-11-22
第1章 計算機和C++簡介
1.1簡介
1.2計算機和互聯網在工業和研究領域中的應用
1.3硬件和軟件
1.4數據的層次結構
1.5機器語言、 匯編語言和高級語言
1.6 C++
1.7程序設計語言
1.8對象技術介紹
1.9典型的C++程序開發環境
1.10試運行一個C++應用程序
1.11操作係統
1.12互聯網和萬維網
1.13軟件開發的一些關鍵術語
1.14 C++11和開源的Boost庫
1.15與信息技術與時俱進
1.16 Web資源
第2章 C++編程入門、 輸入/輸齣和運算符
2.1簡介
2.2第一個C++程序: 輸齣一行文本
2.3修改第一個C++程序
2.4另一個C++程序: 整數相加
2.5內存的概念
2.6算術運算
2.7判斷: 相等運算符和關係運算符
2.8本章小結
第3章 類、 對象和字符串的介紹
3.1簡介
3.2定義具有成員函數的類
3.3定義具有形參的成員函數
3.4數據成員、 set成員函數和get成員函數
3.5使用構造函數初始化對象
3.6一個類對應一個獨立文件的可復用性
3.7接口與實現的分離
3.8用set函數確認數據的有效性
3.9本章小結
第4章 控製語句(第I部分)、 賦值、 自增和自減運算符
4.1簡介
4.2算法
4.3僞代碼
4.4控製結構
4.5 if選擇語句
4.6 if...else雙路選擇語句
4.7 while循環語句
4.8算法詳述: 計數器控製的循環
4.9算法詳述: 標記控製的循環
4.10算法詳述: 嵌套的控製語句
4.11賦值運算符
4.12自增和自減運算符
4.13本章小結
第5章 控製語句(第II部分)和邏輯運算符
5.1簡介
5.2計數器控製的循環的要素
5.3 for循環語句
5.4使用for語句的例子
5.5 do...while循環語句
5.6 switch多路選擇語句
5.7 break和continue語句
5.8邏輯運算符
5.9 ==運算符與=運算符的混淆問題
5.10結構化編程小結
5.11本章小結
第6章 函數和遞歸入門
6.1簡介
6.2 C++的程序組件
6.3數學庫函數
6.4具有多個形參的函數定義
6.5函數原型和實參類型的強製轉換
6.6C++標準庫頭文件
6.7實例研究: 隨機數生成
6.8實例研究: 博彩遊戲和枚舉類型簡介
6.9C++11的隨機數
6.10存儲類彆和存儲期
6.11作用域規則
6.12函數調用堆棧和活動記錄
6.13無形參的函數
6.14內聯函數
6.15引用和引用形參
6.16默認實參
6.17一元的作用域分辨運算符
6.18函數重載
6.19函數模闆
6.20遞歸
6.21遞歸應用示例: Fibonacci數列
6.22遞歸與迭代
6.23本章小結
第7章 類模闆array和vector、 異常捕獲
7.1簡介
7.2 array對象
7.3 array對象的聲明
7.4使用array對象的例子
7.5基於範圍的for語句
7.6實例研究: 利用array對象存放成績的GradeBook類
7.7 array對象的排序與查找
7.8多維array對象
7.9實例研究: 利用二維array對象的GradeBook類
7.10 C++標準庫類模闆vector的介紹
7.11本章小結
第8章 指針
8.1簡介
8.2指針變量的聲明和初始化
8.3指針運算符
8.4使用指針的按引用傳遞方式
8.5內置數組
8.6使用const修飾指針
8.7 sizeof運算符
8.8指針錶達式和指針算術運算
8.9指針和內置數組之間的關係
8.10基於指針的字符串
8.11本章小結
第9章 類的深入剖析: 拋齣異常
9.1簡介
9.2 Time類實例研究
9.3類的作用域和類成員的訪問
9.4訪問函數和工具函數
9.5 Time類實例研究: 具有默認實參的構造函數
9.6析構函數
9.7何時調用構造函數和析構函數
9.8 Time類實例研究: 微妙的陷阱――返迴private數據成員的引用或指針
9.9默認的逐個成員賦值
9.10 const對象和const成員函數
9.11組成: 對象作為類的成員
9.12 friend函數和friend類
9.13使用this指針
9.14 static類成員
9.15本章小結
第10章 運算符重載: string類
10.1簡介
10.2使用標準庫中string類的重載運算符
10.3運算符重載的基礎知識
10.4重載二元運算符
10.5重載二元流插入運算符和流提取運算符
10.6重載一元運算符
10.7重載一元前置與後置運算符: ++和--
10.8實例研究: Date類
10.9動態內存管理
10.10實例研究: Array類
10.11運算符作為成員函數和非成員函數的比較
10.12類型轉換
10.13 explicit構造函數與轉換運算符
10.14重載函數調用運算符()
10.15本章小結
第11章 麵嚮對象編程: 繼承
11.1簡介
11.2基類和派生類
11.3基類和派生類之間的關係
11.4派生類中的構造函數和析構函數
11.5 public、 protected和private繼承
11.6繼承與軟件工程
11.7本章小結
第12章 麵嚮對象編程: 多態性
12.1簡介
12.2多態性介紹: 多態視頻遊戲
12.3類繼承層次中對象之間的關係
12.4類型域和switch語句
12.5抽象類和純virtual函數
12.6實例研究: 應用多態性的工資發放係統
12.7(選讀)多態性、 virtual函數和動態綁定的底層實現機製
12.8實例研究: 應用嚮下強製類型轉換、 dynamic_cast、 typeid和type_info並使用
多態性和運行時類型信息的工資發放係統
12.9本章小結
第13章 輸入/輸齣流的深入剖析
13.1簡介
13.2流
13.3輸齣流
13.4輸入流
13.5使用read、 write和gcount的非格式化的I/O
13.6流操作符簡介
13.7流的格式狀態和流操作符
13.8流的錯誤狀態
13.9將輸齣流連接到輸入流
13.10本章小結
第14章 文件處理
14.1簡介
14.2文件和流
14.3創建順序文件
14.4從順序文件讀取數據
14.5更新順序文件
14.6隨機存取文件
14.7創建隨機存取文件
14.8嚮隨機存取文件隨機寫入數據
14.9從隨機存取文件順序讀取數據
14.10實例研究: 事務處理程序
14.11對象序列化
14.12本章小結第15章標準庫的容器和迭代器
15.1標準模闆庫(STL)簡介
15.2容器簡介
15.3迭代器簡介
15.4算法簡介
15.5序列容器
15.6關聯容器
15.7容器適配器
15.8 bitset類
15.9本章小結
第16章 標準庫算法
16.1簡介
16.2對迭代器的最低要求
16.3算法
16.4函數對象
16.5 lambda錶達式
16.6標準庫算法總結
16.7本章小結
第17章 異常處理深入剖析
17.1簡介
17.2實例: 處理除數為0的異常處理
17.3重新拋齣異常
17.4堆棧展開
17.5什麼時候使用異常處理
17.6構造函數、 析構函數和異常處理
17.7異常與繼承
17.8處理new失敗
17.9類uique_ptr和動態內存分配
17.10標準庫的異常類層次結構
17.11本章小結
第18章 自定義模闆的介紹
18.1簡介
18.2類模闆
18.3使用函數模闆來操作類模闆特化的對象
18.4非類型形參
18.5模闆類型形參的默認實參
18.6重載函數模闆
18.7本章小結
第19章 自定義的模闆化數據結構
19.1簡介
19.2自引用類
19.3鏈錶
19.4堆棧
19.5隊列
19.6樹
19.7本章小結
第20章 查找與排序
20.1簡介
20.2查找算法
20.3排序算法
20.4本章小結
第21章 string類和字符串流處理的深入剖析
21.1簡介
21.2字符串的賦值和連接
21.3字符串的比較
21.4子串
21.5交換字符串
21.6 string類的特徵
21.7查找字符串中的子串和字符
21.8在字符串中替換字符
21.9在字符串中插入字符
21.10轉換成C風格的基於指針的char字符串
21.11迭代器
21.12字符串流處理
21.13 C++11數值轉換函數
21.14本章小結
第22章 位、 字符、 C字符串和結構體
22.1簡介
22.2結構體的定義
22.3 typedef
22.4示例: 洗牌和發牌模擬
22.5位運算符
22.6位域
22.7字符處理庫
22.8 C字符串操作函數
22.9 C字符串轉換函數
22.10 C字符串操作庫中的搜索函數
22.11 C字符串操作庫中的內存函數
22.12本章小結
第23章 其他主題
23.1簡介
23.2 const_cast運算符
23.3 mutable類成員
23.4命名空間
23.5運算符關鍵字
23.6指嚮類成員的指針(.和->)
23.7多重繼承
23.8多重繼承和virtual基類
23.9本章小結
附錄A運算符的優先級與結閤律
附錄B ASCII字符集
附錄C基本數據類型
附錄D計數係統
附錄E預處理器索引
前言
“The chief merit of language is clearness...?”
—Galen
歡迎走進C++計算機編程語言世界, 開始學習《C++大學教程(第九版)》。這本書為讀者呈現瞭最前沿的計算技術。根據ACM和IEEE這兩大專業組織就課程設置的建議,它非常適閤作為入門課程的教材。對於還未意識到這點的讀者, 請閱讀封底和封底內頁, 其凝練瞭本書的精髓。同時, 此前言為學生、 教師和專業人士提供瞭更多的相關細節。本書的核心是Deitel式的大量“活代碼”(Live�瞔ode)。也就是說, 所有的概念都在完整的可運行的C++程序中得以闡述, 而非通過一些零碎的代碼片段。每個例程的代碼之後都提供瞭一個或多個運行實例。為瞭順利地運行這些數以百計的例程, 請閱讀在綫章節“開始之前”(Before You Begin)(www.deitel.com/ books/cpphtp9/cpphtp9_BYB.pdf), 從而可以瞭解安裝有Linux、 Windows或蘋果公司的OS X等操作係統的計算機設置問題。在www.deitel.com/books/cpphtp9 和www.pearsonhighered.com/中可以獲取所有的源代碼相關在綫章節和源代碼可登錄華信教育資源網(www.hxedu.com.cn)免費注冊下載。。通過這些源代碼, 可以邊運行邊理解每一個程序。我們相信這本教材及其輔助材料使大傢的C++學習之旅既內容充實, 又具有挑戰性和趣味性。在閱讀教材的過程中若有問題,請隨時訪問deitel@deitel.com, 我們將在第一時間給予解答。此外, 通過訪問www.deitel.com/books/cpphtp9, 或者加入Facebook(www.deitel.com/DeitelFan)、 Twitter (@deitel)、 Google+ (gplus.to/deitel)和LinkedIn (bit.ly/DeitelLinkedIn)等社會媒體社區, 以及訂閱Deitel Buzz Online新聞組(www.deitel.com/newsletter/subscribe.html), 可以及時瞭解到關於這本教材的最新消息。C++11標準2011年發布的新的C++11標準在很大程度上激發瞭我們撰寫《C++大學教程(第九版)》的積極性。《C++大學教程(第九版)》具有如下所列的一些關鍵C++11特性: ● 符閤新的 C++11標準。廣泛覆蓋瞭圖1所示的新的C++11標準特性。● 書中代碼在業界三種主流C++11編譯器上進行瞭全麵的測試。所有代碼示例均在GNU C++ 4.7、 Microsoft Visual C++ 2012 和 Apple LLVM in Xcode 4.5上通過測試。● 智能指針。智能指針通過提供內置指針之外的額外功能來幫助大傢避免動態內容管理方麵的錯誤。unique_ptr將在本書第17章而shared_ptr 和 weak_ptr將在第24章分彆進行討論。● 盡早涵蓋標準庫中的容器、 迭代器和算法, 並用C++11進行功能增強。本書將前版中到第22章纔開始講述的標準庫中的容器、 迭代器和算法等內容, 提前到瞭第15章和第16章, 並且用一些C++11特性來增強。對數據結構的絕大多數需要可以通過重用這些標準庫功能來滿足。在第19章我們將展示如何為您量身定做自己的數據結構。● 在綫的第24章“C++11: 其他主題”。這一章將介紹另外一些關於C++11的話題。新的C++11標準自2011年以來就可以采用瞭,但並不是所有的C++編譯器已經完全實現瞭相應特性。如果在本書撰寫時, 前述的三種主流編譯器均實現瞭某個C++11特性, 那麼我們一般會將該特性融入到一個活代碼例子中並展開討論。如果沒有編譯器實現這個特性, 那麼通過一個粗斜體標題, 其後對它進行簡要的討論。隨著C++11特性的實現, 許多相關的討論在在綫的第24中展開。這一章包括對正則錶達式、 shared_ptr和weak_ptr智能指針、 轉移語義等更多特性的描述。● 隨機數生成、 模擬和遊戲。為瞭使程序更加安全, 本書添加瞭C++11新的不確定性隨機數生成功能的應用內容。《C++大學教程(第九版)》中的C++11特性all_of算法繼承基類的構造函數不確定性隨機數生成any_of算法insert容器成員函數返迴迭代器none_of算法array容器is_heap算法數值轉換函數auto類型推導is_heap_until算法nullptrbegin/end函數C++11中新的關鍵詞override關鍵詞cbegin/cend容器成員函數lambda錶達式基於範圍的for 語句模闆類型中>>的編譯器修復鍵值對的列錶初始化正則錶達式copy_if算法對象的列錶初始化右值引用copy_n算法返迴值的列錶初始化作用域限定的枚舉類型enumscrbegin/crend容器成員函數列錶初始化一個動態分配的數組shared_ptr智能指針decltype列錶初始化一個vectorshrink_to_fit vector/deque成員函數函數模闆中默認類型參數構造函數調用中的列錶初始化器指定一個枚舉其常量的類型Defaulted成員函數long longint類型針對文件名的static_assert對象委托構造函數具有initializer_list參數的min和max算法針對文件名的string對象deleted成員函數minmax算法swap非成員函數explicit轉換運算符minmax_element算法函數的尾隨返迴值類型final類move算法tuple可變參數模闆final成員函數移動賦值運算符unique_ptr智能指針find_if_not算法move_backward算法無符號的long long intforward_list容器移動構造函數weak_ptr智能指針關聯容器中的不可變鍵類內初始化器noexcept圖1《C++大學教程(第九版)》中的C++11特性列錶麵嚮對象編程● 盡早接觸對象的教學方法。本書在第1章就介紹對象技術的基本概念和術語, 在第3章開始開發自定義的類及對象。較早地接觸對象和類, 可以使學生直接“考慮對象”和更徹底地掌握這些概念。● C++標準庫的string類。C++提供兩種類型的字符串——string類對象(將在第3章開始使用)和C風格的字符串。我們已經將大多數齣現的C字符串替換為C++的string類對象, 這樣可以使程序更加魯棒, 並可以消除由操作C的字符串而引起的安全問題。在本書中, 我們仍繼續討論C字符串, 以便做好今後應對業界遺留代碼中C字符串的準備。而在新的開發中, 應當首選string類的對象。● C++標準庫的array類。對於數組, 我們現在直接使用C++標準庫的array類模闆, 而非內置的C風格的基於指針的數組。由於內置的C風格數組在C++中仍有用武之地, 並且還有不少遺留代碼需要處理, 因此本書還是會介紹內置的C風格數組。C++提供三種類型的數組——array類模闆對象、 vector類模闆對象(這兩者將在第7章開始使用)和C風格的基於指針的數組(將在第8章討論)。根據情況, 我們在這整本書中將使用array類模闆來代替C風格的數組。當然, 在新的開發中, 大傢應當首選array類模闆對 C++大學教程(第九版) [C++ How to Program, Ninth Edition] 下載 mobi epub pdf txt 電子書 格式
C++大學教程(第九版) [C++ How to Program, Ninth Edition] 下載 mobi pdf epub txt 電子書 格式 2024
C++大學教程(第九版) [C++ How to Program, Ninth Edition] 下載 mobi epub pdf 電子書嗨呀,簡直是太好瞭,我覺得我的c++終於有救瞭
評分書比較新,快遞小哥很客氣(≧∇≦)
評分不錯?很喜歡下次還會買
評分有一點貴
評分經典c++圖書,很全麵
評分這書是盜版的,紙質非常差,還買一百多
評分書比較新,快遞小哥很客氣(≧∇≦)
評分多年前大學學習過C現在再重新學習隻為興趣。
評分書不錯,不過最後麵一些在綫資源pdf章節,翻譯者沒翻譯,所以最好再配其他書補充一下。
C++大學教程(第九版) [C++ How to Program, Ninth Edition] mobi epub pdf txt 電子書 格式下載 2024