Considere o seguinte procedimento func escrito na linguagem Delphi: procedure func(var X: TMyObj; Y: TMyForm); begin

X := TMyObj.Create(Y);

end;

A análise desse procedimento permite afirmar que
  • A. o func libera a variável X da memória.
  • B. o objeto X é o retorno do procedimento func.
  • C. o parâmetro X está sendo passado por referência.
  • D. o parâmetro X está sendo passado por valor e Y por referência.
  • E. X e Y são parâmetros passados por valor, mas apenas X é inicializada.