首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

输出的为啥不是3

2012-08-21 
输出的为什么不是3?class A{public:int iA(const int &k){i kA()}A(){i 3}}int main(){A a(1)co

输出的为什么不是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

热点排行