acm第二题

来源:互联网 发布:淘宝背包女双肩包收口 编辑:程序博客网 时间:2024/06/05 18:55
#include <iostream>#include <iomanip>using namespace std;class Complex{public:Complex():real(0),imag(0) {}Complex(double r,double i):real(r),imag(i) {}Complex operator+(Complex &);Complex operator+(double &);friend Complex operator+(double&,Complex &);friend ostream& operator << (ostream& output, const Complex& c);private:double real;double imag;};//将程序需要的其他成份写在下面,只提交begin到end部分的代码//******************** begin ********************Complex Complex::operator+(Complex &c){    return Complex(c.imag+imag,c.real+real);}Complex Complex::operator+(double &c){    return Complex(imag,c+real);}Complex operator+(double&a,Complex &b){    return Complex(b.imag,a+b.real);}ostream& operator << (ostream& output, const Complex& c){    output<<"("<<setiosflags(ios::fixed)<<setprecision(2)<<c.imag;    output<<setiosflags(ios::fixed)<<setprecision(2);    if(c.real<0)    {        output<<c.real<<"i)"<<endl;    }    else output<<"+"<<c.real<<"i)"<<endl;    return output;}//********************* end ********************int main(){//测试复数加复数double real,imag;cin>>real>>imag;Complex c1(real,imag);cin>>real>>imag;Complex c2(real,imag);Complex c3=c1+c2;cout<<"c1+c2=";cout<<c3;//测试复数加实数double d;cin>>real>>imag;cin>>d;c3=Complex(real,imag)+d;cout<<"c1+d=";cout<<c3;//测试实数加复数cin>>d;cin>>real>>imag;c1=Complex(real,imag);c3=d+c1;cout<<"d+c1=";cout<<c3;return 0;}

0 0
原创粉丝点击