12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- {$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.
|