C++大虾们快帮帮小弟啊,急....

来源:百度知道 编辑:UC知道 时间:2024/05/20 16:47:34
按下列要求创建写程序
(1)创建一个复数类complex,该类数据成员是两个int型变量real和imaginary,以友元函数形式重载提取符和插入符。
(2)在重新定义提取符时加入判断输入数据是否合法的判断。如果出现非法输入时,则设置位以示输入错。输入格式为2+5i
数据可正可负,可只一个数值,未给出的数值为0。输出格式同输入。
(3)编写main()测试上述类complex的定义的提取符和插入符进行输入输出操作。

//这是我工程里的一个complex.h文件
//////////////////////////////////////////////////////////////////////////
// 类名 : Complex
// 产生时间: 2002/10/16
// 所属文件: complex.h
// 功能 : 对复数进行诸如+,-,*,/,+=,-=,*=,/=操作
//
//////////////////////////////////////////////////////////////////////////

#ifndef COMPLEX_H
#define COMPLEX_H

// 修改时间: 2003年7月24日 21:00

#include <cmath>

class Complex
{

public:

Complex() : _real(0), _imag(0) {}
explicit Complex( double r) : _real(r), _imag(0) {}
Complex(double r, double i) : _real(r), _imag(i) {}

Complex& operator+=(const double& d)
{
_real += d;
return *this;
}

Complex& operator+=(const Complex& c)
{
_real += c._real;
_imag += c._imag;
return *this;
}

Complex& operator-=(const double &d)
{
_r