回来类类型的函数是调用复制构造函数还是条用赋值
返回类类型的函数是调用复制构造函数还是条用赋值?
函数返回类类型的时候是调用什么函数?如果是赋值调用函数,在倒数第三行temp=print()应该是两次赋值函数才对啊
------解决方案--------------------
拷贝构造函数
#include <iostream>
using namespace std;
class Hell
{
public:
Hell(Hell & A)
{
cout<<"copy constructor"<<endl;
this->a=2;
}
Hell()
{
a=0;
}
Hell& operator=( const Hell & dd)
{
cout<<"assignment"<<endl;
a=dd.a+1;
return *this;
}
Hell & operator=(Hell & dd)
{
cout<<"Hello"<<endl;
a=dd.a+1;
return *this;
}
void print()
{
cout<<a<<endl;
}
private:
int a;
};
Hell print()
{
Hell b;
return b;
}
int main()
{
Hell temp;
temp=print();
temp.print();
return 0;
}
函数返回类类型的时候是调用什么函数?如果是赋值调用函数,在倒数第三行temp=print()应该是两次赋值函数才对啊
c++
------解决方案--------------------
拷贝构造函数