Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有不同类型元素和使用类的二维数组_C++_Arrays_Class - Fatal编程技术网

C++ 具有不同类型元素和使用类的二维数组

C++ 具有不同类型元素和使用类的二维数组,c++,arrays,class,C++,Arrays,Class,和这里很多人的故事一样。非常新的C++(一般编程),并且严重地被一个任务所困扰。 我必须为DVD商店创建并实现一个类。我还必须创建一个数组来存储有关DVD的信息。数组的元素必须是class类型(我必须创建) 到目前为止,我的挑战是数组必须包含int、string类型的元素。据我所知(大量谷歌搜索),这是不可能的。 我觉得使用类是可能的,但我找不到解决方法 请帮忙 谢谢 Leon顺便说一句,您正在处理一个原始数据库,所以让我们将DVD存储项称为记录。我们的想法是尽可能笼统地对待事情,直到需要细节

和这里很多人的故事一样。非常新的C++(一般编程),并且严重地被一个任务所困扰。 我必须为DVD商店创建并实现一个类。我还必须创建一个数组来存储有关DVD的信息。数组的元素必须是class类型(我必须创建)

到目前为止,我的挑战是数组必须包含int、string类型的元素。据我所知(大量谷歌搜索),这是不可能的。 我觉得使用类是可能的,但我找不到解决方法

请帮忙

谢谢


Leon

顺便说一句,您正在处理一个原始数据库,所以让我们将DVD存储项称为记录。我们的想法是尽可能笼统地对待事情,直到需要细节

DVD存储记录:

struct Record
{
  std::string title;
  std::string artist;
  std::string genre;
  double price;
};
现在创建一个数据库来保存所有记录:

std::vector<Record> database;
std::向量数据库;
您可能希望创建索引表来帮助加快搜索速度,而不必每次都使用数据库

std::map<std::string /* Title */, unsigned int /* Index into database */>  Index_By_Title;
std::map<std::string, unsigned int>  Index_By_Artist;
std::按标题索引地图;
std::地图索引由艺术家绘制;

这将成为一个2d容器,因为您使用向量中的索引访问行,然后您可以使用成员名称访问列。

与其他人的负载相同的响应:使用结构的2d数组(向量)。将DVD存储项目放入一个结构。你说你必须创建一个数组,其中每个元素都是一个类的实例。你知道如何创建一个类吗?如何将其用作一种类型?您知道如何创建类似
int
的类型的数组吗?您知道如何创建一个“2d”数组,例如
int
?然后你真的知道所有你需要知道的,只是结合你的知识。老实说,我不明白你为什么想要“2d数组”?只需使用
DVD
类的一个简单数组即可。该数组不包含int和string类型的元素。它将包含类型为
class DVD
的元素,而class
DVD
将包含int和strng。