Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

конструктор / деструктор


начинающий_ ©   (2011-11-01 15:23:00) 

Пишу класс TMyClass наследник TObject.

TMyClass = class(TObject)
public
 constructor Create(Database: TDBISAMDatabase);
 destructor Destroy;
end;

нужно ли оверрайдить конструктор и деструктор, наследуясь от TObject?


Игорь Шевченко   (2011-11-01 16:50:00) [1]


> Конструктору надо reintroduce.


The reintroduce directive suppresses compiler warnings about hiding previously declared virtualmethods


DiamondShark   (2011-11-01 15:32:00) [2]

TObject не имеет виртуальных конструкторов, соответсвенно, оверрайдить конструктор не только не нужно, но и не можно.

TObject имеет виртуальный деструктор Destroy, соответственно, оверрайдить его можно, а можно не оверрайдить. Если его не оверрайдить, то весь сторонний код, который полагается на виртуальный вызов унаследованного от TObject деструктора Destroy новый деструктор вызвать не сможет.
А вот нужнотебе это или не нужно -- целиком от тебя зависит.


Омлет   (2011-11-01 15:31:00) [3]

> Конструктору надо reintroduce.

А, впрочем, можно и не писать.


Омлет   (2011-11-01 15:29:00) [4]

Конструктору надо reintroduce.
Деструктору - override.


Юрий Зотов   (2011-11-01 15:28:00) [5]

Деструктор - обязательно, потому что он виртуальный. Если не заоверрайдите, получите замечание от компилятора.

Конструктор - не надо (да и не получится, даже если попробуете)


Наверх

Титульная страница Поиск, карта сайта Написать письмо