实现一个复数类Complex,该类中包括实部 real和虚部imag两个实型数据成员,并具有下述功能: (1)添加构造函数,初始化其数据成员。 (2)重载+算术运算符。 (3)重载==关系运算符。 (4)重载>>流提取运算符,从键盘输入复数的实部和虚部。 (5)重载<<流插入运算符,以标准格式输出一个复数,并当虚部为零时,只输出实部。
#include<iostream>
using namespace std;
class Complex{
double real,imag;
public:
Complex(double r=0,double i=0) :real(r),imag(i) {
}
Complex operator + (Complex &a);
bool operator ==(Complex &b);
friend istream & operator <<(istream &is,Complex & c);
friend ostream & operator >>(ostream &os,const Complex & c);
};
Complex Complex::operator +(Complex &a)
{
return Complex(real+a.real,imag+a.imag);
}
bool Complex