我需要用 C++ 为学校制作一个扑克游戏。我制作了一个班级卡片和甲板。我需要制作所有卡片的双向链表,每张卡片都有一个花色和一个等级(值)。如何将 2 个属性(花色和等级)附加到双向链表中的卡片。
问问题
448 次
2 回答
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;
}
于 2011-12-19T12:24:35.980 回答
1
花色和点数是卡片的属性,与链表无关。因此,这些属性最好封装到Card
类中。
如果您已经这样做了,但仍有一些不清楚的地方,请扩大您的问题。
于 2011-12-19T12:19:52.963 回答