第九周项目1-基础工程

来源:互联网 发布:js验证数字和小数点 编辑:程序博客网 时间:2024/05/18 02:20
/*Copyright (c) 2011, 烟台大学计算机学院* All rights reserved.* 作    者: 石尧* 完成日期:2014 年04  月 15日* 版 本 号:v1.0** 问题描述:基础工程。* 样例输入:略.* 样例输出:略。* 问题分析:略。*/#include <iostream>using namespace std;class Complex{public:    Complex(){real=0;imag=0;}    Complex(double r,double i){real=r; imag=i;}    friend Complex operator+(Complex &c1,double d);    friend Complex operator-(Complex &c1,double d);    friend Complex operator*(Complex &c1,double d);    friend Complex operator/(Complex &c1,double d);    friend Complex operator+(double d,Complex &c1);    friend Complex operator-(double d,Complex &c1);    friend Complex operator*(double d,Complex &c1);    friend Complex operator/(double d,Complex &c1);    friend Complex operator-(Complex &c1);//声明单目运算符重载    friend istream&operator>>(istream &,Complex &);//声明友元重载运算符“>>”函数    friend ostream&operator<<(ostream &,Complex &);//声明友元重载运算符“<<”函数    void display();private:    double real;    double imag;};istream&operator>>(istream&input,Complex &c){    cout<<"请输入复数的实部a和虚部b:";    input>>c.real>>c.imag;    return input;}ostream&operator<<(ostream&output,Complex &c){    if(c.imag>0)    {        output<<"("<<c.real<<"+"<<c.imag<<"i)";    }    else    {        output<<"("<<c.real<<c.imag<<"i)";    }    return output;} Complex operator+(Complex &c1,double d){    return Complex((c1.real)+d,c1.imag);}Complex operator+(double d,Complex &c1){    return Complex(d+c1.real,c1.imag);}Complex operator-(Complex &c1,double d){    return Complex((c1.real)-d,c1.imag);}Complex operator-(double d,Complex &c1){    return Complex(d-c1.real,c1.imag);}Complex operator*(Complex &c1,double d){    return Complex((c1.real)*d,c1.imag);}Complex operator*(double d,Complex &c1){    return Complex(d*c1.real,c1.imag);}Complex operator/(Complex &c1,double d){    return Complex((c1.real)/d,c1.imag);}Complex operator/(double d,Complex &c1){    return Complex(d/c1.real,c1.imag);}Complex operator-(Complex &c1)//定义单目运算符重载{    Complex c2;    c2.real=0-c1.real;    c2.imag=0-c1.imag;    return c2;}//下面定义用于测试的main()函数int main(){    Complex c1,c2,c3;    cin>>c1>>c2;    double d=3;    c3=c1+d;    cout<<"c1+d="<<c3<<endl;    c3=d-c1;    cout<<"d-c1="<<c3<<endl;    c3=d*c1;    cout<<"d*c1="<<c3<<endl;    c3=c1/d;    cout<<"c1/d="<<c3<<endl;    c3=-c1;    cout<<"-c1="<<c3<<endl;    return 0;}

0 0