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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nequti
246 / 51 / 1
Регистрация: 21.05.2011
Сообщений: 297
#1

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

30.06.2011, 03:12. Просмотров 409. Ответов 4
Метки нет (Все метки)

Можете объяснить что это такое и с чем их едят?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2011, 03:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструкторы/декструкторы (C++):

Конструкторы C++ - C++
Объясните, пожалуйста, своими словами, что являют собой конструкторы, для чего они нужны, в чем их преимущество перед аналогичными...

Конструкторы С++ - C++
Всем привет, помогите довести программу до ума :) Заранее благодарю откликнувшихся :) ...

Конструкторы - C++
#include<iostream> class A { public: A(int x) : _x(x) {} private: int _x; }; int main() ...

конструкторы - C++
Доброе время суток! Помогите разобраться с конструктором. Что это такое и с чем его едят. Так как сдала лабу преподавателю, ну вроде ж...

конструкторы - C++
Есть 2 проблемы: 1) Сказали сделать 2 конструктора: один по умолчанию, а другой-с параметрами. Какие должны быть параметры в моем...

Конструкторы - C++
Почему, если класс имеет конструктор с параметрами у него обязательно должен быть конструктор по умолчанию?

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

Не по теме:

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

0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
30.06.2011, 09:49 #5
Цитата Сообщение от Nequti Посмотреть сообщение
Можете объяснить что это такое и с чем их едят?
Конструктор - создает и инициализирует объект. Деструктор - уничтожает объект.
Подробности - в книжках...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2011, 09:49
Привет! Вот еще темы с ответами:

Конструкторы - C++
Пытаюсь разработайте класс представления окна на экране компьютера. В состав должны войти следующие конструкторы: -конструктор по...

Конструкторы - C++
Объясните на пальцах, для чего нужны конструкторы?

Конструкторы - C++
class A { public: A() : a(10) // инициализация a { b = 3; // присвоение b } int a, b; };

конструкторы - C++
У меня вопрос: если программа с конструкторами, то нужно ли создавать объект в программе? И по какому синтаксису вызвать функцию, описанную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.06.2011, 09:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru