老实说,我(老实说(考虑了很多 - 自上学期以来。我仍然不完全确定这里发生了什么。有人能帮助和启发我吗? 我对前缀/后缀的差异没问题。这就是分数是如何增加的,这让我感到困惑
以前缀为例。因此,如果我有一个 2/4 的分数,它会增加到 3/4 吗?因为当我看到数字 += denom 时,它让我认为它会返回 2+2+4,即 8。
// prefix increment operator
fraction& fraction::operator++() {
numer += denom;
return *this;
}
// postfix increment operator
fraction fraction::operator++(int) { // Note dummy int argument
fraction temp(*this);
++*this; // call the prefix operator
return temp;
提前感谢堆:)
前缀函数将拼写为
numer = numer + denom;
因此,在2/4
的情况下,它将numer = 2 + 4 = 6
因此结果将是6/4
的(因为DENOM保持不变(。由于所有整数(0
除外(n/n = 1
(,(a+n)/n
将始终增加 1
个。
后缀版本使用前缀版本进行上述计算。