• 模板(3)



    #include "stdafx.h"
    #include <stdlib.h>
    #include <iostream.h>

    //
    整形数组
    //
    对元素进行管理的类,可以叫容器类
    template<typename T, int nSize = 5>
    class IntegerArray
    {
    private:
        T *m_pIntegerArray;
        //
    大小
        int  m_nSize;
    public:
        IntegerArray();
        ~IntegerArray()
        {
            if ( m_pIntegerArray )
            {
                delete[] m_pIntegerArray;
                m_pIntegerArray = NULL;
            }
            m_nSize = 0;
        }
       
        T &GetAt(int nIndex)
        { 
            if ( nIndex < 0 || nIndex >= m_nSize )
            {
                exit(-1);
            }
            return m_pIntegerArray[nIndex];
        }
       
        void SetAt(int nIndex,T nData)
        {
            if ( nIndex < 0 || nIndex >= m_nSize )
            {
                exit(-1);
            }
            m_pIntegerArray[nIndex] = nData;
        }
       
        void PrintAll()
        {
            for ( int i = 0 ;i  < m_nSize ; i++ )
            {
                cout << GetAt(i) << endl;
            }
        }
        int GetSize() const
        {
            return m_nSize;
        }
    };

    //
    构造函数
    template<typename T, int nSize>
    IntegerArray<T, nSize>::IntegerArray()
    {
        if ( nSize <= 0 )
        {
            exit(-2);
        }
        m_pIntegerArray = new T[m_nSize = nSize];
    }

    int main(int argc, char* argv[])
    {
        IntegerArray<int> theIntArray;
       
        cout << theIntArray.GetSize() << endl;
       
        IntegerArray<char,10> theArray;
       
        for (int i = 'a' ; i < 'z'; i++)
        {
            if (i - 'a' >= 10)
            {
                break;
            }
            theArray.GetAt(i-'a') = i;
        }
        theArray.PrintAll();
        return 0;
    }

  • 相关阅读:
    解决文字溢出,换行等问题
    js获取年、月、日、时、分、秒
    JQuery EasyUI DataGrid动态合并单元格
    JQuery EasyUI Combobox联动
    JQuery EasyUI 读取设置input
    JQuery EasyUI DataGrid获取当前行索引及快速清空
    jQuery EasyUI combobox多选及赋值
    JQuery EasyUI DataGrid 、tree查询
    HTML元素ID和Name区别
    JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)
  • 原文地址:https://www.cnblogs.com/w413133157/p/1663990.html
Copyright © 2020-2023  润新知