关于operator+的小问题
Benni 2011-08-22 04:19:57 有个类叫MyClass吧, 析构函数里面会释放相关资源,现在重载了 operator+, 和 operator+=
MyClass operator + (MyClass &a)
{
MyClass b(*this);
b += a;
return b;
}
现在:
MyClass x, y, c;
x = ....
y = ....
以上两步假设是x,y是赋予了具体内容的。
现在
c = x + y;
发现, 在MyClass operator + (MyClass &a) 的 return b;处, b是正确的, 但是接下来马上调用了b的析构函数, b被清空了, 导致c = x + y;最后结果是那个函数里面被清空的b。 如何才能正确呢?