[求助]关于拷贝构造函数,急!!
widget t(widget u)
{
widget v(u);
widget w=v;
return w;
}
main ()
{
widget x;
widget y=t(t(x));
}
其中widget是一个类
请问这里一共调用了多少次拷贝构造函数?
[此贴子已经被作者于2007-7-3 23:41:01编辑过]
伙计们,是9次,靠偷懒不行啊!
以下是测试代码
#include <iostream.h>
class widget
{
public:
widget(){}
widget(const widget& cpy)
{
*this=cpy;
cout<<&cpy<<" 调用复制构造函数! 构造"<<this<<endl;
}
};
widget tf(widget _u)
{
widget v(_u);
widget w=v;
return w;
}
int main()
{
widget x;
widget y=tf(tf(x));
return 0;
}
测试结果: