重载二维数组

template <typename T>
class CTArry
{
public:
    CTArry(int nCol,int nRow):m_nCol(nCol),m_nRow(nRow)
    {
        m_nCol = nCol;
        m_nRow = nRow;
        Mallocal();
    }
    CTArry()
    {
        m_pData = NULL;
    }
    ~CTArry()
    {
        MFree();
    }

    T* const operator[](int i)
    {
        return &m_pData[i*m_nCol];
    }
    const CTArry<T> & operator=(const CTArry<T>& o)
    {
        this->m_nRow = o.m_nRow;
        this->m_nCol = o.m_nCol;
        MFree();
        Mallocal();
        return *this;
    }
    int GetColCount()
    {
        return m_nCol;
    }
    int GetRowCount()
    {
        return m_nRow;
    }
private:
    void Mallocal()
    {
        m_pData = new T[m_nCol*m_nRow];
    }
    void MFree()
    {
        if (m_pData)
        {
            delete[] m_pData;
            m_pData = NULL;
        }
    }
private:
    int m_nCol;
    int m_nRow;

    T*  m_pData;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值