Обобщенные классы
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Демонстрация создания простого обобщенного класса стека на базе динамического массива
type
Stack<T> = class
private
a: array of T;
last: integer;
public
constructor;
begin
SetLength(a,100);
last := 0;
end;
procedure push(i: T);
begin
a[last] := i;
last += 1;
end;
function pop: T;
begin
last -= 1;
pop := a[last];
end;
function top: T;
begin
top := a[last-1];
end;
function empty: boolean;
begin
Result := (last=0);
end;
end;
var s: Stack<integer>;
begin
s := new Stack<integer>;
s.push(7); s.push(2);
s.push(5); s.push(4);
while not s.empty do
write(s.pop,' ');
end.