Thursday, October 28, 2010

Binary Operation Overloading

#include

#include

class complex

{

float x,y;

public:

complex()

{

x=0;y=0;

}

complex(float real,float imag)

{

x=real;y=imag;

}

complex operator +(complex);

complex operator -(complex);

complex operator *(complex);

void display();

};

complex complex::operator +(complex c)

{

complex t;

t.x=x+c.x;

t.y=y+c.y;

return t;

}

complex complex::operator -(complex c)

{

complex t;

t.x=x-c.x;

t.y=y-c.y;

return t;

}

complex complex::operator *(complex c)

{

complex t;

t.x=(x*c.x)-(y*c.y);

t.y=(x*c.y)+(y*c.x);

return t;

}

void complex::display()

{

cout<

}

void main()

{

clrscr();

complex c1,c2,c3;

c1=complex(2.5,3.5);

c2=complex(1.6,2.7);

cout<<"c1=";

c1.display();

cout<<"c2=";

c2.display();

c3=c1+c2;

cout<<"Add";

c3.display();

c3=c1-c2;

cout<<"Subtract";

c3.display();

c3=c1*c2;

cout<<"Multiply";

c3=c1*c2;

c3.display();

getch();

}

OUTPUT

c1=2.5+i3.5

c2=1.6+i2.7

Add4.1+i6.2

Subtract0.9+i0.8

Multiply-5.45+i12.35

No comments:

Post a Comment