Define multiple functions with the same name but different parameters.
Function overloading is a feature of C++ that allows you to have two or more functions with the same name in the same scope, provided that their parameter lists are different. The difference can be in the number of parameters, the type of parameters, or the order of parameters. This enables you to create functions that perform similar operations on different types of data without having to invent new names for each one. For example, you could have an `add` function that works for integers (`int add(int, int)`) and another `add` function that works for doubles (`double add(double, double)`). When you call an overloaded function, the compiler determines which version of the function to execute based on the arguments you provide in the function call. This process is called overload resolution. The compiler matches the types and number of arguments to the parameter lists of the available overloaded functions. If a unique match is found, that function is called. If no match is found, or if the call is ambiguous (i.e., it could match more than one overloaded function), the compiler will issue an error. Note that the return type of the function is not considered for overloading. Two functions cannot be overloaded if they only differ by their return type.