Материалы книги получены с http://www.itlibitum.ru/
Оператор [] с нецелыми аргументами
Оператор [] перегружается для аргументов любого типа, а не только для целых. Тогда оператор [] можно использовать для представления словаря - коллекции, в которой один ключевой объект однозначно идентифицирует другой. Ниже приведен набросок ассоциативного класса, в котором хранятся пары строковых объектов String, при этом первая строка каждой пары является индексом второй.
class Association {
// Пропускаем подробности реализации
public:
const String& operator[](const String& key);
};
// В клиентской программе
String str = assotiation[another_string];
Такой вариант выглядит намного элегантнее и лучше выражает намерения разработчика, нежели интерфейс, построенный только на функциях класса:
String str = assotiation.LookUp(another_string);
Назад Содержание Далее
|