天天看點

Essential C++ 讀書筆記 Ch4

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的參數清單。

4.5 靜态類成員

4.6 打造 iterator class

4.7 友元

4.8 實作copy assignment operator

4.9 實作function object

繼續閱讀