2017-04-03 109 views
1

与其他人的负载在这里相同的故事。对C++来说很新颖(一般编程),并且很担心分配。二维数组与不同类型的元素和使用类

我必须创建和实现一个DVD商店的类。我还必须创建一个数组来存储有关DVD的信息。数组的元素必须是类的类(我必须创建)

我的挑战到目前为止,数组必须包含int,string类型的元素。据我所知(很多谷歌搜索)这是不可能的。 我觉得它可能会以某种方式使用类,但我无法找到解决方法。

请帮忙。

感谢

莱昂

+1

与其他人的负载相同的响应:使用结构的2d数组(矢量)。把你的DVD存储物品放入一个结构体中。 –

+0

你说你必须创建一个数组,其中每个元素是一个类的一个实例。你*知道如何创建一个班级?以及如何将它用作类型?你*知道如何创建一个像'int'这样的数组?你知道如何创建一个“2d”数组'int'?那么你真的知道你需要知道的一切,只需要结合你的知识。虽然说实话我不明白你为什么想要一个“2D阵列”?只需简单的“DVD”类数组即可。 –

+0

该数组不包含int和string类型的元素。它将包含'class DVD'类型的元素,'DVD'类将包含ints和strng。 –

回答

1

顺便说一句,你的工作原始数据库,所以我们姑且称之为一个DVD商店项记录。这个想法是尽可能一般地对待事物,直到需要特定的东西。

一个DVD商店的记录:

struct Record 
{ 
    std::string title; 
    std::string artist; 
    std::string genre; 
    double price; 
}; 

我们创建一个数据库来保存所有记录:

std::vector<Record> database; 

您可能希望创建索引表帮助您加快搜索速度,而不每次都必须求助于数据库。

std::map<std::string /* Title */, unsigned int /* Index into database */> Index_By_Title; 
std::map<std::string, unsigned int> Index_By_Artist; 

这将成为一个2D容器,因为你是通过使用一个指数到矢量访问的行,则可以通过使用构件名称访问的列。