在复数类Complex内部实现运算符–和==
#include<iostream>
using namespace std;
class Complex
{
int x,y;
public:
Complex(int x1=0,int y1=0)
{
x=x1;
y=y1;
}
Complex operator--(int)//后缀--
{
x--;
y--;
return Complex(x+1,y+1);
}
Complex operator--()//前缀--
{
--x;
--y;
return Complex(x,y);
}
bool operator==(Complex &z1)
{
if(x==z1.x&&y==z1.y)
{
return true;
}
else
{
return false;
}
}
void print()
{
cout<<x;
if(y>0)
{
cout<<"+"<<y<<"i"<<endl;
}
else
{
cout<<y<<"i"<<endl;
}
}
};
int main()
{
Complex c1(5,6);
Complex c2(10,11);
Complex c3(20,21);
Complex c4;
Complex c5;
Complex c6(2,3);
c4=c1--;
c5=(--c2);
c4.print();
c5.print();
cout<<"c6==c3 is "<<(c6==c3)<<endl;
return 0;
}