![]() |
VOOZH | about |
Function Overloading provides multiple definitions of the function by changing signature i.e. changing number of parameters, change datatype of parameters, return type doesn’t play any role.
void area(int a); void area(int a, int b);
Integer number: 5 Float number: 5.5 Integer number: 5 and float number:5.5
It is the redefinition of base class function in its derived class with same signature i.e. return type and parameters.
Class a
{
public:
virtual void display(){ cout << "hello"; }
};
Class b:public a
{
public:
void display(){ cout << "bye";}
};
This is Display() method of DerivedClass This is Show() method of BaseClass
Function Overloading | Function Overriding |
| Function Overloading provides multiple definitions of the function by changing signature. | Function Overriding is the redefinition of base class function in its derived class with same signature. |
| An example of compile time polymorphism. | An example of run time polymorphism. |
| Function signatures should be different. | Function signatures should be the same. |
| Overloaded functions are in same scope. | Overridden functions are in different scopes. |
| Overloading is used when the same function has to behave differently depending upon parameters passed to them. | Overriding is needed when derived class function has to do some different job than the base class function. |
| A function has the ability to load multiple times. | A function can be overridden only a single time. |
| In function overloading, we don't need inheritance. | In function overriding, we need an inheritance concept. |