初始化列表效率更高,避免默認構造後再賦值。
Clock::Clock(int h, int m, int s) : hour_(h), minute_(m), second_(s) {
// 函數體為普通計算階段
}
與初始化列表中書寫順序無關,按類中聲明順序初始化。析構順序相反。
const 成員每個對象可有不同值。若需所有對象共享常量,應用 enum 或 static const。
class Object {
int num_;
const int kNum_;
int& refNum_;
public:
Object(int n) : num_(n), kNum_(n), refNum_(num_) {}
enum { TYPE_A = 100, TYPE_B }; // 所有對象共享
};