|
@@ -0,0 +1,59 @@
|
|
|
+{ %VERSION=1.1 }
|
|
|
+
|
|
|
+{$ifdef fpc}{$mode objfpc}{$endif}
|
|
|
+type
|
|
|
+ tobj = class
|
|
|
+ procedure proc1 (a: integer);overload;virtual;
|
|
|
+ procedure proc1 (a: extended);overload;
|
|
|
+ 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 tobj.proc1 (a: extended);
|
|
|
+begin
|
|
|
+ write('tobj.proc1(a:extended) 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');
|
|
|
+ obj2.proc1 (123.456);
|
|
|
+end.
|