这程序有错吗?咋就不能通过

来源:百度知道 编辑:UC知道 时间:2024/06/12 13:36:59
#include<iostream>
using namespace std;
class Complex
{public:
Complex(double a,double b)
{real=a;
imag=b;}
Complex operator +(Complex);
void display();
private:
double real;
double imag;
};
void Complex::display()
{
cout<<real<<"+("<<imag<<")"<<endl;
}
Complex Complex::operator +(Complex c2)
{
Complex c;
c.real=real+c2.real;
c.imag=imag+c2.imag;
return c;
}
void main()
{
Complex c1(1.5,6.9),c2(3.2,5.7),c3;
c3=c1+c2;
cout<<"c1="; c1.display();
cout<<"c2="; c2.display();
cout<<"c3="; c3.display();
}

没写缺省构造函数

#include<iostream>
using namespace std;
class Complex
{public:
Complex(){real=0;imag=0;}
Complex(double a,double b)
{real=a;
imag=b;}
Complex operator +(Complex);
void display();
private:
double real;
double imag;
};
void Complex::display()
{
cout<<real<<"+("<<imag<<")"<<endl;
}
Complex Complex::operator +(Complex c2)
{
Complex c;
c.real=real+c2.real;
c.imag=imag+c2.imag;
return c;
}
void main()
{
Complex c1(1.5,6.9),c2(3.2,5.7),c3;
c3=c1+c2;
cout<<"c1="; c1.display();
cout<<"c2="; c2.display();
cout<<"c3="; c3.display();
}

应该没错 多试几次