注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C++面向?qū)ο蟾咝Ь幊蹋ǖ?版)

C++面向?qū)ο蟾咝Ь幊蹋ǖ?版)

C++面向?qū)ο蟾咝Ь幊蹋ǖ?版)

定 價(jià):¥118.00

作 者: (美)達(dá)特特里 著,葉塵 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: C C++ C# VC VC++ 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787115329349 出版時(shí)間: 2013-10-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 757 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《C++面向?qū)ο蟾咝Ь幊蹋ǖ?版)》以幫助讀者掌握C++面向?qū)ο蟾咝Ь幊谭妒綖槟康?,詳?xì)介紹了C++編程中的各種概念和應(yīng)用技巧。《C++面向?qū)ο蟾咝Ь幊蹋ǖ?版)》共分為兩部分,第一部分(第1章至第10章)介紹面向?qū)ο缶幊痰幕A(chǔ)和應(yīng)用,如數(shù)據(jù)抽象、繼承、泛型類型、異常處理等內(nèi)容;第二部分(第11章至第13章)深入探討如何建立抽象及其策略,并研究了C++對(duì)象模型。書中包含大量的代碼實(shí)例,讀者不僅能從理論上得以提高,而且還能輕松地在實(shí)踐中應(yīng)用?!禖++面向?qū)ο蟾咝Ь幊蹋ǖ?版)》適用于C++程序員,也可供對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)感興趣的編程人員及大專院校計(jì)算機(jī)專業(yè)師生參考。

作者簡(jiǎn)介

  KayshavDattatri當(dāng)前是Cisco公司的一名高級(jí)技術(shù)主管,在此之前,曾以項(xiàng)目負(fù)責(zé)人、技術(shù)主管的身份供職于網(wǎng)景公司(NetscapeCommunications)和Taligent公司,主要從事前沿Web技術(shù)、面向?qū)ο螅∣O)應(yīng)用開發(fā)框架的研究。他還是面向?qū)ο笤O(shè)計(jì)和C++領(lǐng)域的獨(dú)立顧問/培訓(xùn)師,而且在操作系統(tǒng)、OO架構(gòu)、OO語(yǔ)言(包括C++、Smalltalk、Eiffel和Modula-2)等領(lǐng)域有25年以上的從業(yè)經(jīng)驗(yàn)。除此之外,他還是加州大學(xué)伯克利擴(kuò)展(BerkeleyExtension)項(xiàng)目的知名講師,而且憑借其淵博的學(xué)識(shí)和在教學(xué)方面的天分備受歡迎。Kayshav早在1987年,就開始使用C++進(jìn)行編程了。

圖書目錄

