Здравствуйте, Аноним, Вы писали:
А>Пример:
А>
А>class IClass
А>{
А>public:
А> IClass& operator[] (int index) {}
А>};
А>class B : public IClass
А>{
А>public:
А> IClass& operator[] (int index) { return this*; }
А>};
А>
А>Хочется так сделать. Но что-то подсказывает что не стоит.
А>Помогите определиться.
А>PS. А хочется так потому что есть желание писать obj[i],
А>а не obj->operator[](i).
А>Можно конечно указатель превратить в ссылку.
А>Но с другой стороны, если объекта по данному индексу не
А>окажется, то что возвращать? Как вариант можно вернуть
А>ссылку на "пустой" объект, а можно возбудить исключение.
А>Чем вообще грозит такой подход с ссылками в таком контексте?
А>Спасибо.
Да пиши на здоровье, только в IClass лучше тогда абстрактным делать, чем не возвращать ничего )