Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Организация хранилища настроек


Автор: REZiaMIX 25.5.2009, 01:24
Думаю как бы получше в плане красоты заделать такой функционал:
Есть несколько классов , которых по своему ходу должны знать, из какой папки читать файлы.
Папка эта определяется на стадии загрузки программы.
Соответственно классы распиханы по отдельным .h .cpp файлам.

Как организовать подачу нужных параметров классам?
Есть некоторые варианты:
Глобальный класс
Код

class CSettings
{
   std::string getpath1()
   {
           return ........;
   };
}settings_instance;
#include "class1.h"
#include "class2.h"

И в классах обращаться к глобальному контейнеру.
Но уверен - не красиво.

Singleton, но как его в данном случае 'подать' классам?.
Есть вариант глобальной функции:
Код

std::string Engine::GetFullPath()
{
.....
}


Не все равно кажись неверный подход!
Подскажите)

Автор: NightmareZ 25.5.2009, 03:37
У меня есть статический класс Settings, в нём все настройки программы.

Автор: Cheloveck 25.5.2009, 12:37
Код

class Settings
{
public:
    static int foo();
    static void setFoo(int f);
private:
    static int foo_;
};

int Settings::foo_ = 0;

int Settings::foo()
{
    return foo_;
}

void Settings::setFoo(int f)
{
    foo_ = f;
}

int main()
{
    int x;
    // Получаешь значение.
    Settings::setFoo(x);
}


Как-то так.

Автор: jonie 25.5.2009, 21:04
http://www.boost.org/doc/libs/1_39_0/libs/serialization/doc/index.html
можно в бинарник, можно в XML... просто и со вкусом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)