1 #ifndef TEMPLATE_CLASS_TEST_H // comment 1
2 #define TEMPLATE_CLASS_TEST_H
3 
4 template <typename T>
5 class A {
6  public:
7   void f();
8   void g();
9   template <typename U> void h();
10   template <typename U> void k();
11   static int b;
12   static int c;
13 };
14 
15 template <typename T>
f()16 void A<T>::f() {}
17 
18 template <typename T>
19 template <typename U>
h()20 void A<T>::h() {}
21 
22 template <typename T>
23 int A<T>::b = 2;
24 
25 class B {
26  public:
27   void f();
28 };
29 
30 #endif // TEMPLATE_CLASS_TEST_H
31