Контейнер для хранения свойств в C++

Категория: C / C++ Комментариев: 1

Пример реализации контейнера для хранения конфигурационных данных программы на C++. По принципу схож с хешами в Perl.

class PropertiesContainer
{
 public:
 int GetProperty (std::string const& name)
 {
 return m_map[name];
 }
 void SetProperty (std::string const& name, int value)
 {
 m_map[name] = value;
 }
 bool HasProperty (std::string const& name)
 {
 return m_map.find(name) != m_map.end();
 }

 private:
 std::map<std::string, int> m_map;
};

Использовать так:

int main ()
{
 PropertiesContainer obj;
 obj.SetProperty ("property_1", 5);
 obj.SetProperty ("property_2", 11);
 obj.SetProperty ("property_3", 12);
 obj.SetProperty ("property_4", 17);
 std::cout << obj.GetProperty ("property_1") << ", "
 << obj.GetProperty ("property_2") << ", "
 << obj.GetProperty ("property_3") << ", "
 << obj.GetProperty ("property_4") << ". ";
}
Автор: Кто-то   @   6 мая 2010 Комментариев: 1
Метки :

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 1

Комментарии
мая 8, 2010
13:36
#1 S10 :

Ну словарь (aka map) ведь вовсе не обязательно в класс оборачивать. Единственный полезный метод, пожалуй,— HasProperty (), т.к. сильно сократит код для проверки. Но его можно в отдельную функцию тогда запихнуть, а не класс городить.

оставить комментарий

Предыдущая запись
«
Следующая запись
»