Private: (Access Control)

Specifies private member access control in a KeyPgTypeType or KeyPgClassClass

Syntax
	KeyPgTypeType typename
		Private:
			member declarations
	End Type

Parameters
	typename
		name of the KeyPgTypeType or KeyPgClassClass
	member declarations
		declarations for fields, functions, or enumerations

Description
	Private: indicates that member declarations following it have private 
	access.
	Private members are accessible only from inside a member procedure of 
	their KeyPgTypeType or KeyPgClassClass. Seen from inside such a member procedure, it is as 
	if the protected member is in fact public, and that regardless of the 
	object on which the access operator is applied.

	member declarations following Private: are private until a different 
	access control specifier is given, like KeyPgVisPublicPublic: or KeyPgVisProtectedProtected:.

	Members in a KeyPgTypeType declaration are Public: by default if no member access 
	control specifier is given.

Example
	Type testing
	  number As Integer
	  Private:
	   nome As String
	  Declare Sub setNome( ByRef newnome As String )
	End Type

	Sub testing.setnome( ByRef newnome As String )
	  '' This is OK. We're inside a member function for the type
	  this.nome = newnome
	End Sub

	Dim As testing myVariable

	'' This is OK, number is public
	myVariable.number = 69

	'' this would generate a compile error 
	'' - nome is private and we're trying to access it outside any of this TYPE's member functions 
	'' myVariable.nome = "FreeBASIC"

Dialect Differences
	* Available only in the CompilerOptlang-lang fb dialect.

Differences from QB
	* New to FreeBASIC

See also
	* KeyPgPrivatePrivate
	* KeyPgVisPublicPublic: (Access Control)
	* KeyPgVisProtectedProtected: (Access Control)
	* KeyPgTypeType

