As we know function overloading is one of the core features of 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.
Example
#include <iostream> using namespace std; class Rect{ private: int area; public: Rect(){ area = 0; } Rect(int a, int b){ area = a * b; } void display(){ cout << "The area is: " << area << endl; } }; main(){ Rect r1; Rect r2(2, 6); r1.display(); r2.display(); }
Output
The area is: 0 The area is: 12