4 基于對象的程式設計風格
4.1 實作class
所有member function都必須在class主體内進行聲明。至于是否要同時進行定義,可以自由決定。
class名稱之後的兩個::即所謂class scope resolution運算符(類域作用解析)。
4.2 構造函數和析構函數
member initialization list
是構造函數特有的文法,在開始執行函數體之前就為成員變量賦初始值。
destructor
其名稱有嚴格規定:class名稱加上~字首。它絕不會有傳回值,沒有任何參數,絕不能重載。
成員逐一初始化
如果有必要為某class設計copy constructor,那麼也同樣要為他編寫copy assignment operator
4.3 mutable 和 const
沒有一個const reference class參數可以調用公開接口的non-const成分
将某變量辨別為mutable,意味着宣傳對其做出改變不改變class object的常量性。
4.4 this
this指針系在member function内用來指向其調用者(一個對象)。編譯器自動将this指針加到每一個member function的參數清單。