#include <iostream>
struct base
{
void foo()
{
std::cout << "foo" << std::endl;
}
};
struct derived : base {};
struct other {};
int main()
{
other o;
base &bref = reinterpret_cast<base&>(o);
bref.foo();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IGJhc2UKewoJdm9pZCBmb28oKQoJewoJCXN0ZDo6Y291dCA8PCAiZm9vIiA8PCBzdGQ6OmVuZGw7Cgl9Cn07CgpzdHJ1Y3QgZGVyaXZlZCA6IGJhc2Uge307CgpzdHJ1Y3Qgb3RoZXIge307CgppbnQgbWFpbigpCnsKCW90aGVyIG87CgoJYmFzZSAmYnJlZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8YmFzZSY+KG8pOwoJYnJlZi5mb28oKTsKfQ==