/**
Die Klasse "FloatStack" beinhaltet die Funktionalität eines Stacks / Kellerspeichers,
speziell für Variablen vom Typ "float". Die Klasse basiert auf "Stack".

Wegen den Differenzen in den Typen der Rückgabewerte ist keine Ableitung von der
Klasse Stack möglich.

Fabian Wleklinski 1999
**/
class FloatStack {

	// ********** Public **********

	// Konstruktor. Erwartet zwei Parameter, die initiale Stackgröße, und den
	// Inkrement-Betrag für Erhöhung der Stackgröße
	public FloatStack(int initialCapacity, int capacityIncrement) {
     	super();
		items = new Stack(initialCapacity, capacityIncrement);
		int i = 1;
		i++;
  }

  // fügt einen Wert hinzu
	public void push( float item ) {
		items.push( new Float(item) );
	}

	/**
	liefert das "oberste" Element und löscht es
	**/
	public float pop() {
		return ((Float) items.pop()).floatValue();
	}

	/**
	liefert das "oberste" Element
	**/
	public float top() {
		return ((Float) items.top()).floatValue();
	}

	// ********** Protected **********

	// Der Stack, der die Elemente enthält
	protected Stack items;
}