function overloading

Function overloading is two or more functions have the same name but different parameters. 
Overloading a function often means you're being a little nicer to those who call your functions, because your code takes on the burden of coping with different argument types rather than forcing the caller to do conversions prior to invoking your function. 
* Functions can be overloaded by changing the number of arguments or/and changing the type of arguments. 
* Functions cannot be overloaded when differ only in the return type. 
* Functions with the same name and the parameter-type-list cannot be overloaded if any of them is a static function. 
* Member function overloading or method overloading is function overloading in class.