问题描述:
1.包装一个可扩展的动态的两维数组,支持泛型;
2.把存取的细节都包装起来,留一些简单的接口供外部使用;
3.稍作扩展可代替STL vector 使用;
程序代码:
#ifndef _TWODIM_ARRAY_H_
#define _TWODIM_ARRAY_H_
#include <stdlib.h>
#include <iostream>
/*
* encapsulate two dimension array
*
*/
template<class T, size_t ROW, size_t COL >
class TwoDimArray
{
public:
TwoDimArray():m_storage(0), m_row(ROW), m_col(COL),
m_curRow(0), m_totalCount(0)
{
}
/*
*Copy constructor
*
*/
template<class V, size_t row, size_t col >
TwoDimArray( const TwoDimArray<V, row, col>& rhs ):m_storage(0), m_row(ROW), m_col(COL),
m_curRow(0), m_totalCount(0)
{
for( size_t i = 0; i < rhs.Size(); i++ )
{
Store( rhs[i]