0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
1

Проверить, каким классом наследником помечен элемент общего (наследующего) массива

08.01.2014, 21:13. Показов 855. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите как можно, и можно ли проверить, каким классом наследником помечен элемент общего(наследующего) массива?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2014, 21:13
Ответы с готовыми решениями:

Как проверить является ли объект базовым классом или наследником
struct Base { int i = -1; }; struct Derived : Base { double d = 0.1; };

Как работать с TObject классом-наследником
Я не могу найти как правильно создавать свой класс TObject. Может кто подскажет? Есть у...

Вызвать функцию рисования у класса наследующего QGLWidget из класса наследующего QWidget?
Пишу программу которая моделирует движение обьектов. Класс Display наследуется от QWidget и...

Заданы два массива. Проверить, что максимальный элемент массива A больше максимального элемента массива B
Заданы два массива: A={a1, a2, a3, a4}, B={b1, b2…..b6}. Переменной S присвоить значение –1, если...

8
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 21:32 2
Layzie, посмотреть в коде
0
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
08.01.2014, 21:41  [ТС] 3
это решает пользователь, и в коде это никак не отражается.
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
08.01.2014, 21:47 4
Цитата Сообщение от Layzie Посмотреть сообщение
подскажите как можно, и можно ли проверить, каким классом наследником помечен элемент общего(наследующего) массива?
Что значит "помечен" и что такое "общий(наследующий)" массив ?
Нельзя ли это более понятными словами выразить, или в терминологии языка C++ ?
А еще лучше кодом...
0
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
08.01.2014, 21:57  [ТС] 5
имеются классы 1, 2 и 3. 2 и 3 классы наследники от класса 1, 1- абстрактный класс
C++
1
class 2: public 1{}
C++
1
class 3: public 1{}
есть массив
C++
1
2
1** A;
A= new 1* [kol-vo];
потом по какому то правилу элементы массива распределяются по классам 2 и 3
C++
1
2
    *(A+i)=new 2;
 *(A+i)=new 3;
и интересует можно ли узнать к какому наследуемому классу относится каждый А[i]
0
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 22:05 6
Layzie, а можно ли вообще делать вот так *(A+i)=new 2; если А - это указатель на массив указателей на класс 1, а не на класс 2?
0
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
08.01.2014, 22:07  [ТС] 7
Цитата Сообщение от metaluga145 Посмотреть сообщение
Layzie, а можно ли вообще делать вот так *(A+i)=new 2; если А - это указатель на массив указателей на класс 1, а не на класс 2?
да можно, потому что 2 это наследник 1, а 1 в свою очередь абстрактный класс
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
08.01.2014, 22:25 8
Сделать в базовом классе виртуальный метод.
И реализовать его в так, чтобы он возвращал разные значения для разных наследников.
Есть еще typeid, но насколько я помню, он не гарантирует разные имена для разных классов.

Добавлю, что такое вообще требуется редко.
Смысл полиморфизма как раз в том, чтобы скрывать истинные типы, а
не показывать их.
1
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
08.01.2014, 22:36  [ТС] 9
спасибо, в данном случае это мне нужно для поиска ошибки, проверки действий программы)
0
08.01.2014, 22:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2014, 22:36
Помогаю со студенческими работами здесь

Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива
Найти произведение отрицательных элементов массива, следующих после первого положительного...

Каким классом вы пользуетесь, когда дело доходит до регулярных выражений?
Каким классом вы пользуетесь, когда дело доходит до регулярных выражений? Добавлено через 12...

Каким классом воспользоваться для получения входящий сообщений с электронной почты
Привет всем. Подскажите плиз каким классом воспользоваться для получения входящий сообщений с...

Проверить по очереди один элемент одного массива с каждым элементом другого массива
подскажите как проверить по очереди один элемент одного массива с каждым элементом другого массива?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru