Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ivan92
0 / 0 / 1
Регистрация: 30.01.2013
Сообщений: 188
#1

Узнать к какому классу принадлежит объект - C++

06.12.2013, 19:42. Просмотров 1125. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Base{
};
 
class Child1:public Base{
};
 
class Child2:public Base{
};
 
class Child3:public Base{
};
 
Base *p[100];
for(int i:=0;i<100;i++)
switch(condition){ //какое-то условие
  case 1:p[i]=new chlid1;
  case 2:p[i]=new chlid2;
  case 3:p[i]=new chlid3;
}
Теперь мне потребовалось узнать, к какому классу принадлежит каждый объект. Можно было бы сделать в классе атрибут, в который буду записывать тип, но хотелось бы обойтись без этого.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Узнать к какому классу принадлежит объект (C++):

В некоторый момент программы нужно узнать, к какому классу принадлежит объект - C++
В некоторый момент программы мне нужно узнать, к какому классу принадлежит объект. Вот допустим, у меня есть объект Object. И 2 потомка:...

Как узнать, какому протоколу физического (нижнего) уровня принадлежит фрейм (ETHERNET_FRAME) - C++
Пишу снифер на c++(пытаюсь). Создал сокет и перевел его в режим прослушивания. Как из фрейма понять он был отправлен/принят по wifi,...

Как определить, к какому классу относится элемент массива? - C++
Добрый вечер. Задача следующая: существует абстрактный класс, который наследуется в нескольких производных классах. После этого,...

Определить, к какому элементу массива принадлежит считываемый символ - C++
Добрый день, уважаемые форумчане! подскажите пожалуйста есть массив const int M=8; char* const alphabet = {&quot;\t\r\n &quot;, &quot;a-z&quot;,...

Числовая прямая. Какому из отрезков принадлежит данная точка x? - C++
числовая прямая разбита на произвольные отрезки а1, а2, ..., аn. Выясните, какому из отрезков принадлежит данная точка x. Добавлено...

Числовая прямая разбита на отрезки точками A1 - An. Какому из отрезков принадлежит заданная точка X? - C++
Пусть числовая прямая разбита на произвольные отрезки точками a1, a2, …, an. Выясните, какому из отрезков принадлежит данная точка х. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,217
Записей в блоге: 3
Завершенные тесты: 1
06.12.2013, 19:48 #2
RTTI в помощь
Википедия: Динамическая идентификация типа данных
Nick Alte
Эксперт С++
1636 / 1008 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
06.12.2013, 20:01 #3
И тут уместно напомнить, что правильный подход к написанию программ состоит в том, чтобы такое "узнавание" не было нужно.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
06.12.2013, 20:04 #4
Цитата Сообщение от ivan92 Посмотреть сообщение
Теперь мне потребовалось узнать, к какому классу принадлежит каждый объект.
а зачем?
кроме RTTI могу предложить такой вариант
виртуальная функция Type() в базовом классе чисто виртуальная
а в производных переопределена, и пускай возвращает свой тип
хотя это самодельное RTTI получается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 20:04
Привет! Вот еще темы с ответами:

WPF: узнать к какому классу принадлежит тот или иной элемент управления - Visual Basic .NET
Решил попробовать WPF после Windows Forms. Подскажите, если кто знает - как под WPF узнать к какому классу принадлежит тот или иной элемент...

Как из общего списка получить элементы одного класса? или как определить к какому классу принадлежит объект? - Java SE
суть вопроса: Есть матрица. в ней хранятся ссылки на элементы класса и его наследников (в этом ключевая суть), а также нуллы. Приведу код...

Какому классу по Хомскому принадлежит грамматика? - Теория автоматов
Люди помогите Какому классу по Хомскому принадлежит грамматика из правилами S → AS|ε; A → a|b?

Какому классу принадлежит метод BeginInvoke() - C#
На первый взгляд вопрос может показаться банальным, но вот в чем дело. Создаем любой делегат (какие параметры в методе и что возвращает и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2013, 20:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru