tw0772.pp 554 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. var
  2. t : text;
  3. type tFoo = object
  4. a:integer;
  5. constructor Create;
  6. procedure ReadA;
  7. procedure ShowA;
  8. end;
  9. constructor tFoo.Create;
  10. begin
  11. a:=0;
  12. end;
  13. procedure tFoo.ReadA;
  14. begin
  15. write('a: '); Readln(t,a);
  16. end;
  17. procedure tFoo.ShowA;
  18. begin
  19. writeln('A=',a);
  20. end;
  21. var Foo:tFoo;
  22. begin
  23. assign(t,'tbug772.tmp');
  24. rewrite(t);
  25. writeln(t,'4');
  26. close(t);
  27. reset(t);
  28. Foo.Create;
  29. Foo.ReadA; {this leaves Foo.a untouched, but it should'nt}
  30. Foo.ShowA;
  31. if Foo.A<>4 then
  32. Halt(1);
  33. close(t);
  34. erase(t);
  35. end.