class Base {
public:
Base() { };
virtual ~Base() { };
virtual const char * A() const {
return "Base::A";
}
const char * B() const {
return "Base::B";
virtual Base *toBase() {
return static_cast<Base *>(this);
};