9.1复数类中的运算符重载

来源:互联网 发布:谭光树淘宝是真的? 编辑:程序博客网 时间:2024/06/05 22:48
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 作    者:王颖* 完成日期:2014 年 4 月 14 日* 版 本 号:v1.0* 输入描述: 无* 问题描述:复数类中的运算符重载* 程序输出:略* 问题分析:略* 算法设计:略*/#include <iostream>using namespace std;class Complex{public:    Complex()    {        real=0;        imag=0;    }    Complex(double r,double i)    {        real=r;        imag=i;    }    Complex operator+(Complex &c2);    Complex operator-(Complex &c2);    Complex operator*(Complex &c2);    Complex operator/(Complex &c2);    Complex operator-();    friend istream&operator>>(istream&,Complex&);    friend ostream&operator<<(ostream&,Complex&);    void display();private:    double real;    double imag;};//下面定义成员函数Complex Complex::operator+(Complex &c2){    return Complex(c2.real+real,c2.imag+imag);}Complex Complex::operator-(Complex &c2){    return Complex(c2.real-real,c2.imag-imag);}Complex Complex::operator*(Complex &c2){    return Complex(c2.real*real,c2.imag*imag);}Complex Complex::operator/(Complex &c2){    return Complex(c2.real/real,c2.imag/imag);}Complex Complex::operator-(){    return Complex(-real,-imag);}istream&operator>>(istream&input,Complex&c){    input>>c.real>>c.imag;}ostream&operator<<(ostream&output,Complex&c){    output<<"("<<c.real<<","<<c.imag<<")"<<endl;}//下面定义用于测试的main()函数int main(){    Complex c1,c2(5,-10),c3;    cout<<"请输入c1:"<<endl;    cin>>c1;    cout<<"c1=";    cout<<c1;    cout<<"c2=";    cout<<c2;    c3=c1+c2;    cout<<"c3=c1+c2";    cout<<c3;    c3=c1-c2;    cout<<"c3=c1-c2";    cout<<c3;    c3=c1*c2;    cout<<"c3=c1*c2";    cout<<c3;    c3=c1/c2;    cout<<"c3=c1/c2";    cout<<c3;    c3=-c3;    cout<<"c3=-c3";    cout<<c3;    return 0;}

0 0
原创粉丝点击