在C++类中更改整数

Peb*_*sie 0 c++

好的,所以,我在一个类中存储一个公共整数,如下所示:

class varglobalness{
    public:

    int xp;
    int lvl;
    int xpt;
    int hp;

};
Run Code Online (Sandbox Code Playgroud)

并且,在函数内部我试图通过这样做来改变变量:

v.lvl += 1;
v.xpt += rand()%25+25;
v.xp = 0;
v.hp += rand()%25+5;
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,hp没有改变,xp确实变为0,但是xpt和lvl变为很多随机数.

知道如何在没有这种情况下正确改变这些整数吗?

Jon*_*rdy 5

听起来你没有正确地初始化它们.如果变量未初始化,则它将具有未定义的值.您可以在构造函数中为它们提供初始值:

// varglobalness.h:
class varglobalness {
public:

    varglobalness();

    // ...

};

// varglobalness.cpp:
varglobalness::varglobalness() : xp(0), lvl(0), xpt(0), hp(0) {}
Run Code Online (Sandbox Code Playgroud)

或者根据您的喜好在其他位置分配初始值.顺便说一句,你应该把这些变量放在有意义和封装的地方,而不是放在一堆随机的全局变量中.