如何将构造函数与数组一起使用?
Posted
技术标签:
【中文标题】如何将构造函数与数组一起使用?【英文标题】:How to use constructor with arrays? 【发布时间】:2018-04-29 15:27:56 【问题描述】:您好,我想使用构造函数将参数传递给类。甚至可能吗? 现在我得到了这个声明:
flight *flight = new flight[random];
好吗?现在我如何调用 *flight 类的构造函数?我声明了这一点,所以我不能调用它说“两次声明”bla bla 的构造函数。 我不能喜欢吗:
flight fl;//assuming I have null constructor too
fl(5);//assuming it takes one argument only.
就没有办法吗?
不能
flight *flight = new flight[random];
同时启动构造函数?
【问题讨论】:
您的问题中的信息很少。我们可以肯定地说_no[i]
可能超出范围(如果i
是数组中的元素数)。我们需要Minimal, Complete, and Verifiable Example 才能为您提供更多帮助。另外,我建议你看看std::vector
或std::array
,而不是使用指针或数组。
C++ 中的大多数数组问题都可以通过使用std::vector
来解决。
how to dynamically declare an array of objects with a constructor in c++的可能重复
【参考方案1】:
只能用默认构造函数(不带参数的构造函数)初始化所有元素:* flight=new flight[number]();
如果您希望每个对象分别用不同的值初始化,您需要将它们封装在具有构造函数中代码的新类(如FlightArray
)中,或者在构造函数之后调用Init()
方法。
【讨论】:
你是对的;我调整了它。对不起。我想我不应该在喝第二杯咖啡之前回答问题。以上是关于如何将构造函数与数组一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xamarin 和 Autofac 将构造函数依赖项注入 ViewModel?