B(int b=0):b(b){}
在以下代碼中是怎麼意思的?「B(int b = 0):b(b){}」是什麼意思?
class B
{
int b;
public:
B(int b=0):b(b){}
};
B(int b=0):b(b){}
在以下代碼中是怎麼意思的?「B(int b = 0):b(b){}」是什麼意思?
class B
{
int b;
public:
B(int b=0):b(b){}
};
這是一個空的構造函數定義。
class B
{
int b;
public:
B (int b = 0) //Default initialize b to 0
: b(b) //Initialize member b to parameter b
{ } //Empty constructor definition
};
你可以寫,而不是構造
B (int b = 0)
: b(b)
{ }
也這樣:
B (int b = 0)
{
this->b = b;
}
但這兩種方式不一樣(對於'const'和類類型的對象)。 – 0x499602D2 2014-12-02 14:32:04
當然不是,但這裏的權利是'int b;' – Blacktempel 2014-12-03 06:20:12
它定義爲類'B'一個構造函數,以一個可選的'int'參數(如果省略,則使用默認值「0」)。這個構造函數使用所述參數的值初始化名爲'b'的類的成員變量。 – 2014-12-02 06:16:48
只需將這些術語與C++一起使用:構造函數,默認參數和初始值設定項列表。 – cmaster 2014-12-02 06:19:34