小编Ziz*_*zou的帖子

为什么可以使用范围运算符和A类名称在B类中访问A类(公共)中的枚举?

你可以在代码中看到,enum CardSuit是不是static

我不明白Deck构造函数如何直接MAX_SUITS在以下代码行中访问:

for (int suit = 0; suit < Card::MAX_SUITS; ++suit)
Run Code Online (Sandbox Code Playgroud)

CardDeck访问MAX_SUITS是否不需要类对象?

就像是:

Card card1;
for (int suit = 0; suit < card1::MAX_SUITS; ++suit)
Run Code Online (Sandbox Code Playgroud)

如果我int x;在Class Card中声明并在class的Card::x内部定义中说Deck,那么我会得到一条错误消息:“非静态成员的不当使用”。我原本也希望使用时会遇到相同的错误Card::MAX_SUITS,但事实并非如此,它工作正常。

这是程序的相关部分:

class Card
{
public:
    enum CardSuit
    {
        SUIT_CLUB,
        SUIT_DIAMOND,
        SUIT_HEART,
        SUIT_SPADE,
        MAX_SUITS
    };

    enum CardRank
    {
        RANK_2,
        RANK_3,
        RANK_4,
        RANK_5,
        RANK_6,
        RANK_7,
        RANK_8,
        RANK_9,
        RANK_10,
        RANK_JACK,
        RANK_QUEEN,
        RANK_KING,
        RANK_ACE,
        MAX_RANKS
    }; …
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
3
解决办法
50
查看次数

标签 统计

c++ ×1