tb0388.pp 882 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. { %VERSION=1.1 }
  2. {$ifdef fpc}{$mode objfpc}{$endif}
  3. type
  4. tobj = class
  5. procedure proc1 (a: integer);virtual;
  6. end;
  7. tobj1 = class(tobj)
  8. procedure proc1 (a: integer);overload;override;
  9. procedure proc1 (a: char);overload;
  10. end;
  11. tobj2 = class (tobj1)
  12. procedure proc1 (a: integer);override;
  13. end;
  14. procedure tobj.proc1 (a: integer);
  15. begin
  16. write('tobj.proc1(a:integer) called: ');
  17. writeln (a);
  18. end;
  19. procedure tobj1.proc1 (a: integer);
  20. begin
  21. write('tobj1.proc1(a:integer) called: ');
  22. writeln (a);
  23. end;
  24. procedure tobj1.proc1 (a: char);
  25. begin
  26. write('tobj1.proc1(a:char) called: ');
  27. writeln (a);
  28. end;
  29. procedure tobj2.proc1 (a: integer);
  30. begin
  31. write('tobj2.proc1(a:integer) called: ');
  32. writeln (a);
  33. end;
  34. var
  35. obj1: tobj1;
  36. obj2: tobj2;
  37. begin
  38. obj1:=tobj1.create;
  39. obj2:=tobj2.create;
  40. obj2.proc1 (100);
  41. obj2.proc1 ('a');
  42. end.