C++ 成員變數的初始化方法總結
阿新 • • 發佈:2019-01-23
class BClass
{
public:
BClass() : i(1), ci(2), ri(i){} // 對於常量型成員變數和引用型成員變數,必須通過引數化列表的方式進行初始化
//普通成員變數也可以放在函式體裡,但是本質其實已不是初始化,而是一種普通的運算操作-->賦值運算,效率也低
private:
int i; // 普通成員變數
const int ci; // 常量成員變數
int &ri; // 引用成員變數
static int si; // 靜態成員變數
//static int si2 = 100; // error: 只有靜態常量成員變數,才可以這樣初始化
static const int csi; // 靜態常量成員變數
static const int csi2 = 100; // 靜態常量成員變數的初始化(Integral type) (1)
static const double csd; // 靜態常量成員變數(non-Integral type)
//static const double csd2 = 99.9; // error: 只有靜態常量整型資料成員才可以在類中初始化
};
{
public:
BClass() : i(1), ci(2), ri(i){} // 對於常量型成員變數和引用型成員變數,必須通過引數化列表的方式進行初始化
//普通成員變數也可以放在函式體裡,但是本質其實已不是初始化,而是一種普通的運算操作-->賦值運算,效率也低
private:
int i; // 普通成員變數
const int ci; // 常量成員變數
int &ri; // 引用成員變數
static int si; // 靜態成員變數
//static int si2 = 100; // error: 只有靜態常量成員變數,才可以這樣初始化
static const int csi; // 靜態常量成員變數
static const int csi2 = 100; // 靜態常量成員變數的初始化(Integral type) (1)
static const double csd; // 靜態常量成員變數(non-Integral type)
//static const double csd2 = 99.9; // error: 只有靜態常量整型資料成員才可以在類中初始化
};