FPC allows the Delphi-compatible "class abstract" syntax, but does not seem to prevent instantiation of such a class.
The following code compiles and runs satisfactorily (FPC version 2.6.0)
Does trunk prevent this compiling?

program Project1;

{$mode objfpc}{$H+}

type
  TAbstractClass = class abstract
   class function GetID: integer; static;
  end;

class function TAbstractClass.GetID: integer;
begin
  Result:= 10;
end;

var
  ac: TAbstractClass;

begin
  ac:= TAbstractClass.Create;
  WriteLn(ac.GetID);
  ReadLn;
  ac.Free;
end.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to