在类中创建多个对象

时间:2015-06-04 13:32:04

标签: c++

我有一个用于制作链表的课程。在主要我想创建多个列表。我的意思是不覆盖前一个。如何在不必为创建类的对象的新名称的情况下执行此操作。例如,如果我必须做1000个列表,我就不能给它们1000个不同的名字。我尝试使用一系列对象,但我似乎无法让它工作。

编辑:很抱歉给您带来不便,但我不允许使用矢量。   这里有一些代码:

 list **root;
root=new list*[M];
for (int i=0;i<M;i++)
{
    root[i]=NULL;
    root[i]=new list();

}

这是主要的,然后我用这个

 (*root[pos]).addnode(b,a);

无论我使用什么pos,都会进入同一个列表。

2 个答案:

答案 0 :(得分:0)

如果您创建了一些链接列表类LinkedList,则可以创建std::vector个列表。然后你可以迭代它们并做任何你想做的事。

#include <vector>
int main()
{
    std::vector<LinkedList> lists(1000);
    for (auto& list : lists)
    {
        // do something with each list
    }
}

如果您确切知道要制作的LinkedList个对象的数量,并且该值已修复,您还可以使用std::array

#include <array>
int main()
{
    std::array<LinkedList, 1000> lists;
    for (auto& list : lists)
    {
        // do something with each list
    }
}

答案 1 :(得分:0)

您可以使用矢量来存储链接列表,或者如果要使用键访问它们,则可以使用地图。

// Here you can use a string to find a specific list
std::map<std::string, LinkedList> listMap;
// Then you can add and access list using the [] operator
listMap["Key"];

// Here you have to use an iterator to access the lists
std::vector<LinkedList> listVector(numberOfListsYouPlanToHave);