I have 2 questions
- Is enumeration constant of int datatype?
- For class Card, do I create two data member of enum type Face and Suit and then initialize it via the constructor?
Background:
9.23 (Card Shuffling and Dealing) Create a program to shuffle and deal a deck of cards. The program should consist of class Card, class DeckOfCards and a driver program. Class Card should provide:
- a) Data members face and suit—use enumerations to represent the faces and suits.
- b) A constructor that receives two enumeration constants representing the face and suit and uses them to initialize the data members.
- c) Two static arrays of strings representing the faces and suits.
- d) A toString function that returns the Card as a string in the form “face of suit.” You can use the + operator to concatenate strings.
Class DeckOfCards should contain:
- a) An array of Cards named deck to store the Cards.
- b) An integer currentCard representing the next card to deal.
- c) A default constructor that initializes the Cards in the deck.
- d) A shuffle function that shuffles the Cards in the deck. The shuffle algorithm should iterate through the array of Cards. For each Card, randomly select another Card in the deck and swap the two Cards.
- e) A dealCard function that returns the next Card object from the deck.
- f) A moreCards function that returns a bool value indicating whether there are more Cards to deal.
This is from c++ how to program by deitel.
sorry, I am quite confused because I have never initialized scoped enum in class constructor before.