- #include <iostream.h>
- class complex
- {
- public:
- complex(double r=0,double i=0)
- {
- real=r;
- imag=i;
- }
- complex operator +(complex &c);
- complex operator -(complex &c);
- complex operator *(complex &c);
- friend complex operator /(complex &c1,complex &c2);
- friend int operator ==(complex &c1,complex &c2);
- friend int operator !=(complex &c1,complex &c2);
- //friend complex operator++(complex &c);
- complex operator++();
- void disp()
- {
- cout<<real<<"+"<<imag<<"i"<<endl;
- }
- private:
- double real;
- double 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);
- }
- complex complex::operator *(complex &c)
- {
- return complex(real*c.real-imag*c.imag,real*c.imag+imag*c.real);
- }
- complex operator /(complex &c1,complex &c2)
- {
- return complex((c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag),(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag));
- }
- int operator ==(complex &c1,complex &c2)
- {
- return ((c1.real==c2.real)&&(c1.imag==c2.imag));
- }
- int operator !=(complex &c1,complex &c2)
- {
- return !((c1.real==c2.real)&&(c1.imag==c2.imag));
- }
- /*complex operator++(complex &c)
- {
- ++c.imag;
- ++c.real;
- return c;
- }*/
- complex complex::operator++()
- {
- imag++;
- real++;
- return *this;
- }
- void main()
- {
- complex c1(2,3),c2(3.2,4.6);
- complex c3(2,3);
- (c1+c2).disp();
- (c1-c2).disp();
- (c1*c2).disp();
- (c1/c2).disp();
- if(c1==c3)
- cout<<"Equal"<<endl;
- if(c1!=c2)
- cout<<"Not Equal"<<endl;
- (++c1).disp();
- }