【发布时间】:2016-06-11 05:20:48
【问题描述】:
如何通过继承来使用动态变量。样品;
class car
{
public:
car();
sf::Vector2f whereİsCar();
void event(); //veryLong code = change spriteCar Position
protected:
sf::Sprite spriteCar;
};
car::car()
{
spriteCar.setPosition(300, 10);
}
car::Update()
{
cout << spriteCar.position.x; << " " << spriteCar.position.y; // example Console : 550 210
}
class Rocket : public car
{
public:
Rocket();
void collideCar();
void update();
private:
sf::Sprite spriteRocket;
}
void Rocket::collideCar()
{
cout << spriteCar.position.x; << " " << spriteCar.position.y; // Console : 300 10
}
当我运行我的游戏时,改变类中的值不会改变类b。
我该如何解决。
我希望能理解我。 感谢您的帮助。
【问题讨论】:
-
你能制作一个干净的代码版本吗?并用一两句话描述应该发生的事情?
-
那么,你能给它一个适当的缩进吗?你能放一小段代码使用 class a 或 class b 吗?
-
为什么rocket::collideCar 和car::Update 做同样的事情,甚至没有调用它? car::Update 和 rocket::update 的文字不同是否正常?我猜运行一切的代码一定是一个循环调用事件,然后在火箭或汽车上更新,对吧?
标签: c++ class inheritance sfml