Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Классы: конструктор и деструктор

Ответить
Настройки темы
C/C++ - Классы: конструктор и деструктор

Аватара для COM-BAT

Пользователь


Сообщения: 84
Благодарности: 4


Конфигурация

Профиль | Отправить PM | Цитировать


Пожалуста обясните для чего конструктор и диструктор в классе

Отправлено: 21:17, 12-01-2013

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Цитата COM-BAT:
Пожалуста обясните для чего конструктор и диструктор в классе »
Возьмите книгу Хортон Visual C++ 2010 Полный курс, главы 8 и 9, там хорошо написано
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:22, 12-01-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Конструктор - начальное объявление класса. Деструктор - уничтожает экземпляр класса.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:51, 13-01-2013 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Конструкторы строят объект в начальном состоянии (задают начальные значения всех полей). Деструкторы уничтожают объект (чистят ссылки, освобождают ресурсы). Вместе они позволяют поддерживать правильную структуру данных в памяти. Конструктор должен построить объект так, чтобы деструктор после этого мог в любой момент этот объект разобрать обратно.

Например:

Рассмотрим модель человека, который берёт машину в кредит.
Изначально (при рождении) он ничего не должен (значит конструктор у него должен занулить поле "долг").
Перед смертью (не дай бог конечно, но для программ это дело обычное) он должен вернуть оставшуюся сумму. Значит его деструктор должен продать машину (если есть) и вернуть долг (если должен).
Если какое-то из указанных действий не выполнять, то начнётся бардак! А этого в памяти ну никак делать нельзя.

Вместе с исключениями, конструкторы и дестукторы позволяют делать очень сложные, но устойчивые системы. При вызове исключение автоматически разберёт деструкторами "по винтикам" все объекты, у которых успешно отработал конструктор (и для которых исключение не отловлено). Т.е. в памяти всегда соблюдается чистота и порядок.

поздравьте меня, я расплатился
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 14-01-2013 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Классы: конструктор и деструктор

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Служебные - [addon] Утилита конструктор TextMode MassStorage-аддона (конструктор) Mr dUSHA Наборы обновлений для Windows XP/2003/Windows 7 845 27-05-2016 14:39
C/C++ - [решено] Классы COM-BAT Программирование и базы данных 4 11-01-2013 15:43
классы farik Программирование и базы данных 5 14-11-2012 13:17
От куда взялся деструктор? zl3p Программирование и базы данных 4 10-02-2007 22:52
MFC - Как подключить MFC классы? Sharkky Программирование и базы данных 1 17-03-2004 14:04




 
Переход