#include <iostream>
using namespace std;
struct Base
{
};
struct D : public virtual Base {};
int main()
{
D* d = new D;
Base * b = static_cast<Base*>(d);
cout << b << endl;
d = NULL;
b = static_cast<Base*>(d);
cout << b << endl;
d = (D*)32;
cout << "d=" << d <<endl;
b = static_cast<Base*>(d);
cout << b << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgQmFzZSAKewp9OwpzdHJ1Y3QgRCA6IHB1YmxpYyB2aXJ0dWFsIEJhc2Uge307CmludCBtYWluKCkKewogICAgRCogZCA9IG5ldyBEOwogICAgQmFzZSAqIGIgPSBzdGF0aWNfY2FzdDxCYXNlKj4oZCk7CiAgICBjb3V0IDw8IGIgPDwgZW5kbDsKICAgIGQgPSBOVUxMOwogICAgYiA9IHN0YXRpY19jYXN0PEJhc2UqPihkKTsKICAgIGNvdXQgPDwgYiA8PCBlbmRsOwogICAgZCA9IChEKikzMjsKICAgIGNvdXQgPDwgImQ9IiA8PCBkIDw8ZW5kbDsKICAgIGIgPSBzdGF0aWNfY2FzdDxCYXNlKj4oZCk7CiAgICBjb3V0IDw8IGIgPDwgZW5kbDsKfQ==