带参数化构造函数的2D向量

时间:2019-03-22 13:16:00

标签: c++ vector constructor

我正在尝试创建二维std::vector,它将保存我继承的此类的对象。 我的问题是,此类只有一个构造函数,并且使用一个参数(准确地说是std::string)。

#define HEIGHT 4
#define WIDTH 4 

#include <vector>
using std::vector;

static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH));

这应该在我的向量中创建4x4的死神对象矩阵。至少我知道,如果我有没有可用参数的构造函数,那么它将起作用。

但是,这就是我实例化Reaper对象的方式:

Reaper r0("R0");
Reaper* r1 = new Reaper("R1");

现在,我不知道如何在我的向量构造中包含此构造函数?

1 个答案:

答案 0 :(得分:1)

您可以使用vector(size_t n, const T& t)构造函数将reaper的内部向量初始化为某个初始常量值,例如

static vector<vector<Reaper> > reaper(HEIGHT, vector<Reaper> (WIDTH, Reaper("value")));

您似乎一次将其用于外部向量---您也可以将其用于内部向量。

或者,您可以创建指向reaper的指针的二维向量。