p335重载流提取运算符.cpp
来自「谭浩强 《C++ 程序设计》第三版的部分课后练习题源码」· C++ 代码 · 共 47 行
CPP
47 行
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(int a=0,int b=0):real(a),imag(b){}
Complex operator+(Complex &a);
friend ostream & operator <<(ostream &output,Complex &a);
friend istream & operator >>(istream &input,Complex &a);
private:
int real;
int imag;
};
ostream & operator <<(ostream &output,Complex &a)
{ if(a.imag>0) cout<<a.real<<"+"<<a.imag<<"i"<<endl;
else if(a.imag<0) cout<<a.real<<a.imag<<"i"<<endl;
else cout<<a.real<<endl;
return output;
}
istream & operator >>(istream &input,Complex &a)
{
cout<<"please input the real part and the imag part: ";
cin>>a.real>>a.imag;
return input;
}
Complex Complex::operator+(Complex &a)
{
return(Complex(a.real+real,a.imag+imag));
}
int main()
{
Complex c1,c2,c3;
cin>>c1>>c2;
cout<<c1<<endl;
cout<<c2<<endl;
c3=c1+c2;
cout<<"c3=c1+c2"<<endl;
cout<<c3;
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?