tw1863.pp 625 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. type
  2. TObj = object
  3. constructor Init0;
  4. constructor Init;
  5. procedure Show;
  6. function GetStr:string; virtual;
  7. destructor Done;
  8. end;
  9. TChild = object (TObj)
  10. function GetStr:string; virtual;
  11. end;
  12. var
  13. Err : boolean;
  14. constructor TObj.Init0;
  15. begin
  16. end;
  17. constructor TObj.Init;
  18. begin
  19. Init0;
  20. end;
  21. function TObj.GetStr:string;
  22. begin
  23. GetStr:='Bad';
  24. Err:=true;
  25. end;
  26. procedure TObj.Show;
  27. begin
  28. writeln(GetStr);
  29. end;
  30. destructor TObj.Done;
  31. begin
  32. end;
  33. function TChild.GetStr:string;
  34. begin
  35. GetStr:='Good'
  36. end;
  37. var
  38. Obj:TChild;
  39. begin
  40. Obj.Init;
  41. Obj.Show;
  42. Obj.Done;
  43. if Err then
  44. halt(1);
  45. end.