bug0119.pp 686 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. program ObjTest;
  2. uses crt;
  3. type
  4. ObjectA = object
  5. procedure Greetings;
  6. procedure DoIt;
  7. end;
  8. ObjectB = object (ObjectA)
  9. procedure Greetings;
  10. procedure DoIt;
  11. end;
  12. procedure ObjectA.Greetings;
  13. begin
  14. writeln(' A');
  15. end;
  16. procedure ObjectA.DoIt;
  17. begin
  18. writeln('A ');
  19. Greetings;
  20. end;
  21. procedure ObjectB.Greetings;
  22. begin
  23. writeln(' B');
  24. end;
  25. procedure ObjectB.DoIt;
  26. begin
  27. writeln('B');
  28. Greetings;
  29. end;
  30. var
  31. A: ObjectA;
  32. B: ObjectB;
  33. begin
  34. A.DoIt;
  35. B.DoIt;
  36. writeln; writeln('Now doing it directly:');
  37. A.Greetings;
  38. B.Greetings;
  39. end.