【发布时间】:2016-01-12 18:59:22
【问题描述】:
我重载了两个操作符:operator
运营商
ArithmeticSequence & ArithmeticSequence::operator++()
{
this->lastElement += goToNext;
this->sum += lastElement;
return *this;
}
运算符++
ostream & operator<<(ostream & out, const ArithmeticSequence as)
{
out << as.sum;
return out;
}
现在主要是:
ArithmeticSequence AS(1.3, 2.5);
cout << "++AS sum: " << ++AS << " ++AS sum: " << ++AS << endl;
输出:
++AS sum: 20.2 ++AS sum: 11.4
正确的输出应该是:
++AS sum: 11.4 ++AS sum: 20.2
为什么输出是反转的?
【问题讨论】:
-
注意:不是++AS调用的顺序