#include <iostream>
using namespace std;
template <class T> class B { public: void show(T a); };
template <class T> void B<T>::show(T a) { cout<<a<<endl; }
template <class T1,class T2> class A:public B<T2> { public: void Test(T1 a,T2 b); };
template <class T1,class T2> void A<T1,T2>::Test(T1 a,T2 b) { cout<<a<<endl; show(b); }
int main() { A<int,char *> *a=new A<int,char *>(); a->Test(100,"hello world"); delete a;
return 0; }