24 lines
429 B
ObjectPascal
24 lines
429 B
ObjectPascal
|
|
type
|
|||
|
|
node = class
|
|||
|
|
i: integer;
|
|||
|
|
function f1: node := new node;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
begin
|
|||
|
|
var n1 := new node;
|
|||
|
|
var n2: node;
|
|||
|
|
with n1 do
|
|||
|
|
begin
|
|||
|
|
// Обязательно вложенный with
|
|||
|
|
n2 := f1;
|
|||
|
|
with n2 do
|
|||
|
|
begin
|
|||
|
|
i := 2;
|
|||
|
|
end;
|
|||
|
|
// Обязательно вызвать метод после вложенного with
|
|||
|
|
f1;
|
|||
|
|
i := 1;
|
|||
|
|
end;
|
|||
|
|
assert(n1.i = 1);
|
|||
|
|
assert(n2.i = 2);
|
|||
|
|
end.
|