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