Рассмотрим иерархию гипотетических объектов, начиная с:
TFruit = class(TObject)
public
constructor Create(Color: TColor); virtual;
end;
и его потомка:
TApple = class(TFruit)
public
constructor Create(); overload; virtual;
constructor Create(Color: TColor); overload; override; //deprecated. Calls other constructor - maintaining the virtual constructor chain
end;
Идея здесь в том, что у меня переопределенный конструктор виртуальный базового класса с перегрузкой, который также является виртуальным.
Delphi жалуется:
Метод "Создать" скрывает виртуальный метод базового типа "TFruit"
Кроме того, он не скрывает это - он прямо там!
- я переопределить виртуальный метод в предке и
- я перегружен с другой версией
Какая сделка?