好的,因此,我将公共整数存储在类中,如下所示:
class varglobalness{
public:
int xp;
int lvl;
int xpt;
int hp;
};
并且,在函数内部,我试图通过执行以下操作来更改变量:
v.lvl += 1;
v.xpt += rand()%25+25;
v.xp = 0;
v.hp += rand()%25+5;
但是,当我执行此操作时,hp不变,xp确实变为0,但是xpt和lvl变为很多随机数。
知道如何在不发生这种情况的情况下正确更改这些整数吗?
最佳答案
听起来好像您没有正确初始化它们。如果变量未初始化,则它将具有未定义的值。您可以在构造函数中为它们提供初始值:
// varglobalness.h:
class varglobalness {
public:
varglobalness();
// ...
};
// varglobalness.cpp:
varglobalness::varglobalness() : xp(0), lvl(0), xpt(0), hp(0) {}
或根据需要将它们的初始值分配到其他位置。顺便说一句,您应该将这些变量放在有意义的地方并封装起来,而不是放在随机全局变量中。
关于c++ - 在C++类中更改整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5845655/