物件導向程式設計上機練習十(運算子過載)

2021-08-13 16:50:40 字數 951 閱讀 8146

problem description

定義乙個複數類complex,過載運算子「+」,使之能用於複數的加法運算。參加運算的兩個運算量可以都是類物件,也可以其中有乙個是整數,順序任意。例如:c1+c2、i+c1、c1+i均合法。(其中i是整數,c1、c2是複數),程式設計實現求2個複數之和、整數與複數之和。

input

輸入有三行:第1行是第1個複數c1的實部和虛部,以空格分開。第2行是第2個複數c2的實部和虛部,以空格分開。第3行是1個整數i的值。

output

輸出有三行:

第1行是2個複數c1和c2的和,顯示方式:實部+虛部i

第2行是第1個複數c1加i的值,顯示方式:實部+虛部i

第3行是i加第1個複數c1的值,顯示方式:實部+虛部i

example input

2 3

3 5

10 example output

5+8i

12+3i

12+3i

#include 

using

namespace

std;

class complex

complex()//必須有!!!不然定義物件沒有預設值時會報錯

friend ostream &operator

<<(ostream &output, complex a)//將《運算子過載函式定義為友元函式

void get()

complex operator +(complex &a)//物件+物件

complex operator +(int b)//物件+整數

friend complex operator +(int b, complex &a)//整數+物件

//定義為友元函式,需訪問私有資料成員

};int main()

物件導向程式設計上機練習十(運算子過載)

time limit 1000ms memory limit 65536k 定義乙個複數類complex,過載運算子 使之能用於複數的加法運算。參加運算的兩個運算量可以都是類物件,也可以其中有乙個是整數,順序任意。例如 c1 c2 i c1 c1 i均合法。其中i是整數,c1 c2是複數 程式設計實...

物件導向程式設計上機練習十(運算子過載)

time limit 1000ms memory limit 65536kb submit statistic problem description 定義乙個複數類complex,過載運算子 使之能用於複數的加法運算。參加運算的兩個運算量可以都是類物件,也可以其中有乙個是整數,順序任意。例如 c1...

物件導向程式設計上機練習十(運算子過載)

problem description 定義乙個複數類complex,過載運算子 使之能用於複數的加法運算。參加運算的兩個運算量可以都是類物件,也可以其中有乙個是整數,順序任意。例如 c1 c2 i c1 c1 i均合法。其中i是整數,c1 c2是複數 程式設計實現求2個複數之和 整數與複數之和。i...