#include <stdio.h>
class Animal {
public:
int x;
Animal(int _x) : x(_x) {
}
};
class Lion : public Animal {
public:
int y;
Lion(int _x, int _y) : Animal(_x), y(_y) {
}
};
int main() {
Lion x(1, 2);
Lion *l = &x;
printf("%d %d\n", l->x, l->y);
Animal *a = l;
printf("%d\n", a->x);
Lion *e2 = (Lion*)a;
printf("%d %d\n", e2->x, e2->y);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpjbGFzcyBBbmltYWwgewogICAgcHVibGljOgogICAgICAgIGludCB4OwogICAgICAgIEFuaW1hbChpbnQgX3gpIDogeChfeCkgewogICAgICAgIH0KfTsKCmNsYXNzIExpb24gOiBwdWJsaWMgQW5pbWFsIHsKICAgIHB1YmxpYzoKICAgICAgICBpbnQgeTsKICAgICAgICBMaW9uKGludCBfeCwgaW50IF95KSA6IEFuaW1hbChfeCksIHkoX3kpIHsKICAgICAgICB9Cn07CgppbnQgbWFpbigpIHsKICAgIExpb24geCgxLCAyKTsKICAgIExpb24gKmwgPSAmeDsKCiAgICBwcmludGYoIiVkICVkXG4iLCBsLT54LCBsLT55KTsKCiAgICBBbmltYWwgKmEgPSBsOwogICAgcHJpbnRmKCIlZFxuIiwgYS0+eCk7CgogICAgTGlvbiAqZTIgPSAoTGlvbiopYTsKICAgIHByaW50ZigiJWQgJWRcbiIsIGUyLT54LCBlMi0+eSk7Cn0=