首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么动态定义指针的数组

2013-11-14 
如何动态定义指针的数组我有一个类TClass1要在另一个类中定义制定长度的类1的数组,如下:TClass2{TClass1

如何动态定义指针的数组
我有一个类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

热点排行