Constructor Overloading
Constructor Overloading is same as that of method overloading. The only difference between constructor overloading and method overloading is, In method overloading we'll overload methods, in constructor overloading we'll overload constructors. Having multiple constructor with same name but each constructor having either total number of parameter different or datatype of the parameters different is known as Constructor Overloading.
CODE
EG 1 . Creating Rectangle class with constructor.
#include <iostream>
using namespace std;
class Rectangle {
  public:
    double length, width, height, density;
    //Constructor Overloading
    Rectangle(double l,double w,double h,double d) {
        length = l;
        width = w;
        height = h;
        density = d;
    }
    Rectangle(double l, double w, double h) {
        length = l;
        width = w;
        height = h;
        density = 1;
    }
    Rectangle(double l) {
        length = l;
        width = 1;
        height = 1;
        density = 1;
    }
    //Default Constructor
    Rectangle() {
        length = 1;
        width = 1;
        height = 1;
        density = 1;
    }
    double Area() {
        return length * width;
    }
    double Perimeter() {
        return 2 * (length+width);
    }
    double Volume() {
        return Area() * height;
    }
    double Weight() {
        return Volume() * density;
    }
    void RectangleCalculation() {
        cout << Area() << endl;
        cout << Perimeter() << endl;
        cout << Volume() << endl;
        cout << Weight() << endl;
    }
};
int main() {
        //Invoking constructor with 4 Parameters
        Rectangle wall(5, 6, 7, 2.8);
        wall.RectangleCalculation();
        cout << endl; //Giving empty line
        //Invoking constructor with 3 Parameters
        Rectangle cupboard(7,8,9);
        cupboard.RectangleCalculation();
        cout << endl;
        //Invoking constructor with 1 Parameter
        Rectangle monitor(10);
        monitor.RectangleCalculation();
        cout << endl;
        //Invoking default constructor.
        Rectangle door;
        door.RectangleCalculation();
        cout << endl;
}
(Click Here, For more exercises)