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::coutoutputs 1 or 0 for booleans we use a ternary operator with the text "true", and "false" to get a more meaningfull output.