Like any other function, a constructor can also be overloaded with more than one function that have the same name but different types or number of parameters. Remember that for overloaded functions the compiler will call the one whose parameters match the arguments used in the function call. In the case of constructors, which are automatically called when an object is created, the one executed is the one that matches the arguments passed on the object declaration.
Example :

Class A{

            int x;

            public:

                        A(){

                                    cout<<"A Default";

                        }

                        A(int i){

                                    x=i;

                        }

                        A(A &ob){

                                    x=ob.x;

                        }

                        void display(){

                                    cout<<x<<endl;

                        }

};

void main(){

            A obj;

            A obj1(5);

            A obj2(obj1);

            obj.display();

            obj1.display();

            obj2.display();

} 



String reverse using operator overloading
String concat using operator overloading
Multilevel Inheritance in C++
Single level Inheritance
Overloading Constructors / Multiple Constructors in C++
Destructors in C++
Copy Constructor in C++
Parameterized constructor in C++
Default constructor in C++
Initialization of class member and display on screen