#include <iostream>
struct A { virtual ~A(){} };
struct B { virtual ~B(){} };
struct C : A, B {};
int main(void) {
A* a = new C;
B* b = dynamic_cast<B*>(a);
std::cout << b << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEEgeyB2aXJ0dWFsIH5BKCl7fSB9OwpzdHJ1Y3QgQiB7IHZpcnR1YWwgfkIoKXt9IH07CnN0cnVjdCBDIDogQSwgQiB7fTsKCmludCBtYWluKHZvaWQpIHsKCUEqIGEgPSBuZXcgQzsKCUIqIGIgPSBkeW5hbWljX2Nhc3Q8Qio+KGEpOwoJc3RkOjpjb3V0IDw8IGIgPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0K