I have two classes:
class Hand { public: int getTotal(); std::vector<Card>& getCards(); void add(Card& card); void clear(); private: std::vector<Card> cards; }; class Deck : public Hand { public: void rePopulate(); void shuffle(); void deal(Hand& hand); };
If the shuffle() function is declared as follows:
void Deck::shuffle() { std::random_shuffle(cards.begin(), cards.end()); }
However, this returns the following error:
'Hand::cards' : cannot access private member declared in class 'Hand'
Should I just include a function like std::vector<Card>& getCards() , or is there another way to avoid the error.
source share