您的位置:首页 > 其它

6.27 洗刷刷 1 oj 运算符重载 复数之和 (3+4i)+(5-10i)

2015-06-27 13:56 369 查看
题目描述

定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。

输入

两个复数

输出

复数之和

样例输入

3 4

5 -10

样例输出

(8.00,-6.00i)

#include <iostream>

#include <iomanip>

using namespace std;

class Complex

{

public:

Complex();

Complex(double r,double i);

double get_real();

double get_imag();

void display();

private:

double real;

double imag;

};

Complex::Complex()

{

real=0;

imag=0;

}

Complex::Complex(double r,double i)

{

real=r;

imag=i;

}

double Complex::get_real()

{

return real;

}

double Complex::get_imag()

{

return imag;

}

void Complex::display()

{

cout<<"("<<real<<","<<imag<<"i)"<<endl;

}

Complex operator+(Complex &c1,Complex &c2)

{

return Complex(c1.get_real()+c2.get_real(),c1.get_imag()+c2.get_imag());

}

int main()

{

double real,imag;

cin>>real>>imag;

Complex c1(real,imag);

cin>>real>>imag;

Complex c2(real,imag);

Complex c3=c1+c2;

cout<<setiosflags(ios::fixed);

cout<<setprecision(2);

c3.display();

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: