Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конструктор и деструктор, Св-ва, Отличие К и Д 
:(
    Опции темы
Новичек89
Дата 29.6.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



Здравствуйте, помогите пожалуйста!!! Мне нужна помощь, и посоветовались обратится к Вам! 
Вообщем такая ситуация...
Наш преподаватель по "технологии программирования (СИ++)" требует уже 2й год от студентов ответ, на вопрос "Чем отличается Конструктор от Деструктора?" Ну и при этом нужно назвать их свойства. Мы знаем, и говорим ему : 1) В классе может быть не один конструктор, а деструктор только один. ; 2) Конструктор может иметь аргументы, а деструктор нет; 3) Деструктор не имеет параметров, а конструктору они могут передаваться; 4) Конструктор не может быть виртуальным, а диструктор виртуальный; 5) Они оба называются так же как и класс; 6) Конструктор может быть перегружен, деструктор - нет; 6)Конструктор не возвращает значение, не может быть объявлен, как const,volatile,static; не наследуется, может быть явно/не явно вызван; может быть конструктор копирования; 7) Конструктор выполняется при инициализации объекта, деструктор - после работы программы. 8) Оба могут быть по умолчанию; 9) Для конструктора не используется тип void 
Преподаватель говорит, что вы все не называете еще одного отличия. И вот он от нас требует этого отличия, "хоть ты тресни..." =((( Смотрели книги, искали в инете - без рез-та... Помогите, подскажите пожалуйста!!! Этот ответ поможет поскорее сдать этот экзамен... 
Очень надеюсь на помощь знающих людей !!!
Конечно дело не в тильде. ... 
Спасибо заранее!!!
PM MAIL   Вверх
hsilgos
Дата 29.6.2009, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Цитата

не наследуется, может быть явно/не явно вызван;

деструктор тоже явно можно вызвать
PM MAIL   Вверх
kemiisto
Дата 29.6.2009, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Новичек89, списочек, конечно, бредовый. Как, впрочем, и вопрос. 5 "отличие" убило. Ну... даже не знаю... Скажите, что-нить типа, конструктор выделяет память под объект, деструктор - освобождает. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
hsilgos
Дата 29.6.2009, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Есть еще как бэ не отличие, а, скорее, общее правило: из конструктора можно кидать исключение - из деструктора строго не реккомендуется (хотя тоже можно)

Добавлено через 2 минуты и 23 секунды
Цитата

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

Этим занимается не конструктор/деструктор. Скорее конструктор - конструирует объект, инициализирует. Деструктор - освобождает ресурсы
PM MAIL   Вверх
EvilsInterrupt
Дата 29.6.2009, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Ну и в чем сложность ? Правильно требует!

Конструктор это создатель
Деструктор это разрушитель

Т.е. самое главное что один СОЗДАЕТ, а другой РАЗРУШАЕТ. 

А все остальное,это уже технические детали. Они существенны, но для понимания сути важно именно это отличие!

Грамотный у вас препод, побольше таких бы! ;) Незачем по верхушкам скакать, надо в корне знать что и как. Зная суть вещей, можно мыслить более широко и следовательно писать более правильный код и знать где примерно искать баги, если таковы видешь. 
PM MAIL WWW ICQ Jabber   Вверх
kemiisto
Дата 29.6.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Цитата(hsilgos @  28.6.2009,  22:36 Найти цитируемый пост)
Этим занимается не конструктор/деструктор. Скорее конструктор - конструирует объект, инициализирует. Деструктор - освобождает ресурсы 

hsilgos, ой, я Вас умоляю. Давайте не будем тут терминологическую демагогия разводить. Я ещё раз повторяю, дан список такого шедеврального бреда, что можно добавить всё что душе угодно! smile 

Цитата(Новичек89 @  28.6.2009,  22:10 Найти цитируемый пост)
5) Они оба называются так же как и класс;

Никак не отойду! smile Классное "отличие".

Цитата(EvilsInterrupt @  28.6.2009,  22:39 Найти цитируемый пост)
Конструктор это создатель
Деструктор это разрушитель

 smile Во! То что надо!


--------------------
PM MAIL WWW GTalk Jabber   Вверх
bsa
Дата 29.6.2009, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



2 и 3 - одно и тоже. Только другими словами и в другой последовательности
4. Деструктор может быть виртуальным.
5. не совсем, у деструктора перед названием идет тильда.
6. Это скорее тоже самое, что и 2, и 3
7. Деструктор выполняется при уничтожении экземпляра класса, а конструктор - при создании.
8. "деструктор по умолчанию"? Это что-то новенькое. Потому что "конструктор по умолчанию" - это конструктор, который можно вызвать без указания параметров.
9. В случае наследования конструкторы вызываются от базового к наследнику, а деструкторы от наследника к базовому.

Это сообщение отредактировал(а) bsa - 29.6.2009, 00:47
PM   Вверх
UnrealMan
Дата 29.6.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 5
Всего: 32



Цитата(Новичек89 @  29.6.2009,  00:10 Найти цитируемый пост)
Преподаватель говорит, что вы все не называете еще одного отличия.

Возможно, он хочет услышать, что у деструктора не может быть списка инициализации smile 
PM MAIL   Вверх
hsilgos
Дата 29.6.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Цитата

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

Не пытался, просто решил, что Вы об этом не знаете   smile 

Список бредовый, а препод явно хочет услышать про создание/уничтожение, согласен...
PM MAIL   Вверх
Новичек89
  Дата 29.6.2009, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



Спасибо, за поправки - учтется! ;) 
Цитата

