1. Return value
2. Pointers
3. Number and types of arguments
4. Called from within
5. &- return address of a variable
6. Pointer
7. 4
8. Dynamic pointer
9. Type cast is a process of converting data from one data type to another.
10. When a function has more than one return
11. Operator overloading
12. Using dot (.) operator
13. Using ->
14. To define new data types to be used in the program
15. To create user defined types the consist of constants