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

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

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

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

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

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

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

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

Как проверить первый элемент двумерного массива на 0? - C++
Всем привет. Дана функция ввода элементов двумерного массива. Необходимо вставить условие: если первый элемент массива равен 0, то...

Проверить, является ли k-й элемент массива чётным числом - C++
Дан массив из n элементов. Необходимо проверить, является ли k-й элемент массива чётным числом. Формат входных данных С клавиатуры...

Как работать с TObject классом-наследником - C++ Builder
Я не могу найти как правильно создавать свой класс TObject. Может кто подскажет? Есть у TIdTCPServer AContext->Data которая по типу...

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

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

Добавлю, что такое вообще требуется редко.
Смысл полиморфизма как раз в том, чтобы скрывать истинные типы, а
не показывать их.
1
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 89
08.01.2014, 22:36  [ТС] #9
спасибо, в данном случае это мне нужно для поиска ошибки, проверки действий программы)
0
08.01.2014, 22:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 22:36
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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