Las funciones se declaran y se definen exactamente igual que en C, y, al igual que en éste, se puede utilizar prototipo (prototype).
Un prototipo es un modelo limitado de una entidad más completa que aparecerá después. En el caso de funciones, la función es la entidad completa que vendrá después, y la declaración de dicha función es el prototipo. El prototipo da un modelo de la interface a la función. Veamos un ejemplo:
# include
void do_stuff (int wings, float feet, char eyes);
main()
{
int arm = 2;
float foot = 1000.0;
char lookers = 2;
do_stuff (3, 12.0, 4);
do_stuff (arm, foot, lookers);
}
void do_stuff (int wings, float feet, char eyes)
{
cout << "There are " << wings << "wings." << '\n';
cout << "There are " << feet << "feet. " << '\n';
cout << "There are " << int(eyes) << "eyes." << '\n';
}
La salida de este programa será:
There are 3 wings.
There are 12 feet.
There are 4 eyes.
There are 2 wings.
There are 1000 feet.
There are 2 eyes.
Cada llamada a la función do_stuff() debe verificar:
El número de parámetros debe ser exactamente tres.
Los tipos deben ser compatibles con los de la declaración (más adelante explicaremos qué son tipos compatibles).
Nótese que cuando llamamos a la función, la comprobación de tipo la hace el compilador basándose en el prototipo (en la declaración) puesto que la función todavía no ha sido definida.
Los nombres de variables que aparecen en el prototipo son opcionales y actúan casi como comentarios al lector del programa, ya que son completamente ignorados por el compilador.
No hay comentarios:
Publicar un comentario