很高兴你看看我的问题,我很难将参数传递给由' new'创建的对象。并存储为数组。我知道
Class object[2] = {Class{2, "text"},Class{5, "otherText"}}
没有' new'它是可能的。我想做的就像
pClass = new Class[2]{Class{2,"text"},Class{5,"otherText"}}
以下一些代码:
class AnotherClass{
int val1;
string str1;
public:
//some code
};
class Class{
AnotherClass *pToAnotherClass;
//some more variables
public:
Class(){ pToAnotherClass = new AnotherClass[5]};
//some more code
};
main{
Class object;
return 0;
}
答案 0 :(得分:1)
通常最好使用std::vector
代替C样式数组来保存对象。这允许使用emplace_back
初始化;例如然后你可以做
Class()
: v()
{
v.reserve(5);
for (size_t i = 0; i < 5; ++i)
{
v.emplace_back(val[i], str[i]);
}
}
std::vector<AnotherClass> v;
其中val
和str
是您需要初始化v
中各个对象的某些值数组。