Function overloading is defined as a normal function, but it has the
ability to perform different tasks. It allows creation of several
methods with the same name which differ from each other by type of input
and output of the function.
Example
void add(int& k, int& s);
void add(double& k, double& s);
void add(struct bob& k, struct bob& s);