好的,因此,我将公共整数存储在类中,如下所示:

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/

10-11 16:19