我明白,我們可以在內部數據類型適用於增量和減量,如:運營商的關鍵字和運算符重載模擬
int a;
a++;
a--;
...等。
但是,在下面的代碼中,如果我省略operator int& () { return value; }
行中的&
,我將收到一個編譯錯誤。請解釋如何以及爲什麼使用&
使得增量可能在這裏:
#include <iostream>
class Foo {
public:
int value;
operator int& () { return value; }
};
int main () {
Foo p;
p.value = 10;
p++;
std::cout << p << std::endl;
std::cin.get ();
return 0;
}
這聽起來像作業 – 2012-07-07 19:37:39