您的位置:首页 > 其它

面向对象程序设计上机练习十(运算符重载)

2016-10-18 18:10 381 查看


面向对象程序设计上机练习十(运算符重载)

Time Limit: 1000MSMemory Limit: 65536KBSubmitStatistic

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+3i01
#include<iostream>
02
using
namespace
std;
03
class
Complax
04
{
05
    
public
:
06
        
Complax(
int
r = 0,
int
i = 0)
07
        
{
08
            
real = r;
09
            
imag = i;
10
        
}
11
        
Complax complax_add(Complax &b);
12
        
void
display();
13
    
private
:
14
        
int
real;
15
        
int
imag;
16
};
17
void
Complax::display()
18
{
19
    
if
(imag > 0)
20
        
cout <<real<<
"+"
<<imag<<
"i"
<<endl;
21
    
else
22
        
cout <<real<<imag<<
"i"
<<endl;
23
}
24
Complax Complax::complax_add(Complax &b)
25
{
26
    
Complax x;
27
    
x.real = real + b.real;
28
    
x.imag = imag + b.imag;
29
    
return
x;
30
}
31
int
main()
32
{
33
    
int
d1,d2,d3,d4,d5;
34
    
cin >>d1>>d2>>d3>>d4>>d5;
35
    
Complax a(d1,d2),b(d3,d4),c1(d5),c2,c3,c4;
36
    
c2 = a.complax_add(b);
37
    
c3 = a.complax_add(c1);
38
    
c4 = a.complax_add(c1);
39
    
c2.display();
40
    
c3.display();
41
    
c4.display();
42
    
return
0;
43
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: