內容介紹
假定讀者已經具備C++基本知識,本書通過展示C++語言風格和習慣用法,幫助讀者提升C++的程式設計經驗。這些方法圍繞C++支持的抽象機制實施的:抽象數據類型,繼承結構中的組合類型,面向對象程式設計以及我重繼承。本書還展示了C++語言間接支持的核心習慣用法,諸如虛擬構造函式、原型對象以及高級垃圾收集技術。本書要點:
·展示了使用C++高級技術所獲得的好處和潛在的缺陷。
·用少而精的例子展示如何有效地組合C++抽象機制。
·提供了大量面向對象設計轉換成C++實現的準則。
·展示了如何用模板支持可重用性。
·描述了重要的大型系統開發問題,包括庫結構的設計、異常處理和分散式處理。
·本書是C++系統程式設計師或應用程式員工作的必備手冊。
作者介紹
James Coplien先在威斯康星大學獲得電氣與計算機工程學士學位,後又在該大學獲得計算機科學碩士學位。他在貝爾實驗室的軟體產品研發部門工作,在這個部門從一開始就使用C++程式設計語言。近年來致力於大型面向對象系統的開發環境、交付平台以及故障檢測。他現在是大型面向對象技術項目的顧問。作品目錄
譯者序序 言
第1章 引言
1.1 C++語言演變的歷史
1.2 處理複雜結構的習慣用法
1.3 對象
1.4 設計和語言
練習
第2章 數據抽象和抽象數據類型
2.1 類
2.2 對象轉換
2.3 構造函式和析構函式
2.4 內聯(inline)函式
2.5 靜態數據成員的初始化
2.6 作用域和const
2.7 全局對象.常數和靜態類成員初始化次序
2.8 類對象成員函式的const執行
2.9 指向成員函式的指針
2.10 程式組織的習慣約定
練習
第3章 具體數據類型
3.1 傳統規範類格式
3.2 作用域和訪問控制
3.3 重載:重定義操作和函式的語義
3.4 類型轉換
3.5 引用計數:使用"可調記憶體"變數
3.6 操作符new和delete
3.7 把初始化從實例化中分離出來
練習
第4章 繼承性
4.1 簡單繼承
4.2 作用域和訪問控制
4.3 構造函式和析構函式
4.4 類指針轉換
4.5 類型選擇域
練習
第5章 面向對象程式設計
5.1 C++運行時類型支持:虛擬函式
5.2 虛擬析構函式
5.3 虛擬函式和作用域
5.4 純虛擬函式和抽象基類
5.5 信封和信件類
5.6 功能元件:作為對象的函式
5.7 多重繼承
5.8 繼承的規範格式
5.9 例子
練習
第6章 面向對象設計
6.1 類型和類
6.2 面向對象設計的實踐活動
6.3 面向對象分析和領域分析
6.4 對象和類的關係
6.5 子類型.繼承和轉發
6.6 子類型.繼承和獨立性的經驗規則
練習
第7章 重用和對象
7.1 所有模擬的分解放到何處
7.2 設計重用
7.3 4種代碼重用機制
7.4 參數化類型或模板
7.5 私有繼承:繼承支持重用嗎
7.6 存儲重用
7.7 接口重用:變體
7.8 重用.繼承和轉發
7.9 原始碼重用結構的選擇
7.10 在重用和對象上的概括
練習
第8章 C++中的樣本程式設計
8.1 雇員樣本的例子
8.2 樣本和類屬構造函式:樣本共用的習慣用法
8.3 自主的類屬構造函式
8.4 抽象基樣本
8.5 關於樣本習慣用法框架
8.6 相關的表示
8.7 樣本和程式的管理
練習
第9章 在C++中模擬符號語言的風格
9.1 增量式C++開發
9.2 符號規範格式
9.3 通用收集類的例子
9.4 支持增量裝入的代碼和習慣用法
9.5 垃圾收集
9.6 基本類型的封裝
9.7 在符號習慣用法下的多重方法
練習
第10章 動態多重繼承
10.1 多重技術視窗系統的例子
10.2 防止誤解的說明
練習
第11章 系統性問題
11.1 靜態系統設計
11.2 動態系統設計
練習
附錄A C++環境中的C
A.1 函式調用
A.2 函式參數表
A.3 函式原型
A.4 調用引用參數
A.5 參數個數不定
A.6 函式指針
A.7 const類型說明符
A.8 C代碼的接口
A.9 操作符引用返回值
練習
附錄B Shapes程式的C++代碼
附錄C 符號的Shapes
附錄D C++中塊結構程式設計
D.1 什麼是塊結構程式設計
D.2 構造基本塊結構的C++程式設計
D.3 有深度嵌套作用域塊的選擇
D.4 塊結構的視頻遊戲代碼