Сообщение от ViNT
как я понимаю, экземпляр класса содержит в себе указатель на данные в памяти, и копируя экземпляр мы копируем и этот адрес.
|
Такое наблюдается только при работе с массивом:
program NewProject;
type r1=record
n:integer;
end;
var
a1,a2:r1;
i:integer;
begin
a1.n:=1;
a2:=a1;
a1.n:=2;
drawtext(''+a2.n,0,0);
repaint;
delay(1000);
end.
Результат - 1.
И при пересылке из одного массива в другой тоже указатель копируется:
program NewProject;
type r1=record
n:integer;
end;
var
a1,a2: array[1..10] of r1;
i:integer;
begin
a1[1].n:=1;
a2[1]:=a1[1];
a1[1].n:=2;
drawtext(''+a2[1].n,0,0);
repaint;
delay(1000);
end.
Результат - 2.