加载中...

13.4 另一个构造函数


有了Deck对象之后,我们有必要初始化其中的Card对象。上一章的buildDeck函数稍作修改就可使用,但是更自然的方法是为Deck类再添加一个构造函数,代码如下:

  1. Deck::Deck ()
  2. {
  3. apvector<Card> temp (52);
  4. cards = temp;
  5. int i = 0;
  6. for (Suit suit = CLUBS; suit <= SPADES; suit = Suit(suit+1)) {
  7. for (Rank rank = ACE; rank <= KING; rank = Rank(rank+1)) {
  8. cards[i].suit = suit;
  9. cards[i].rank = rank;
  10. i++;
  11. }
  12. }

}

可以看到,除了语法变成了构造函数,它与buildDeck函数非常相似。现在,用简单的声明语句

  1. Deck deck;

就能创建一个标准的52章牌的牌堆了。


还没有评论.