mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-05 21:34:11 +02:00
30 lines
433 B
ObjectPascal
30 lines
433 B
ObjectPascal
program TGeneric2;
|
|
|
|
{$mode objfpc}
|
|
|
|
type
|
|
TList =generic(T) class(TObject)
|
|
data : T;
|
|
procedure Add(item: T);
|
|
end;
|
|
|
|
procedure TList.Add(item: T);
|
|
var
|
|
i : integer;
|
|
begin
|
|
{ The next line should fail for TList(string) }
|
|
i:=item;
|
|
data:=item;
|
|
end;
|
|
|
|
type
|
|
TMyStringList = specialize TList(string);
|
|
|
|
var
|
|
slist : TMyStringList;
|
|
begin
|
|
slist := TMyStringList.Create;
|
|
slist.Add('Test');
|
|
writeln(slist.data);
|
|
end.
|