【发布时间】:2011-12-11 09:04:45
【问题描述】:
我想知道当对象需要为构造函数传递的东西时,是否可以创建一个对象数组。我想要这样的东西:
MyClass *myVar;
myVar = new MyClass[num]; // I would like to specify the array size after declaration
int i = 0;
for(i = 0;i < num;i++)
myVar[i] = new MyClass(0,0); // I would also like to populate the array with new objects
我知道这行得通:
MyClass *myVar;
myVar = new MyClass[num];
但这仅在构造函数没有传递任何内容时才有效。我正在尝试做的事情可能吗?如果是这样,我该怎么做?
编辑:我发现了如何使用数组来做到这一点。这是我的做法:
MyClass **myVar;
myVar = new MyClass *[num];
for(i = 0;i < num;i++)
myVar[0] = new MyClass(0,0);
我会使用向量等,但我的老师告诉我们尽可能使用基本数组。我实际上是从老师编写的一些代码中得到的上述解决方案。谢谢大家的帮助!
【问题讨论】:
-
迟到的评论,但对于遇到此问题的任何人,我认为应该是
myVar[i] = new myClass(0, 0)而不是myVar[0]
标签: c++