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
}