假设我有一个类,其中包含一个结构数组和一个指向该数组的指针。
struct Box {
//stuff
};
class Foo {
private:
Box *boxPtr //pointer to an array of Box structs
int max; //the size of the partially filled array
int boxCounter; //the current number of non-NULL elements in the array
public:
Foo(); //constructor
Foo(const Foo &obj); //copy constructor
~Foo(); //destructor
bool newBoxInsert(Box newBox){
//adds another Box to my array of Box structs
boxCounter++;
}
//etc
};
在我的 int main() 中,我必须以某种方式创建一个全新的 Foo 类对象。我将需要部分填充那个大小不确定的数组,它的指针是 boxPtr。
我将如何初始化该数组?构造函数应该这样做吗?还是我应该让 newBoxInsert 处理它?
在任何一种情况下,我将如何实现这一目标?我猜我必须动态分配数组。如果是这种情况,那么最好将指针作为类成员......对吗?
例如,将第一个元素添加到我的数组时,我应该使用
boxCounter = 1;
boxPtr = new Box[boxCounter];
然后继续向数组中添加元素?
也许这只是用向量做得更好。添加元素时,它们更加...灵活(?)。向量可以包含结构作为元素吗?
[/n00b]