0
点赞
收藏
分享

微信扫一扫

流输出运算符的重载

八怪不姓丑 2022-02-27 阅读 76
#include<iostream>
#include<string.h>
#include<cstdlib>
using namespace std;
class Complex
{
	private:
		double real,imag;
	public:
		Complex(double r=0.0,double i=0.0):real(r),imag(i){};
		friend ostream& operator<<(ostream& os,const Complex& c);
		friend istream& operator>>(istream& is,Complex& c);
};
ostream& operator<<(ostream& os,const Complex& c)
{
	os<<c.real<<"+"<<c.imag<<"i";
	return os;
}
istream& operator>>(istream& is,Complex& c)
{
	string s;
	is>>s;
	int pos=s.find("+",0);
	string sTmp=s.substr(0,pos);
	c.real=atof(sTmp.c_str());
	sTmp=s.substr(pos+1,s.length()-pos-2);
	c.imag=atof(sTmp.c_str());
	return is;
}
int main()
{
	Complex c;
	int n;
	cin>>c>>n;
	cout<<c<<","<<n;
	return 0;
}
举报

相关推荐

0 条评论