> PS. А хочется так потому что есть желание писать obj[i],
> а не obj->operator[](i).
Если obj указатель пиши так: (*obj)[i];
Непонятно зачем тебе вообще перегружать operator [] (будешь менять поведение?)
может вот так?
class IClass
{
public:
IClass& operator [] (int index){return *m_arr[i];}
void add(IClass&);
private:
IClass* m_arr;
};
class B: public IClass
{
};
void main()
{
IClass cl, cl2;
B b, b2;
cl.add(b);
cl[0].add(b2);
cl2 = cl[0];
}
В случае если объекта по индексу нет лучше бросать исключение
Posted via RSDN NNTP Server 2.0