Language guide: Default visibility block in class
This forum post contains a clarification that should be added to the documentation (@PascalDragon quote and example from the Delphi documentation):
The default visibility section of a class is
public, however if the class is compiled with$M+or descends from one that has that enabled it then the default section is insteadpublished.
Members at the beginning of a class declaration that do not have a specified visibility are by default published, provided the class is compiled in the
{$M+}state or is derived from a class compiled in the{$M+}state; otherwise, such members are public.