CPP overloading can be defined as the process of creating two or more members (methods, constructors and indexed properties) with same name and having parameters only but are different in number or type of parameter.

In order to increase the readability of a program, function overloading is used. In function overloading, it is not necessary to use different names for same action. In CPP, Function overloading is achieved by using two or more functions in a program with same name but different in parameters

In order to perform different operations on the same operand, operator overloading is used. In operator overloading, operations are performed on user defined data type to overload or redefine most of the CPP operators.

#include <iostream.h> using namespace std; class multiply { public: static int mul(int a,int b) { return a * b; } static int mul(int a, int b, int c, int d) { return a * b * c * d; } }; int main(void) { multiply C; cout<<C.mul(50, 60)<<endl; cout<<C.mul(10, 20, 30, 40); return 0; }

Output

3000 240000

#include <iostream.h> using namespace std; class cal { private: int n; public: cal(): n(10){} void operator --() { n = n-5; } void Display() { cout<<n; } }; int main() { cal c; --c; c.Display(); return 0; }
5