oj-4-复数运算的承载

来源:互联网 发布:高中数学最优化问题 编辑:程序博客网 时间:2024/05/15 06:42
01./*  02.* 程序的版权和版本声明部分:  03.* Copyright (c) 2011, 烟台大学计算机学院  04.* All rights reserved.  05.* 文件名称:test.cpp  06.* 作    者:刘芳07.* 完成日期:2014 年 6月 10 日  08.* 版 本 号:v1.0  09.* 对任务及求解方法的描述部分: 10.* 输入描述:无  11.* 问题描述: 12.* 程序输出: 13.* 问题分析:略 14.* 算法设计:略  15.*/    
#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(real+c.real,imag+c.imag);}Complex Complex::operator+(double & m){    return Complex(real+m,imag);}Complex operator+(double& m,Complex & c){    return Complex(m+c.real,c.imag);}ostream& operator << (ostream& output, const Complex& c){    output<<"("<<setiosflags(ios::fixed)<<setprecision(2)<<c.real;    if(c.imag>0)    output<<"+"<<c.imag<<"i)"<<endl;    else    output<<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
原创粉丝点击