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