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

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

Восстановить пароль Регистрация
 
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 21:13     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #1
подскажите как можно, и можно ли проверить, каким классом наследником помечен элемент общего(наследующего) массива?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 21:13     Проверить, каким классом наследником помечен элемент общего (наследующего) массива
Посмотрите здесь:

Вывести несколько строк, и проверить может ли этот текст быть классом C++
Дерево общего вида. Вставить, найти, удалить элемент. C++
C++ Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
Написать программу:функция что возвращает элемент массива,и удаляет этот элемент з массива C++
C++ Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 21:32     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #2
Layzie, посмотреть в коде
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 21:41  [ТС]     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #3
это решает пользователь, и в коде это никак не отражается.
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
08.01.2014, 21:47     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #4
Цитата Сообщение от Layzie Посмотреть сообщение
подскажите как можно, и можно ли проверить, каким классом наследником помечен элемент общего(наследующего) массива?
Что значит "помечен" и что такое "общий(наследующий)" массив ?
Нельзя ли это более понятными словами выразить, или в терминологии языка C++ ?
А еще лучше кодом...
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
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]
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 22:05     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #6
Layzie, а можно ли вообще делать вот так *(A+i)=new 2; если А - это указатель на массив указателей на класс 1, а не на класс 2?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 22:07  [ТС]     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #7
Цитата Сообщение от metaluga145 Посмотреть сообщение
Layzie, а можно ли вообще делать вот так *(A+i)=new 2; если А - это указатель на массив указателей на класс 1, а не на класс 2?
да можно, потому что 2 это наследник 1, а 1 в свою очередь абстрактный класс
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
08.01.2014, 22:25     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #8
Сделать в базовом классе виртуальный метод.
И реализовать его в так, чтобы он возвращал разные значения для разных наследников.
Есть еще typeid, но насколько я помню, он не гарантирует разные имена для разных классов.

Добавлю, что такое вообще требуется редко.
Смысл полиморфизма как раз в том, чтобы скрывать истинные типы, а
не показывать их.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 22:36     Проверить, каким классом наследником помечен элемент общего (наследующего) массива
Еще ссылки по теме:

C++ Заменить последний положительный элемент массива на второй элемент массива
Что общего между именем массива и указателем? C++
C++ Заменить последний положительный элемент одномерного массива на второй элемент массива

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

Или воспользуйтесь поиском по форуму:
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 22:36  [ТС]     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #9
спасибо, в данном случае это мне нужно для поиска ошибки, проверки действий программы)
Yandex
Объявления
08.01.2014, 22:36     Проверить, каким классом наследником помечен элемент общего (наследующего) массива
Ответ Создать тему
Опции темы

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