圖書信息
出版社: 電子工業出版社; 第1版 (2010年1月1日)
外文書名: C++ for Programmers
叢書名: 國外計算機科學教材系列
平裝: 724頁
正文語種: 簡體中文
開本: 16
ISBN: 9787121099052
條形碼: 9787121099052
尺寸: 25.6 x 18.2 x 3 cm
重量: 1.1 Kg
作者簡介
作者:(美國)Paul J.Deitel (美國)Harvey M.Deitel 譯者:張良華 吳明飛 胡強
Paul J.Deitel,Deitel&Associates公司CEO兼CTO,畢業於麻省理工學院Sloan管理學院,主修信息技術。通過Deitel&Associates公司,他向行業客戶、政府機關和軍隊提供C++、Java、C、C#和Visual Basic課程,這些客戶包括Cisco、IBM、Sun Microsystems、Dell、Lucent Technologies、Fidelity、NASA、White Sands MissileRange、the National Severe Storm Laboratory、Rogue Wave Software、Boeing、Stratus、Hyperion Software、Adra Systems、Entergy、CableData Systems、Nortel Networks、Puma、iRobot、Invensys,等等。Paul曾為計算機協會波士頓分會講授Java和C++,還曾為墨西哥Monterrey的ITESM講授過.NET技術。他和他的父親Harvey M.Deitel博士,是全球暢銷的程式語言教材的作者。
HarveyM.Deitel博士,Deitel&Associates公司的主席和首席戰略官,具有47年學術和業界的工作經驗。Deitel博士在麻省理工學院獲得學士和碩士學位,在波士頓大學獲得博士學位。他具有20年的大學教學經驗,在與兒子Paul J.Deitel創立Deitel&AssociateS公司之前,他是波士頓大學計算機科學系主任並獲得了終身任職權。Deitel父子是幾十本圖書和多媒體軟體包的共同作者,並且他們還在撰寫著更多的作品。他們的教材已經贏得了國際聲譽,並被翻譯成了日文、德文、俄文、西班牙文、繁體中文、簡體中文、朝文、法文、波蘭文、義大利文、葡萄牙文、希臘文、烏爾都文和土耳其文。Deitel博士為許多大公司、學術機構、政府機關和軍隊提供了數百場的專業培訓。
內容簡介
《C++程式設計師教程》是一本C++編程方面的優秀圖書,全面介紹了C++編程的原理和方法,涉及類與對象、控制語句、函式與遞歸、數組與類模板vector、指針與基於指針的字元串、類、運算符重載、繼承、多態、模板、流輸入/輸出、異常處理、檔案處理、字元串流處理、STL Boost類庫、TR1、C++Ox等,可以說《C++程式設計師教程》是學習C++程式語言最好的教程。附錄中還分別給出了完整的ATM案例研究的代碼以及GNU、Visual Studio調試器的用法。書中240個活代碼例子,對學習C++非常有幫助。
《C++程式設計師教程》適合軟體設計人員學習C++編程,也可作為高等院校相關專業的程式語言教材。
媒體評論
優秀的“對象第一”的C++圖書。通過例子講解了大量內容,加上選讀的UML案例研究,使得它們能融入後續的軟體工
程項目中。
——Gavin Osborne,SasKatchewan Institute of Applied Science and Technology
儘早引入UML的想法非常好。
——Raymond stephenson Microsoft
框圖的使用恰到好處,尤其是講解調用棧和遞歸函式時的那些框圖。
——Amar Raheja,California State Polytechnic University,Pomona
對指針的講解非常棒,也許是我見過的最好的。
——Anne B.Horton,Lockhecd Martin
對多態以及編譯器如何在“內幕”實現多態的講解不錯。
——Ed James-Beckham,Borland
講解Boost/C++Ox的那一章使讀者能熟悉並迅速懂得關於記憶體管理和正則表達式類庫的知識,還能激發讀者了解即將被
標準化的c++特性的欲望。
——Ed Brey Kohler Co.
對標準模板類庫(STL)的介紹真好。這是關於c++編程最好的書。
——Eichard Albright,Goldey-Beacom College
當讀者認為只是在學習一個主題時,會突然發現所學遠非這一點。
——Chad Willwerth,University of Washington Tacoma
我所見過的講解最全面的C++圖書。用豐富的真實例子,涵蓋了軟體開發的整個生命周期。代碼例子非此尋常!
——Terrell Hull,Logicalis Integration Soutions
目錄
第1章 基本介紹
1.1 簡介
1.2 C和C++的歷史
1.3 C++標準類庫
1.4 重要的軟體趨勢:對象技術
1.5 典型的C++開發環境
1.6 關於C++和本書的說明
1.7 測試驅動的C++程式
1.8 軟體技術
1.9 C++的未來:開源Boost類庫,TR1和C++0x
1.10 軟體工程案例研究:對象技術和UML介紹
1.11 小結
1.12 Web資源
第2章 C++編程入門
2.1 簡介
2.2 第一個C++程式:輸出一行文本
2.3 修改第一個C++程式
2.4 另一個C++程式:整數相加
2.5 算術運算
2.6 判斷:相等運算符和關係運算符
2.7 (選讀)軟體工程案例研究:分析ATM需求規範
2.8 小結
第3章 簡要介紹類和對象
3.1 簡介
3.2 類、對象、成員函式和數據成員
3.3 本章的例子概述
3.4 定義帶成員函式的類
3.5 定義帶參數的成員函式
3.6 數據成員、set函式和get函式
3.7 用構造函式初始化對象
3.8 將類放入單獨的檔案中,提高復用性
3.9 分離接口與實現
3.10 用set函式驗證數據
3.11 (選讀)軟體工程案例研究:確定ATM需求規範中的類
3.12 小結
第4章 控制語句(1)
4.1 簡介
4.2 控制結構
4.3 if選擇語句
4.4 if...else雙選擇語句
4.5 while循環語句
4.6 計數器控制循環
4.7 標記控制循環
4.8 嵌套控制語句
4.9 賦值運算符
4.10 增量和減量運算符
4.11 (選讀)軟體工程案例研究:確定ATM系統的類屬性
4.12 小結
第5章 控制語句(2)
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 (選讀)軟體工程案例研究:確定ATM系統中對象的狀態和活動
5.11 小結
第6章 函式與遞歸
6.1 簡介
6.2 C++中的程式組件
6.3 數學類庫函式
6.4 有多個參數的函式定義
6.5 函式原型與實參強制性
6.6 C++標準類庫頭檔案
6.7 案例研究:隨機數生成
6.8 案例研究:機會遊戲,引入枚舉
6.9 存儲類
6.10 作用域規則
6.11 函式調用棧與活動記錄
6.12 帶空參數表的函式
6.13 內聯函式
6.14 引用與引用參數
6.15 默認實參
6.16 一元作用域分解操作符
6.17 函式重載
6.18 函式模板
6.19 遞歸
6.20 使用遞歸的例子:Fibonacci序列
6.21 遞歸與疊代的比較
6.22 (選讀)軟體工程案例研究:確定ATM系統的類操作
6.23 小結
第7章 數組與類模板vector
7.1 簡介
7.2 數組
7.3 聲明數組
7.4 數組使用舉例
7.5 將數組傳入函式
7.6 案例研究:GradeBook類用數組保存成績
7.7 對數組進行線性搜尋
7.8 對數組進行插入排序
7.9 多維數組
7.10 案例研究:GradeBook類使用二維數組
7.11 C++標準類庫的類模板vector介紹
7.12 (選讀)軟體工程案例研究:ATM系統中對象間的協作
7.13 小結
第8章 指針與基於指針的字元串
8.1 簡介
8.2 指針變數的聲明與初始化
8.3 指針運算符
8.4 利用指針將實參按引用傳遞給函式
8.5 使用常量指針
8.6 使用按引用傳遞的選擇排序
8.7 sizeof運算符
8.8 指針表達式與指針運算
8.9 指針與數組的關係
8.10 指針數組
8.11 案例研究:洗牌與發牌模擬
8.12 函式指針
8.13 基於指針的字元串處理介紹
8.14 小結
第9章 類:深入探究(1)
9.1 簡介
9.2 Time類案例研究
9.3 類的作用域與訪問類成員
9.4 分離接口與實現
9.5 訪問函式和工具函式
9.6 Time類案例研究:帶默認實參的構造函式
9.7 析構函式
9.8 何時調用構造函式和析構函式
9.9 Time類案例研究:微妙的陷阱——返回私有數據成員的引用
9.10 默認的逐成員賦值
9.11 (選讀)軟體工程案例研究:開始編程ATM系統的類
9.12 小結
第10章 類:深入探究(2)
10.1 簡介
10.2 常量對象與常量成員函式
10.3 合成:作為類成員的對象
10.4 友元函式與友元類
10.5 使用this指針
10.6 用new和delete操作符實現動態記憶體管理
10.7 靜態類成員
10.8 數據抽象與信息隱藏
10.9 容器類與疊代器
10.10 代理類
10.11 小結
第11章 運算符重載:字元串與數組對象
11.1 簡介
11.2 運算符重載基礎
11.3 運算符重載的限制
11.4 作為類成員的運算符函式與全局函式的比較
11.5 重載流插入與流提取運算符
11.6 重載一元運算符
11.7 重載二元運算符
11.8 案例研究:Array類
11.9 類型之間的轉換
11.10 案例研究:String類
11.11 重載++和——
11.12 案例研究:Date類
11.13 標準類庫的string類
11.14 用explicit聲明構造函式
11.15 小結
第12章 面向對象編程:繼承
12.1 簡介
12.2 基類與派生類
12.3 保護成員
12.4 基類與派生類的關係
12.5 派生類中的構造函式和析構函式
12.6 公有、保護和私有繼承
12.7 繼承與軟體工程
12.8 小結
第13章 面向對象編程:多態
13.1 簡介
13.2 多態舉例
13.3 繼承層次中對象間的關係
13.4 類型欄位與switch語句
13.5 抽象類與純虛函式
13.6 案例研究:使用多態的工資系統
13.7 (選讀)多態、虛函式和動態綁定的“內幕”
13.8 案例研究:利用多態以及使用向下強制轉換、dynamiccast、typeid和typeinfo運行時類型信息的工資系統
13.9 虛析構函式
13.10 (選讀)軟體工程案例研究:在ATM系統中加入繼承
13.11 小結
第14章 模板
14.1 簡介
14.2 函式模板
14.3 重載函式模板
14.4 類模板
14.5 類模板的非類型參數和默認類型
14.6 模板與繼承
14.7 模板與友元
14.8 模板與靜態成員
14.9 小結
第15章 流輸入/輸出
15.1 簡介
15.2 流
15.3 流輸出
15.4 流輸入
15.5 使用read、write和gcount的非格式化I/O
15.6 流操作子簡介
15.7 流格式狀態與流操作子
15.8 流的錯誤狀態
15.9 將輸出流與輸入流連線
15.10 小結
第16章 異常處理
16.1 簡介
16.2 異常處理概述
16.3 例子:處理除零錯誤
16.4 何時使用異常處理
16.5 重拋異常
16.6 異常規範
16.7 處理意外的異常
16.8 堆疊解退
16.9 構造函式、析構函式與異常處理
16.10 異常與繼承
16.11 處理new失敗
16.12 autoptr類與動態記憶體分配
16.13 標準類庫中的異常層次
16.14 其他的錯誤處理技術
16.15 小結
第17章 檔案處理
17.1 簡介
17.2 數據層次
17.3 檔案和流
17.4 創建順序檔案
17.5 從順序檔案讀取數據
17.6 更新順序檔案
17.7 隨機訪問檔案
17.8 創建隨機訪問文本檔案
17.9 向隨機訪問檔案寫隨機數據
17.10 從隨機訪問檔案順序讀取
17.11 案例研究:交易處理程式
17.12 對象序列化概述
17.13 小結
第18章 string類與字元串流處理
18.1 簡介
18.2 字元串的賦值與拼接
18.3 字元串比較
18.4 子串
18.5 字元串交換
18.6 字元串的特性
18.7 搜尋字元串中的子串和字元
18.8 替換字元串中的字元
18.9 將字元插入到字元串中
18.10 轉換成C風格的char *字元串
18.11 疊代器
18.12 處理字元串流
18.13 小結
第19章 位、字元、C字元串和結構
19.1 簡介
19.2 結構定義
19.3 初始化結構
19.4 將結構用於函式
19.5 typedef定義
19.6 例子:高性能的洗牌與發牌模擬
19.7 位運算符
19.8 位段
19.9 字元處理類庫
19.10 基於指針的字元串轉換函式
19.11 基於指針的字元串處理類庫中的搜尋函式
19.12 基於指針的字元串處理類庫中的記憶體函式
19.13 小結
第20章 標準模板類庫(STL)
20.1 標準模板類庫(STL)介紹
20.2 序列容器
20.3 關聯容器
20.4 容器適配器
20.5 算法
20.6 BitSet類
20.7 函式對象
20.8 小結
20.9 STL Web資源
第21章 Boost類庫、Technical Report 1和C++0x
21.1 簡介
21.2 Deitel線上C++以及相關的資源中心
21.3 Boost類庫
21.4 向Boost添加新類庫
21.5 安裝Boost類庫
21.6 Technical Report 1(TR1)中的Boost類庫
21.7 正則表達式與Boost.Regex類庫
21.8 智慧型指針與Boost.Smartptr
21.9 Technical Report 1
21.10 C++0x
21.11 核心的語言變化
21.12 小結
第22章 其他主題
22.1 簡介
22.2 constcast運算符
22.3 名字空間
22.4 運算符關鍵字
22.5 mutable類成員
22.6 類成員的指針(.*和->*)
22.7 多重繼承
22.8 多重繼承與虛擬基類
22.9 小結
附錄A 運算符的優先權和結合性
附錄B ASCII字元集
附錄C 基礎類型
附錄D 預處理器
附錄E ATM案例研究代碼
附錄F UML 2的其他框圖類型
附錄G 使用Visual Studio調試器
附錄H 使用GNU C++調試器
參考文獻
索引