mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 22:49:34 +02:00
47 lines
985 B
ObjectPascal
47 lines
985 B
ObjectPascal
{$mode delphi}
|
|
|
|
type
|
|
itest = interface(iunknown)
|
|
procedure Foo(); overload;
|
|
procedure Bar(); overload;
|
|
procedure Foo(x: integer); overload;
|
|
procedure Bar(x: integer); overload;
|
|
end;
|
|
|
|
ttest = class(tinterfacedobject, itest)
|
|
procedure Foo(); overload;
|
|
procedure Bar(); overload;
|
|
procedure Foo(x: integer); overload;
|
|
procedure Bar(x: integer); overload;
|
|
end;
|
|
|
|
var
|
|
i : integer;
|
|
err : boolean;
|
|
|
|
procedure ttest.Foo(); overload; begin writeln('#'); i:=1; end;
|
|
procedure ttest.Foo(x: integer); overload; begin writeln('##'); i:=2; end;
|
|
procedure ttest.Bar(); overload; begin writeln('###'); i:=3; end;
|
|
procedure ttest.Bar(x: integer); overload; begin writeln('####'); i:=4; end;
|
|
|
|
var
|
|
t: itest;
|
|
a: integer;
|
|
begin
|
|
t := ttest.create();
|
|
t.Foo();
|
|
if i<>1 then
|
|
err:=true;
|
|
t.Foo(a);
|
|
if i<>2 then
|
|
err:=true;
|
|
t.Bar();
|
|
if i<>3 then
|
|
err:=true;
|
|
t.Bar(a);
|
|
if i<>4 then
|
|
err:=true;
|
|
t := nil;
|
|
if err then
|
|
halt(1);
|
|
end. |