作者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)