Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: Cards.cpp
- * Author: John Hooper
- *
- * Created on September 19, 2014, 7:04 PM
- */
- #include "card.h"
- #include <cstdlib>
- #include <ctime>
- #include <string>
- #include <sstream>
- Card::Card(){
- mySuit = spades; // default, ace of spades
- myRank = 1;
- }
- Card::Card(int rank, Suit s){
- string card;
- myRank = rank;
- mySuit = s;
- }
- string Card::toString() const{ //Post-Condition: return string version e.g. Ac 4h Js
- string temp;
- temp = rankString(myRank) + suitString(mySuit);
- return temp;
- }
- bool Card::sameSuitAs(const Card& c) const{ //Post-Condition: true if suit same as c
- return mySuit == c.mySuit;
- }
- int Card::getRank() const{
- return myRank;
- } // return rank, 1..13
- string Card::suitString(Suit s) const{ // return "s", "h",...
- switch(s){
- case 0: return "Spades\n";
- case 1: return "Hearts\n";
- case 2: return "Diamonds\n";
- case 3: return "Clubs\n";
- }
- }
- string Card::rankString(int r) const{ // return "A", "2", ..."Q"
- switch(r){
- case 1: return "Ace of ";
- case 11: return "Jack of ";
- case 12: return "Queen of ";
- case 13: return "King of ";
- default: {ostringstream temp;
- temp << r;
- return temp.str();
- }
- }
- }
- bool Card::operator == (const Card& rhs) const{
- if (myRank != rhs.myRank && mySuit != rhs.mySuit){
- return false;
- }
- else return true;
- }
- bool Card::operator != (const Card& rhs) const{
- if(myRank != rhs.myRank && mySuit != rhs.mySuit){
- return true;
- }
- else return false;
- }
- ostream& operator << (ostream& out, const Card& c){
- out << c.toString();
- return out;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement