powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по спискам
6 сообщений из 6, страница 1 из 1
Вопрос по спискам
    #38124325
Andrew_Bulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в следующем, есть 2 разных класса, у которых есть по 1 одинаковому члену:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class A
{
 public: 
  .......
  String name;
}

class B
{
 public: 
  .......
  String name;
}


Динамически создается список из этих классов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
A *a1 = new A();
A *a2 = new A();
B *b1 = new B();
TList * list = new TList();
list->Add(a1);
list->Add(a2);
list->Add(b1);


Как мне вытащить из списка объект у которого, к примеру name="Обьект" ?
...
Рейтинг: 0 / 0
Вопрос по спискам
    #38124368
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам список TList должен вам предоставить такую возможность.
...
Рейтинг: 0 / 0
Вопрос по спискам
    #38124369
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ваш
...
Рейтинг: 0 / 0
Вопрос по спискам
    #38124377
Andrew_Bulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sheraton,

Каким образом ? Там только по индексу обращение.
...
Рейтинг: 0 / 0
Вопрос по спискам
    #38124416
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_Bulkin, сделай общего родителя
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
class parent
{
public:
        AnsiString name;

};

class A : public parent
{
public:
        A(AnsiString n)
        { name=n;}
};

class B : public parent
{
public:
        B(AnsiString n)
        { name=n;}
};
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        TList * list = new TList();
        list->Add(new A("a1"));
        list->Add(new A("a2"));
        list->Add(new B("b1"));

        for(int i=0;i<list->Count;i++)
        {
                Memo1->Lines->Add(((parent *)list->Items[i])->name);
        }
}
//---------------------------------------------------------------------------

...
Рейтинг: 0 / 0
Вопрос по спискам
    #38126998
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew_BulkinSheraton,

Каким образом ? Там только по индексу обращение.

Пройтись по списку, перебрать все его элементы и проверять условие.
Код будет твой.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по спискам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]