作者ric2k1 (Ric)
看板EE_DSnP
標題[討論] Constructor 內 initialize data member
時間Tue Oct 30 18:57:18 2007
以下三種都可以, 雖然用意與效果可能不太一樣...
For example,
class A
{
public:
/* constructor: see below */
void setData(int i, char c) { _d1 = i; _d2 = c; }
private:
int _d1;
char _d2;
};
1. 直接 assign
A(int i, char c) { _d1 = i; _d2 = c; }
2. 呼叫另外的 function (課本的作法)
A(int i, char c) { setData(i, c); }
3. 呼叫 data member 的 constructor // 雖然 int/char 沒有 constructors
A(int i, char c) : _d1(i), _d2(c) {}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.21.241
1F:推 Knossos:偷偷抓一下bug...最後一行好像是_d1(i)... 10/30 21:27
2F:推 ric2k1:XD 10/30 23:00
※ 編輯: ric2k1 來自: 59.121.129.10 (10/30 23:00)