#include <iostream>usingnamespace std;
class A
{
public :
int Flag() const{return1;}
};
class B:public A
{
public :
int Flag() const{return2;}
};
class C
{
public:
template <typename T>int GetFlag(T a)
{
return a.Flag();
}
};
int main()
{
A a;
B b;
C c;
cout << c.GetFlag(a) << endl;
cout << c.GetFlag(b) << endl;
return0;
}