Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2012, 21:23   #1
xays
Пользователь
 
Аватар для xays
 
Регистрация: 05.02.2012
Сообщений: 17
По умолчанию Класс - конструктор , деструктор

Взялся за новую литературу , в ней нашлись вещи которые небыли раскзаны в других прочтённых мною изданиях.

Вопрос на тему Конструкторы деструкторы классов.

Я немного напишу о них своими словами, вы поправьте меня моё представление о них вовсе ошибочное, может не правильно понял их.

Изначально объявив класс можно забить полями данных (переменные не инециализированные всякие), методами (функции объявленные).

В файле реализации класса *.cpp если начать использовать конструктор то как только клас начнёт действовать - "конструктор" автоматически в первую очередь выполнит код который у него внутри, а потом уже будет работать с другими методами?
Получается что Конструктор довольно эффективен если нужно создать какие то стандартные вещи по дефолту которые будут выставляться при использовании этого класса?

Если же создать деструктор и забить его кодом то он будет пока непробудно спать до тех пор пока не произойдёт уничтожение класса и как только это произойдёт то начнётся выполняться код внутри деструктора ?

Если выше написанное отчасти правельно понято тогда вопрос, а как вообще завтавить уничтожиться клас что бы он начал выполнять то что заложено в деструктор ? Есть какая та особая команда или что ?

Последний раз редактировалось xays; 17.02.2012 в 21:25.
xays вне форума Ответить с цитированием
Старый 17.02.2012, 21:46   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Конструктор - функция создания объекта класса.

Результатом благополучно отработавшего конструктора является объект. Поэтому, запуск конструктора объекта всегда приводит к созданию объекта. (При условии конечно, что конструктор благополучно отработал).

Диструктор - функция, которая автоматически будет вызвана перед уничтожением объекта класса.

Диструктор ничего не возвращает. Он лишь выполняет некие заложенные в него инструкции, которые должны быть выполнены прежде, чем память выделенная под объект будет освобождена.

Диструктор можно запустить явно. Сам по себе запуск диструктора не приведёт к уничтожению самого объекта.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Конструктор и деструктор dimok5 Помощь студентам 1 29.11.2011 19:31
Конструктор Деструктор sir.andrey Помощь студентам 7 02.07.2011 10:56
Конструктор и деструктор Ярослав Л Помощь студентам 1 18.01.2011 15:20
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01
С++ (конструктор, деструктор) Kventin Помощь студентам 4 31.03.2009 18:11