我想知道下面两节课有什么不同。为什么C++初始化列表在大括号之前?
例子1:
class A
{
string name;
public:
A(const char* _name):name(_name){}
void print(){cout<<"A's name:"<<name<<endl;}
};
例子2:
class A
{
string name;
public:
A(const char* _name){name(_name);}
void print(){cout<<"A's name:"<<name<<endl;}}
为什么例子1传递,最后一个是错误的? 谢谢
感谢所有的答案,我已经知道了,它是在调用构造函数之前构造的,所以不能再次初始化,所以必须赋值。谢谢 – John 2011-05-04 02:02:31