|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||||||
Можно ли Конструктор и Деструктор вызывать как метод класса?29.06.2019, 12:03. Показов 20193. Ответов 222
Метки нет (Все метки)
Собственно вопрос:
можно ли Конструктор и Деструктор вызывать вручную, как обычный метод класса? Например, я хочу управлять очередностью вызовов. См. пример:
0
|
||||||
| 29.06.2019, 12:03 | |
|
Ответы с готовыми решениями:
222
Как правильно вызывать конструктор шаблонного класса? Можно ли явным образом вызывать деструктор? Конструктор и деструктор анонимного класса |
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
|
| 29.06.2019, 12:11 | |
|
а зачем? вызывая конструктор вы создаете объект, который потом уничтожит деструктор создавать объекты можно в любом месте
1
|
|
|
Комп_Оратор)
|
||
| 29.06.2019, 12:20 | ||
|
А если говорить о методе экземпляра, то: конструктор нельзя, а деструктор можно. Это потому, что методы вызываются на объектах, а при вызове конструктора ещё нет объекта. Для порождения объекта объектом пишут методы (которые обычно используют конструктора), такие как Clone и пр.
1
|
||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||||
| 29.06.2019, 12:37 [ТС] | ||||
|
Вроде, у Страуструпа написано, что конструктор НЕ создает объект, а лишь инициирует его поля. Хотелось бы разобраться. Заранее спасибо. Добавлено через 6 минут Спасибо что ответили. Предположим, один из конструкторов содержит полезный функционал. И после того, как уже объект создан, как вручную вызвать этот конструктор, чтоб он отработал как обычный метод класса? Добавлено через 4 минуты Вопрос: Далее(имея объект), можно ли конструкторы вызывать как обычные методы? P.S. Извиняюсь, я сразу не объснил ситуацию. Моя ошибка.
0
|
||||
|
Комп_Оратор)
|
|||||||||
| 29.06.2019, 12:41 | |||||||||
1
|
|||||||||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
||
| 29.06.2019, 13:25 | ||
|
0
|
||
|
Комп_Оратор)
|
|||||||
| 29.06.2019, 13:45 | |||||||
![]() На стеке объект создаётся так, что фаза выделения не видна. Но в целом, объект создаётся механизмами программно-аппаратного комплекса и представляет собой набор зарядов в полупроводниковом наборе ячеек. ![]() Ни кто не может сказать, что Б. Страуструп не прав. -Прав.
1
|
|||||||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
|||||||
| 29.06.2019, 13:45 [ТС] | |||||||
0
|
|||||||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
|
| 29.06.2019, 13:56 | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 29.06.2019, 14:02 | |
|
1
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
||||||
| 29.06.2019, 14:09 | ||||||
1
|
||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 29.06.2019, 14:09 | ||
Сообщение было отмечено Artem_Pv как решение
Решение
1
|
||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||
| 29.06.2019, 15:29 [ТС] | ||
|
P.S. в некоторых "других" языках программирования Конструкторы и Деструкторы, дополнительно выступают в роли методов класса. Например, в Конструкторе инициируются поля класса, это же полезный функционал, чтоб использовать его повторно, не создавая новый метод Clear; Жаль...
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 29.06.2019, 15:36 | ||
|
что тебе мешает сделать метод init, который ты можешь вызвать как из конструктора, для собственно, инициализации, так и просто - как обычный метод? 2. деструктор можно вызвать как обычный метод.
1
|
||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
||
| 29.06.2019, 15:41 | ||
|
если надо реинициализировать поля, создайте метод для этого и не парьтесь! впрочем это геморррой. по сути нужно дублировать поля и восстанавливать из дубликатов состояние с помощью метода, который может даже ничего не возвращать
0
|
||
|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
|||
| 29.06.2019, 15:50 [ТС] | |||
|
Как управлять очередностью вызова родительского конструктора? Например, требуется, чтобы сначала отработал функционал дочернего конструктора, а затем родительского. Такое возможно? Добавлено через 7 минут
0
|
|||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 29.06.2019, 15:59 | ||
|
По-этому, вам пока лучше не стоит этого делать.
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||
| 29.06.2019, 16:12 | |||
|
Если понимать вас буквально, то нет, такое невозможно и нарушает здравый смысл.
1
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 29.06.2019, 16:42 | ||
![]() вроде кусок кода который вызывается при создании объекта либо джамп на адрес если не инлайн либо встроенный кусок что делает решение относительно конструкторов в С++ каким то особенным? )
0
|
||
|
Неэпический
|
|
| 29.06.2019, 17:13 | |
|
del
0
|
|
| 29.06.2019, 17:13 | |
|
Помогаю со студенческими работами здесь
20
Зачем нужны конструктор и деструктор класса? Дописать конструктор и деструктор для класса Для класса задать конструктор и деструктор Конструктор (деструктор) у класса, не имеющего тип Создание класса с перегрузкой операторов конструктор и деструктор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|