#include <stdio.h>
class A{
protected:
int a;
public:
A(void):a(12345){}
};
class B : public A{
int *b;
public:
void some2(void){
printf("eat me: %i, %i", *b, a);
}
B(void):b(nullptr){}
};
int main(void){
A a;
static_cast<B*>(&a)->some2();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpjbGFzcyBBewpwcm90ZWN0ZWQ6CglpbnQgYTsKcHVibGljOgoJQSh2b2lkKTphKDEyMzQ1KXt9Cn07CgpjbGFzcyBCIDogcHVibGljIEF7CglpbnQgKmI7CnB1YmxpYzoKCXZvaWQgc29tZTIodm9pZCl7CgkJcHJpbnRmKCJlYXQgbWU6ICVpLCAlaSIsICpiLCBhKTsKCX0KCUIodm9pZCk6YihudWxscHRyKXt9Cn07CgppbnQgbWFpbih2b2lkKXsKCUEgYTsKCXN0YXRpY19jYXN0PEIqPigmYSktPnNvbWUyKCk7CglyZXR1cm4gMDsKfQo=