#include "deck.h" Deck::Deck ( ) // initialize a deck by creating all 52 cards { topCard = 0; for (int i = 1; i <= 13; i++) { Card c1(diamond, i), c2(spade, i), c3(heart, i), c4(club, i); cards[topCard++] = c1; cards[topCard++] = c2; cards[topCard++] = c3; cards[topCard++] = c4; } } Card Deck::draw ( ) // return one card from the end of the deck { if (! isEmpty()) return cards[--topCard]; else { // otherwise return ace of spades Card spadeAce(spade, 1); return spadeAce; } }