ACM-C+作业复数运算符重载(+与<<)

来源:互联网 发布:淘宝卖家开店客服电话 编辑:程序博客网 时间:2024/05/18 02:48
/* * 程序的版权和版本声明部分: * Copyright (c) 2013.烟台大学计算机学院 * All rights reserved. * 文件名称: * 作    者:何新新 * 完成日期:2014 年 5月 23日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述: * 问题描述: * 程序输出: */  #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)  {      Complex c1;      c1.real=real+c.real;      c1.imag=imag+c.imag;      return c1;  }  Complex Complex::operator+(double &c)  {      Complex c1;      c1.real=real+c;      c1.imag=imag;      return c1;  }  Complex operator+(double&d,Complex &c)  {      Complex c1;      c1.imag=c.imag;      c1.real=d+c.real;      return c1;  }  ostream& operator << (ostream& output, const Complex& c)  {      if(c.imag>=0)          output<<"("<<setiosflags(ios::fixed)<<setprecision(2)<<c.real<<"+"<<setiosflags(ios::fixed)<<setprecision(2)<<c.imag<<"i)"<<endl;      else          output<<"("<<setiosflags(ios::fixed)<<setprecision(2)<<c.real<<setiosflags(ios::fixed)<<setprecision(2)<<c.imag<<"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
原创粉丝点击