mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 17:08:34 +02:00
32 lines
578 B
ObjectPascal
32 lines
578 B
ObjectPascal
{$MODE objfpc}
|
|
|
|
type
|
|
IMyInterface = interface
|
|
procedure Test(a, b: Integer);
|
|
end;
|
|
TMyBaseClass = class(TInterfacedObject, IMyInterface)
|
|
procedure Test(a, b: Integer); virtual; abstract;
|
|
end;
|
|
TDescendent = class(TMyBaseClass)
|
|
procedure Test(a, b: Integer); override;
|
|
end;
|
|
|
|
var
|
|
global_a, global_b: Integer;
|
|
|
|
procedure TDescendent.Test(a, b: Integer);
|
|
begin
|
|
global_a := a;
|
|
global_b := b;
|
|
end;
|
|
|
|
var
|
|
q: IMyInterface;
|
|
begin
|
|
q := TDescendent.Create;
|
|
q.Test(18, 42);
|
|
if (global_a <> 18) or (global_b <> 42) then
|
|
halt(1);
|
|
Writeln('Ok!');
|
|
end.
|