Форум программистов, компьютерный форум CyberForum.ru

Конструкторы/декструкторы - C++

Восстановить пароль Регистрация
 
Nequti
 Аватар для Nequti
246 / 51 / 1
Регистрация: 21.05.2011
Сообщений: 297
30.06.2011, 03:12     Конструкторы/декструкторы #1
Можете объяснить что это такое и с чем их едят?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2011, 03:12     Конструкторы/декструкторы
Посмотрите здесь:

Конструкторы C++
Конструкторы C++
конструкторы C++
C++ конструкторы
Конструкторы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.06.2011, 05:41     Конструкторы/декструкторы #2
Nequti, конструктор - специальный метод, который вызывается при создании объекта и проводит начальные действия по его инициализации, т.е. конструирует объект, как и видно из названия. Имя конструктора совпадает с именем класса (если говорить о С++ и некоторых других языках). Может быть по умолчанию, с параметрами, копии. По умолчанию вызывается, если не указан никакой другой конструктор, и, соответственно, инициализирует объект значением по умолчанию (например, все поля объекта нулями, их эквивалентами, или вызывает для них конструкторы по умолчанию). С параметрами - пользователь сам задаёт параметры инициализации. Копии - инициализирует объект значением другого объекта. Вообще, если явно не указаны иные конструкторы, компилятор автоматически генерирует конструктор по умолчанию (который ничего не делает) и конструктор копии (побайтно копирует данные из одного объекта в другой). Однако зачастую необходимо определить свои конструкторы (по умолчанию и с параметрами) и реже - конструктор копии (когда в классе программист явно работает с памятью, например).
Деструктор - противоположность конструктора. Он проводит завершающие действия перед полным удалением объекта. Состоит из имени класса, предварённого знаком ~. Его тоже следует явно определять, когда в классе присутствует работа с памятью (и в некоторых других случаях, разумеется, но этот, думаю, самый частый), в деструкторе вся занятая память освобождается. Если ничего такого нет - автоматически сгенерированный деструктор должен вполне удовлетворить.
Вроде всё...
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
30.06.2011, 05:42     Конструкторы/декструкторы #3
http://www.cyberforum.ru/cpp-beginners/thread17474.html
5 пункт
silent_1991
30.06.2011, 05:50
  #4

Не по теме:

pito211, хм, чорд, а я вот паятому правилу не последовал А надо было, вообще-то...

ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
30.06.2011, 09:49     Конструкторы/декструкторы #5
Цитата Сообщение от Nequti Посмотреть сообщение
Можете объяснить что это такое и с чем их едят?
Конструктор - создает и инициализирует объект. Деструктор - уничтожает объект.
Подробности - в книжках...
Yandex
Объявления
30.06.2011, 09:49     Конструкторы/декструкторы
Ответ Создать тему
Опции темы

Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru