Constructor Overloading in C++ with Example

#include<iostream.h>
#include<conio.h>
using namespace std;
class complex
{
  float x, y;
 public:
  complex(){}
  complex(float){ x=y=a;}
  complex(float real, float imag) {x=real; y=imag;}
 friend complex sum (complex, complex);
 friend void show(complex);
};
complex sum(complex c1, complex c2)
{
 complex c3; 
 c3.x=c1.x+c2.x;
 c3.y=c1.y+c2.y;
 return(c3);
}
void show(complex c)
{
 cout<<c.x<<"+j"<<c.y;
}
int main()
{
 complex A(2.5, 5.5);
 complex B(3.5, 4.7);
 complex C;
 C=sum(A, B);
cout<<"A=";show(A);
cout<<"B=";show(B);
cout<<"B=";show(C);
return 0;
}

Output:

A=2.5+j5.5
B=3.5+j4.5
C=6.0+j10.2