33 lines
625 B
ObjectPascal
33 lines
625 B
ObjectPascal
// Âñå âîçìîæíûå ñïîñîáû èíèöèàëèçàöèè ïîöåäóðíîé ïåðåìåííîé
|
|
// Ïðîöåäóðíûé òèï ðåàëèçîâàí ÷åðåç äåëåãàòû .NET, äëÿ íåãî äîñòóïíû îïåðàöèè +=, -=
|
|
var p: procedure;
|
|
|
|
procedure pp;
|
|
begin
|
|
writeln('Âûçîâ îáû÷íîé ïðîöåäóðû');
|
|
end;
|
|
|
|
type
|
|
A = class
|
|
x: integer;
|
|
constructor Create(xx: integer);
|
|
begin
|
|
x := xx;
|
|
end;
|
|
procedure pp;
|
|
begin
|
|
writeln('Âûçîâ ìåòîäà êëàññà, çíà÷åíèå ïîëÿ ðàâíî ',x);
|
|
end;
|
|
class procedure ppstatic;
|
|
begin
|
|
writeln('Âûçîâ ñòàòè÷åñêîãî ìåòîäà êëàññà');
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
p := pp;
|
|
var a1: A := new A(5);
|
|
p += a1.pp;
|
|
p += A.ppstatic;
|
|
p;
|
|
end. |