It is a base class that allows sub-classes to have functions that may be called in several ways using with a different number of arguments or arguments with different types.
The base class intercept calls to the overloaded functions and dispatches those calls according to the types and number of arguments.