访问和制作类指针的向量以创建多个对象

时间:2018-03-30 15:35:56

标签: c++ qt pointers object qvector

G'day,

我正在尝试用c ++实现构建器设计模式,我基本上遵循了来自YouTube的Derek Banas的指南,该指南是用Java编写的,并试图将其移除。它实际上是好的,一切都与此不同。

所以,我现在所拥有的是,

ToyBuilder* toy = new NormalToyBuilder( __multiple parameters__ );

理想情况下,我想要的是,

QVector<ToyBuilder*> toys;

For(int i=0; i<4 ; i++){
        toys[i] = new NormalToyBuilder( __different parameters[i]__);
}

我的主要问题以及我在这里发布此问题的原因是我甚至不确定在堆栈溢出时搜索什么。指针数组?对象的向量?我只能说所有潜在的搜索尝试都是徒劳的。

我并没有完全坚持使用向量,这是我能想到的最明显的事情。我已经坚持了很久。

非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用std::vector

std::vector<ToyBuilder> toys;
for (int i = 0; i < 4; i++) {
    toys.push_back(NormalToyBuilder(...));
}

您可能没有使用new,只是将对象直接放在向量中,而不是指针。但如果你这样做,那应该是:

std::vector<ToyBuilder*> toys;
for (int i = 0; i < 4; i++) {
    toys.push_back(new NormalToyBuilder(...));
}

根据您使用这些指针的方式,您可能希望使用类似std::shared_ptr的智能指针类而不是原始指针。