Автор: sheka 11.03.2011 5:53
Соnstructor, Destructor обязательно ли их писать в наследниках, если они описаны в родителях?
Автор: volvo 11.03.2011 6:40
Мало ли кто где описан? А если наследник должен для корректной работы установить какие-то свои поля, или память выделить, за него это что, родитель делать будет? А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет? Тоже родитель? Зачем тогда тебе иерархия? Пользуйся одним родителем, раз он все делает...
Автор: sheka 11.03.2011 22:36
Цитата
А удалять память (причем правильно удалять, столько, сколько было выделено именно для этого объекта) кто будет?
Соnstructor, Destructor описан только в родителе и оба пустые. При вызове из экземпляра наследника память правильно не выделится/удалится?
Автор: volvo 11.03.2011 22:39
Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...
Автор: sheka 12.03.2011 4:22
Цитата
Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...
Как виртуальность деструктора будет влиять на программу? Он же все равно ниоткуда из методов вызываться не будет. Почему пустой конструктор можно убрать, а деструктор нет?
Автор: volvo 12.03.2011 5:26
Цитата
Как виртуальность деструктора будет влиять на программу?
То, что деструктор базового для всех
класса TObject - виртуальный, для тебя, конечно, не показатель?
Или ты думаешь, что если ты не используешь классы, а используешь Object-ы, то у тебя ООП вдруг становится другим, и играет по другим правилам? Ну-ну... Играй по своим правилам. Потом не жалуйся, что где-то падает, а где - непонятно.
Автор: sheka 14.03.2011 1:49
Цитата
Пустой конструктор можешь убрать, он унаследуется от предка. Деструктор я бы оставил, даже больше того, сделал бы его виртуальным, поскольку у тебя есть виртуальные функции...
Упс. Вот http://forum.pascal.net.ru/index.php?s=&showtopic=27801&view=findpost&p=153166 не внимательно 2й пост прочитал