You can write as many functions with shared names as you'd like, as long as each function
has different parameters. This means:
- The functions have different amounts of parameters, or
- The data types of the parameters are different, or
- The parameters are in a different order (when mixing data types).
Parameter variable names don't affect the "uniqueness" of a function signature,
it has to be different data types, different order, or different amounts of parameters.
void Setup( string log_file );
void Setup( string log_file, bool is_debug );
void Draw( Rectangle rect );
void Draw( Circle circle );