#ifndef card_h_
#define card_h_

// Suits
#define Heart	0
#define Club	1
#define Diamond	2
#define Spade	3

// Colors
#define Red	0
#define Black	1


class Card
{
public:

    // Constructors
    // See Coding Standards for why these are included.
    //
    Card ();
    Card (Card const &oldCard);

    // Public Member Functions
    //
    int setSuitAndRank (int newSuit, int newRank);
    int suit ();
    int color ();
    int rank ();

private:
    // Data Members
    // These are ALWAYS PRIVATE!  See Coding Standards.
    //
    int s;
    int r;

private:
    // Private Member Functions
    // See Coding Standards for why this is included
    //
    Card & operator=(Card const &oldCard);
};

inline int Card::rank () { return r; }

inline int Card::suit () { return s; }

inline int Card::color () { return s % 2; }
#endif
