Template Classes
template <class T> class box { public: box ( ) { } box (T v) : val(v) { } box (box<T> & right) : val(right.val) { } T value() { return val; } void operator = (T right) { val = right; } void operator = (box<T> & right) { val=right.val; } private: T val;