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);
};