C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
изменение элемента TLIST
tvs_spb
Отправлено: 02.09.2004, 08:53


Ученик-кочегар

Группа: Участник
Сообщений: 20



Формирую список объектов класса:

TUserId *uid;
uid=new TUserId();
...
List->Add(uid);

А затем мне надо
изменить одно из полей объекта класса TUserId в этом списке

что-то типа
for(int i=0;iCount;i++)
(TUserId*)lst->Items[i].поле uid=значение
только так естественно нельзя,а как можно?
Valdemar
Отправлено: 02.09.2004, 09:09


Мастер участка

Группа: Участник
Сообщений: 433



Сделайте так:
for(int i=0;iCount;i++)
((TUserId*)lst->Items[i])->поле uid=значение;
xTrim
Отправлено: 02.09.2004, 09:52


Машинист паровоза

Группа: Участник
Сообщений: 208



я бы так сделал
CODE

#include <vector>
std::vector<TUserId*> list;
TUserId *uid=new TUserId();
list.push_back(uid);
for(std::vector<TUserId*>::iterator i=list.begin();i!=list.end();i++)
{
(*i)->поле uid=значение;
}

// или без указателей, тогда не надо думать про удаление
std::vector<TUserId> list;
TUserId uid;
list.push_back(uid);
for(std::vector<TUserId>::iterator i=list.begin();i!=list.end();i++)
{
(*i).поле uid=значение;
}

Вернуться в Вопросы программирования в C++Builder