operator[]
От: Igor_Pavlov  
Дата: 15.09.02 07:26
Оценка:
У меня есть класс-список в котором я перегрузил []
Все бы хорошо но возникла маленькая проблема.
Если класс создавать динамически то приходится писать для доступа вот так (*MyClass)[0]

Вопрос: можно ли как то подшаманить что бы запись была такой MyClass[0]? А то муторно ставить скобки и *...
Re: operator[]
От: ioni Россия  
Дата: 15.09.02 07:36
Оценка:
Здравствуйте Igor_Pavlov, Вы писали:

IP>У меня есть класс-список в котором я перегрузил []

IP>Все бы хорошо но возникла маленькая проблема.
IP>Если класс создавать динамически то приходится писать для доступа вот так (*MyClass)[0]

IP>Вопрос: можно ли как то подшаманить что бы запись была такой MyClass[0]? А то муторно ставить скобки и *...


код в студию
Re: operator[]
От: Anton V. Kolotaev  
Дата: 15.09.02 07:53
Оценка: 11 (1)
Здравствуйте Igor_Pavlov, Вы писали:

IP>Вопрос: можно ли как то подшаманить что бы запись была такой MyClass[0]? А то муторно ставить скобки и *...


MyClass &my = *new MyClass();
my[0] = ....
Re[2]: operator[]
От: ioni Россия  
Дата: 15.09.02 08:07
Оценка:
Здравствуйте Anton V. Kolotaev, Вы писали:

AVK>Здравствуйте Igor_Pavlov, Вы писали:


IP>>Вопрос: можно ли как то подшаманить что бы запись была такой MyClass[0]? А то муторно ставить скобки и *...


AVK>
AVK>MyClass &my = *new MyClass();
AVK>my[0] = ....
AVK>


интересен код operator[] для MyClass
должно быть примерно так
reference operator[](size_type i) { return elems[i]; }
или что то похожее
Re[2]: operator[]
От: Igor_Pavlov  
Дата: 17.09.02 08:37
Оценка:
Здравствуйте ioni, Вы писали:

IP>>Вопрос: можно ли как то подшаманить что бы запись была такой MyClass[0]? А то муторно ставить скобки и *...

I>код в студию

class MyClass{
...
LPTSTR operator[] (int) const;
...
}

LPTSTR MyClass::operator[] (int i) const{
return ((i>-1) && (i<Count))?Items[i]:NULL;
}

И, кстати, маленькая поправка. Я могу впринципе мой класс создать и таким образом
MyClass myclass;
Но передавать ее к примеру в функцию через указатель на нее. А то вариант, предлаженный , Anton V. Kolotaev, ИМХО не подходит.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.