Overloading functions (C++ only)
You overload a function name f
by declaring more
than one function with the name f
in the same scope.
The declarations of f
must differ from each other
by the types and/or the number of arguments in the argument list.
When you call an overloaded function named f
, the
correct function is selected by comparing the argument list of the
function call with the parameter list of each of the overloaded candidate
functions with the name f
. A candidate function is a function that
can be called based on the context of the call of the overloaded function
name.
Consider a function
print
, which displays an int
.
As shown in the following example, you can overload the function print
to
display other types, for example, double
and char*
.
You can have three functions with the same name, each performing a
similar operation on a different data type: #include <iostream>
using namespace std;
void print(int i) {
cout << " Here is int " << i << endl;
}
void print(double f) {
cout << " Here is float " << f << endl;
}
void print(char* c) {
cout << " Here is char* " << c << endl;
}
int main() {
print(10);
print(10.10);
print("ten");
}
The following is the output of the above example: Here is int 10
Here is float 10.1
Here is char* ten
Related information