#include "card.h" #include card::card(){ suite = Hearts; value = Two; } card::card(SuiteType s , ValueType v){ suite = s; value = v; } void print_suite(SuiteType s) { switch (s) { case Hearts : cout << "H"; break; case Spades : cout << "S"; break; case Clubs : cout << "C"; break; case Diamonds : cout << "D"; break; } } void print_value(ValueType v) { switch (v) { case Two: cout << "2"; break; case Three: cout << "3"; break; case Four: cout << "4"; break; case Five: cout << "5"; break; case Six: cout << "6"; break; case Seven: cout << "7"; break; case Eight: cout << "8"; break; case Nine: cout << "9"; break; case Ten: cout << "10"; break; case Jack: cout << "J"; break; case Queen: cout << "Q"; break; case King: cout << "K"; break; case Ace: cout << "A"; break; } } void card::Print() const{ print_value(value); print_suite(suite); } SuiteType card::Suite() const{ return(suite); } ValueType card::Value() const{ return(value); } void card::set_card(SuiteType s, ValueType v) { suite = s; value = v; } bool card::operator ==(card c) const{ return((suite==c.suite) && (value==c.value)); } bool card::operator >( card c){ if (suite > c.suite) { return(true); } else if (suite < c.suite) { return(false); } else if(value > c.value) { return(true); } else if (value < c.value) { return(false); } else { return(false); } } ostream& operator <<(ostream & s , card c){ switch (c.value) { case Two: s << "2"; break; case Three: s << "3"; break; case Four: s << "4"; break; case Five: s << "5"; break; case Six: s << "6"; break; case Seven: s << "7"; break; case Eight: s << "8"; break; case Nine: s << "9"; break; case Ten: s << "10"; break; case Jack: s << "J"; break; case Queen: s << "Q"; break; case King: s << "K"; break; case Ace: s << "A"; break; } switch(c.suite) { case Hearts: s << "H"; break; case Spades: s << "S"; break; case Clubs: s << "C"; break; case Diamonds: s << "D"; break; } return(s); }