尝试使用相同的外部类对象创建内部类的向量

时间:2015-08-11 06:56:41

标签: c++ class

我们不能创建一个内部类向量作为外部类的成员,并且只有一个外部类的对象可以将内部类对象的许多实例推送到该向量中吗?。

Outer

现在我的要求是为Inner创建一个对象,我想将许多innerList个对象推送到向量Inner。我的问题是只有在创建Outer类时才能创建Inner类对象。因此,每当我想创建一个Outer类对象时,都会有一个Outer类对象与之关联。但是我想要一组Inner个对象,它们对于一组{{1}}个对象是通用的。任何想法如何实现?

2 个答案:

答案 0 :(得分:2)

这是你想要实现的目标:

#include <vector>

class Outer{
public:
    class Inner{
    };
    std::vector<Inner> innerList;
};

int main()
{
    Outer object;

    object.innerList.push_back(Outer::Inner());

    return 0;
}

答案 1 :(得分:0)

我认为您可以使用c ++的其他功能来实现您的目的:与“内部”相关联的“外部”。 例如,你可以使用“map”lisk这个:

class Outer{
};
class Inner{
};

map <Outer, vector<Inner>> &;
希望这会有所帮助。