Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   operator[] via get/set (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/operator-via-get-set-355355/)

Guest 30.09.2011 17:54

operator[] via get/set
 
Дано:Код: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 &... Но это все уже детали.Задача решена, тему можно закрывать. ;-)


Часовой пояс GMT, время: 01:04.


© www.otvetnemail.ru - Форум вопросов и ответов.