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

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

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

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

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

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

Вывести несколько строк, и проверить может ли этот текст быть классом C++
Написать программу с родовым классом у которого есть поле двумерного массива... C++
Дерево общего вида. Вставить, найти, удалить элемент. C++
C++ Нахождение наибольшего общего делителя для элементов массива целых чисел
Пробел в старшем и младшем байте массива. Каким образом?! C++
C++ Каким образом getchar() меняет содержимое массива?
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
это решает пользователь, и в коде это никак не отражается.
Убежденный
Системный программист
 Аватар для Убежденный
14635 / 6596 / 1045
Регистрация: 02.05.2013
Сообщений: 10,865
Завершенные тесты: 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 в свою очередь абстрактный класс
Убежденный
Системный программист
 Аватар для Убежденный
14635 / 6596 / 1045
Регистрация: 02.05.2013
Сообщений: 10,865
Завершенные тесты: 1
08.01.2014, 22:25     Проверить, каким классом наследником помечен элемент общего (наследующего) массива #8
Сделать в базовом классе виртуальный метод.
И реализовать его в так, чтобы он возвращал разные значения для разных наследников.
Есть еще typeid, но насколько я помню, он не гарантирует разные имена для разных классов.

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

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

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

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

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