读书人

输出的为啥不是3

发布时间: 2012-08-21 13:00:21 作者: rapoo

输出的为什么不是3?
class A
{
public:
int i;
A(const int &k)
{
i = k;
A();
}
A()
{
i = 3;
}
};

int main()
{A a(1);
cout << a.i << endl;
return 1;
}

[解决办法]
调用A()操作的对象不是当前对象a, 而是一个临时对象,因此对i=3不会影响到当前对象
http://hi.baidu.com/wenjiejia/blog/item/f37e0a08e6a885d062d98600.html

读书人网 >C++

热点推荐