Constructor Overloading in C++

As we know function overloading is one of the core feature of the object oriented languages. We can use the same name of the functions; whose parameter sets are different. Here we will see how to overload the constructors of C++ classes. The constructor overloading has few important concepts.

  • Overloaded constructors must have the same name and different number of arguments
  • The constructor is called based on the number and types of the arguments are passed.
  • We have to pass the argument while creating objects, otherwise the constructor cannot understand which constructor will be called.


 Live Demo

#include <iostream>
using namespace std;

class Rect{
   int area;
      area = 0;
   Rect(int a, int b){
      area = a * b;
   void display(){
      cout << "The area is: " << area << endl;

   Rect r1;
   Rect r2(2, 6);


The area is: 0
The area is: 12