It is usually recommended that a function's name, return type, and argument list be unique so a compiler can distinguish one function from another, and so it will implicitly know which function a programmer intended to call. It is possible, however, for functions to have the same name and different argument lists; for example, SayHello(int variable) and SayHello(char variable). The process of creating multiple functions with the same name but different arguments is called overloading. Consider the following code:
void sort(int *Numlist) { //sort numbers.... } void sort(char *Letters) { //sort letters.... }
Note | Typically, programmers do not overload functions for the sake of it, but rather for a specific purpose. One good reason to overload a function is when several functions achieve a similar purpose but operate on different data types. For example, a sort function can be used to sort a variety of data, such as numbers, letters, words, and so on. For this reason, there are times when it makes sense to use the same name for several functions. |