geekbrains_oop_cpp/lesson_3/exercise_4.hpp

45 lines
704 B
C++
Raw Normal View History

2021-06-24 13:43:37 +00:00
#ifndef EXERCISE_4_HPP_
#define EXERCISE_4_HPP_
2021-06-25 21:19:33 +00:00
#include <iostream>
2021-06-24 13:43:37 +00:00
2021-06-25 21:19:33 +00:00
class Card
{
public:
enum rank {ACE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING};
enum suit {CLUBS, DIAMONDS, HEARTS, SPADES};
2021-06-24 13:43:37 +00:00
2021-06-25 21:19:33 +00:00
Card(rank r = ACE, suit s = SPADES, bool ifu = true): m_Rank(r), m_Suit(s), m_IsFaceUp(ifu) { }
2021-06-24 13:43:37 +00:00
2021-06-25 21:19:33 +00:00
int GetValue() const;
void Flip();
// friend std::ostream& operator<<(std::ostream& s, const Card& aCard);
private:
rank m_Rank;
suit m_Suit;
bool m_IsFaceUp;
};
int Card::GetValue() const
{
int value = 0;
if (m_IsFaceUp)
{
value = m_Rank;
if (value > 10)
{
value = 10;
}
}
return value;
}
void Card::Flip()
{
m_IsFaceUp = !m_IsFaceUp;
}
2021-06-24 13:43:37 +00:00
#endif