Function Overloading Program Example using CPP

    1. Home
    2. Tutorials
    3. CPP
    4. CPP Programs
    5. Functions
    6. Program

    Source Code:

    #include <iostream>
    using namespace std;

    // List of overloaded fucntions
    int sum(int, int); // function declaration
    int sum(int, int, int);
    float sum(int, float);

    int main(int argc, char** argv) {

        int x;
        float y;
        int z;
        x = 10;    
        y = 9.8;    
        z = 12;    
        
        //automatically call to appropriate function
        sum(x,y);
        /* This will output
        Sum using int sum(int x, float y): 19.8
        */

        sum(x,z);
        /* This will output
        Sum using int sum(int x, int y): 22
        */

        sum(x,y,z);
        /* This will output
        Sum using int sum(int x, int y, int z): 31
        */

        return 0;
    }

    // Overloaded Function Definations
    int sum(int x, int y) { // function Header
        cout<<"Sum using int sum(int x, int y): ";
        cout<<x+y<<endl;

    }
    float sum(int x, float y) { // function Header
        cout<<"Sum using int sum(int x, float y): ";
        cout<<x+y<<endl;

    }
    int sum(int x, int y, int z) { // function Header
        cout<<"Sum using int sum(int x, int y, int z): ";
        cout<<x+y+z<<endl;

    }
    Output:

    C++ function overloading example

    Working:

    In this program example we declare three functions having same name but different no of parameters and parameters names. In C++ function overloading can also be achieved by different return types.

    The detail of these function is as provided:

    Sr. Return Type Function Name No of Parameters Parameters Types
    1 int sum 2 int, int
    2 int sum 3 int, int, int
    3 float sum 2 int, float

    After functions declaration we declare three variables two of int type and one of float data type. Compile will automatically bind appropriate function depending on no of parameters provided at the time of function call during compilation process. This is also called early binding

    In main function we call sum function provided on different no of parameters. In this program we define function after main() function.

    Comments
    Login to TRACK of Comments.