print
extern void print(int); extern void print(float);
list< T >
template< class T > class list { ... } list<int>* alist;
shape
class shape { ... }; class circle : public shape { ... } shape* s = new circle;