1 
2 template <class T>
3 class Info {
4 public:
5   void p(T *x);
6 };
7 
8 template <class T>
9 void Info<T>::p(T *x)
10 {
11   x->print();
12 }
13 
14 class PP {
15 public:
16   void print();
17 };
18 
19 class QQ {
20 public:
21   void print();
22 };
23