/* Voorbeeldcode behorende bij het college "Programmeertechnieken",
* LIACS, Universiteit Leiden.
*/
#include <iostream>
/* Definitie van een template functie */
template <typename T>
T grootste(T a, T b)
{
return (a > b ? a : b);
}
int main(void)
{
/* De compiler genereert zelf een geschikte variant. */
int a = grootste(2134, 34672);
double b = grootste(344.556, 56.2340);
long c = grootste(2314123412341234,
123412341234);
std::cout << a << " " << b << " " << c << std::endl;
/* We kunnen ook het gebruik van een bepaalde variant afdwingen.
* Let op: de compiler zal impliciet de floating-point waarden naar
* integers converteren!
*/
float d = grootste<int>(234.5, 7345.52);
std::cout << d << std::endl;
return 0;
}