161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
|
|||||||||||
1 | |||||||||||
Полиморфизм и деструктор12.04.2014, 21:04. Показов 2710. Ответов 4
Метки нет (Все метки)
Данный код является полиморфизмом?
И вот с конструктором с параметрами и деструктором провел эксперименты
0
|
12.04.2014, 21:04 | |
Ответы с готовыми решениями:
4
Почему создается виртуальный деструктор A, а в таблице виртуальных функций лежит деструктор B С++ и полиморфизм Полиморфизм в с++ Полиморфизм |
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||||||
12.04.2014, 21:15 | 2 | |||||
Сообщение было отмечено dimabubyakin как решение
Решение
Данный код является кодом с использование полиморфизма. Утечек нету.
Это и есть полиморфизм. Без virtual - вызываются методы базового класса. С virtual - методы того класса, куда указывает указатель базового класса. А так - это такое негласное правило - если есть виртуальные методы в классе, деструктор тоже следует быть виртуальным, что Ваша код и доказывает. Другое негласное правило, это объявлять в наследниках виртуальные классы опять виртуальными, компилятору пофиг, а программисту понятно потом будет. Вот так:
1
|
161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
|
|||||||||||
12.04.2014, 21:42 [ТС] | 3 | ||||||||||
К примеру у меня в базовом классе все методы для приложения, а мне нужно что бы я реализовал не все методы в каждом классе, а в одном классе одни, в другом другие и т.д.
Это я так полагаю не будет работать?
0
|
18841 / 9840 / 2408
Регистрация: 30.01.2014
Сообщений: 17,281
|
||||||
12.04.2014, 23:26 | 4 | |||||
Сообщение было отмечено dimabubyakin как решение
Решение
В этом случае базовый класс не должен быть абстрактным, и иметь собственные базовые реализации методов. Тогда наследники смогут переопределять только те методы, которые нужны (а не все, как было с чисто виртуальными), а остальные будут наследоваться из базового класса.
Базовый класс должен предоставлять конструктор без параметров.
Либо сделать так:
1
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
13.04.2014, 12:07 | 5 | |||||
Или конструктор с параметрами, заданными по умолчанию:
1
|
13.04.2014, 12:07 | |
13.04.2014, 12:07 | |
Помогаю со студенческими работами здесь
5
Полиморфизм Полиморфизм полиморфизм=( полиморфизм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |