帮我看看问题出在哪?

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:28:29
#include <iostream.h>
#include <math.h>
class complex{
public:
complex(double=0.0,double i=0.0);
void print();
complex operator+(complex c);
complex operator-(complex c);
complex operator*(complex c);
complex operator/(complex c);
int operator==(complex c);
int operator!=(complex c);

private:
double real;
double imag;
};

complex::complex(double r,double i)
{
real=r;
imag=i;
}
complex complex::operator +(complex c)
{
complex temp;
temp.real=real+c.real;
temp.imag=imag+c.imag;
return temp;
}
complex complex::operator -(complex c)
{
complex temp;
temp.real=real-c.real;
temp.imag=imag-c.imag;
return temp;
}
complex complex::operator *(complex c)
{
complex temp;
temp.real=real*c.real-imag*c.imag;
temp.imag=real*c.imag+imag*c.real;
return

应该是这样吧:
int complex::operator==(complex c)
{
// 不知道这里的temp有啥用
//complex temp;
if(real!=c.real)
return 0;
if(imag!=c.imag)
return 0;
return 1;
}

int complex::operator!=(complex c)
{
//complex temp;
if(real!=c.real)
return 1;
if(imag!=c.imag)
return 1;
return 0;
}

你的main()里根本就没有比较是否相等的代码