#include #include
using namespacestd;classComplex
{public:
Complex(double r = 0,double i = 0)//构造函数
{
real=r;
imag=i;
}~Complex()
{
}
friend Complexoperator+(Complex &c1,Complex &c2); //重载为友员函数
friend Complex operator*(Complex &c1,Complex &c2);
Complexoperator -(Complex&);//重载为成员函数
Complex operator /(Complex&);
friend istream& operator>>(istream&, Complex&);
friend ostream& operator<
friendbool operator==(Complex &c1,Complex &c2);
friendbool operator!=(Complex &c1,Complex &c2);voiddisplay( );private:doublereal;doubleimag;
};
Complexoperator + (Complex &c1,Complex &c2)
{return Complex(c1.real+c2.real, c1.imag+c2.imag);
}
Complexoperator * (Complex &c1,Complex &c2)
{return Complex(c1.real*c2.real, c1.imag*c2.imag);
}
Complex Complex::operator-(Complex &c)
{return Complex(real-c.real,imag-c.imag);
}
Complex Complex::operator/(Complex &c)
{return Complex(real/c.real,imag/c.imag);
}
istream& operator>>( istream& in, Complex &c )
{in >> c.real >>c.imag;return in;
}
ostream& operator<
{out << c.real << "+" << c.imag << "i\n";return out;
}bool operator == (Complex &c1,Complex &c2)
{if(c1.real==c2.real&&c1.imag==c2.imag)
{return true;
}else{return false;
}
}bool operator != (Complex &c1,Complex &c2)
{if(c1.real!=c2.real||c1.imag!=c2.imag)
{return true;
}else{return false;
}
}voidComplex::display( )
{
cout<
}intMenu()
{intt;
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cin>>t;returnt;
}intmain()
{int iChoice =1;
Complex c1,c2,c3,c4;while (iChoice!=0)
{
iChoice=Menu();switch(iChoice)
{case 1:
{
cout<
cin>>c1;
getchar();break;
}case 2:
{//c1.display();
cout<
}case 3:
{
cout<
cout<
cout<
cin>>c2;
getchar();
c3=c1+c2;break;
}case 4:
{
cout<
cout<
cout<
cin>>c2;
getchar();
c3=c1-c2;break;
}case 5:
{
cout<
cout<
cout<
cin>>c2;
getchar();
c3=c1*c2;break;
}case 6:
{
cout<
cout<
cout<
cin>>c2;
getchar();
c3=c1/c2;break;
}case 7:
{
cout<
cout<
}case 0:
{break;
}
}
}return 0;
}