// // This file test for the availably of virtual function // in template class. class A { public: virtual bool virtue(); }; template class B : public A { public: T data; virtual bool virtue(); }; #include bool A::virtue() { cout << "I am a simple A" << endl; return false; } template bool B::virtue() { cout << "I am a B of size " << sizeof(T) << endl; return true; } int main () { A a; a.virtue(); B bi; bi.virtue(); B bg; bg.virtue(); }