C++編程思想

出版時間:2000-01  出版社:機械工業(yè)出版社  作者:??藸?美)  譯者:劉宗田/等  
Tag標簽:無  

書籍目錄

目 錄
譯者序
前言
第1章 對象的演化
1.1基本概念
1.1.1對象:特性十行為
1.1.2繼承:類型關(guān)系
1.1.3多態(tài)性
1.1.4操作概念:OOP程序像什么
1.2為什么C++會成功
1.2.1較好的C
1.2.2采用漸進的學(xué)習方式
1.2.3運行效率
1.2.4系統(tǒng)更容易表達和理解
1.2.5“庫”使你事半功倍
1.2.6錯誤處理
1.2.7大程序設(shè)計
1.3方法學(xué)介紹
1.3.1復(fù)雜性
1.3.2內(nèi)部原則
1.3.3外部原則
1.3.4對象設(shè)計的五個階段
1.3.5方法承諾什么
1.3.6方法應(yīng)當提供什么
1.4起草:最小的方法
1.4.1前提
1.4.2高概念
1.4.3論述(treatment)
1.4.4結(jié)構(gòu)化
1.4.5開發(fā)
1.4.6重寫
1.4.7邏輯
1.5其他方法
1.5.1Booch
1.5.2責任驅(qū)動的設(shè)計(RDD)
1.5.3對象建模技術(shù)(OMT)
1.6為向OOP轉(zhuǎn)變而采取的策略
1.6.1逐步進入OOP
1.6.2管理障礙
1.7小結(jié)
第2章 數(shù)據(jù)抽象
2.1聲明與定義
2.2一個袖珍C庫
2.3放在一起:項目創(chuàng)建工具
2.4什么是非正常
2.5基本對象
2.6什么是對象
2.7抽象數(shù)據(jù)類型
2.8對象細節(jié)
2.9頭文件形式
2.10嵌套結(jié)構(gòu)
2.11小結(jié)
2.12練習
第3章 隱藏實現(xiàn)
3.1設(shè)置限制
3.2C++的存取控制
3.3友元
3.3.1嵌套友元
3.3.2它是純的嗎
3.4對象布局
3.5類
3.5.1用存取控制來修改stash
3.5.2用存取控制來修改stack
3.6句柄類(handleclasses)
3.6.1可見的實現(xiàn)部分
3.6.2減少重復(fù)編譯
3.7小結(jié)
3.8練習
第4章 初始化與清除
4.1用構(gòu)造函數(shù)確保初始化
4.2用析構(gòu)函數(shù)確保清除
4.3清除定義塊
4.3.1for循環(huán)
4.3.2空間分配
4.4含有構(gòu)造函數(shù)和析構(gòu)函數(shù)的stash
4.5含有構(gòu)造函數(shù)和析構(gòu)函數(shù)的stack
4.6集合初始化
4.7缺省構(gòu)造函數(shù)
4.8小結(jié)
4.9練習
第5章 函數(shù)重載與缺省參數(shù)
5.1范圍分解
5.1.1用返回值重載
5.1.2安全類型連接
5.2重載的例子
5.3缺省參數(shù)
5.4小結(jié)
5.5練習
第6章 輸入輸出流介紹
6.1為什么要用輸入輸出流
6.2解決輸入輸出流問題
6.2.1預(yù)先了解操作符重載
6.2.2插入符與提取符
6.2.3通常用法
6.2.4面向行的輸入
6.3文件輸入輸出流
6.4輸入輸出流緩沖
6.5在輸入輸出流中查找
6.6strstreams
6.6.1為用戶分配的存儲
6.6.2自動存儲分配
6.7輸出流格式化
6.7.1內(nèi)部格式化數(shù)據(jù)
6.7.2例子
6.8格式化操縱算子
6.9建立操縱算子
6.10輸入輸出流實例
6.10.1代碼生成
6.10.2一個簡單的數(shù)據(jù)記錄
6.11小結(jié)
6.12練習
第7章 常量
7.1值替代
7.1.1頭文件里的const
7.1.2const的安全性
7.1.3集合
7.1.4與C語言的區(qū)別
7.2指針
7.2.1指向const的指針
7.2.2const指針
7.2.3賦值和類型檢查
7.3函數(shù)參數(shù)和返回值
7.3.1傳遞const值
7.3.2返回const值
7.3.3傳遞和返回地址
7.4類
7.4.1類里的const和enum
7.4.2編譯期間類里的常量
7.4.3const對象和成員函數(shù)
7.4.4只讀存儲能力
7.5可變的(volatile)
7.6小結(jié)
7.7練習
第8章 內(nèi)聯(lián)函數(shù)
8.1預(yù)處理器的缺陷
8.2內(nèi)聯(lián)函數(shù)
8.2.1類內(nèi)部的內(nèi)聯(lián)函數(shù)
8.2.2存取函數(shù)
8.3內(nèi)聯(lián)函數(shù)和編譯器
8.3.1局限性
8.3.2賦值順序
8.3.3在構(gòu)造函數(shù)和析構(gòu)函數(shù)里隱藏行為
8.4減少混亂
8.5預(yù)處理器的特點
8.6改進的錯誤檢查
8.7小結(jié)
8.8練習
第9章 命名控制
9.1來自C語言中的靜態(tài)成員
9.1.1函數(shù)內(nèi)部的靜態(tài)變量
9.1.2控制連接
9.1.3其他的存儲類型指定符
9.2名字空間
9.2.1產(chǎn)生一個名字空間
9.2.2使用名字空間
9.3C++中的靜態(tài)成員
9.3.1定義靜態(tài)數(shù)據(jù)成員的存儲
9.3.2嵌套類和局部類
9.3.3靜態(tài)成員函數(shù)
9.4靜態(tài)初始化的依賴因素
9.5轉(zhuǎn)換連接指定
9.6小結(jié)
9.7練習
第10章 引用和拷貝構(gòu)造函數(shù)
10.1C++中的指針
10.2C+十中的引用
10.2.1函數(shù)中的引用
10.2.2參數(shù)傳遞準則
10.3拷貝構(gòu)造函數(shù)
10.3.1傳值方式傳遞和返回
10.3.2拷貝構(gòu)造函數(shù)
10.3.3缺省拷貝構(gòu)造函數(shù)
10.3.4拷貝構(gòu)造函數(shù)方法的選擇
10.4指向成員的指針(簡稱成員指針)
10.5小結(jié)
10.6練習
第11章 運算符重載
11.1警告和確信
11.2語法
11.3可重載的運算符
11.3.1一元運算符
11.3.2二元運算符
11.3.3參數(shù)和返回值
11.3.4與眾不同的運算符
11.3.5不能重載的運算符
11.4非成員運算符
11.5重載賦值符
11.6自動類型轉(zhuǎn)換
11.6.1構(gòu)造函數(shù)轉(zhuǎn)換
11.6.2運算符轉(zhuǎn)換
11.6.3一個理想的例子:strings
11.6.4自動類型轉(zhuǎn)換的缺陷
11.7小結(jié)
11.8練習
第12章 動態(tài)對象創(chuàng)建
12.1對象創(chuàng)建
12.1.1C從堆中獲取存儲單元的方法
12.1.2運算符new
12.1.3運算符delete
12.1.4一個簡單的例子
12.1.5內(nèi)存管理的開銷
12.2重新設(shè)計前面的例子
12.2.1僅從堆中創(chuàng)建string類
12.2.2stash指針
12.2.3stack例子
12.3用于數(shù)組的new和delete
12.4用完內(nèi)存
12.5重載new和de1ete
12.5.1重載全局new和delete
12.5.2為一個類重載new和delete
12.5.3為數(shù)組重載new和delete
12.5.4構(gòu)造函數(shù)調(diào)用
12.5.5對象放置
12.6小結(jié)
12.7練習
第13章 繼承和組合
13.1組合語法
13.2繼承語法
13.3構(gòu)造函數(shù)的初始化表達式表
13.3.1成員對象初始化
13.3.2在初始化表達式表中的內(nèi)置類型
13.4組合和繼承的聯(lián)合
13.4.1構(gòu)造函數(shù)和析構(gòu)函數(shù)的次序
13.4.2名字隱藏
13.4.3非自動繼承的函數(shù)
13.5組合與繼承的選擇
13.5.1子類型設(shè)置
13.5.2專門化
13.5.3私有繼承
13.6保護
13.7多重繼承
13.8漸增式開發(fā)
13.9向上映射
13.9.1為什么“向上映射”
13.9.2組合與繼承
13.9.3指針和引用的向上映射
13.9.4危機
13.10小結(jié)
13.11練習
第14章 多態(tài)和虛函數(shù)
14.1向上映射
14.2問題
14.3虛函數(shù)
14.4C++如何實現(xiàn)晚捆綁
14.4.1存放類型信息
14.4.2對虛函數(shù)作圖
14.4.3撩開面紗
14.4.4安裝vpointer
14.4.5對象是不同的
14.5為什么需要虛函數(shù)
14.6抽象基類和純虛函數(shù)
14.7繼承和VTABLE
14.8虛函數(shù)和構(gòu)造函數(shù)
14.8.1構(gòu)造函數(shù)調(diào)用次序
14.8.2虛函數(shù)在構(gòu)造函數(shù)中的行為
14.9析構(gòu)函數(shù)和虛擬析構(gòu)函數(shù)
14.10小結(jié)
14.11練習
第15章 模板和包容器類
15.1包容器和循環(huán)子
15.2模板綜述
15.2.1C方法
15.2.2Smalltalk方法
15.2.3模板方法
15.3模板的語法
15.3.1非內(nèi)聯(lián)函數(shù)定義
15.3.2棧模板(thestackasatemplate)
15.3.3模板中的常量
15.4stash&stack模板
15.4.1所有權(quán)問題
15.4.2stash模板
15.4.3stack模板
15.5字符串和整型
15.5.1棧上的字符串
15.5.2整型
15.6向量
15.6.1“無窮”向量
15.6.2集合
15.6.3關(guān)聯(lián)數(shù)組
15.7模板和繼承
15.7.1設(shè)計和效率
15.7.2防止模板膨脹
15.8多態(tài)性和包容器
15.9包容器類型
15.10函數(shù)模板
15.10.1存儲分配系統(tǒng)
15.10.2為tstack提供函數(shù)
15.10.3成員函數(shù)模板
15.11控制實例
15.12小結(jié)
15.13練習
第16章 多重繼承
16.1概述
16.2子對象重疊
16.3向上映射的二義性
16.4虛基類
16.4.1“最晚輩派生”類和虛基初始化
16.4.2使用缺省構(gòu)造函數(shù)向虛基“警告”
16.5開銷
16.6向上映射
16.7避免MI
16.8修復(fù)接口
16.9小結(jié)
16.10練習
第17章 異常處理
17.1C語言的出錯處理
17.2拋出異常
17.3異常捕獲
17.3.1try塊
17.3.2異常處理器
17.3.3異常規(guī)格說明
17.3.4更好的異常規(guī)格說明
17.3.5捕獲所有異常
17.3.6異常的重新拋出
17.3.7未被捕獲的異常
17.4清除
17.5構(gòu)造函數(shù)
17.6異常匹配
17.7標準異常
17.8含有異常的程序設(shè)計
17.8.1何時避免異常
17.8.2異常的典型使用
17.9開銷
17.10小結(jié)
17.11練習
第18章 運行時類型識別
18.1例子――shape
18.2什么是RTTI
18.3語法細節(jié)
18.3.1對于內(nèi)部類型的typeid()
18.3.2產(chǎn)生合適的類型名字
18.3.3非多態(tài)類型
18.3.4映射到中間級
18.3.5void指針
18.3.6 用模板來使用RTTI
18.4引用
18.5多重繼承
18.6合理使用RTTI
18.7RTTI的機制及花費
18.8創(chuàng)建我們自己的RTTI
18.9新的映射語法
18.9.1staticcast
18.9.2constcast
18.9.3reinterpret_cast
18.10小結(jié)
18.11練習
附錄A 其他性能
附錄B 編程準則
附錄C 模擬虛構(gòu)造函數(shù)

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    C++編程思想 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7