template< class T >
  class A { 
\fbox{ A }
public: virtual T value() = 0; }; class Int : public A {
\fbox{ Int <= A }
public: Int(int n = 0) : _n(n) {} int value() { return _n; } private: int _n; };

slide: Type instantiation