MapFields.cpp
上传用户:bjslfz
上传日期:2022-07-25
资源大小:4430k
文件大小:2k
源码类别:

文件操作

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include "MapField.h"
  3. #include "MapFields.h"
  4.  
  5. CMapFields::CMapFields()
  6. {
  7. }
  8. CMapFields::CMapFields(CMapFields& fields )
  9. {
  10.    int i,iCount;
  11.    
  12.    CMapField *pField;
  13.    
  14.    iCount = m_Fields.GetSize() - 1;
  15.    for ( i = 0 ; i <= iCount ; i++ )
  16.    { 
  17. pField = new CMapField(*(fields.GetField(i)));
  18. m_Fields.Add(pField); 
  19.    }
  20. }
  21. CMapFields::~CMapFields()
  22. {
  23. Clear();
  24. }
  25. short CMapFields::GetCout()
  26. {
  27. return m_Fields.GetSize(); 
  28. }
  29. void CMapFields::Add(CMapField* pField)
  30. {
  31. if ( pField == NULL )
  32. return;
  33. m_Fields.Add( pField );
  34. }
  35. void CMapFields::Remove(short sIndex)
  36. {
  37. int iCount;
  38. CMapField *pField;
  39. iCount = m_Fields.GetSize()-1;
  40. if ( sIndex < 0 || sIndex > iCount )
  41. return ;
  42. pField = m_Fields.GetAt( sIndex );  
  43.     m_Fields.RemoveAt(sIndex,1);   
  44. delete pField; 
  45. }
  46. void CMapFields::Insert(short sIndex, CMapField* pField)
  47. {
  48. int iCount;
  49. iCount = m_Fields.GetSize()-1;
  50. if ( sIndex < 0 || sIndex > iCount )
  51. return ;
  52. m_Fields.InsertAt(sIndex,pField);
  53. }
  54. CMapField* CMapFields::GetField(short sIndex)
  55. {
  56. int iCount;
  57. CMapField  *pField = NULL;
  58. iCount = m_Fields.GetSize()-1;
  59. if ( sIndex < 0 || sIndex > iCount )
  60. return pField;
  61.     pField = m_Fields.GetAt(sIndex);
  62. return pField;
  63. }
  64. void CMapFields::Clear()
  65. {
  66. long i,lCount;
  67. CMapField* pField;
  68. lCount  = m_Fields.GetSize() - 1;
  69. for(i = lCount ; i >= 0 ; i-- )
  70. {
  71. pField = m_Fields.GetAt(i);
  72. delete pField;
  73.     }  
  74. m_Fields.RemoveAll(); 
  75. }