Function Overloading

Function Overloading

Make a program with three separate functions named print_data. Use function overloading to differentiate them based on their parameter types.

One accepts an integer, another a float, and the last one a boolean.

Entrypoint calls:

int main() 
{
    print_data(42);
    print_data(3.14f);
    print_data(false);
}
Integer: 42
Float: 3.14
Boolean: false

Answer

#include <iostream>

void print_data(int data)
{
    std::cout << "Integer: " << data << "\n";
}

void print_data(float data)
{
    std::cout << "Float: " << data << "\n";
}

void print_data(bool data)
{
    std::cout << "Boolean: " << (data ? "true" : "false") << "\n";
}

int main() 
{
    print_data(42);
    print_data(3.14f);
    print_data(true);
}

Because std::cout outputs 1 or 0 for booleans we use a ternary operator with the text "true", and "false" to get a more meaningfull output.

Questions