我对制作一个 vector 来容纳类非常困惑。
如果我想在单个 vector 中保存一堆数据,例如下面的示例。然后将数据写入类成员函数中,并能够被其他函数调用和使用。
我在哪里粘贴 vector 声明?
请帮忙!
#include <vector>
class Card
{
public:
int suit;
int rank;
Card::Card(int suit, int rank);
Function();
};
vector<Card> cards;
int main()
{
}
Card::Function()
{
for loop...
Card cardz(i, i);
cards.push_back(cardz);
}
最佳答案
在我看来,您正在扩展Card
对象应做的工作。我可以建议以下布局吗?首先定义一张卡。
class Card {
public:
Card(int s, int r)
: suit(s), rank(r) {
// Initialize anything else here
}
private:
int suit, rank;
};
接下来,定义一个对象,该对象保存卡片的
vector
并对其进行操作。我们称之为Deck
class Deck {
public:
Deck();
private:
vector <Card> cards;
};
现在,在
Deck
类中,您可以根据需要初始化纸牌集合。Deck::Deck() {
for (int suit = 0; suit < 4; suit++) {
for (int rank = 0; rank < 13; rank++) {
cards.push_back(Card(suit, rank));
}
}
}
关于c++ - 我想创建一个 vector 来容纳类(class),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4393603/