0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 95
|
||||||
1 | ||||||
Не могу сделать полиморфизм. Не могу до конца понять пример по этому поводу04.05.2017, 16:56. Показов 1923. Ответов 5
Метки нет Все метки)
(
Есть такая задача:
Класс Animal должен быть абстрактным, имеет имя и вес. Класс Reptile имеет habitate, который держит в себе среду обитания животного. Класс Snake имеет poisonous, который показывает животное ядовитое или нет. Вобщем суть такова, что функция showInfo() должна перезаписывается через наследование. Эта функция должна предоставить информации о животных. Вот, что на данный момент имею:
1) Я не знаю как создать 4 объекта животных, с последующим заполнением Reptile и Snake. 2) И Второй вопрос у меня параметр habitate не высвечивается, как это исправить? 3) Все ли я правильно делаю? Добавлено через 43 минуты Как это выполнить?
0
|
|
04.05.2017, 16:56 | |
Ответы с готовыми решениями:
5
Как понять поставленную задачу. Не могу понять этот полиморфизм? Не могу до конца понять логику скрипта Не могу до конца понять условие задачи Хоть убейте, не могу до конца понять if и else |
Форумчанин
![]() ![]() 8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
04.05.2017, 17:10 | 2 | |||||
![]() Решение
Вы не знаете как их сложить в один массив? Сделайте тип массива - указатель (можно smart_pointer) на базовый класс. И записывайте в него адреса объектов производных классов.
поменять в конструкторе Reptile строку на
Направление движения верное, единственное что я бы у Reptile метод showInfo тоже виртуальный сделал бы. Ну и есть общие замечания по коду - например string передавать по ссылке на константу, использовать список инициализации конструктора, ...
1
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
||||||
04.05.2017, 17:43 | 3 | |||||
![]() Решение
virtual ~Animal() = default; у меня Visual Studia 2012 ошибку на эту строку показывает я заменил на virtual ~Animal()=0; и работает))
1
|
Форумчанин
![]() ![]() 8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||||||
04.05.2017, 17:50 | 4 | ||||||||||
![]()
Аналогичный код выглядел бы так:
0
|
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 95
|
|
04.05.2017, 17:55 [ТС] | 5 |
MrGluck, Antikl, Очень благодарен вам за помощь! Спасибо заработало! ))
Добавлено через 1 минуту MrGluck, ))) хорошо учту.
0
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
04.05.2017, 18:01 | 6 |
0
|
04.05.2017, 18:01 | |
Помогаю со студенческими работами здесь
6
Не могу понять пример (Апплет)
Не могу понять пример из Qtcreator
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |