Operator Overloading and Friend Function
Operator Overloading and Friend Function
ALGORITHM:
PROGRAM:
#include<iostream.h>
#include<conio.h>
class complex
{float x,y;
public:
complex()
{
x=y=0;
}
complex(float real, float img)
{
x=real;
y=img;
}
friend complex operator + (complex a, complex b);
friend complex operator * (int a, complex b);
friend complex operator *(complex a, int b);
void display();
};
complex operator + (complex a, complex b)
{
complex c;
c.x=a.x+b.x;
c.y=a.y+b.y ;
return c;
}
complex operator * (int a, complex b)
{
complex c;
c.x=a*(b.x);
c.y=a*(b.y) ;
return c;
}
complex operator * (complex a, int b)
{
complex c;
c.x=b*(a.x);
c.y=b*(a.y) ;
return c;
}
void complex::display()
{
cout<<”/n”<<”The Number is:”<<x<<”+i”<<y;
}
void main()
{
clrscr();
complex c1,c2,c3,c4,c5;
c1=complex(2.5,3.5);
cout<<”/n”<<c1;
c1.display;
c2=complex(1.6,2.7) ;
cout<<”/n”<<c2;
c2.display;
c3=c1+c2 ;
cout<<”/n”<<c1+c2;
c3.display;
c4=2*c1 ;
cout<<”/n”<<c1*2;
c4.display;
c5=c1*3 ;
cout<<”/n”<<c1*3;
c5.display;
getch() ;
}
OUTPUT: