Помощь - Поиск - Пользователи - Календарь
Полная версия: Соnstructor, Destructor
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
sheka
Соnstructor, Destructor обязательно ли их писать в наследниках, если они описаны в родителях?
volvo
Мало ли кто где описан? А если наследник должен для корректной работы установить какие-то свои поля, или память выделить, за него это что, родитель делать будет? А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет? Тоже родитель? Зачем тогда тебе иерархия? Пользуйся одним родителем, раз он все делает...
sheka
Цитата
А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет?

Соnstructor, Destructor описан только в родителе и оба пустые. При вызове из экземпляра наследника память правильно не выделится/удалится?
volvo
Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...
sheka
Цитата
Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...

Как виртуальность деструктора будет влиять на программу? Он же все равно ниоткуда из методов вызываться не будет. Почему пустой конструктор можно убрать, а деструктор нет?
volvo
Цитата
Как виртуальность деструктора будет влиять на программу?
То, что деструктор базового для всех класса TObject - виртуальный, для тебя, конечно, не показатель? smile.gif Или ты думаешь, что если ты не используешь классы, а используешь Object-ы, то у тебя ООП вдруг становится другим, и играет по другим правилам? Ну-ну... Играй по своим правилам. Потом не жалуйся, что где-то падает, а где - непонятно.
sheka
Цитата
Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...

Упс. Вот здесь не внимательно 2й пост прочитал smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.