【发布时间】:2016-04-17 16:00:15
【问题描述】:
我有一个继承问题。
class z
{
public:
sf::RectangleShape rect1;
int a ;
z()
{
rect1.setFillColor(sf::Color::Red);
rect1.setSize(sf::Vector2f(100,100));
a = 5;
}
void movement()
{
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
{
rect1.move(1, 0);
a = 6;
}
}
};
class c : public z
{
public:
void write()
{
std::cout << a;
}
};
int main(int, char const**)
{
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
z zclass;
c cclass;
while (window.isOpen())
{
zclass.movement();
cclass.write();
window.clear();
window.draw(zclass.rect1);
window.display();
}
}
当我按右键时,“a”变量总是相同的结果 =“5”。它应该是“6”。我做错了什么?
【问题讨论】:
标签: c++ inheritance sfml