重载提取运算符“>>”

来源:互联网 发布:淘宝天天特卖会 编辑:程序博客网 时间:2024/04/29 01:19
#include<iostream>using namespace std;class Comple{public:Comple(double r,double i){real=r;imag=i;}Comple(){real=0;imag=0;}friend Comple operator+(Comple,Comple);friend ostream& operator<<(ostream&,Comple&);friend istream& operator>>(istream&,Comple&);private:double real,imag;};Comple operator+(Comple a,Comple b){Comple temp;temp.real=a.real+b.real;temp.imag=a.imag+b.imag;return temp;}ostream& operator<<(ostream& output,Comple& com){output<<com.real;if(com.imag>0) output<<"+";if(com.imag!=0) output<<com.imag<<"i\n";return output;}istream& operator>>(istream& input,Comple& com){cout<<"请输入实部和虚部的值"<<endl;input>>com.real;input>>com.imag;return input;}int main(){Comple c(3.5,3.5),c1,c2;cout<<"c复数:"<<endl;cout<<c<<endl;cout<<"请输入复数c1"<<endl;cin>>c1;    cout<<"请输出c1的值:"<<c1<<endl;c2=c+c1;cout<<"请输出复数c2的值:"<<endl<<c2<<endl;system("pause");return 0;}

原创粉丝点击