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

2021-07-22 23:56:15 字數 1249 閱讀 8889

time limit: 1000ms

memory limit: 65536kb

submit

statistic

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 510

example output

5+8i

12+3i

12+3i

hint

author

方法一:只對+過載

#include using namespace std;

class complex

complex operator + (complex & c2)

complex operator + (int x)

friend complex operator + (int x, complex & c2)

void show()

};int main()

方法二:對+和《全部過載

#include using namespace std;

class complex

complex operator + (complex & c2)

complex operator + (int x)

friend complex operator + (int x, complex & c2)

friend ostream & operator << (ostream & output, complex c) //對輸出流《過載,也可以不用

};int main()

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

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

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

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