Chapter 9. Template Functions

Many functions have algorithms that are independent of the types they work with. Consider the following.

if (a > b) 
   c = a;
else if (b < c)
   c = b;

Operator overloading makes it easy to work with objects without regard to their types. The comparison and assignment operators with a, b, and c, for example, may generate compiler defaults for built-in types or call overloaded operator functions for class types. This powerful concept makes generic functions possible with these kind of algorithms. Rather than create overloaded functions with different signatures that essentially do the same thing, we define one generic function that calculates values and performs operations with arguments of any data type. Generic functions ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.