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);
#includeusingnamespace
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.除錯下列程式 寫出程式的輸出結果,並解釋 分析與討論 結合上題中的程式總結運算子過載的形式。答 運算子函式過載一般有兩種形式 過載為類的成員函式和過載為類的非成員函式。非成員函式通常是友元。可以把乙個運算子作為...