实在是不明白这个用VC++6.0编的程序有什么错~~纠结中~~

来源:百度知道 编辑:UC知道 时间:2024/09/20 19:53:32
我编写了一个进行复数四则运算的程序,就是复数类开始,如下:
#include <iostream>
using namespace std;
/*类的定义*/
class Complex
{public:
Complex(double r=0.0,double i=0.0);
friend Complex operator+(Complex c1,Complex c2);
friend Complex operator-(Complex c1,Complex c2);
Complex operator*(Complex c);
Complex operator/(Complex c);
void display();
private:
double real,imag;
};
/*类成员函数的实现*/
Complex::Complex(double r,double i)
{real=r;imag=i;}
Complex operator+(Complex c1,Complex c2)
{Complex temp;
temp.real=c1.real+c2.real;
temp.imag=c1.imag+c2.imag;
return temp;
}
Complex operator-(Complex c1,Complex c2)
{Complex temp;
temp.real=c1.real-c2.real;
temp.imag=c1.imag-c2.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 temp;
}
Complex Co

不是程序的问题,而是你vc安装的问题。

程序没什么大问题,是VC6编译器的问题,另外还有些小问题,比如最后三个display函数调用少了括号,char*str;改为const char*str;这样这个程序就没问题了。

换个编译环境吧。VC6编译器bug挺多的。VS2005就行,嫌大的话,用mingw也行,很小的。别纠结,纠结不好。。。