双向链表2值c ++

时间:2011-12-19 12:16:55

标签: c++ list linked-list poker

我需要用c ++为学校制作扑克游戏。 我已经制作了一张卡片和甲板。 我需要制作所有卡片的双重链接列表,每张卡片都有一个套装和一个等级(值)。如何在双向链表中将2个属性(套装和等级)附加到卡上。

2 个答案:

答案 0 :(得分:1)

套装和等级是卡的属性,与链表无关。因此,这些属性最好封装在Card类中。

如果你已经这样做了,还有一些不清楚的地方,请扩展你的问题。

答案 1 :(得分:1)

双链表是一个结构(结构或类),带有指向上一个和下一个链接的指针。除了这些指针,您还可以添加任意数据,这可以被视为有效负载。在那里你可以放置你想要的任何数据。这是一个例子:

class Card {
    public:
       // Constructor
       Card(int rank, int suit, Card* prev=NULL) 
       {
           if (prev)
           {
             m_prev = prev; 
             prev->m_next = this;
           }
           m_prev = prev;
           m_rank = rank;
           m_suit = suit;
       }
       // Accessors
       int Rank() { return m_rank; }
       int Suit() { return m_suit; }
       Card* Prev() { return m_prev; }
       Card* Next() { return m_next; }

    private:
       int m_rank, m_suit;
       Card *m_prev, *m_next;
}