W ramach laboratorium należy przygotować klasę reprezentującą stos kart do klasycznych gier karcianych.
Stos ma się składać z ustalonej liczby kart (niekoniecznie 52) a ich sekwencja również ma być ustalona (nie losowana).
Taki "ustalony" stos kart może być przykładowo wykorzystany do wielokrotnego rozgrywania tej samej partii (na przykład w poszukiwaniu optymalnych zagrań).
Klasa preprezentująca pojedynczą kartę może być strukturą zawierającą dwie informacje (wartość oraz kolor karty).
Klasa reprezentująca stos ma:
- alokować pamięć na maksymalną wymaganą w grze liczbę kart ( wartość ta nie jest znana w czasie kompilacji ale proszę dla ułatwienia testowania przyjąć mała wartość np. 4),
- umożliwiać dodawanie kart do stosu stosu aż do jego wypełnienia,
- pobieranie pojedynczo poszczególnych kart, tak długo jak stos nie jest pusty.
W celu testowania klasy proszę napisać kilka funkcji zwracających różne stosy/zestawy kart.
Obiekty zwracane przez te funkcje nie powinny być kopiowane a jedynie przenoszone.
Kopiowanie stosu kart nie jest konieczne. Za każdym razem gdy chcemy mieć ponownie pełen zestaw kart należy wywołać odpowiednią funkcję.