class LongInt
{
public: LongInt& operator++(); //returning a reference
}
LongInt LongInt::operator++()
{
...
LongInt d;
d.setVector(temp);
return d; //returning a reference to an object that will be wiped out because it is out of scope
}
我有点困惑。我显然必须通过引用返回重载增量运算符,但我认为这甚至不可能。我得到一个内存错误,因为我的指针指向的对象消失了。那么我应该如何重载++运算符呢?
答案 0 :(得分:2)
修改对象本身,然后返回*this
。