Введение в программирование. Pascal и Delphi. Гурьянов Л.В - 116 стр.

UptoLike

115
В реализации конструктора необходимо сначала вызвать конст-
руктор класса-родителя
inherited, а затем выполнить необходимые
действия.
Реализация деструктора должна завершаться вызовом деструктора
класса-родителя
inherited.
8.1.3. Пример. Классдинамический массив
Динамический массив это массив, память для которого выделя-
ется во время работы программы.
Синтаксис объявления динамического массива:
<имя массива> : аrray of <тип элементов>;
Индекс динамического массива всегда начинается с 0 !
Имя динамического массива
это указатель, который не тре-
бует разыменования
(символа ^) для доступа к данным. Например,
FArray [2].
Оператор присваивания для имен динамических массивов озна-
чает присваивание указателей!
Выделение памяти для динамического массива осуществляется
процедурой
SetLength (<имя массива>, <количество элементов>),
освобождение памятипроцедурой Finalize (<имя массива>).
Пример:
Var
FArray: array of integer;
. . .
begin
SetLength (FArray, 10); {выделяем память для 10 элементов
массива}
. . . {что-то делаем с массивом }
{не хватило элементов массива?}
SetLength (FArray, Length(FArray) + 10);
{добавим еще 10 элементов }
. . . { делаем с массивом что-то еще }
Finalize (FArray); {освобождаем память }
End.
   В реализации конструктора необходимо сначала вызвать конст-
руктор класса-родителя – inherited, а затем выполнить необходимые
действия.
   Реализация деструктора должна завершаться вызовом деструктора
класса-родителя – inherited.
  8.1.3. Пример. Класс – динамический массив
   Динамический массив – это массив, память для которого выделя-
ется во время работы программы.
  Синтаксис объявления динамического массива:
  <имя массива> : аrray of <тип элементов>;
   Индекс динамического массива всегда начинается с 0 !
   Имя динамического массива – это указатель, который не тре-
бует разыменования (символа ^) для доступа к данным. Например,
FArray [2].
   Оператор присваивания для имен динамических массивов озна-
чает присваивание указателей!
   Выделение памяти для динамического массива осуществляется
процедурой SetLength (<имя массива>, <количество элементов>),
освобождение памяти – процедурой Finalize (<имя массива>).
  Пример:
  Var
    FArray: array of integer;
    ...
  begin
    SetLength (FArray, 10); {выделяем память для 10 элементов
                              массива}
   ...                     {что-то делаем с массивом        }
                           {не хватило элементов массива?}
   SetLength (FArray, Length(FArray) + 10);
                           {добавим еще 10 элементов      }
  ...                      { делаем с массивом что-то еще }
   Finalize (FArray);      {освобождаем память              }
  End.


                              115