mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 15:28:08 +02:00
52 lines
882 B
ObjectPascal
52 lines
882 B
ObjectPascal
{ %VERSION=1.1 }
|
|
|
|
{$ifdef fpc}{$mode objfpc}{$endif}
|
|
type
|
|
tobj = class
|
|
procedure proc1 (a: integer);virtual;
|
|
end;
|
|
|
|
tobj1 = class(tobj)
|
|
procedure proc1 (a: integer);overload;override;
|
|
procedure proc1 (a: char);overload;
|
|
end;
|
|
|
|
tobj2 = class (tobj1)
|
|
procedure proc1 (a: integer);override;
|
|
end;
|
|
|
|
procedure tobj.proc1 (a: integer);
|
|
begin
|
|
write('tobj.proc1(a:integer) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
procedure tobj1.proc1 (a: integer);
|
|
begin
|
|
write('tobj1.proc1(a:integer) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
procedure tobj1.proc1 (a: char);
|
|
begin
|
|
write('tobj1.proc1(a:char) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
procedure tobj2.proc1 (a: integer);
|
|
begin
|
|
write('tobj2.proc1(a:integer) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
var
|
|
obj1: tobj1;
|
|
obj2: tobj2;
|
|
begin
|
|
obj1:=tobj1.create;
|
|
obj2:=tobj2.create;
|
|
|
|
obj2.proc1 (100);
|
|
obj2.proc1 ('a');
|
|
end.
|