1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
|
||||||
1 | ||||||
Полиморфизм с абстрактным классом30.09.2014, 16:32. Показов 1276. Ответов 6
Метки нет (Все метки)
Добрий день, нуждаюсь в помощи.
У меня есть абстрактный класс IStudent_Manip и производный класс Student_Manipulator. Хочу сделать указатель с абстрактного класса на производный, но выскакивает ошибка мол конвертирование между ними невозможно. Подскажите пожалуйста где проблема.
0
|
30.09.2014, 16:32 | |
Ответы с готовыми решениями:
6
Непонятки с абстрактным классом Работа с абстрактным классом Работа с абстрактным классом, считывание данных Создать иерархию наследования с абстрактным базовым классом |
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
30.09.2014, 16:42 | 2 | |||||
В приведенном коде ошибок быть не должно, если классы наследуются должным образом.
Могу предположить, что не указан спецификатор наследования.
0
|
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
|
||||||
30.09.2014, 16:59 [ТС] | 3 | |||||
Спасибо, это помогло, но теперь не могу вызвать методы присутствующие в обеих классах.
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
30.09.2014, 17:10 | 4 | |||||
Чтобы вызывать тот или иной метод объекта, этот объект (т.е. его статический тип) должен поддерживать данный метод. Если обращаешься через указатель базового класса IStudent_Manip, то только те методы, которые в нем (в базовом классе) есть и будут доступны (интерфейс). Если нужно вызывать специфический метод (которого не было в базовом классе), то нужно осуществить приведение типа. В данном случае через dynamic_cast.
0
|
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
|
|
30.09.2014, 17:45 [ТС] | 5 |
В этих классах есть методы, которые находятся в базовом абстрактном классе. Тоесть в базовом абстрактном классе у меня два метода, и они реализованы в наследующих классах, но интерфейсная ссылка(абстрактного класса) их почему-то не видит.
0
|
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
|
|
30.09.2014, 17:48 [ТС] | 7 |
А.. я уже понял в чем дело.
0
|
30.09.2014, 17:48 | |
30.09.2014, 17:48 | |
Помогаю со студенческими работами здесь
7
Ошибка при работе с абстрактным классом pair Наследование и полиморфизм. Задача с классом Ellipsoid Выбор между абстрактным классом, интерфейсом и простым классом Работа с абстрактным классом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |