#include <iostream> #include <algorithm> // ---[ Funktionsschablone ]------------ template <class T> T betrag(T const& x) { return -x<x ? x : -x; } // ---[ Klassenschablone ]-------------- template <class T, int SIZE> class Array { public: Array(); T const& operator[] (int index) const { return data[index]; } T& operator[] (int index) { return data[index]; } private: T data[SIZE]; }; template <class T, int SIZE> Array<T, SIZE>::Array() { fill(data, data+SIZE, T()); } // ---[ Nutzung ]----------------------- int main() { int const N = 11; Array<int, N> arr; // Nutzung Klassenschablone std::cout << "x |x-5|\n" "-----------\n"; for (int i = 0; i < N; i++) { arr[i] = betrag(i-5); // Nutzung Funktionsschablone std::cout << i << '\t' << arr[i] << '\n'; } }