#include#includeusing namespace std;class Complex{
double real;
//实部
double imaginry;
//虚部 public:
Complex(double x=0,double y=0);
Complex operator+(Complex &a);
friend ostream& operator<<(ostream& o,const Complex& s);};Complex::Complex(double x,double y):real(x),imaginry(y){}Complex Complex::operator+(Complex &a){
Complex r;
r.real=real+a.real;
r.imaginry=imaginry+a.imaginry;
return r;}ostream& operator<<(ostream& o,const Complex& s){
if(s.real==0)
{
if(s.imaginry==0) o<<s.real;
else o<<s.imaginry<<"i";
}
else
{
if(s.imaginry==0) o<<s.real;
else if(s.imaginry<0) o<<s.real<<s.imaginry<<"i";
else o<<s.real<<"+"<<s.imaginry<<"i";
}}int main(){
Complex a(1,3),b(2,-2),c;
cout<<"a="<<a<<endl<<"b="<<b<<endl;
c=a+b;
cout<<"a+b="<<c;
getch();
return 0;}你用的什么编译器把错误信息发出来我用Dev C++没有错误
|