Динамические массивы внутри классов в Object Pascal Как описать внутри класса динамический массив?
Нужно что то типа такого:type
myclass = class
private
n: integer;
a: array[0..n] of integer;
public
constructor create(n_ : integer);
end;
На этот код ругается, что не n — не описан.
Для описания динамического массива внутри класса в Object Pascal следует использовать указатель на массив и управлять выделением и освобождением памяти в соответствующих методах класса, например:
type myclass = class private n: integer; a: array of integer; public constructor create(n_ : integer); destructor destroy; override; end; constructor myclass.create(n_ : integer); begin n := n_; SetLength(a, n); end; destructor myclass.destroy; begin SetLength(a, 0); inherited; end;
В данном примере переменная "a" представляет собой динамический массив целых чисел, который создается при вызове конструктора класса и освобождается при вызове деструктора.
Для описания динамического массива внутри класса в Object Pascal следует использовать указатель на массив и управлять выделением и освобождением памяти в соответствующих методах класса, например:
typemyclass = class
private
n: integer;
a: array of integer;
public
constructor create(n_ : integer);
destructor destroy; override;
end;
constructor myclass.create(n_ : integer);
begin
n := n_;
SetLength(a, n);
end;
destructor myclass.destroy;
begin
SetLength(a, 0);
inherited;
end;
В данном примере переменная "a" представляет собой динамический массив целых чисел, который создается при вызове конструктора класса и освобождается при вызове деструктора.