|
@@ -0,0 +1,61 @@
|
|
|
+{$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.
|