IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Соnstructor, Destructor
sheka
сообщение 11.03.2011 1:53
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Соnstructor, Destructor обязательно ли их писать в наследниках, если они описаны в родителях?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.03.2011 2:40
Сообщение #2


Гость






Мало ли кто где описан? А если наследник должен для корректной работы установить какие-то свои поля, или память выделить, за него это что, родитель делать будет? А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет? Тоже родитель? Зачем тогда тебе иерархия? Пользуйся одним родителем, раз он все делает...
 К началу страницы 
+ Ответить 
sheka
сообщение 11.03.2011 18:36
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата
А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет?

Соnstructor, Destructor описан только в родителе и оба пустые. При вызове из экземпляра наследника память правильно не выделится/удалится?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.03.2011 18:39
Сообщение #4


Гость






Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...
 К началу страницы 
+ Ответить 
sheka
сообщение 12.03.2011 0:22
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата
Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...

Как виртуальность деструктора будет влиять на программу? Он же все равно ниоткуда из методов вызываться не будет. Почему пустой конструктор можно убрать, а деструктор нет?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.03.2011 1:26
Сообщение #6


Гость






Цитата
Как виртуальность деструктора будет влиять на программу?
То, что деструктор базового для всех класса TObject - виртуальный, для тебя, конечно, не показатель? smile.gif Или ты думаешь, что если ты не используешь классы, а используешь Object-ы, то у тебя ООП вдруг становится другим, и играет по другим правилам? Ну-ну... Играй по своим правилам. Потом не жалуйся, что где-то падает, а где - непонятно.
 К началу страницы 
+ Ответить 
sheka
сообщение 13.03.2011 21:49
Сообщение #7


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата
Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...

Упс. Вот здесь не внимательно 2й пост прочитал smile.gif

Сообщение отредактировано: sheka - 13.03.2011 21:50
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"