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

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

Восстановить пароль Регистрация
 
ivan92
0 / 0 / 1
Регистрация: 30.01.2013
Сообщений: 188
06.12.2013, 19:42     Узнать к какому классу принадлежит объект #1
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++ числовая прямая. Какому из отрезков принадлежит данная точка x?
Получить доступ к обьекту класса в друж. функц. этому классу при этом не передавая этот объект в качестве параметра C++
Как одному классу узнать о другом в другом файле, если они не имеют общего наследования C++
Как узнать, какому протоколу физического (нижнего) уровня принадлежит фрейм (ETHERNET_FRAME) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
06.12.2013, 19:48     Узнать к какому классу принадлежит объект #2
RTTI в помощь
Википедия: Динамическая идентификация типа данных
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,898
Завершенные тесты: 1
06.12.2013, 20:01     Узнать к какому классу принадлежит объект #3
И тут уместно напомнить, что правильный подход к написанию программ состоит в том, чтобы такое "узнавание" не было нужно.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,064
06.12.2013, 20:04     Узнать к какому классу принадлежит объект #4
Цитата Сообщение от ivan92 Посмотреть сообщение
Теперь мне потребовалось узнать, к какому классу принадлежит каждый объект.
а зачем?
кроме RTTI могу предложить такой вариант
виртуальная функция Type() в базовом классе чисто виртуальная
а в производных переопределена, и пускай возвращает свой тип
хотя это самодельное RTTI получается
Yandex
Объявления
06.12.2013, 20:04     Узнать к какому классу принадлежит объект
Ответ Создать тему
Опции темы

Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru