|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||||||
Можно ли Конструктор и Деструктор вызывать как метод класса?29.06.2019, 12:03. Показов 21943. Ответов 222
Метки нет (Все метки)
Собственно вопрос:
можно ли Конструктор и Деструктор вызывать вручную, как обычный метод класса? Например, я хочу управлять очередностью вызовов. См. пример:
0
|
||||||
| 29.06.2019, 12:03 | |
|
Ответы с готовыми решениями:
222
Как правильно вызывать конструктор шаблонного класса? Можно ли явным образом вызывать деструктор? Конструктор и деструктор анонимного класса |
|
Комп_Оратор)
|
|||
| 29.06.2019, 17:23 | |||
|
1
|
|||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
|||
| 29.06.2019, 17:33 [ТС] | |||
|
Раньше(с другим Языком) были ситуации, где требовалось поменять очередность вызова конструктора. Т.е. сначала стартует дочерний конструктор(делает виртуальную работу), а в конце стартует родительский. А в C++ так нельзя?!
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||
| 29.06.2019, 19:28 | |||||
|
Я поэтому и спросил у вас про задачу, чтобы понять чего вы в действительности хотите, чтобы подсказать как эта ситуация разрешается правильно. ________ PS. Я читаю ваши вопросы на форуме и никак не могу понять. Каким образом вы учите язык? Расскажите. Мне лично кажется очень странным, что вы задаете такие вопросы казалось бы в самом начале обучения. Такое может быть только если вы учите язык как бы с середины, пытаясь запрыгнуть в поезд на ходу: читаете выборочно какие-то статьи и т.п. Да? Добавлено через 5 минут Я просто перестану с тобой разговаривать, если ты не перестанешь троллить. Речь про гарантии порядка их вызова и связывание начала времени жизни объекта с инициализацией (конструктором) и концом времени жизни с деинициализацией (деструктором).
1
|
|||||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
|||
| 29.06.2019, 19:49 [ТС] | |||
|
Вы писали, что можно "вызывать конструктор в списке инициализации другого конструктора" Т.е. этот вызов не из тела конструктора, а из заголовка конструктора(или как эта часть называется) ? А второй вопрос был про "перегруженные" конструкторы, т.е. имелись ввиду не родительские, а собственные конструкторы. Цель: В конструкторах не дублировать функционал, а чтоб они друг друга вызывали по цепочке. Такое возможно?
0
|
|||
| 29.06.2019, 19:50 | |
|
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 29.06.2019, 19:52 | ||||
|
1
|
||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 29.06.2019, 20:01 | |
|
DrOffset,
Я не троллю)) Подумал есть какая то особенность в реализации, которая в С++ лучше чем в других языках
0
|
|
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||
| 29.06.2019, 20:36 [ТС] | ||
|
Здесь выбор очевиден и однозначен: C++ !! Впервые я открыл учебник по C++ в начале этой недели. Серьезно. Это Страуструп 2е издание. Пошло с трудом, еще есть онлайн литература, справочники. Информации по C++ оказалось море, но без подготовки ориентироваться сложно. Очень помогают C++ форумы! Это как “божественное” спасение; Блуждаю во тьме и вижу свет вдали ... Да, подозреваю, что мои вопросы выглядят “странными” в разделе “Для новичков”, потому, что я интересуюсь именно языком C++, а не прикладным программированием. Очень боюсь, что меня забанят за “странность” Но, я рад знакомству с C++, уверен, что двигаюсь правильно... P.S. Если видите мои ошибки на форуме, пожалуйста, смело критикуйте. За полезную критику платят деньги... и если я когда-нибудь разбогатею, то...
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 29.06.2019, 20:59 | |||
|
Страуструп многим не нравится, хотя лично я по нему учился в свое время (именно по второму изданию), мне не казался он сложным. Но вы возьмите Липпмана, он намного доступнее. Обязательно делайте упражнения оттуда. Как осилите Липпмана, можете обратиться ко мне - подскажу что дальше читать. Добавлено через 10 минут
1
|
|||
|
1071 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,447
|
|
| 29.06.2019, 21:07 | |
|
0
|
|
|
Комп_Оратор)
|
||||||||
| 29.06.2019, 22:18 | ||||||||
|
Azazel-San, это и правда новость, что после placement new для объектов выделяющих ресурсы запускают деструктора? Это делается, как правило на указателе:
0
|
||||||||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||||
| 29.06.2019, 23:25 | ||||
|
К чему было выше сказанное?.. Вы о том что можно вызвать деструктор, а потом сделать placement new и дальше работать с объектом? То да, так можно сделать. Но я говорил немного об другом, вроде как..
0
|
||||
|
Комп_Оратор)
|
|||
| 29.06.2019, 23:34 | |||
|
1
|
|||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||||||
| 29.06.2019, 23:55 | |||||||
|
Это у вас забомбило так или что?
0
|
|||||||
|
Комп_Оратор)
|
||||||||||||||
| 30.06.2019, 00:34 | ||||||||||||||
Сообщение было отмечено Artem_Pv как решение
Решение
Я не понимаю, что значит "забомбило". Вот диалог:
Кроме всего, можно вызвать деструктор на автоматическом объекте. Реинициализировать его и снова вызвать. Это именно соответствует вопросу всей темы. Другое дело что конструктор не вызывается на объекте общепринятом синтаксисе. Но он вызывается для объекта.
Я бы посоветовал ТС не искать возможность применения встреченной конструкции в отрыве от практически решаемой задачи. Просто комбинаторный подбор вариантов - потеря времени, часто. И данный топик очень хорошо это показывает. Это достаточно поучительный момент. Ведь для методов конструктор и деструктор важнее всего понять, что чаще всего они вызываются неявно. То есть:
Кстати о овцах. Пора спать. Azazel-San, я не собирался вас задеть. Просто не увидел логики в диалоге и сказал об этом. Спокойной ночи. Добавлено через 5 минут Artem_Pv, просматривать количество вызовов конструкторов разного типа и деструктора можно написав в теле методов cout<<"copyctor"; и пр. И поэкспериментировать на практике. Это полезно.
1
|
||||||||||||||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||
| 30.06.2019, 00:48 | |||
И то, что знать ТСу пока что больше не надо, дабы не делать каши в голове, тоже. Ещё раз, все, абсолютно все выше сказанное можно вместить в одно предложение (выше я уже писал), вы зачем-то решили разводить демагогию непонятно для кого? Как будто бы мне, но я это знаю и все что было недосказано мной было сделано намеренно. Если для ТСа то я не понимаю зачем, ибо человек только начинает.
0
|
|||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||
| 30.06.2019, 01:48 | |||
|
1
|
|||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 30.06.2019, 01:51 | |
|
Кстати:
Конструктор не создает объект, это специальная функция вызываемая в процессе создания объекта. Деструктор не уничтожает объект, это специальная функция вызываемая перед уничтожением объекта.
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 30.06.2019, 02:04 | ||
|
Добавлено через 2 минуты И потом укажи их соответственно в конструкторе и деструкторе, а также там где нужен "перезапуск".
1
|
||
|
Комп_Оратор)
|
|||
| 30.06.2019, 10:52 | |||
|
Добавлено через 33 минуты TRam_, почему вы считаете, что: вызов деструктора на объекте не уничтожит (в смысле не деинициализирует, конечно, ибо уничтожить его иной раз легче зубилом) объект?
1
|
|||
| 30.06.2019, 10:52 | |
|
Зачем нужны конструктор и деструктор класса? Дописать конструктор и деструктор для класса Для класса задать конструктор и деструктор Конструктор (деструктор) у класса, не имеющего тип Создание класса с перегрузкой операторов конструктор и деструктор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|