#ifndef __CArray_H #define __CArray_H //--------------------------------------------------------------------------- /* ¹è¿­ ·¡ÆÛ ÅÛÇø´ Ŭ·¡½º. java, C# ó·³ ¹è¿­°ú ±× ¹è¿­ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ Å¬·¡½º. ÁÖÀÇÇÒ °ÍÀº ¹è¿­Å©±â´Â óÀ½¿¡ ÁöÁ¤ÇÏ¸é º¯È­½ÃÅ°Áö ¸øÇÑ´Ù. º¯È­ ½ÃÅ°·Á¸é ÀÎÀÚ·Î ½è´ø ¸ð¹è¿­ÀÇ Å©±â¸¦ º¯È­ ½ÃÅ°°í ´Ù½Ã ÀÌ Å¬·¡½º¿¡ ´ëÀÔÇÏ¸é µÈ´Ù. ÀÌ Å¬·¡½º´Â ¹è¿­¿¡ ´ëÇÑ ¼­ºñ½ºÇü ·¡ÆÛŬ·¡½ºÀ̱⠶§¹®ÀÌ´Ù. ÇÏÁö¸¸ CArray[n] = µ¥ÀÌŸ; ½ÄÀ¸·Î °ªÀÏ Á÷Á¢ º¯°æÇÏ´Â °ÍÀº ¹«¹æÇÏ´Ù. Written by KTS. */ template class CArray { T *Array; public: int Length; public: CArray() { Array = NULL; Length = 0; } CArray(T *array, int length) { SetArray(array, length); } void SetArray(T *array, int length) { Array = array; Length = length; } T& operator [] (int idx) { if (idx < 0 || idx >= Length) throw new Exception("CArray[] : index is out of length"); return Array[idx]; } bool IsExists(T item) { return GetIndex(item) >= 0; } int GetIndex(T item) { for(int c = 0; c < Length; c++) { if (item == Array[c]) return c; } return -1; } }; typedef CArray CArrayInt; typedef CArray CArrayPChar; typedef CArray CArrayString; typedef CArray CArrayAnsiString; typedef CArray CArrayWideString; //typedef CArray CArrayUnicodeString; //--------------------------------------------------------------------------- #endif