C++ examples for template:template function
Overloading a Function Template Provides Even Greater Flexibility
#include <iostream> using namespace std; template <typename T> T AbsoluteValue(T x) { cout << "(using first)" << endl; if (x >= 0) return x; else//w w w . jav a 2s .co m return -x; } template <typename T> T AbsoluteValue(T *x) { cout << "(using second)" << endl; if (*x >= 0) return *x; else return -(*x); } int main() { int n = -3; cout << AbsoluteValue<int>(n) << endl; float *xptr = new float(-4.5); cout << AbsoluteValue<float>(xptr) << endl; cout << AbsoluteValue<float>(10.5) << endl; return 0; }