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

}


我有点困惑。我显然必须通过引用返回以重载增量运算符,但是我什至认为这是不可能的。我遇到内存错误,因为指针指向的对象消失了。那么我应该如何重载++运算符?

最佳答案

修改对象本身,然后返回*this

08-16 13:24