1 template <class T> 2 class Adder { 3 public: 4 void set(T); 5 T get(); 6 T add(T); 7 8 private: 9 T val; 10 }; 11 12 template <class T> 13 void Adder<T>::set(T new_val) 14 { 15 val = new_val; 16 } 17 18 template <class T> 19 T Adder<T>::get() 20 { 21 return val; 22 } 23 24 template <class T> 25 T Adder<T>::add(T new_val) 26 { 27 val += new_val; 28 return val; 29 } 30 31