码迷,mamicode.com
首页 > 编程语言 > 详细

C++重载<<>>

时间:2016-05-24 20:40:45      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
using namespace std;
class Complex{
    public:
        Complex(double r=0,double i=0){real=r;imaginary=i;}
        
        const Complex operator+(const Complex& right)const{
            return Complex(real+right.real,imaginary+right.imaginary);
        }
    friend    ostream& operator<<(ostream& os,const Complex& c);
    friend    istream& operator>>(istream& os,Complex& c);
    private:
        double real,imaginary;
};
ostream& operator<<(ostream& os,const Complex& c){
    if(c.real==0&&c.imaginary==0)os<<"0";
    if(c.real!=0) os<<c.real;
    if(c.imaginary!=0){
        if(c.imaginary!=0){
            if(c.imaginary>0&&c.real!=0)
                os<<"+";
            os<<c.imaginary<<"i";
        }
    }
    return os;
}
istream& operator>>(istream& is,Complex& c){
    cout<<"Please input a Complex:"<<endl;
    return is>>c.real>>c.imaginary;
}
int main()
{
    Complex c1,c2;
    cin>>c1;
    cin>>c2;
    cout<<c1+c2<<endl;
    return 0;
}

 

C++重载<<>>

标签:

原文地址:http://www.cnblogs.com/test404/p/5524600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!