Also wie Mart schon sagt, die Stack und Queue Klassen sind ein bisschen merkwürdig, weil die anscheinend zwei Aufrufe brauchen, um ein Objekt auszulesen und danach zu entfernen. Aber ok, kann sein, dass das von dem Aufgabenersteller absichtlich so gemacht wurde, um zu prüfen, ob man auch aufpasst.
Wenn ich das richtig überblicke muss dein Programm dann also folgende Schritte tun:
1. Dein Queue füllen mit der "enqueue" Funktion
2.1. Erstes Objekt aus dem Queue holen und daraus entfernen mit "front" und "dequeue"
2.2. Dieses Objekt in dein Stack einfügen mit "push"
3.1. Das erste Objekt aus dem Stack holen und daraus entfernen mit "top" und "pop"
3.2 Dieses Objekt ausgeben