code_junkie

Shall I use “virtual” keyword for destructor of base-class which is actually an interface?

Nov 12th, 2011
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. type TInterfaceMethod = class
  2. public
  3. destructor Destroy; virtual; abstract;
  4. procedure Calculate; virtual; abstract;
  5. procedure PrepareForWork; virtual; abstract;
  6. end;
  7. type ConcreteMethod = class(TInterfaceMethod)
  8. private
  9. matrix: TMinMatrix;
  10. public
  11. constructor Create(var matr: TMinMatrix);
  12. procedure Calculate; override;
  13. procedure PrepareForWork; override;
  14. destructor Destroy;
  15. end;
  16.  
  17. type
  18. TInterfaceMethod = class abstract
  19. public
  20. destructor Destroy; override; abstract;
  21. procedure Calculate; virtual; abstract;
  22. procedure PrepareForWork; virtual; abstract;
  23. end;
  24.  
  25. TConcreteMethod = class(TInterfaceMethod)
  26. private
  27. matrix: TMinMatrix;
  28. public
  29. constructor Create(var matr: TMinMatrix);
  30. procedure Calculate; override;
  31. procedure PrepareForWork; override;
  32. destructor Destroy; override;
  33. end;
Add Comment
Please, Sign In to add comment