Дано:Код:ValueType getItem(IndexType i);void setItem(IndexType i, ValueType val);Требуется:Пользуясь этими ф-циями реализовать перегрузку оператора []:Код:ValueType& operator[](IndexType i);Такое вообще возможно? добавлено спустя 26 минут:Так... Я тормоз. Вот ответ:Код:class Mediator{ IndexType index;public: Mediator(IndexType i):index(i) {} ValueType operator=(ValueType value) { setItem(index, value); return value; } operator ValueType() { return getItem(index); }};....Mediator operator[](IndexType i){ return Mediator(i);}В реальных примерах, конечно, Mediator будет содержать и ссылку на тот класс, которому эти геттеры/сеттеры принадлежат. Не говоря уже о том, что надо пользоваться const &... Но это все уже детали.Задача решена, тему можно закрывать. ;-)
|