Default parameters let us define a "default value" for one or more parameters of a function, which are specified in the function's declaration.
The function with default parameters will contain the maximum amount of parameters.
When the function is called, any data not passed in as an argument will receive the default value instead.
// ONE FUNCTION USING DEFAULT PARAMETERS:
void Setup( string log_file = "log.txt", bool is_debug = false );
This is different from function overloading, since we won't have different versions of functions with increasing amount of parameters.
// OVERLOADED FUNCTIONS:
void Setup( string log_file );
void Setup( string log_file, bool is_debug );