#include "base.h" | |
class Foo : public Base { | |
public: | |
Foo() { } | |
~Foo() { } | |
virtual const char * A() const { | |
return "Foo::A"; | |
} | |
const char * B() const { | |
return "Foo::B"; | |
} | |
virtual Base *toBase() { | |
return static_cast<Base *>(this); | |
} | |
static Foo *fromBase(Base *b) { | |
return dynamic_cast<Foo *>(b); | |
} | |
}; | |