|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.01.2022, 03:51 | #1 |
Новичок
Джуниор
Регистрация: 22.01.2022
Сообщений: 3
|
ООП. Наследование и полиморфизм. Легкий вопрос от новичка.
Доброе время суток всем. Судьба заставила засесть за С++. Грызу гранит, и по пути стараюсь что-то писать. Помогите пожалуйста реализовать такую конструкцию (ниже код на Java, специально написал пример чтобы было понятно. Пояснений я думаю будет не нужно).
Есть абстрактный класс. Код:
Первый: Код:
Код:
Код:
Код:
Код:
Весь день сегодня пытался аналогичную конструкцию наваять на С++. Видимо у меня какая то проблема с синтаксисом, или я совсем отупел уже на старости лет Если не трудно, переведите мне мой пример на С++ только чтобы он точно работал, очень поможете сберечь мне нервы. Понятно что не надо никаких задержек , меня интересует именно обрщение к классам так же как у меня в коде. Спасибо. (RTFM не предлагать, это первое что я делаю всегда) Последний раз редактировалось JeyP; 22.01.2022 в 03:59. |
22.01.2022, 08:31 | #2 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
JeyP, что-то навроде https://onlinegdb.com/C3Bia9W1X
Код:
Последний раз редактировалось Алексей1153; 22.01.2022 в 08:35. |
22.01.2022, 08:39 | #3 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
а чтобы случайное время спать, можно так сделать
Код:
|
22.01.2022, 15:51 | #4 |
Новичок
Джуниор
Регистрация: 22.01.2022
Сообщений: 3
|
Алексей1153, спасибо большое Вам большое. ВЫ СПАСИТЕЛЬ Сейчас буду пробовать. Идея понятна. Но теперь всплыли еще вопросы
В С++ деструкторы же есть (а слона то я и не приметил...). Жава то такими мелочами как память не заморачивается ))) (шутка) 1) Если я в диспетчере определю деструктор и вызову его снаружи класса (в данном случае из main), то грохнется ли у меня заодно экземпляр того что в think? В реальной задаче у меня просто массив think-ов, и у меня возникает сомнение что компилятор такой умный В жаве есть гарбаж коллектор он со временем удаляет все то на что потерян указатель. В С++ как я понял надо самому заморачиваться на эту тему. 2) Как я понимаю, имя деструктора фиксировано (т.е. свое нельзя). Если я в человеке и компьютере определю свои деструкторы (или надо переопределить абстрактный?) то как к ним правильно обратиться? Как мне грохнуть тот объект на который ссылается think из класса диспетчера (имена то деструкторов разные) В реальном мире оперативка мне очень критична, думаю что наверное можно как-то заморочиться со своевременным удалением объектов. Еще раз спасибо Последний раз редактировалось JeyP; 22.01.2022 в 15:55. |
22.01.2022, 17:53 | #5 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
JeyP, деструктор всегда один. Идентификатор его начинается с тильды, затем идёт имя класса. Вручную деструктор нельзя вызывать (кроме одного, очень редкого и особенного случая, но этот случай нам тут не нужен).
Деструктор вызывается автоматически: для локальных переменных при выходе из области видимости, для динамических - при вызове delete я использовал стандартную обёртку над сырым указателем std::unique_ptr, чтобы не писать деструктор вручную эту обёртку можно попросить удалить объект методом release Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наследование и полиморфизм C# | Алиса_М | Помощь студентам | 1 | 03.05.2016 12:29 |
Объясните пожалуйста программу. показать 3 основных признака ООП: наследование, инкапсуляция, полиморфизм (Паскаль) | mongush | Помощь студентам | 11 | 27.01.2014 16:52 |
наследование и полиморфизм в ооп | IRONHIDE | C++ Builder | 1 | 29.01.2013 12:39 |
ООП (наследование и полиморфизм) | Shadow94 | Общие вопросы C/C++ | 4 | 21.11.2011 00:01 |
ОоП полиморфизм ... наследование ... | Xsires | Общие вопросы Delphi | 2 | 04.09.2011 15:38 |