C 之 運算子過載問題

2022-03-25 19:32:03 字數 560 閱讀 7063

記錄++之前先記一下左右值和訪問資料的問題

資料的存放分三個部分,堆區,棧區和靜態變數區

左值可以更改,右值不能更改

棧區和堆區儲存的都是左值,可以隨意更改其值,靜態變數區部分資料是右值,比如const修飾的值,函式建立的臨時變數,都不可更改

字首++過載,直接直接++操作,返回本身即可

字尾++過載,需建立臨時變數,對原元素執行+1操作,返回臨時變數,返回值型別用const修飾,讓返回值成為乙個右值,不可修改,防止出現(++(class++))的情況

1 #include2

using

namespace

std;

3class

cl7 cl(const cl&c)

11 cl& operator++()

15const cl operator++(int )

20void

prin()

23};

2425

intfunc()

2630

intmain()

31

C 運算子過載之過載單目運算子

單目運算子只有乙個運算元,但是其過載方法類似於雙目運算子,在這裡以過載單目運算子 為例,介紹單目運算子的過載 注意 和 運算子有兩種使用方式,前置自增運算子和後置自增運算子,它們的作用是不一樣的,為了區分他們,c 約定,在自增 自減 運算子過載函式中,增加乙個int型別的形參,就是後置自增 自減 運...

C 之「運算子過載」

c 可以過載的運算子有 1.前置 和後置 2.前置 與後置 3.運算子 4.運算子 5.流提取與流插入 運算子 特別注意 要對類的物件使用運算子,不能過載的運算子 逗號運算子 includeusing namespace std class operate operate operate int x...

c 之運算子過載

運算子過載是一種形式的 c 多型。過載後的運算子必須至少有乙個運算元是使用者定義的型別。使用運算子時不能違反運算子原來的句法規則。不能建立新的運算子。名稱說明 sizeof sizeof 運算子 成員運算子 成員指標運算子 作用域解析運算子 條件運算子 typeid 乙個 rtti 運算子 cons...