|

Listings
10.1 and 10.2 accomplish the same thing, but the
overloaded functions in Listing 10.1 are easier
to understand and more natural to use. Also, if
a third variation is needed—perhaps the user wants
to supply either the width or the height, but not
both—it is easy to extend the overloaded functions.
The default value, however, will quickly become
unusably complex as new variations are added.
How
do you decide whether to use function overloading
or default values? Here’s a rule of thumb:
Use
function overloading when
·
There is no reasonable default value.
·
You need different algorithms.
·
You need to support variant types in your parameter
list.
|