求助啊...错误在哪
//complex0.h
#ifndef complex0_h_
#define complex0_h_
class complex{
double x;
double y;
public:
complex() ;
complex(double, double);
~complex() ;
friend complex operator+(complex &, const complex &);//Addtion
complex operator-(const complex &);//Substraction
complex operator*(const complex &);//Multiplication
friend complex operator*(double, const complex &);//Multiplication by double
complex operator~( );//conjugate complex
friend std::istream & operator>>(std::istream &, complex &);
friend std::ostream & operator<<(std::ostream &, const complex &);
}
#endif
//complex0.cpp
#include <iostream>
#include "complex0.h"
using namespace std;
complex::complex( ){x=y=0;}
complex::complex(double a, double b)
{
x=a;
y=b;
}
complex operator+(complex &cp1, const complex& cp2)//Addtion
{
cp1.x+=cp2.x;
cp1.y+=cp2.y;
return cp1;
}
complex complex::operator-(const complex &cp2)//Substraction
{
x-=cp2.x;
y-=cp2.y;
return *this;
}
complex complex::operator*(const complex &cp2)//Multiplication
{
x*=cp2.x;
y*=cp2.y;
return *this;
}
complex operator*(double m, const complex & cp1)//Multiplication by double
{
complex temp;
temp.x=m*cp1.x;
temp.y=m*cp1.y;
return temp;
}
complex complex::operator~( )//conjugate complex
{
x=-x;
y=-y;
return *this;
}
istream & operator>>(istream & is, complex& cp1)
{
cout<<"real: ";
is>>cp1.x;
cout<<"img: ";
is>>cp1.y;
return is;
}
ostream & operator<<(ostream & os, const complex& cp1)
{
os<<"( "<<cp1.x<<" , "<<cp1.y<<"i )";
return os;
}
//complex1.cpp
#include <iostream>
#include <cstring>
#include <string>
#include<limits>
#include <cctype>
#include <fstream>
#include "complex0.h"
using namespace std;
int main( )
{
complex a(3.0, 4.0); // initialize to (3,4i)
complex c;
cout << "Enter a complex number (q to quit):\n";
while (cin >> c)
{
cout << "c is " << c << '\n';
cout << "complex conjugate is " << ~c << '\n';
cout << "a is " << a << '\n';
cout << "a + c is " << a + c << '\n';
cout << "a - c is " << a - c << '\n';
cout << "a * c is " << a * c << '\n';
cout << "2 * c is " << 2 * c << '\n';
cout << "Enter a complex number (q to quit):\n";
}
cout << "Done!\n";
return 0;
}