Форум: "Начинающим";
Текущий архив: 2012.02.12;
Скачать: [xml.tar.bz2];
Внизконструктор / деструктор Найти похожие ветки
← →
начинающий_ (2011-11-01 15:23) [0]Пишу класс TMyClass наследник TObject.
TMyClass = class(TObject)
public
constructor Create(Database: TDBISAMDatabase);
destructor Destroy;
end;
нужно ли оверрайдить конструктор и деструктор, наследуясь от TObject?
← →
Юрий Зотов © (2011-11-01 15:28) [1]Деструктор - обязательно, потому что он виртуальный. Если не заоверрайдите, получите замечание от компилятора.
Конструктор - не надо (да и не получится, даже если попробуете)
← →
Омлет © (2011-11-01 15:29) [2]Конструктору надо reintroduce.
Деструктору - override.
← →
Омлет © (2011-11-01 15:31) [3]> Конструктору надо reintroduce.
А, впрочем, можно и не писать.
← →
DiamondShark © (2011-11-01 15:32) [4]TObject не имеет виртуальных конструкторов, соответсвенно, оверрайдить конструктор не только не нужно, но и не можно.
TObject имеет виртуальный деструктор Destroy, соответственно, оверрайдить его можно, а можно не оверрайдить. Если его не оверрайдить, то весь сторонний код, который полагается на виртуальный вызов унаследованного от TObject деструктора Destroy новый деструктор вызвать не сможет.
А вот нужно тебе это или не нужно -- целиком от тебя зависит.
← →
Игорь Шевченко © (2011-11-01 16:50) [5]
> Конструктору надо reintroduce.
The reintroduce directive suppresses compiler warnings about hiding previously declared virtual methods
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.02.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c