C++ 牌堆
上一章我们用到了对象的向量,我也提到可以把向量用作对象的实例变量。本章我们就来创建包含Card向量的Deck对象。
Deck结构可以这样定义:
struct Deck {
apvector<Card> cards;
Deck (int n);
};
Deck::Deck (int size)
{
apvector<Card> temp (size);
cards = temp;
}
实例变量名cards可以让我们将Deck对象和它包含的Card向量区分开。
目前Deck定义中只有一个构造函数。该构造函数中先创建了局部变量temp,temp以size为参数调用apvector的构造函数完成初始化。 然后将向量从temp复制到实例变量cards中。
现在,我们可以用下面语句创建一个扑克牌的牌堆:
Deck deck (52);
这是Deck对象的状态图: