如何在c ++?
中创建一个接收x个参数的动态构造函数例如:
my_constructor(int,int,...);
可以有多个用户输入的整数。
这甚至可能吗?
答案 0 :(得分:2)
如果它们都是相同类型的所有参数,只需使用初始化列表。
struct foo
{
foo(std::initializer_list<int> init)
{
....
}
}
您仍然需要将这些添加到某种容器中(例如):
struct foo
{
std::vector<int> v;
foo(std::initializer_list<int> init)
: v(init.begin(), init.end())
{ }
};
答案 1 :(得分:0)
你谈论它的方式,我认为不可能。你如何将所有这些参数分配给字段?您需要为对象动态生成不同的字段!我几乎可以肯定那是不可能的。但是,你可以做的是让构造函数将一个数组作为其参数的一部分,你可以使用不同数量的“子参数”来填充它。 祝你好运。