#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;
}
重载提取运算符“>>”
最新推荐文章于 2022-03-08 11:42:39 发布