Function overloading and Inline functions in C++ ADNAN AHMED MSCS COMSATS UNIVERSITY ISB 1 Function overloading What is overloading Overloading means assigning multiples meaning to a function names or operator It allows multiple definitions of a function with the same name but different signature C++ Supports Function overloading Operator overloading 2 Function Overloading Is the process of using the same name for two or more functions Requires each redefinition of a function to use a different function signature that is ◦ Different types of parameter ◦ Or Sequence of parameters ◦ Or number of parameters Is used so that a programmer does not have to remember multiple function name 3 Example Two or more functions having same name but different parameters Int max (int a, int b) { if (a>= b) { return a; } else { return b; } Int max (int a, float b) { if (a>= b) { return a; } else { return b; } } } 4 Inline function 1/2 Eliminate the cost of call to small function An inline function is a function that is expanded inline when it is invoked Inline function must be defined before they are called Inline keyword send a request, not a command to the compiler. 5 Inline function 2/2 Inline function can be implemented using the keyword inline The inline is a request to the compiler The function always can not be inline by the compiler The complicated function will not be inline Reduce and save the memory space 6 Syntax Inline Prototype Function_Name (arguement1 , arguement2) Inline int add(int x, int y) 7 Restrictions Inline function must be simple and small If the code size is to large, some compiler will not treat that as inline function If the function is not considered as inline function by the compiler, than it will consider as a normal function 8 When it is not working For function returning values (Loop, Switch or goto ) If function contain static variable 9 10