29 操作符過載的概念

2021-09-26 09:39:39 字數 1519 閱讀 3493

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...