Qt:类中变量的默认值

Mar*_*tin 3 c++ variables qt default class

在Qt中创建自己的类时,如果我没有将它们设置为任何东西,我希望类中的变量具有标准/默认值.如果可以在h文件中设置这样就完美了,所以我不必在我的类的每个实例方法中都这样做.您可以在下面的代码中看到我想要做的事情.在示例中,myBool的值为false,myInt在创建对象时的值为0.这有可能吗?

在myclass.h中:

class MyClass
{
    Q_OBJECT

public:
MyClass();
   ~MyClass();
    bool myBool = false; //I want to set myBool and myInt to a default/standard value
    int myInt = 0; 
};
Run Code Online (Sandbox Code Playgroud)

Nik*_*nić 6

Qt遵循C++的规则,一个规则是使用构造函数初始化您的成员.

MyClass::MyClass() : myBool(false), myInt(0)
{
}
Run Code Online (Sandbox Code Playgroud)


Ara*_*raK 5

不幸的是,你要求的东西在当前的C++中是不可用的.在C++ 0x中你可以这样做,但是现在你可以使用初始化列表:

class MyClass
{
    Q_OBJECT

public:
    MyClass() : myBool(false), myInt(0) { }
   ~MyClass();
    bool myBool;
    int myInt;
};
Run Code Online (Sandbox Code Playgroud)