![]() |
|
![]() ![]() ![]() |
|
EgorTheBlade |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
Доброе утро. Не поможете с контейнером?У меня возник вопрос с CObList.
Есть Классы и они падают в стэк. CObList mylist; mylist.addTail(CCircle); mylist.addTail(CTriangle); mylist.addTail(CRectangle); как потом определить какая фигура при выводе на экран? CObject obj = (CCIrcle*)mylist.getHead(); можно так.Но как определить позицию? в Голове может быть и не CCircle; Что то подобное я наблюдал тут в одной теме на форуме.Нужно задать доп переменную определяющию позицию? |
|||
|
||||
RobinHoodPHD |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 12.8.2007 Где: Русь Репутация: нет Всего: 2 |
Попробуйте так:
RUNTIME_CLASS Там есть пример:
С помощью IsKindOf можно определить, принадлежит ли объект к определенному классу. Как всем этим пользоваться - читаем ссылку. Добавлено через 7 минут А вообще для вывода на экран лично я сделал так (писал тут недавно нечто подобное): Сделал один абстрактный класс Geom с чисто виртуальной функцией Draw. Класс Geom является родителем классов Triangle, Circle и так далее. Это дает возможность использовать динамический полиморфизм при выводе фигур, т.е. делаем цикл по всем фигурам (т.е. обход CObList) и вызываем для них виртуальную функцию Draw. Т.к. функция виртуальная то будет вызвана реализация для нужного класса. Вот например вывод фигур в моей программе:
|
||||
|
|||||
EgorTheBlade |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
Спасибо за информацию.Будет пища для размышления.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |