Homework #1

Task:

Requirements:

Interfaces:

template<class T>
class DArray
{
private:
    int m_nSize;
    T *m_pData;
    int m_nMax;

public:
    CVector(); // 构造函数
    CVector(int nSize);//带参数构造函数
    ~CVector(); // 析构函数

    int Init(); // 初始化
    int Free(); // 释放空间
    int ClearValues(); // 向量所有元素置0

    int Size(); // 获取向量的维数
    int SetSize( int nSize); // 重新设置数组的大小
    T GetAt( int k ); // 获取第k个元素
    int  SetAt(int k); //设置第k个元素
    int  Pushback(T value); //往数组后面追加一个元素
    int  InsertAt(int k, T value); // 在指标k之前插入一个元素
    int DeleteAt(int k); //删除指标k处的元素

    void    Print();  //打印所有元素
};
 

其他:

#define SAFEDELETE(p)   if(p) {delete p; p=NULL;}

#define SAFEDELETES(p)   if(p) {delete [] p; p=NULL;}