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

Dav*_*J85 2 c++ arrays variables

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

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

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

谢谢.

Lib*_*bby 9

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

struct card
{
      string name;
      int value;
};
Run Code Online (Sandbox Code Playgroud)

然后使用如下:

card.name = "hearts";
card.value = 1;
Run Code Online (Sandbox Code Playgroud)


Bab*_*ham 6

简单来说,有两个解决方案:

1)使用元组

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

查看更多: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;
}
Run Code Online (Sandbox Code Playgroud)

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