#includeclass ccomplex
void print()
ccomplex operator + (ccomplex &c); // 過載運算子+
ccomplex operator + (double r); // 過載運算子+
private: double realpart; // 複數的實部
double imagepart; // 複數的虛部
}; ccomplex ccomplex::operator + (ccomplex &c) // 引數是ccomplex引用物件,兩個複數的加法
ccomplex ccomplex::operator + (double r) // 引數是double型別資料,乙個複數與乙個實數的加法
void main() /*
執行結果為:
該複數實部 = 62, 虛部 = 90
該複數實部 = 32, 虛部 = 20
對運算子「+」作了兩次過載,乙個用於實現兩個複數的加法,另乙個用於實現乙個複數與乙個實數的加法。
當過載乙個運算子時,必須定義該運算子要完成的具體操作,而且當運算子過載函式是類的成員函式時,
該函式的形參個數要比運算子 運算元個數少乙個,雙目運算子過載的成員函式只有乙個引數,
單目運算子過載的成員函式沒有引數。
友元過載的一般格式如下:
friend 《函式型別》operator 《過載的運算子》(《形參》) // 單目運算子過載
// 函式體
friend 《函式型別》operator 《過載的運算子》(《形參1, 形數2>) // 雙目運算子過載
// 函式體
對於單目運算子的友元過載函式,只有乙個形參,形參型別可以是類的物件,可以是引用,這取決於不同的運算子。
對於雙目運算子的友元過載函式來說,它有兩個形參,這兩個形參中必須有乙個是類的物件。
需要說明的是,=、()、和->運算子不能用友元來過載。*/
乙個雙目運算子作為類的成員函式過載時,過載函式的參數列中有()個引數。
過載雙目運算子
include include using namespace std class string 定義預設建構函式 string char str 建構函式過載 friend bool operator string string1,string string2 friend bool operat...
中雙目運算子 運算子過載
這節講c 中的運算子過載。方法有過載,運算子也有過載,設想一下,我們用加號計算int型別的資料,返回的也是int型別,這很正常,因為在數學中加號就是用來計算數字的。但是當我們用加號計算兩個string型別的資料時,給我們返回的則是兩個string資料連線在一起,難道加號應用於不同的場景,編譯器就會自...
過載雙目運算子和過載單目運算子
new 和delete是單目運算子。strcmp函式將兩個字串進行比較,相等返回0 小於返回負數 大於返回正數。strcpy的用法 函式原型 char strcpy char est.const char src 功能是從src位址開始且含有null結束符的字串複製到以dest位址開始的字串中,並返...