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