Определение класса
От: Sunrise Россия http://evilbot.ru
Дата: 07.02.06 20:07
Оценка:
Коллеги, есть проблема, надо определить к какому классу относится обьект в коллекции.
Есть-ли какие-нибудь функции stl для определения этого? Что-то как-то совсем не хочется забивать в каждый класс его определитель.
Re: Определение класса
От: gok Россия  
Дата: 07.02.06 20:20
Оценка:
Здравствуйте, Sunrise, Вы писали:

Я cast юзаю
gok
Re: Определение класса
От: Аноним  
Дата: 08.02.06 00:19
Оценка:
Здравствуйте, Sunrise, Вы писали:

S>Коллеги, есть проблема, надо определить к какому классу относится обьект в коллекции.

S>Есть-ли какие-нибудь функции stl для определения этого? Что-то как-то совсем не хочется забивать в каждый класс его определитель.
Чо-то мне помнится, вроде в С++ нету поддержки определения принадлежности к типу.
Можно пытаться перебором через dynamic_cast, но это глупо.
А ваще штука вроде не очень умная — полиморфизм иначе зачем?
Re: Определение класса
От: g_i  
Дата: 08.02.06 07:10
Оценка:
Здравствуйте, Sunrise, Вы писали:

S>Коллеги, есть проблема, надо определить к какому классу относится обьект в коллекции.

S>Есть-ли какие-нибудь функции stl для определения этого? Что-то как-то совсем не хочется забивать в каждый класс его определитель.

Полиморфизм тебя спасет.
Re: Определение класса
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 08.02.06 07:41
Оценка:
Здравствуйте, Sunrise, Вы писали:

S>Коллеги, есть проблема, надо определить к какому классу относится обьект в коллекции.

S>Есть-ли какие-нибудь функции stl для определения этого? Что-то как-то совсем не хочется забивать в каждый класс его определитель
Оператор typeid — возвращает информацию о типе(структуру type_info , определенную в <typeinfo>) — Страуструп 15,4,4
С уважением, Владислав Полищук
Re: Определение класса
От: Кодт Россия  
Дата: 08.02.06 09:03
Оценка:
Здравствуйте, Sunrise, Вы писали:

S>Коллеги, есть проблема, надо определить к какому классу относится обьект в коллекции.

S>Есть-ли какие-нибудь функции stl для определения этого? Что-то как-то совсем не хочется забивать в каждый класс его определитель.

А что именно тебе нужно от определения типа?
Возможно, что именно dynamic_cast и является самым правильным с идеологической точки зрения, т.к. не нарушает принцип подстановки Лисковой.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.