Function overloading in C++ with Examples

In programming languages, Function overloading is a process of declaring multiple member functions having same name but differ in one of the following

  1. Different types of parameters.
  2. Different number of parameters.
  3. Different sequence of parameters.

For Example:-

  • Sum(int, int)
  • Sum(Float, Float)
  • Sum(int, float)
  • Sum(int, float, int)

This process have many advantages. The mechanism of function overloading allows programmer to implement the behavior of static polymorphism in his software. It allow users to invoke different functionality by interacting with same interface.

For Example:-

#include<iostream>
#include<conio.h>

class Function_Example
{
private:
int a;
double b;

public:
Function_Example()
{
a = 0;
b = 0.0;
}

void Sum(int a1, int a2)
{
a = a1 + a2;
std::cout << "Two integer values are added : "<<a<<"\n";
}

void Sum(float a1, float a2)
{
b = a1 + a2;
std::cout << "Two Float values are added : " << b << "\n";
}
void Sum(int a1, float a2)
{
b = a1 + a2;
std::cout << "One integer and one Float value are added : " << b << "\n";
}
void Sum(int a1, float a2, int a3)
{
b = a1 + a2 + a3;
std::cout << "One integer, one Float and one integer value are added : " << b << "\n"<<"\n";
}

};

main()
{

Function_Example obj;
obj.Sum(3, 5);
obj.Sum((float) 4.55, (float) 6.55);
obj.Sum(2, (float) 7.5);
obj.Sum(1, (float) 8.5, 9);

getch();
}

Function Overloading exampleExplanation:-

In above example, we have declared a class Function_Example, it contains two data members ‘a’ and ‘b’. It also contains Four overloaded member functions, each function is differ by the type of parameters, number of parameters and by the sequence of parameters. Now we will move towards the “Main function”. There we have created an object “obj” of “Function_Example” class. Now we are calling “Sum” function four times by passing different types of values by different sequences. As you can see into the output image, every time when the function “Sum” is called the different output is generated because of different overloaded functions.

4.3/5 - (3 votes)

royal52
royal52

I’m a DevSecOps Software engineer by profession and a SEO hobbyist. I’m passionate about everything Software, including game development.

We will be happy to hear your thoughts

Leave a Reply

HellGeeks
Logo