1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
class DynArray{ private: double *m_Data; //存放数组的动态内存指针 int m_Size; //数组的元素个数 int m_Max; //预留给动态数组的内存大小 private: void Init(); //初始化 void Free(); //释放动态内存 inline bool InvalidateIndex(int nIndex); //判断下标的合法性 public: DynArray(); DynArray(int nSize,double dValue=0); DynArray(const DynArray&); DynArray& operator=(const DynArray&); ~DynArray(); void Print();//输出显示所有数组元素的值 int GetSize(); void SetSize(int nSize); double GetAt(int nIndex); // 获取指定位置元素 void SetAt(int nIndex,double dValue); void PushBack(double dValue); //追加一个新元素到数组末尾 }; void DynArray::Init(){ m_Size=0; m_Max=1; m_Data=new double[m_Max]; } void DynArray::Free(){ delete[] m_Data; } bool DynArray::InvalidateIndex(int nIndex){ if(nIndex>=0&&nIndex<m_Size) return false; else return true; } DynArray::DynArray(){ Init(); } //类的析构函数(destructor)用来释放类对象使用的资源并销毁类对象的非static数据成员,无论何时只要一个对象被销毁,就会自动执行析构函数。 int _tmain(int argc, _TCHAR* argv[]) { return 0; } |