1、需要解決的問題
#include class complex
complex(int a,int b) };
int main()
; complex c2 = ;
complex c3 = c1 + c2;
return 0;
}
很明顯編譯器怎麼會知道你要實現複數運算?那如何用現有的知識實現這個複數的相加運算?
#include class complex
complex(int a,int b)
int geta()
int getb()
friend complex add(complex& p1, complex& p2);
};complex add(complex& p1, complex& p2)
int main()
這個程式用到了友元,雖然說實現了我們的功能,但是我們還是要少用友元。如果我們堅持complex c3 = c1 + c2 就直接實現我們的功能,那麼程式要怎麼寫?
2、思考
為什麼不能讓 + 操作符也支援複數相加呢?
3、操作符過載
type operator sign(const type p1,const type p2)
sign 為系統中預定義的操作符,如:+,-,*,/
小結:
操作符過載的概念
複數計算第一種形式 自定義複數類 1 include 2 3class complex 413 14int geta 1518 19int getb 2023 24 friend complex add const complex p1,const complex p2 25 2627 comple...
操作符過載
ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...
操作符過載
1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...