#include <stdio.h> template<class T> class Base { public: Base() { }; ~Base() { }; virtual void A() { printf("I'm Base::A\n"); } void B() { printf("I'm Base::B\n"); } virtual Base<T> *toBase() { return static_cast<Base<T> *>(this); } };
#include <stdio.h> template<class T> class Base { public: Base() { }; ~Base() { }; virtual void A() { printf("I'm Base::A\n"); } void B() { printf("I'm Base::B\n"); } virtual Base<T> *toBase() { return static_cast<Base<T> *>(this); } };