《C++是很危险的》中的代码全部来自网络及各种C++相关的书籍。 目的不是为了谴责C++, 而是希望大家注意C++中的某些细节。 避免在实际工作中犯错误。
以下代码会输出什么?
#include <iostream>
using namespace std;
class bar
{
public:
bar(int a)
{
data=a;
bar();
}
bar()
{
data=4;
}
int getData()const
{
return data;
}
private:
int data;
};
int main()
{
bar b(3);
cout<<b.getData()<<endl;
return 0;
}
答案是3。
bar()
只是生成一个临时的bar对象,
然后就立即析构了。
没有对当前对象造成任何影响。