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 References