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

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

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

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

06.12.2013, 19:42. Просмотров 957. Ответов 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++
Написать программу МТ, которая аннулирует любое слово вида x$x, где x принадлежит {a,b}*, а $ не принадлежит {a, b} C++
C++ числовая прямая. Какому из отрезков принадлежит данная точка x?
Получить доступ к обьекту класса в друж. функц. этому классу при этом не передавая этот объект в качестве параметра C++
Как одному классу узнать о другом в другом файле, если они не имеют общего наследования C++
Как узнать, какому протоколу физического (нижнего) уровня принадлежит фрейм (ETHERNET_FRAME) C++
C++ В некоторый момент программы нужно узнать, к какому классу принадлежит объект
C++ Узнать, принадлежит ли точка заштрихованной области
C++ Когда оператор должен быть обязательно членом класса, и когда он обязательно не принадлежит классу?
C++ Как определить, к какому классу относится элемент массива?
Числовая прямая разбита на отрезки точками A1 - An. Какому из отрезков принадлежит заданная точка X? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12520 / 7082 / 797
Регистрация: 27.09.2012
Сообщений: 17,490
Записей в блоге: 2
Завершенные тесты: 1
06.12.2013, 19:48     Узнать к какому классу принадлежит объект #2
RTTI в помощь
Википедия: Динамическая идентификация типа данных
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,911
Завершенные тесты: 1
06.12.2013, 20:01     Узнать к какому классу принадлежит объект #3
И тут уместно напомнить, что правильный подход к написанию программ состоит в том, чтобы такое "узнавание" не было нужно.
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
06.12.2013, 20:04     Узнать к какому классу принадлежит объект #4
Цитата Сообщение от ivan92 Посмотреть сообщение
Теперь мне потребовалось узнать, к какому классу принадлежит каждый объект.
а зачем?
кроме RTTI могу предложить такой вариант
виртуальная функция Type() в базовом классе чисто виртуальная
а в производных переопределена, и пускай возвращает свой тип
хотя это самодельное RTTI получается
Yandex
Объявления
06.12.2013, 20:04     Узнать к какому классу принадлежит объект
Ответ Создать тему
Опции темы

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