\b;Instrução \c;public\n; (para especialistas)
Esta instrução tem dois propósitos distintos:

1) Tornar uma função disponível para outros robôs.
2) Tornar um membro de uma classe acessível fora da definição da classe.

\b;Instrução \c;public\n; para funções
Se você colocar \c;public\n; antes da definição de uma \l;função\u cbot\function; , você disponibilizar a função para programas em outros robôs na mesma missão.

Por exemplo, no primeiro robô nós teriamos:
\c;
\s;public void object::Segmento(float distancia, float angulo)
\s;{
\s;	move(distancia);
\s;	turn(angulo);
\s;}
\n;
E em outro robô teriamos:
\c;
\s;extern void object::Quadrado( )
\s;{
\s;	for ( int i=0 ; i<4 ; i++ )
\s;	{
\s;		Segmento(10, 90);
\s;		fire(1);
\s;	}
\s;}
\n;
Se você tiver declarado uma função \c;public\n;, você não pode definir uma função com o mesmo nome e argumentos em outro robô da mesma missão.

Se um robô contendo uma função \c;public\n; é destruido, os outros robôs que usam esta função irão parar com um erro.

\b;Instrução \c;public\n; para classes
\c;public\n; é um modificador de acesso para membros de \l;classe\u cbot\class;, ele é o modificador padrão. Membros públicos podem ser acessados fora da definição da classe.
\c;
\s;public class MinhaClasse
\s;{
\s;	int    b;                // público por padrão
\s;	public int a;            // também público 
\s;	private point posicao;  // privado
\s;}
\s;void Teste()
\s;{
\s;	MinhaClasse item;
\s;	item.a = item.b = 12;      // ok
\s;	message( item.posicao );  // isto é um erro
\s;}
\n;
\t;Veja também
\c;\l;class\u cbot\class;\n;, \c;\l;private\u cbot\private;\n;, \c;\l;protected\u cbot\protected;\n;, \c;\l;funções\u cbot\function;\n;
\l;Programação\u cbot;, \l;tipos\u cbot\type; e \l;categorias\u cbot\category;.
