如何动态定义指针的数组
我有一个类TClass1;
要在另一个类中定义制定长度的类1的数组,如下:
TClass2{
TClass1 *TClass1 [10];
TClass2()
{
for(int i=0;i<10;i++)
TClass1 [i] = new TClass1 ();
}
}
问:如果这个数组长度10需要动态的,是个变量该如何在TClass2中定义和实现这个TClass1数组? 指针 类
[解决办法]
这里有2种可能性:
1. 数组长度虽然是动态的,但在TClass2生成的时候就可以确定,这样的话,可以如下方式
class TClass2
{
private:
TClass1 *m_arrClassList;
public:
TClass2(int count)
{
this->m_arrClassList = new TClass1[count];
for (int i = 0; i < count; i++)
{
this->m_arrClassList[i] = new TClass1();
}
}
};
2. 数组长度没有办法在TClass2生成的时候确定,可以考虑用TArray这样的集合类实现
[解决办法]
1、多维指针
2、std::vector
3、VCL TArray DynamicArray