#include <iostream>
class Drawable
{
public:
int x;
int y;
Drawable()
{
x = 0;
y = 0;
}
};
class Ball : public Drawable
{
public:
int xdir;
int ydir;
Ball()
{
xdir = 1;
ydir = 1;
}
void move();
};
void Ball::move()
{
x += xdir;
y += ydir;
}
class Game
{
public:
Drawable* drawables;
Game() {}
};
class Pong : public Game
{
public:
Ball ball;
Pong()
{
drawables = new Drawable[1];
drawables[0] = ball;
}
};
int main()
{
Pong pongGame;
std::cout << pongGame.drawables[0].x << std::endl;
std::cout << pongGame.ball.x << std::endl;
pongGame.ball.move();
std::cout << pongGame.drawables[0].x << std::endl;
std::cout << pongGame.ball.x << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgRHJhd2FibGUKewpwdWJsaWM6CiAgICBpbnQgeDsKICAgIGludCB5OwoJRHJhd2FibGUoKQoJewoJCXggPSAwOwoJCXkgPSAwOwoJfQp9OwoKY2xhc3MgQmFsbCA6IHB1YmxpYyBEcmF3YWJsZQp7CnB1YmxpYzoKCWludCB4ZGlyOwoJaW50IHlkaXI7CglCYWxsKCkKCXsKCQl4ZGlyID0gMTsKCQl5ZGlyID0gMTsKCX0KCXZvaWQgbW92ZSgpOwp9OwoKdm9pZCBCYWxsOjptb3ZlKCkKewoJeCArPSB4ZGlyOwoJeSArPSB5ZGlyOwp9CgpjbGFzcyBHYW1lCnsKcHVibGljOgoJRHJhd2FibGUqIGRyYXdhYmxlczsKCUdhbWUoKSB7fQp9OwoKY2xhc3MgUG9uZyA6IHB1YmxpYyBHYW1lCnsKcHVibGljOgoJQmFsbCBiYWxsOwoJUG9uZygpCgl7CgkJZHJhd2FibGVzID0gbmV3IERyYXdhYmxlWzFdOwoJCWRyYXdhYmxlc1swXSA9IGJhbGw7Cgl9Cn07CgppbnQgbWFpbigpCnsKCVBvbmcgcG9uZ0dhbWU7CgoJc3RkOjpjb3V0IDw8IHBvbmdHYW1lLmRyYXdhYmxlc1swXS54IDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCBwb25nR2FtZS5iYWxsLnggPDwgc3RkOjplbmRsOwoKCXBvbmdHYW1lLmJhbGwubW92ZSgpOwoKCXN0ZDo6Y291dCA8PCBwb25nR2FtZS5kcmF3YWJsZXNbMF0ueCA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgcG9uZ0dhbWUuYmFsbC54IDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==