- Function polymorphism(Function Overloading) is a neat C++ addition to C's capablities.
- Function overloading lets you use multiple functions sharing the same name. many forms or versions.
- You can use function overloading to design a family of functions that do essentially the same thing but using different argument lists.
- The key to function overloading is a function's argument list, also called the function signature.
- The compiler considers a reference to a type and the type itself to be the same signature.
- The function-matching process does discriminate between const and non-const variables. It's valid to assign a non-const value to a const variable, but not vice versa.
- When you use the editor of your C++ development tool to write and compile programs, your C++ compiler performs a bit of magic on your behalf--known as name decoration or name mangling--through which each function name is encrypted, based on the formal parameter types specified in the function's prototype.