在公共静态方法中访问私有静态对象

时间:2014-01-17 14:58:12

标签: qt object static members

我正在尝试为应用程序创建一个全局设置提供程序。在一个很多不同的类中复制一个对象似乎很笨重。

当私有静态变量很简单时,我已经看到了这个方法的工作,就像一个整数,但我希望它适用于QSettings - 一个对象。

// settings.h
class Settings {
public:
    static void Initialize();
    static int serverRefreshRate();

private:
    QSettings *settings;
};

// settings.cpp
#include "Server/settings.h"

void Settings::Initialize() {
    Settings::settings = new QSettings(/* etc */);
}

int Settings::serverRefreshRate() {
    return settings->value("server/refreshRate", 10000).toInt();
}

我有没有办法实现这一目标,或者我是以错误的方式解决这个问题?

谢谢!

EDIT,

首先,它必须是:

static QSettings *settings;

我在.cpp中需要以下内容。

QSettings* Settings::settings = NULL;

0 个答案:

没有答案