Курсовая работа: Системное программирование для операционных систем
protected:
T __fastcall Get(int Index); //чтение элемента массива
void __fastcall Put(int Index, T Item); //запись элемента массива
void __fastcall SetCount(int NewCount); //установка fCount
public:
TArray(int aLength); //конструктор
~TArray(void); //деструктор
void __fastcall Insert(int Index,T Item);//вставка элемента
void __fastcall Delete(int Index); //удаление элемента
void __fastcall Add(T Item); //добавление элемента
void __fastcallClear(void); //удаление всех элементов
void __fastcallSetLength (intNewLen); //определить размер массива
T& operator[](intIndex); //оператор []-доступ к элементу
void* operator&(void); //оператор & - адрес массива
__property T Items[int Index] = {read=Get, write=Put}; //свойство для доступа к элементу
__property int Count = {read=fCount, write=SetCount}; //свойство для доступа к кол-ву элементов списка
__property int Length = {read=fLength, write=SetLength};//свойство для доступа к размеру массива
};
template <class T> TArray<T>::TArray(int aLength)
{
fCount=0;
fLength=0;
SetLength(aLength);
}
template <class T> TArray<T>::~TArray(void) { SetLength(0); }
template <class T> T& TArray<T>::operator[](int Index) { return fItems[Index];}
template <class T> void* TArray<T>::operator&(void) {return fItems;}
template <class T> T __fastcall TArray<T>::Get(int Index) { return fItems[Index]; }
template <class T> void __fastcall TArray<T>::Put(int Index, T Item) { fItems[Index]=Item; }