你的测试输出有点问题 我改了下 你看能不能看懂
#include
using namespace std;
class Complex
{
public:
Complex(double r=0 , double i=0)
{
realPart = r;
imagePart = i;
}
Complex operator +(Complex &c);
Complex operator -(Complex &c);
Complex operator *(Complex &c);
Complex operator /(Complex &c);
void operator +=(Complex &c);
void scan()
{
cin>>realPart>>imagePart;
}
void print()
{
cout<<"realPart = "<
private:
double realPart;
double imagePart;
};
Complex Complex::operator +(Complex &c)
{
Complex temp;
temp.realPart = realPart + c.realPart;
temp.imagePart = imagePart + c.imagePart;
return temp;
}
Complex Complex::operator -(Complex &c)
{
Complex temp;
temp.realPart = realPart - c.realPart;
temp.imagePart = imagePart - c.imagePart;
return temp;
}
Complex Complex::operator *(Complex &c)
{
Complex temp;
temp.realPart = realPart * c.realPart;
temp.imagePart = imagePart * c.imagePart;
return temp;
}
Complex Complex::operator /(Complex &c)
{
Complex temp;
temp.realPart = realPart / c.realPart;
temp.imagePart = imagePart / c.imagePart;
return temp;
}
void Complex::operator +=(Complex &c)
{
realPart += c.realPart;
imagePart += c.imagePart;
}
int main()
{
Complex c1(1,2), c2(3,4);
c1.print();
(c1+c2).print();
(c1-c2).print();
(c1*c2).print();
(c1/c2).print();
c1+=c2;
c1.print();
Complex c3;
c3.scan();
c3.print();
return 0;
}