本文主要介绍:利用CArray实现多维动态数组的定义、赋值和读取。
说明:在定义数组和开辟缓存时,如果数组或缓存大小,则可以直接定义或用new开辟,当不知道大小时,此时要借助于栈、队列等,动态的添加或删除。一维动态数组或缓存开辟较简单,所以这里主要介绍二维动态数组的定义及应用。
一、定义CArray导出类
将定义的导出类放到.h文件中:
template <class TYPE, class ARG_TYPE>
class UltraCArray_T : public CArray <TYPE, ARG_TYPE>
{
public:
UltraCArray_T();
UltraCArray_T(const UltraCArray_T &rhs);
UltraCArray_T &operator =(const UltraCArray_T &rhs);
};
template <class TYPE, class ARG_TYPE>
inline UltraCArray_T<TYPE, ARG_TYPE> &
UltraCArray_T<TYPE, ARG_TYPE>::operator =(const UltraCArray_T &rhs)
{
if(this != &rhs)
{
Copy(rhs);
}
return *this;
}
template <class TYPE, class ARG_TYPE>
inline UltraCArray_T<TYPE, ARG_TYPE>::UltraCArray_T()
{
}
template <class TYPE, class ARG_TYPE>
inline
UltraCArray_T<TYPE, ARG_TYPE>::UltraCA