第一部分 概念、實(shí)踐和應(yīng)用
第1章 什么是面向?qū)ο缶幊?br />1.1 背景
1.1.1 面向過程編程示例
1.1.2 銀行賬戶的表示
1.1.3 銀行賬戶的安全
1.1.4 用面向?qū)ο缶幊探鉀Q問題
1.2 理解對(duì)象模型
1.3 術(shù)語(yǔ)
1.4 理解消息、方法和實(shí)例變量
1.4.1 對(duì)象中包含的內(nèi)容
1.4.2 實(shí)例化(或創(chuàng)建)對(duì)象
1.5 什么可以作為類
1.6 什么不是類
1.7 類的目的
1.8 深入了解對(duì)象
1.8.1 對(duì)象的狀態(tài)
1.8.2 對(duì)象狀態(tài)的重要性
1.8.3 誰控制對(duì)象的狀態(tài)
1.8.4 對(duì)象的行為
1.9 面向?qū)ο筌浖_發(fā)的階段
1.9.1 面向?qū)ο蠓治觯∣OA)
1.9.2 面向?qū)ο笤O(shè)計(jì)(OOD)
1.10 面向?qū)ο缶幊蹋∣OP)
1.11 對(duì)象模型的關(guān)鍵要素
1.12 OOP范式和語(yǔ)言
1.13 面向?qū)ο缶幊陶Z(yǔ)言的要求
1.14 對(duì)象模型的優(yōu)點(diǎn)
1.15 小結(jié)
第2章 什么是數(shù)據(jù)抽象
2.1 接口和實(shí)現(xiàn)的分離
2.2 對(duì)象接口的重要性
2.3 實(shí)現(xiàn)的含義
2.4 保護(hù)實(shí)現(xiàn)
2.5 數(shù)據(jù)封裝的優(yōu)點(diǎn)
2.6 接口、實(shí)現(xiàn)和數(shù)據(jù)封裝之間的關(guān)系
2.7 數(shù)據(jù)封裝注意事項(xiàng)
2.8 確定封裝的內(nèi)容
2.9 抽象數(shù)據(jù)類型
2.10 抽象數(shù)據(jù)類型——棧的實(shí)現(xiàn)
2.11 C++中的數(shù)據(jù)抽象
2.12 類中的訪問區(qū)域
2.13 和類一起使用的術(shù)語(yǔ)
2.14 類的實(shí)現(xiàn)者
2.15 實(shí)現(xiàn)成員函數(shù)
2.16 識(shí)別成員函數(shù)的目標(biāo)對(duì)象
2.17 程序示例
2.18 對(duì)象是重點(diǎn)
2.19 對(duì)接口的再認(rèn)識(shí)
2.20 什么是多線程安全類
2.21 確保抽象的可靠性——類不變式和斷言
2.21.1 類不變式
2.21.2 前置條件和后置條件
2.21.3 使用斷言實(shí)現(xiàn)不變式和條件
2.21.4 高效使用斷言
2.22 面向?qū)ο笤O(shè)計(jì)的表示法
2.23 Booch表示法
2.24 Booch中類的關(guān)系
2.24.1 關(guān)聯(lián)
2.24.2 聚集(has-a)
2.24.3 “使用”關(guān)系
2.24.4 繼承關(guān)系(is-a)
2.24.5 類范疇
2.25 統(tǒng)一建模語(yǔ)言(UML)
2.26 UML中類的關(guān)系
2.27 關(guān)聯(lián)
2.27.1 作為聚集的關(guān)聯(lián)
2.27.2 OR關(guān)聯(lián)
2.28 組合
2.29 泛化關(guān)系(is-a)
2.30 has-a關(guān)系的重要性
2.31 小結(jié)
第3章 C++與數(shù)據(jù)抽象
3.1 類概念的基礎(chǔ)
3.2 類要素的細(xì)節(jié)
3.2.1 訪問區(qū)域
3.2.2 分析
3.3 復(fù)制構(gòu)造函數(shù)
3.4 賦值操作符
3.5 this指針和名稱重整的進(jìn)一步說明
3.6 const成員函數(shù)的概念
3.7 編譯器如何實(shí)現(xiàn)const成員函數(shù)
3.8 C++中類和結(jié)構(gòu)的區(qū)別
3.9 類可以包含什么
3.10 設(shè)計(jì)期間的重點(diǎn)——類的接口
3.11 類名、成員函數(shù)名、參數(shù)類型和文檔
3.12 參數(shù)傳遞模式——客戶的角度
3.13 采用語(yǔ)義
3.14 為參數(shù)選擇正確的模式
3.15 函數(shù)返回值
3.16 從函數(shù)中返回引用
3.17 編寫內(nèi)存安全類
3.18 客戶對(duì)類和函數(shù)的責(zé)任
3.19 小結(jié)
第4章 OOP中的初始化和無用單元收集
4.1 什么是初始化
4.1.1 使用構(gòu)造函數(shù)初始化
4.1.2 使用內(nèi)嵌對(duì)象必須遵守的規(guī)則
4.2 無用單元收集問題
4.2.1 無用單元
4.2.2 懸掛引用
4.2.3 無用單元收集和懸掛引用的補(bǔ)救
4.2.4 無用單元收集和語(yǔ)言設(shè)計(jì)
4.2.5 在C++中何時(shí)產(chǎn)生無用單元
4.2.6 對(duì)象何時(shí)獲得資源
4.3 C++中的無用單元收集
4.4 對(duì)象的標(biāo)識(shí)
4.5 對(duì)象復(fù)制的語(yǔ)義
4.6 對(duì)象賦值的語(yǔ)義
4.7 對(duì)象相等的語(yǔ)義
4.8 為什么需要副本控制
4.8.1 信號(hào)量示例
4.8.2 許可證服務(wù)器示例
4.8.3 字符串類示例
4.9 分析
4.10 “寫時(shí)復(fù)制”的概念
4.10.1 何時(shí)使用引用計(jì)數(shù)
4.10.2 “寫時(shí)復(fù)制”小結(jié)
4.11 類和類型
4.12 小結(jié)
第5章 繼承的概念
5.1 繼承的基本知識(shí)
5.2 is-a關(guān)系的含義
5.3 繼承關(guān)系的效果
5.4 多態(tài)置換原則
5.5 用繼承擴(kuò)展類層次
5.6 繼承的一些基本優(yōu)點(diǎn)
5.7 動(dòng)態(tài)綁定、虛函數(shù)和多態(tài)性
5.7.1 動(dòng)態(tài)綁定含義
5.7.2 動(dòng)態(tài)綁定的支持——虛函數(shù)
5.8 繼承對(duì)數(shù)據(jù)封裝的影響
5.9 多態(tài)的含義
5.10 有效使用虛函數(shù)(動(dòng)態(tài)綁定)
5.11 虛析構(gòu)函數(shù)的要求
5.12 構(gòu)造函數(shù)和虛函數(shù)
5.13 一般-特殊的概念
5.14 抽象(延期)類的概念
5.15 抽象類的用途
5.16 強(qiáng)大的繼承
5.17 有效的代碼復(fù)用
5.18 抽象基類的客戶
5.19 繼承優(yōu)點(diǎn)小結(jié)
5.20 繼承和動(dòng)態(tài)綁定的危險(xiǎn)
5.20.1 C++如何實(shí)現(xiàn)動(dòng)態(tài)綁定(虛函數(shù))
5.20.2 虛函數(shù)的開銷
5.20.3 動(dòng)態(tài)綁定和類型檢查
5.21 不必要的繼承和動(dòng)態(tài)綁定
5.22 使用虛函數(shù)的不同模式
5.23 小結(jié)
第6章 多重繼承概念
6.1 多重繼承的簡(jiǎn)單定義
6.2 大學(xué)示例
6.3 多重繼承關(guān)系的含義
6.4 多重繼承場(chǎng)景
6.4.1 C++中解決名稱沖突
6.4.2 二義性基類問題
6.5 多重繼承的基本優(yōu)點(diǎn)
6.6 多重繼承的替換方案
6.6.1 第一種替換方案
6.6.2 第二種替換方案
6.7 重復(fù)繼承
6.8 重復(fù)繼承的解決方案
6.8.1 在C++中通過虛基類共享對(duì)象
6.8.2 虛基類的優(yōu)點(diǎn)
6.8.3 虛基類產(chǎn)生的新問題
6.8.4 比較Eiffel和C++中的多重繼承
6.9 繼承的一般問題
6.10 使用mixin類加入靜態(tài)功能
6.10.1 mixin類的定義
6.10.2 何時(shí)使用mixin類
6.11 動(dòng)態(tài)變化情況的設(shè)計(jì)
6.11.1 角色扮演類的設(shè)計(jì)靈活性
6.11.2 如何使用角色扮演類
6.11.3 管理角色的另一種方法
6.11.4 TUniversityMember類對(duì)象的多態(tài)用法
6.11.5 按要求改動(dòng)現(xiàn)有類
6.11.6 mixin類和角色對(duì)象的比較——適用范圍
6.12 C++的私有派生
6.12.1 何時(shí)使用私有派生
6.12.2 重新導(dǎo)出私有基類的成員
6.12.3 私有派生的替換方法——包含
6.12.4 需要使用私有派生的情況
6.13 mixin類和私有派生的實(shí)用示例
6.14 繼承與包含
6.15 小結(jié)
第7章 從類中選擇性導(dǎo)出(友元函數(shù))
7.1 需要什么
7.2 C++的情況
7.3 友元關(guān)系的含義
7.4 非成員函數(shù)和友元函數(shù)的應(yīng)用
7.4.1 實(shí)例1:盡量減少類之間過多的交互
7.4.2 實(shí)例2:克服語(yǔ)法問題
7.4.3 實(shí)例3:需要和多個(gè)類進(jìn)行通信的函數(shù)
7.5 非成員函數(shù)的優(yōu)點(diǎn)
7.6 選擇友元函數(shù)還是成員函數(shù)
7.7 小結(jié)
第8章 操作符重載的概念
8.1 語(yǔ)言類型和程序員定義類型的區(qū)別
8.2 什么是重載操作符
8.3 操作符重載的優(yōu)點(diǎn)和缺點(diǎn)
8.3.1 更加簡(jiǎn)潔的抽象數(shù)據(jù)類型
8.3.2 令人費(fèi)解的操作符重載
8.3.3 無法理解優(yōu)先級(jí)和結(jié)合規(guī)則
8.4 C++中的重載操作符
8.5 ++和——操作符的另一個(gè)應(yīng)用
8.6 更復(fù)雜的操作符——成員訪問操作符:-
8.7 非成員函數(shù)的操作符
8.7.1 作為成員函數(shù)的操作符
8.7.2 作為非成員函數(shù)實(shí)現(xiàn)的操作符
8.7.3 為什么需要轉(zhuǎn)換
8.8 轉(zhuǎn)換函數(shù)
8.8.1 轉(zhuǎn)換構(gòu)造函數(shù)和轉(zhuǎn)換函數(shù)之間的相互影響
8.8.2 消除對(duì)臨時(shí)對(duì)象的需求
8.9 從操作符函數(shù)返回結(jié)果
8.10 賦值操作符
8.11 小結(jié)
第9章 泛型類型
9.1 重復(fù)性編碼問題
9.2 智能解決方案——泛型編程
9.3 泛型類型(類)的基本知識(shí)
9.4 泛型類型和代碼重復(fù)
9.5 泛型類實(shí)現(xiàn)者與客戶之間的契約
9.5.1 這是否是良好的設(shè)計(jì)
9.5.2 泛型類實(shí)現(xiàn)中的操作符和成員函數(shù)
9.5.3 替換解決方案——泛型類的特殊化
9.6 模板特殊化
9.6.1 模板成員函數(shù)的特殊化
9.6.2 另一種替換方案:分離對(duì)象的比較
9.6.3 不能隨意停用模板類的原因
9.7 模板類特殊化
9.8 泛型函數(shù)的概念
9.9 C++中模板類和成員函數(shù)的實(shí)例化
9.10 泛型類型和類型檢查
9.11 約束泛型和無約束泛型
9.11.1 C++中對(duì)模板參數(shù)的約束
9.11.2 C++中模板參數(shù)的特定類型
9.11.3 模板參數(shù)的默認(rèn)值
9.12 C++中對(duì)模板參數(shù)執(zhí)行約束
9.13 泛型類和選擇性導(dǎo)出
9.14 繼承和泛型類
9.15 泛型類繼承的用途
9.16 控制對(duì)象創(chuàng)建的一般技巧
9.17 實(shí)現(xiàn)計(jì)數(shù)指針
9.18 盡量減少模板對(duì)象的代碼重復(fù)
9.18.1 程序的內(nèi)存占用
9.18.2 減少模板代碼的方案
9.19 模板類和源代碼保護(hù)
9.20 共享(動(dòng)態(tài))庫(kù)中的模板類
9.20.1 共享庫(kù)中的模板類——多實(shí)例問題
9.20.2 消除共享庫(kù)中的多個(gè)實(shí)例
9.20.3 和現(xiàn)有共享庫(kù)鏈接
9.20.4 容器類
9.21 泛型類和繼承的比較
9.22 小結(jié)
第10章 處理異常情況
10.1 處理錯(cuò)誤狀況的原因
10.2 錯(cuò)誤碼的替換方案
10.3 C++異常處理模型
10.3.1 C++異常機(jī)制的工作方式
10.3.2 try塊的重要性
10.3.3 throw表達(dá)式的重要性
10.3.4 理解動(dòng)態(tài)調(diào)用鏈
10.3.5 處理多個(gè)異常
10.3.6 catch塊的責(zé)任
10.4 Eiffel中的異常模型
10.5 Eiffel和C++異常模型的優(yōu)缺點(diǎn)
10.6 有效地使用C++異常
10.7 創(chuàng)建異常層次
10.7.1 catch處理代碼的順序
10.7.2 編寫異常安全函數(shù)
10.8 項(xiàng)目中的異常處理架構(gòu)
10.9 項(xiàng)目中錯(cuò)誤管理的成功策略
10.9.1 函數(shù)不是防火墻
10.9.2 設(shè)計(jì)異常層次
10.10 異常環(huán)境中的資源管理
10.10.1 自動(dòng)資源管理
10.10.2 泛化資源管理解決方案
10.11 異常和構(gòu)造函數(shù)
10.11.1 從函數(shù)中返回安全資源
10.11.2 管理對(duì)象數(shù)組的輔助類
10.11.3 自動(dòng)無用單元收集的開銷
10.12 構(gòu)造函數(shù)的部分完成
10.13 使用異常創(chuàng)建安全數(shù)組
10.14 小結(jié)
第二部分 構(gòu)建強(qiáng)大的面向?qū)ο筌浖?br />第11章 掌握數(shù)據(jù)抽象
11.1 隱藏抽象的實(shí)現(xiàn)細(xì)節(jié)
11.1.1 使用句柄的優(yōu)點(diǎn)
11.1.2 使用句柄的缺點(diǎn)
11.2 將指針作為數(shù)據(jù)成員使用(惰性求值)
11.3 控制對(duì)象創(chuàng)建
11.3.1 只允許使用new()操作符創(chuàng)建對(duì)象
11.3.2 防止使用new()操作符創(chuàng)建對(duì)象
11.4 使用指針和引用代替內(nèi)嵌對(duì)象
11.5 避免用大型數(shù)組作為自動(dòng)變量(或數(shù)據(jù)成員)
11.6 使用對(duì)象數(shù)組和對(duì)象指針數(shù)組
11.7 用對(duì)象代替基本類型指針作為數(shù)據(jù)成員和成員函數(shù)的返回值
11.8 與C的兼容性
11.9 合理選擇實(shí)現(xiàn):對(duì)象大小和代碼效率
11.10 避免臨時(shí)對(duì)象
11.11 使用復(fù)制構(gòu)造函數(shù)初始化對(duì)象
11.12 有效使用代理對(duì)象
11.12.1 代理對(duì)象有助于安全共享對(duì)象
11.12.2 代理對(duì)象易于使用
11.12.3 代理對(duì)象是遠(yuǎn)程對(duì)象的替身
11.12.4 智能代理對(duì)象提供額外的功能
11.12.5 代理對(duì)象解決語(yǔ)法/語(yǔ)義的問題
11.12.6 泛型下標(biāo)代理技術(shù)
11.13 使用簡(jiǎn)單的抽象建立更復(fù)雜的抽象
11.14 抽象必須允許客戶以不同的方式使用類
11.15 小結(jié)
第12章 高效使用繼承
12.1 用繼承實(shí)現(xiàn)簡(jiǎn)潔的菜單和命令
12.2 封裝創(chuàng)建對(duì)象的細(xì)節(jié)
12.3 虛構(gòu)造函數(shù)的概念
12.4 為協(xié)議控制而組合使用虛函數(shù)和非虛函數(shù)
12.5 雙分派概念
12.6 設(shè)計(jì)和實(shí)現(xiàn)容器類
12.7 設(shè)計(jì)可處理不同類型的容器
12.8 用泛型編程實(shí)現(xiàn)同質(zhì)容器類
12.8.1 設(shè)計(jì)目的
12.8.2 基于模板的同質(zhì)容器的優(yōu)點(diǎn)
12.9 基于模板的容器的缺點(diǎn)
12.10 導(dǎo)航容器
12.11 主動(dòng)迭代器
12.12 管理容器和迭代器——客戶的角度
12.12.1 樣式1:在容器中創(chuàng)建并返回迭代器供用戶使用
12.12.2 樣式2:按值返回用戶可使用迭代器控制的容器
12.13 C++標(biāo)準(zhǔn)模板庫(kù)(STL)
12.13.1 STL容器
12.13.2 迭代器
12.13.3 STL中的算法
12.14 小結(jié)
12.15 TArray容器的實(shí)現(xiàn)代碼
第13章 理解C++對(duì)象模型
13.1 高效實(shí)現(xiàn)
13.2 C++表示對(duì)象的方式
13.2.1 沒有虛函數(shù)的類
13.2.2 成員函數(shù)
13.2.3 靜態(tài)數(shù)據(jù)成員
13.2.4 構(gòu)造函數(shù)
13.3 包含虛函數(shù)的類
13.4 在共享庫(kù)之間共享虛函數(shù)表
13.5 虛函數(shù)和多重繼承(非虛基類)
13.6 虛基類
13.6.1 虛基類的成員訪問
13.6.2 帶虛函數(shù)的虛基類
13.7 RTTI(運(yùn)行時(shí)類型識(shí)別)的實(shí)現(xiàn)支持
13.8 基于對(duì)象和面向?qū)ο缶幊?br />13.9 引用、指針和值
13.9.1 引用和指針的賦值
13.9.2 復(fù)制構(gòu)造函數(shù)
13.9.3 構(gòu)造函數(shù)的職責(zé)
13.10 復(fù)制構(gòu)造函數(shù)的責(zé)任
13.11 優(yōu)化對(duì)象的按值傳遞和按值返回
13.11.1 按值傳遞
13.11.2 按值返回
13.12 運(yùn)行時(shí)初始化
13.13 小結(jié)
附錄 A
參考書目和推薦讀物
索引

本目錄推薦

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