Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
#include <iostream>
#include <cstring>
template <typename T>
const T& max (const T& a, const T& b)
{
std::cout << "max<>() fuer T" << std::endl;
return (a > b ? a : b);
}
template <typename T>
T*const& max (T*const& a, T*const& b)
{
std::cout << "max<>() fuer T*" << std::endl;
return (*a > *b ? a : b);
}
inline const char* max (const char* a, const char* b)
{
std::cout << "max<>() fuer char*" << std::endl;
return (std::strcmp(a,b) > 0 ? a : b);
}