Конструктор это создатель
Деструктор это разрушитель



Ну это говорилось ему при определении этих двух функций!

Цитата

Никак не отойду!  Классное "отличие".


Я написала, что  при их отличиях, мы должны назвать их свойства и характеристики. 


Цитата

Есть еще как бэ не отличие, а, скорее, общее правило: из конструктора можно кидать исключение - из деструктора строго не рекомендуется (хотя тоже можно)

Объясните, пожалуйста, что в данном случаи "Исключение" - ? И "Кидать исключение" - ???

По сути,  никто так, ничего нового и не назвал... Вопрос остается - Что нужно этому Преподавателю ??? !!!
PM MAIL   Вверх
Dmi3ev
Дата 29.6.2009, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Что нужно этому Преподавателю ??? !!! 

Похоже он сам не знает, раз второй год от вас это хочет  smile Если бы знал, сам бы вам рассказал  smile 
Цитата

По сути,  никто так, ничего нового и не назвал...

Ну к твоим отличиям хз че прибавить  smile Если только, что перед именем деструктора есть фигнюшечка, а перед именем конструктора нет...  smile  


--------------------

PM MAIL   Вверх
EvilsInterrupt
Дата 29.6.2009, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



>>Похоже он сам не знает, раз второй год от вас это хочет   Если бы знал, сам бы вам рассказал  
У меня в КГТУ им. Туполева Суздальцев был, это препод еще тот. За "однерку" вместо "еденицы" дальше уже не слушал и чел отправлялся учить дальше.
Меж прочем, правильно делал, если каждому позволить на преведовском езыге говорить, то это уже хз че получится. 

Мы технари, а у нас терминология должна быть одна и таже. Говоря о конструкторе, мы должны четко понимать о чем идет речь. Что это не простая ф-ция которая может быть перегружена, и что это не просто ф-ция создающая объект класса а-ля CreateMyObjct(my_objct * obj); , а совершенное четкое понятие:
"Конструктор это спец.ф-ция класса входящая в его состав и служащая для создания объекта этого класса". Все, после этих слов, у человека если и появятся вопросы, то вполне конкретные и по существу!

Это сообщение отредактировал(а) EvilsInterrupt - 29.6.2009, 01:56
PM MAIL WWW ICQ Jabber   Вверх
Новичек89
  Дата 29.6.2009, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



Цитата

Если только, что перед именем деструктора есть фигнюшечка, а перед именем конструктора нет...    

Это " фигнюшечка " называется ТИЛЬДА. И о ней, я тоже писала...
 
Мы вот тоже думаем уже, что мол, мож над нами стебется ??? ... Хотя я уже битый час читаю инет по этой тме...Что то новенькое для себя нахожу, остается в этом разобраться, хотя бы на уровне ответа...  
Благо прогить возле него он не требует...Ведь это процесс творческий - и под напором и взглядом "надзиратель" неосуществим =((( 

Мне кое где, ради смеха (Я так полагаю) сказали, ответить ему, что отличие в их Названии...  smile  
Завтра, так и отвечу...Если он так и будет говорить "Правда, но не То", "Я Вас понял, но Вы не правы", "Студент, это не то что я жду" ... и т.д. (((

Добавлено через 4 минуты и 47 секунд
Цитата

 За "однерку" вместо "еденицы" дальше уже не слушал и чел отправлялся учить дальше

КОШМАР!!! 
Благо у нас не так... Но тоже еще тот фрукт!!!  smile  Не экзамен, а лотерея... Кто учил, и все понимают - не все сдали...А Кто даже шпоры не читал - те,почти сдали...  Ни какой статистики...  smile  5ки нет ни одной!!! Поверьте, есть не 1н человек, который идет на красный... 
Вообщем просто ... аут. когда я с 1го раза не сдала, поняла что единственный способ получить это "удв" - найти ответ на этот вопрос. Так, как он сказал - "Кто ответит, это конечно не зачет, и не + пол бал (!ДАЖЕ!), Я буду относится к этому студенту по-другому" ... А как "по-другому" - это загадка...  smile 

И все таки верю,что кто-нить напишет что-нить ДЕЛЬНОЕ!!!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.