#include <iostream>
using namespace std;
struct Base
{
virtual ~Base()
{};
};
struct Derived : public virtual Base {};
int main()
{
Base* b = new Derived;
#if 0
Derived* d = dynamic_cast<Derived*>(b);
#else
Derived* d = static_cast<Derived*>(b);
#endif
cout << d << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgQmFzZSAKewp2aXJ0dWFsIH5CYXNlKCkKe307Cn07CnN0cnVjdCBEZXJpdmVkIDogcHVibGljIHZpcnR1YWwgQmFzZSB7fTsKCmludCBtYWluKCkKewogICAgQmFzZSogYiA9IG5ldyBEZXJpdmVkOwojaWYgMAogICBEZXJpdmVkKiBkID0gZHluYW1pY19jYXN0PERlcml2ZWQqPihiKTsKI2Vsc2UgICAKICBEZXJpdmVkKiBkID0gc3RhdGljX2Nhc3Q8RGVyaXZlZCo+KGIpOyAKI2VuZGlmICAKICAgIGNvdXQgPDwgZCA8PCBlbmRsOwp9