c++中遞增運算子的過載
阿新 • • 發佈:2022-04-10
要注意遞增遞減運算子有前置和後置的問題,使用類內定義,在形參上使用給一個int站位符,編譯器會把有佔位符的定義為後置,前置運算正常進行,返回一個引用
後置運算要返回一個值,而不是引用,因為實際的值已經改變了,返回的值是一個改變前的,因為這個值是用區域性變數儲存的,所以不能返回引用,因為相同的原因,在呼叫這個返回值的是時候只能使用拷貝運算而不能使用引用,所以operator<<也做了相應修改,
class Person { public: Person(); Person & operator++ (); Person operator++(int);int m_a;