I want classes that have some kind of static settings, take the code example below:
#include <QVariant>
#include <QMap>
#include <QDebug>
class A {
public:
return getSettings()[s];
}
protected:
static QMap<QString, QVariant> getSettings() {
QMap<QString, QVariant> settings;
settings["foo"] = "bar";
settings["fooo"] = "baar";
return settings;
}
};
class B : public A {
static QMap<QString, QVariant> getSettings() {
QMap<QString, QVariant> settings = A::getSettings();
settings["foo"] = "bar1";
return settings;
}
};
int main(char** /*argv*/, int /*argc*/) {
qDebug() << A::getSetting("foo");
qDebug() << A::getSetting("fooo");
qDebug() << B::getSetting("foo"); //would like "bar1" here
qDebug() << B::getSetting("fooo");
return 0;
}
#include <QVariant>
#include <QMap>
#include <QDebug>
class A {
public:
static QVariant getSetting(QString s) {
return getSettings()[s];
}
protected:
static QMap<QString, QVariant> getSettings() {
QMap<QString, QVariant> settings;
settings["foo"] = "bar";
settings["fooo"] = "baar";
return settings;
}
};
class B : public A {
static QMap<QString, QVariant> getSettings() {
QMap<QString, QVariant> settings = A::getSettings();
settings["foo"] = "bar1";
return settings;
}
};
int main(char** /*argv*/, int /*argc*/) {
qDebug() << A::getSetting("foo");
qDebug() << A::getSetting("fooo");
qDebug() << B::getSetting("foo"); //would like "bar1" here
qDebug() << B::getSetting("fooo");
return 0;
}
To copy to clipboard, switch view to plain text mode
Bookmarks