|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
||||||
Можно ли Конструктор и Деструктор вызывать как метод класса?29.06.2019, 12:03. Показов 20363. Ответов 222
Метки нет (Все метки)
Собственно вопрос:
можно ли Конструктор и Деструктор вызывать вручную, как обычный метод класса? Например, я хочу управлять очередностью вызовов. См. пример:
0
|
||||||
| 29.06.2019, 12:03 | |
|
Ответы с готовыми решениями:
222
Как правильно вызывать конструктор шаблонного класса? Можно ли явным образом вызывать деструктор? Конструктор и деструктор анонимного класса |
|
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,389
|
|
| 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
|
|||||||||
|
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,389
|
||
| 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
|
|||||||
|
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,389
|
|
| 29.06.2019, 13:56 | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|
| 29.06.2019, 14:02 | |
|
1
|
|
|
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,389
|
||||||
| 29.06.2019, 14:09 | ||||||
1
|
||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 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
|
||
|
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,389
|
||
| 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,818
|
|||
| 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
Зачем нужны конструктор и деструктор класса? Дописать конструктор и деструктор для класса Для класса задать конструктор и деструктор Конструктор (деструктор) у класса, не имеющего тип Создание класса с перегрузкой операторов конструктор и деструктор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|