As you might know, defining several functions with the same name by changing no of arguments, order of arguments, and data type is called overloading
But wait!
Did you know?
we can also overload the template function as shown in the below example
#include <iostream>
using namespace std;
template<class T>
T sum(T a, T b)//first template function having 2 arguments
{
return a+b;
}
template<class T>
T sum(T a, T b,T c)//second template function having 3 arguments
{
return a+b+c;
}
int main()
{
cout <<sum(20,30) << endl;//Calling the first template function
cout <<sum(2.3,3.9) << endl;//Calling the first template function
cout <<sum(2.3,3.9,4.9) << endl;//Calling the second template function
return 0;
}
Output
50
6.2
11.1
Leave a Reply