возвращаемое значение - ссылка на абстрактный класс
От: Аноним  
Дата: 19.03.06 00:57
Оценка:
Пример:


class IClass
{
public:
    IClass& operator[] (int index) {}
};

class B : public IClass
{
public:
    IClass& operator[] (int index) { return this*; } 
};


Хочется так сделать. Но что-то подсказывает что не стоит.
Помогите определиться.

PS. А хочется так потому что есть желание писать obj[i],
а не obj->operator[](i).
Можно конечно указатель превратить в ссылку.
Но с другой стороны, если объекта по данному индексу не
окажется, то что возвращать? Как вариант можно вернуть
ссылку на "пустой" объект, а можно возбудить исключение.
Чем вообще грозит такой подход с ссылками в таком контексте?
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.