如何将两种类型的数据分配给一个变量?

时间:2016-10-11 17:22:03

标签: c++ arrays variables

我刚开始学习C ++几周前,我正在努力制作一个二十一点游戏。 我试图做的是创建一个包含所有卡的变量的数组,如:h1,hj,c4,ck;这些代表着心灵1,心灵杰克,俱乐部4和俱乐部之王。

我希望这些变量包含一个字符串(卡的名称)和一个整数(用于添加的数字的值)。

有没有办法让变量包含两个值?

感谢。

3 个答案:

答案 0 :(得分:9)

您可以为所需的变量创建结构。

struct card
{
      string name;
      int value;
};

然后按如下方式使用:

card.name = "hearts";
card.value = 1;

答案 1 :(得分:6)

简单地说,有两种解决方案:

1)使用元组

std::tuple<std::string,int> Hearts1=std::make_tuple("h1", 12);
std::tuple<std::string,int> Clubs1=std::make_tuple("c1", 13)

查看更多:http://en.cppreference.com/w/cpp/utility/tuple

2)使用对象

class Hearts
{
  std::string name;
  int value;
};

class Clubs
{
  std::string name;
  int value
};

int main()
{
  Clubs CO; CO.name="abc"; CO.value=12;
  Hearts HO; HO.name="dce"; HO.value=13;
}

我建议在进行这样的项目之前学习C ++编程的基础知识。我强烈推荐“The C ++ Programming Language”(B.Stroustrup)来开始使用。

答案 2 :(得分:0)

您还可以使用具有相同索引的两个数组。只要您确保同时创建和更新它们,以便具有相同索引的元素引用同一张卡。