а чего тогда не понятно? - ты можешь только копировать строку из коллекции и возвращать ссылку на свою копию. если копирование делается один раз, то хоть какой-то смысл в возврате ссылки есть, если же копировать нужно каждый раз при обращении к оператору, то проще сразу возвращать const String. а вообще, то ли пример у тебя какой-то неудачный, то ли использование оператора "притянуто за уши".
Код | class Base { private: TStrings* owner; int index; String holder; public: explicit Base(TStrings* Owner, int Index =0) : owner(Owner), index(Index) {holder=(*owner)[index];} const String& operator*() const {return holder;} }
|
|