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

2021-06-26 08:54:50 字數 972 閱讀 7014

time limit: 1000ms memory limit: 65536k

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

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

輸出有三行:

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

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

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

2 3

3 510

5+8i

12+3i

12+3i

zlh#includeusing namespace std;

class complex

complex(double r,double i)

void get()

complex operator + (complex &c1)

complex operator + (int &i)

friend complex operator + (int &i,complex &c2);

friend ostream &operator << (ostream &out,complex &c3);

};complex operator + (int &i,complex &c2)

ostream &operator <<(ostream &out,complex &c3)

{ if(c3.imag>0)

out<>i;

h=c1+c2;

x=c1+i;

y=i+c1;

cout<

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

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

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

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