![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.01.2022
Сообщений: 3
|
![]()
Доброе время суток всем. Судьба заставила засесть за С++. Грызу гранит, и по пути стараюсь что-то писать. Помогите пожалуйста реализовать такую конструкцию (ниже код на Java, специально написал пример чтобы было понятно. Пояснений я думаю будет не нужно).
Есть абстрактный класс. Код:
Первый: Код:
Код:
Код:
Код:
Код:
Весь день сегодня пытался аналогичную конструкцию наваять на С++. Видимо у меня какая то проблема с синтаксисом, или я совсем отупел уже на старости лет ![]() Если не трудно, переведите мне мой пример на С++ только чтобы он точно работал, очень поможете сберечь мне нервы. Понятно что не надо никаких задержек , меня интересует именно обрщение к классам так же как у меня в коде. Спасибо. (RTFM не предлагать, это первое что я делаю всегда) Последний раз редактировалось JeyP; 22.01.2022 в 03:59. |
![]() |
![]() |
![]() |
#2 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,035
|
![]()
JeyP, что-то навроде https://onlinegdb.com/C3Bia9W1X
Код:
Последний раз редактировалось Алексей1153; 22.01.2022 в 08:35. |
![]() |
![]() |
![]() |
#3 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,035
|
![]()
а чтобы случайное время спать, можно так сделать
Код:
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 22.01.2022
Сообщений: 3
|
![]()
Алексей1153, спасибо большое Вам большое. ВЫ СПАСИТЕЛЬ
![]() В С++ деструкторы же есть (а слона то я и не приметил...). Жава то такими мелочами как память не заморачивается ![]() 1) Если я в диспетчере определю деструктор и вызову его снаружи класса (в данном случае из main), то грохнется ли у меня заодно экземпляр того что в think? В реальной задаче у меня просто массив think-ов, и у меня возникает сомнение что компилятор такой умный ![]() 2) Как я понимаю, имя деструктора фиксировано (т.е. свое нельзя). Если я в человеке и компьютере определю свои деструкторы (или надо переопределить абстрактный?) то как к ним правильно обратиться? Как мне грохнуть тот объект на который ссылается think из класса диспетчера (имена то деструкторов разные) В реальном мире оперативка мне очень критична, думаю что наверное можно как-то заморочиться со своевременным удалением объектов. Еще раз спасибо Последний раз редактировалось JeyP; 22.01.2022 в 15:55. |
![]() |
![]() |
![]() |
#5 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,035
|
![]()
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 |