unit StringStackUnit; interface type TNodePt = ^TNode; TNode = record Item: String; Next: TNodePt; end; // TNode TStringStack = class procedure Push(const I: string); procedure Pop; function Top: string; function Empty: boolean; function Full: boolean; private Head: TNodePt; public constructor Create; overload; constructor Create(const N: integer); overload; destructor Destroy; end; // TStringStack implementation constructor TStringStack.Create; begin end; constructor TStringStack.Create(const N: integer); begin end; destructor TStringStack.Destroy; begin end; procedure TStringStack.Push(const I: string); begin end; procedure TStringStack.Pop; begin end; function TStringStack.Top: string; begin end; function TStringStack.Empty: boolean; begin end; function TStringStack.Full: boolean; begin end; end.