J'ai une classe de base abstraite et classe dérivée:Dois-je utiliser un mot-clé "virtuel" pour destructeur de classe de base qui est en fait une interface?
type TInterfaceMethod = class
public
destructor Destroy; virtual; abstract;
procedure Calculate; virtual; abstract;
procedure PrepareForWork; virtual; abstract;
end;
type ConcreteMethod = class(TInterfaceMethod)
private
matrix: TMinMatrix;
public
constructor Create(var matr: TMinMatrix);
procedure Calculate; override;
procedure PrepareForWork; override;
destructor Destroy;
end;
Ai-je vraiment besoin de faire destructor la classe de base virtuelle, comme en C++, ou `ll être OK si ce n'est pas virtuel? A propos, ai-je utilisé "override" à droite ou j'ai besoin de "surcharge"?