The return type of functions is not a part of the mangled name which is generated by the compiler for uniquely identifying each function. Each of the following:
- Number of arguments
- Type of arguments
- Sequence of arguments
are the parameters which are used to generate the unique mangled name for each function. It is on the basis of these unique mangled names that compiler can understand which function to call even if the names are same(overloading).