mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 22:27:57 +02:00
64 lines
946 B
ObjectPascal
64 lines
946 B
ObjectPascal
{ %version=1.1 }
|
|
|
|
{$ifdef fpc}{$mode objfpc}{$endif}
|
|
|
|
type
|
|
pobj = ^tobj;
|
|
tobj = object
|
|
public
|
|
constructor init;
|
|
destructor done; virtual;
|
|
|
|
procedure proc1 (a: integer);overload; virtual;
|
|
procedure proc1 (a: double);overload; virtual;
|
|
end;
|
|
|
|
pobj2 = ^tobj2;
|
|
tobj2 = object (tobj)
|
|
procedure proc1 (a: integer);overload;virtual;
|
|
end;
|
|
|
|
var
|
|
error : boolean;
|
|
|
|
constructor tobj.init;
|
|
begin
|
|
end;
|
|
|
|
destructor tobj.done;
|
|
begin
|
|
end;
|
|
|
|
procedure tobj.proc1 (a: integer);
|
|
begin
|
|
write('tobj.proc1(a:integer) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
procedure tobj.proc1 (a: double);
|
|
begin
|
|
write('tobj.proc1(a:double) called: ');
|
|
writeln (a);
|
|
error:=false;
|
|
end;
|
|
|
|
procedure tobj2.proc1 (a: integer);
|
|
begin
|
|
write('tobj2.proc1(a:integer) called: ');
|
|
writeln (a);
|
|
end;
|
|
|
|
var
|
|
obj1: pobj;
|
|
obj2: pobj2;
|
|
|
|
begin
|
|
error:=true;
|
|
new (obj1, init);
|
|
new (obj2, init);
|
|
obj2^.proc1 (444.5555);
|
|
if error then
|
|
halt(1);
|
|
|
|
end.
|