DB
Size: a a a
DB
a
GB
program genTest;
{$IFDEF FPC}{$mode Delphi}{$ENDIF}
{$APPTYPE CONSOLE}
type
TTest1 = class
procedure Test();
end;
TTest2 = class(TTest1)
procedure Test();
end;
TTest<T: TTest1, constructor> = class(TObject)
FTest: T;
procedure TestIt();
end;
procedure TTest1.Test();
begin
WriteLn('1');
end;
procedure TTest2.Test();
begin
WriteLn('2');
end;
procedure TTest<T>.TestIt();
begin
FTest := T.Create();
T(FTest).Test();
readln;
end;
begin
with TTest<TTest2>.Create do
TestIt();
end.
VA
program genTest;
{$IFDEF FPC}{$mode Delphi}{$ENDIF}
{$APPTYPE CONSOLE}
type
TTest1 = class
procedure Test();
end;
TTest2 = class(TTest1)
procedure Test();
end;
TTest<T: TTest1, constructor> = class(TObject)
FTest: T;
procedure TestIt();
end;
procedure TTest1.Test();
begin
WriteLn('1');
end;
procedure TTest2.Test();
begin
WriteLn('2');
end;
procedure TTest<T>.TestIt();
begin
FTest := T.Create();
T(FTest).Test();
readln;
end;
begin
with TTest<TTest2>.Create do
TestIt();
end.
GB
VA
GB
VA
AK
AK
VA
GB
VA
AK
GB
VA
GB
AK
VA
GB