七 運算子過載

2022-03-11 00:52:28 字數 1260 閱讀 1859

7.1:運算子過載成員函式

運算子過載:就是對已經有的運算子賦予多重的含義,使用同乙個運算子作用於不同型別產生不同的行為。

運算子過載函式: operator+() operator-() 

示例:complex operator+( complex om1 , complex om2  )

complex temp;

temp.real = om1.real + om2.real ;

temp.imag = om1.image + om2.image;

return temp;

呼叫: total = com1+com2;

c++ 運算子過載的問題

(1) c++只能對已經有的

c++運算子進行過載,不允許使用者自定義新的運算子

. 例如

**(2) c++ 不能過載的運算子

.       成員訪問運算子

.*      成員訪問指標

::      作用域運算子

sizeof  長度運算子

?:      條件運算子

(3)過載是不能改變操作運算子的個數。

(4)過載不能改變運算子的優先順序。

(5)運算子過載函式的引數不能全部是

c++預定義的基本資料型別。

7.2:前置運算子和後置運算子的過載

a++ ,++a;

c++中編譯器通過運算子函式引數表中是否插入關鍵字

int  

來區分這兩種方式。

++ob

宣告方式: operator ++();

ob++

宣告方式: operator++(x &ob, int);

#includeusing

namespace

std;

class

three_d;

void

dip();

three_d

operator++(); //

過載前置運算子

three_d operator++( int ); //

過載後置運算子

};//

宣告類的成員函式

void

three_d::dip()

three_d three_d::

operator++()

three_d three_d::

operator++( int

)int

main( )

實驗七,運算子過載

一 實驗目的和要求 熟悉運算子過載的定義和使用方法 二 實驗內容 1.除錯下列程式 sy7 1.cpp includeusing namespace std class complex complex double r complex double r,double i complex operat...

實驗七 運算子過載

一 實驗目的和要求 熟悉運算子過載的定義和使用方法 二 實驗內容 1.除錯下列程式 cpp view plain copy sy7 1.cpp include using namespace std class complex complex double r complex double r,do...

實驗七運算子過載

實驗目的和要求 熟悉運算子過載的定義和使用方法 實驗內容 1.除錯下列程式 輸出結果 2.除錯下列程式 寫出程式的輸出結果,並解釋 分析與討論 結合上題中的程式總結運算子過載的形式。答 運算子函式過載一般有兩種形式 過載為類的成員函式和過載為類的非成員函式。非成員函式通常是友元。可以把乙個運算子作為...