C++ Programs by Yamrajbhalla
/*Operator overloading for complex Numbers*/
#include<iostream.h>
#include<conio.h>
class complex
{
float real;
float img;
public:
complex()
{
real=img=0;
}
complex(float real,float img)
{
this->real=real;
this->img=img;
}
void setcomplex(float r,float i)
{
real=r;
img=i;
}
void print()
{
cout<<real<<" + "<<img<<"i";
}
complex operator +(complex c)
{
complex t;
t.real=real+c.real;
t.img=img+c.img;
return t;
}
complex operator -(complex c)
{
complex t;
t.real=real-c.real;
t.img=img-c.img;
return t;
}
complex operator *(complex c)
{complex t;
t.real=real*c.real;
t.img=img*c.img;
return t;
}
complex operator /(complex c)
{complex t;
t.real=real/c.real;
t.img=img/c.img;
return t;
}
};
void main()
{complex c1,c2,c3,c4,c5,c6;
clrscr();
//add items;
c1.setcomplex(3,3);
c2.setcomplex(5,5);
c3=c1+c2;
cout<<endl<<"(";c1.print();cout<<") + (";c2.print();
cout<<") = (";
c3.print();cout<<")";
c4=c1-c2;
cout<<endl<<"(";c1.print();cout<<") - (";c2.print();
cout<<") = (";
c4.print();cout<<")";
c5=c1*c2;
cout<<endl<<"(";c1.print();cout<<") * (";c2.print();
cout<<") = (";
c5.print();cout<<")";
c6=c1/c2;
cout<<endl<<"(";c1.print();cout<<") / (";c2.print();
cout<<") = (";
c6.print();cout<<")";
getch();
}
out put
(3+3i) + (5+5i) =(8+8i)
(3+3i) - (5+5i) =(-2+-2i)
(3+3i) * (5+5i) =(15+15i)
(3+3i) / (5+5i) =(0.6+0.6i)