Function Overloading
C++ allows multiple functions with the same name but different parameter lists. This improves code readability and logical grouping.
Syntax:
int add(int a, int b);
double add(double a, double b);
Example:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
Inline Functions
These are small functions expanded at compile-time using inline keyword. Helps improve performance for short, frequently called functions.
Syntax:
inline int square(int x) {
return x * x;
}
Recursive Functions
A function that calls itself to solve a sub-problem of the original problem. Requires a base condition to avoid infinite recursion.
Example:
int factorial(int n) {
if (n <= 1)
return 1;
else
return n * factorial(n – 1);
}
7.9 Default Arguments
Functions can have default values for parameters if no argument is passed during the call.
Example:
int sum(int a, int b = 10) {
return a + b;
}
Call:
sum(5); // returns 15
sum(5, 20); // returns 25