gpt4 book ai didi

c++ - 错误 : Member is inaccessible

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:08 24 4
gpt4 key购买 nike

我有这两个类:

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);
};

哪里shuffle()函数声明如下:

void Deck::shuffle()
{
std::random_shuffle(cards.begin(), cards.end());
}

但是,这会返回以下错误:

'Hand::cards' : cannot access private member declared in class 'Hand'

我是否应该只包含一个函数,例如 std::vector<Card>& getCards()还是有另一种方法来避免错误。

最佳答案

您可以将卡片声明为 protected :

class Hand
{
public:
int getTotal();
std::vector<Card>& getCards();
void add(Card& card);
void clear();
protected:
std::vector<Card> cards;
};

class Deck : public Hand
{
public:
void rePopulate();
void shuffle();
void deal(Hand& hand);
};

关于c++ - 错误 : Member is inaccessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17895983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com