tw3662.pp 424 B

123456789101112131415161718192021222324252627282930313233343536
  1. { %fail }
  2. {$ifdef fpc}{$MODE delphi}{$endif}
  3. type
  4. TA = class(TInterfacedObject)
  5. public
  6. constructor Create;
  7. end;
  8. TB = class(TA)
  9. function Clone: TB;
  10. end;
  11. constructor TA.Create;
  12. begin
  13. inherited Create;
  14. end;
  15. function TB.Clone: TB;
  16. var
  17. b: TB;
  18. begin
  19. b := Create;
  20. writeln(integer(b));
  21. writeln(integer(self));
  22. Result := b;
  23. end;
  24. var
  25. aa,aa2: TB;
  26. begin
  27. aa := TB.Create;
  28. aa2 := aa.Clone;
  29. end.