Re: возвращаемое значение - ссылка на абстрактный класс
От: VoidEx  
Дата: 19.03.06 09:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Пример:


А>

А>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 лучше тогда абстрактным делать, чем не возвращать ничего )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.