October 1997
Intermediate to advanced
800 pages
20h 48m
English
C++ doesn't force you to overload functions, so why bother? Consider the following.
int Imin(int, int); // minimum, two integers float Fmin(float, float); // minimum, two floats int Amin(const int *, int); // minimum, integer array with size int Lmin(const ListInt &); // minimum, List of integers
Libraries of functions that perform the same operation but have different names force users to remember which one to call (argument pairs of integers or floats, arrays of integers, lists of integers, and so on). Calls to the wrong function produce compilation errors or undesirable conversions. Function overloading, however, provides one name that performs the same operation for different types.
int min(int, int); // minimum, ...