上一篇我们实现了Array的子类:StaticArray类,今天我们实现Array的另一个子类:DynamicArray类。
DynamicArray类的设计要点:
用类模板实现。
继承自Array类。
动态确定内部数组空间的大小。
实现返回数组长度的函数。
实现拷贝构造和赋值操作功能。
对重复逻辑进行优化。
下面是DynamicArray类的声明:
template <typename T>
class DynamicArray : public Array<T>
{
protected:
int m_length;
T* copy(T* array, int len, int newlen);//新申请一个数组,并将原先数组内容拷贝至新空间。
void update(T* array, int length);//更新数组指向和大小
void init(T* array,int length);//对数组初始化,赋予空间和长度
public:
DynamicArray(int length);
DynamicArray(const DynamicArray<T>& obj);
DynamicArray&l