#include
class counter
counter(int v)
counter operator --()
counter operator --(int)
void display()
{cout<
注釋:
使用運算子字首時,對物件(運算元)進行增量修改,然後再返回該物件,所以字首運算子操作時,引數與返回的是同乙個物件。這與基本資料型別的運算子字首類似,返回的也是左值。
使用運算子字尾時,必須在增量之前返回原有的物件值。為此,需要建立乙個臨時物件,存放原有的物件,以便對運算元(物件)進行增量修改時,儲存最初的值。。運算子字尾操作時返回時的原有物件值,不是原有物件,原有物件已經被增量修改,所以返回的應該是存放原有物件值的臨時物件。
如何過載自增運算子 和自減運算子
如何過載增量運算子 和 運算子 和 有前置和後置兩種形式,如果不區分前置和後置,則使用operator 或operator 即可 否則,要使用operator 或operator 來過載前置運算子,使用operator int 或operator int 來過載後置運算子,呼叫時,引數int被傳遞給...
自增 自減運算子的過載
自增運算子 自減運算子 有前置 後置之分,為了區分所過載的是前置運算子還是後置運算子,c 規定 前置運算子作為一元運算子過載 過載為成員函式時 t operator t operator 過載為全域性函式時 t operator t t operatot t 後置運算子作為二元運算子過載,多寫乙個沒...
自增運算子 與 自減運算子
字首形式的 操作符出現在運算元的前面。例如 a 說明 運算元的值被相加,而表示式的值就是運算元增加後的值。舉例 int a,b 1 a b b增加至2,a得到的值為2 字尾形式的 操作符出現在運算元的後面。例如 a 說明 運算元的值仍被相加,而表示式的值是運算元增加前的值。舉例 int a,b 1 ...