Обобщенные классы
Материал из Вики проекта 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.
