Пример реализации контейнера для хранения конфигурационных данных программы на 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") << ". ";
}
|
|
Webmoney Z163628999150, R617151845974
|
13:36
Ну словарь (aka map) ведь вовсе не обязательно в класс оборачивать. Единственный полезный метод, пожалуй,— HasProperty (), т.к. сильно сократит код для проверки. Но его можно в отдельную функцию тогда запихнуть, а не класс городить.