The main use of constructors is to initialize objects. The function of initialization is automatically carried out by the use of a special member function called a constructor. The constructors are no different from other functions. Therefore constructors can also be overloaded.
Overloading a constructor means having many constructors in a class with different types arguments and/or different number of arguments. The compiler decides which version of the constructor to invoke during object creation based on number of arguments and type of arguments passed in a program.