| #include <stdio.h> | |
| template<class T> class Base { | |
| public: | |
| Base() { } | |
| virtual ~Base() { } | |
| virtual const char * A() const { | |
| return "Base::A"; | |
| } | |
| const char * B() const { | |
| return "Base::B"; | |
| } | |
| virtual Base<T> *toBase() { | |
| return static_cast<Base<T> *>(this); | |
| } | |
| }; | |