目錄
前言
第一章 物件導向程式設計與類別
物件導向程式設計
類別
第二章 不使用類別的 C++
三個基本的特性
函式的改變
嚴格的型態規則
全域變數的動態初始化
最後的列表
第三章 利用成員函式建立抽象性
抽象性
使用 struct
使用 struct 及其介面函式
使用類別及其成員函式
第四章 利用存取指定字創造封裝性
存取指定字
成員可擁有任何一種存取階層
不受限制的存取指定字
私有並不代表隱藏
Friend 類別
第五章 利用合成與衍生所建立的階層架構
合成
衍生
連鎖反應
第六章 利用建構式和解構式創造更好的抽象性
預設建構式
解構式
內建型態
階層架構和連鎖反應
隱含式預設建構式和解構式
在連鎖反應之外
直接執行
流程控制
啟動時機
第七章 利用 new 和 delete 創造更好的抽象性
動態物件
動態陣列
配置運算子的混用
realloc()
記憶體不足
第八章 參考位址
參數和引數
C 和 C++ 的傳值呼叫
C++ 的傳址呼叫
參考位址和指標之間的比較
C++ 的參考位址回傳
多載:參考位址 vs. 數值
繫結的問題
第九章 利用其它特殊的成員函式創造更好的抽象性
設定運算子
Copy 建構式
顯示一個物件
摘要
第十章 一個類別的例子
使用 int
使用靜態陣列
使用動態陣列
使用有參考計數值的字串
關於 Copy 建構式的小測驗
摘要
第十一章 利用樣版建立更好的階層架構
如何定義樣版
利用樣版來定義物件
展開樣版時必須特別注意的事
修改容器類別的元素
第十二章 利用虛擬函式創造多型
C 語言的多型
虛擬函式
C++ 的多型
深入探討虛擬函式
第十三章 深入探討多型
抽象類別
衍生的考量
虛擬的抉擇
由建構式和解構式呼叫虛擬函式
隱藏在背後的事
陷阱
第十四章 物件導向設計
實作表
範例
是一個(Is-A)、有一個(Has-A)
防禦性的實作方式
第十五章 一個範例程式
String 類別
Rule、CwRule 和 HwRule 類別
Scanner 類別
使用這個程式
原始程式碼
第十六章 未來的學習目標
const
inline
接受參數的建構式
成員初始化串列
有效率的 copy 建構式
特殊的成員函式
附錄 A C++ 的運算子
附錄 B 以數值方式回傳所面臨的問題
附錄 C 參考書目
索引