// // card class implementation // // part of WAR card game Described in Chapter 2 of // Data Structures in C++ using the STL // Published by Addison-Wesley, 1997 // Written by Tim Budd, budd@cs.orst.edu // Oregon State University // # include //# include #include #include "card.h" using namespace std; Card::Card ( ) // initialize a new Card // default value is the ace of spades { rank = 1; suit = spade; } Card::Card (suits sv, int rv) // initialize a new Card using the argument values { rank = rv; suit = sv; } ostream & operator << (ostream & out, Card & aCard) // output a textual representation of a Card { // first output rank switch (aCard.rank) { case 1: out << "Ace"; break; case 11: out << "Jack"; break; case 12: out << "Queen"; break; case 13: out << "King"; break; default: // output number out << aCard.rank; break; } // then output suit switch (aCard.suit) { case diamond: out << " of Diamonds"; break; case spade: out << " of Spades"; break; case heart: out << " of Hearts"; break; case club: out << " of Clubs"; break; } return out; }