\b;Anweisung \c;public\n; (für Spezialisten)
Diese Anweisung dient zwei verschiedenen Zwecken:

1) Macht eine Funktion für andere Roboter verfügbar.
2) Macht ein Klassenmitglied von außerhalb der Definition der Klasse sichtbar.

\b;Anweisung \c;public\n; für Funktionen
Wenn Sie \c;public\n; vor der Deklaration einer \l;Funktion\u cbot\function; schreiben, können Sie die Funktion für Programme von anderen Robotern in der gleichen Mission verfügbar machen.

Im ersten Roboter könnten wir z.B. haben:
\c;
\s;public void object::Segment(float dist, float winkel)
\s;{
\s;	move(dist);
\s;	turn(winkel);
\s;}
\n;
Und in einem anderen Roboter:
\c;
\s;extern void object::Square( )
\s;{
\s;	for ( int i=0 ; i<4 ; i++ )
\s;	{
\s;		Segment(10, 90);
\s;		Fire(1);
\s;	}
\s;}
\n;
Wenn Sie eine Funktion als \c;public\n; deklariert haben, können Sie keine andere Funktion mit demselben Namen und denselben Parametern in einem anderen Roboter in derselben Mission haben.

Wenn ein Roboter mit einer als \c;public\n; deklarierten Funktion zerstört wird, werden die anderen Roboter, die diese Funktion benützen, mit einer Fehlermeldung anhalten.

\b;Anweisung \c;public\n; für Variablen
\c;public\n; is also an access modifier for \l;class\u cbot\class; members, which is the default one. Public members can be accessed from outside of the class definition.
\c;
\s;public class MyClass
\s;{
\s;	int    b;                // standardmäßig public
\s;	public int a;            // auch public 
\s;	private point position;  // privat
\s;}
\s;void Test()
\s;{
\s;	MyClass item;
\s;	item.a = item.b = 12;      // OK
\s;	message( item.position );  // dies ist ein Fehler
\s;}
\n;
\t;Siehe auch
\c;\l;class\u cbot\class;\n;, \c;\l;private\u cbot\private;\n;, \c;\l;protected\u cbot\protected;\n;, \c;\l;functions\u cbot\function;\n;
\l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;.
