C++ 构造函数具有参数的对象数组

C++ 构造函数具有参数的对象数组,c++,C++,我想要一个对象数组。 每个对象都有一个带一个参数的构造函数。 我的对象数组初始化: set s[]=new set[n]; // creates an array of n objects of class set 但是,它说我不能这样做,因为我的构造函数需要一个参数。 我的构造函数: set(int size){} 我理解这个问题,但想不出好的解决办法。 我能做的是分别初始化每个对象: set s1(size); set s2(size); //& so on..... 或者从构

我想要一个对象数组。 每个对象都有一个带一个参数的构造函数。 我的对象数组初始化:

set s[]=new set[n]; // creates an array of n objects of class set
但是,它说我不能这样做,因为我的构造函数需要一个参数。 我的构造函数:

set(int size){}
我理解这个问题,但想不出好的解决办法。 我能做的是分别初始化每个对象:

set s1(size);
set s2(size); //& so on.....
或者从构造函数中删除参数……这两种解决方案都不太令人满意

有人能帮我找到更好的解决办法吗


注意:每个对象的“大小”值是不同的/动态的

您可以创建不带参数的不同构造函数并初始化值,然后在循环中设置每个变量的值

#include <vector>
...
std::vector<set> s(n, set(x,y,z));
set() {
    this.size = 0;
}
然后在for循环中,使用直接绑定或getter/setter函数,使用所需的
大小初始化每个元素

for(int i = 0; i < n; i++) {
    s[i].size = value[i]; // or create a setter function
}
for(int i=0;i
是的,我之前也有同样的想法,但我特别想用构造函数初始化它。谢谢你的努力。
for(int i = 0; i < n; i++) {
    s[i].size = value[i]; // or create a setter function
}