遞增運算子過載(3)

2022-09-09 04:18:12 字數 1838 閱讀 3565

作用:通過過載遞增運算子,實現自己的整型資料

(1)自定義整型資料實現

1 #include 2

using

namespace

std;34

class

myinteger512

13private:14

intm_num;

15};

1617

//因為cout在左邊,所以只能寫在全域性函式

18//

過載左移運算子<<

19 ostream& operator

<<(ostream &cout, myinteger myint)

2024

25void test_01(void)26

3132

int main(void)33

(2)實現自定義整型資料的自增運算

注意事項:

<1>返回

返回引用的區別

1

//過載前置++運算子

2 myinteger& operator++()//

返回物件引用,可以實現 ++(++myint),本質就是對乙個位址重複操作3 7

8//myinteger operator++()

//返回值,首先運算(++myint)=1,當運算++(++myint)=1,因為操作的不是位址,每次運算取的都是myint值9//

<2>前置遞增和後置遞增過載函式的寫法和區別:前置遞增返回引用,後置遞增返回值

1

//過載後置++運算子2//

void operator++(int) int代表佔位引數,可以用於區分前置和後置遞增

3 myinteger operator++(int)//

返回值4

**演示:

1 #include 2

using

namespace

std;34

class

myinteger512

13//

過載前置++運算子

14 myinteger& operator++()//

返回物件引用,可以實現 ++(++myint),本質就是對乙個位址重複操作

1519

20//

myinteger operator++()

//返回值,首先運算(++myint)=1,當運算++(++myint)=1,因為操作的不是位址,而是每次取的myint值

21//

2526

//過載後置++運算子

27//

void operator++(int) int代表佔位引數,可以用於區分前置和後置遞增

28 myinteger operator++(int)//

返回值29

3940

private:41

intm_num;

42};

4344

//因為cout在左邊,所以只能寫在全域性函式

45//

過載左移運算子<<

46 ostream& operator

<<(ostream &cout, myinteger myint)

4751

52void test_01(void)53

5859

void test_02(void)60

6566

int main(void)67

類和物件 運算子過載 3 遞增運算子過載

作用 通過過載遞增運算子,實現自己的整型資料 include include using namespace std 自定義整型 class myinteger 過載前置 運算子 myinteger operator 返回引用為了一直對乙個資料進行遞增操作 過載後置 運算子 myinteger op...

12 5 3 遞增運算子過載

示例 實現person類的年齡自增1。建立類並且過載左移運算子 class person string m name int m age ostream operator ostream cout1,const person p 1 前置遞增 如果遞增運算子過載完成,寫出來應該是這樣的 person...

C 遞增運算子過載

作用 通過過載遞增運算子,實現自己定義的資料型別 如下 include using namespace std 過載遞增運算子 自定義型別 class myinteger 過載前置 運算子 返回引用是為了一直對乙個資料進行遞增操作 myinteger operator 過載後置 運算子 這個int代...