< C++ Tutorial

C++ function overloading

← Previous Next →


If any class have multiple functions with same names but different parameters then they are said to be overloaded. Function overloading allows you to use the same name for different functions, to perform, either same or different functions in the same class.

Function overloading is usually used to enhance the readability of the program. If you have to perform one single operation but with different number or types of arguments, then you can simply overload the function.

Ways to overload a function

  • By changing number of Arguments.
  • By having different types of argument.

Number of Arguments different

In this type of function overloading we define two functions with same names but different number of parameters of the same type. For example, in the below mentioned program we have made two sum() functions to return sum of two and three integers.

int sum (int x, int y)
{
   cout << x+y;
}

int sum(int x, int y, int z)
{
   cout << x+y+z;
}

Here sum() function is overloaded, to have two and three arguments. Which sum() function will be called, depends on the number of arguments

int main()
{
   sum (10,20); // sum() with 2 parameter will be called

   sum(10,20,30); //sum() with 3 parameter will be called
}

Different Datatype of Arguments

In this type of overloading we define two or more functions with same name and same number of parameters, but the type of parameter is different.
For example in this program, we have two sum() function, first one gets two integer arguments and second one gets two double arguments.

int sum(int x,int y)
{
   cout<< x+y;
}

double sum(double x,double y)
{
   cout << x+y;
}

int main()
{
   sum (10,20);
   sum(10.5,20.5);
}
← Previous Next →