定义符

来源:互联网 发布:火影忍者手游外卦软件 编辑:程序博客网 时间:2024/06/05 02:40
/*  *Copyright (c) 2013 ,烟台大学计算机与控制工程学院*All rights reserved.  *作者:王至超  *完成日期:2014年05月25 *版本号: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 &c1){Complex c;c.real=real+c1.real;c.imag=imag+c1.imag;return c;} Complex  Complex:: operator+(double &c2) {     return Complex(real+c2,imag); } Complex operator+(double&c3,Complex &c4) {     return  Complex (c3+c4.real,c4.imag); }//********************* end ********************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;}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
原创粉丝点击