Las funciones son una herramienta indispensable
para el programador, tanto las funciones creadas
por él mismo como las que le son proporcionadas
por otras librerías, cualquiera que sea el caso, las
funciones permiten automatizar tareas repetitivas,
encapsular el código que utilizamos, e incluso
mejorar la seguridad, confiabilidad y estabilidad de
nuestros programas.
¿Para que sirven?
Las funciones permiten automatizar tareas
repetitivas, encapsular el código que utilizamos,
e incluso mejorar la seguridad, confiabilidad y
estabilidad de nuestros programas.
¿Funciones, métodos o procedimientos?
Funciones
Las funciones son un conjunto de
procedimiento encapsulados en un bloque,
usualmente reciben parámetros, cuyos
valores utilizan para efectuar operaciones y
adicionalmente retornan un valor.
Métodos:
Un método también puede recibir valores,
efectuar operaciones con estos y retornar valores,
sin embargo en método está asociado a un objeto,
básicamente un método es una función que
pertenece a un objeto o clase, mientras que una
función existe por sí sola, sin necesidad de un
objeto para ser usada.
Procedimientos
Los procedimientos son un conjunto de
instrucciones que se ejecutan sin
retornar ningún valor, hay quienes
dicen que un procedimiento no recibe
valores o argumentos, sin embargo en
la definición no hay nada que se lo
impida. En C++ un procedimiento es
básicamente una función void que no
nos obliga a utilizar una sentencia
return.
Declarando funciones en C++
Sintaxis
tipo nombreFuncion([tipo
nombreArgumento,[tipo
nombreArgumento]...]) { /*
* Bloque de instrucciones
*/ return valor; }
1.- Una función siempre retorna
algo, por lo tanto es obligatorio
declararle un tipo (el primer
componente de la sintaxis
anterior).
2.- Debemos darle un nombre a
dicha función, para poder
identificarla y llamarla
durante la ejecución.
3.- Después al interior de
paréntesis, podemos poner los
argumentos o parámetros.
4.- Luego de la definición de la
"firma" de la función, se define
su funcionamiento entre llaves;
todo lo que esté dentro de las
llaves es parte del cuerpo de la
función y éste se ejecuta hasta
llegar a la instrucción return.
Argumentos o parámetros.
Detalles respecto a los
argumentos de una función.
1.- Una función o procedimiento pueden tener
una cantidad cualquier de parámetros, es
decir pueden tener cero, uno, tres, diez, cien
o más parámetros. Aunque habitualmente
no suelen tener más de 4 o 5.
2.- Si una función tiene más de un
parámetro cada uno de ellos debe
ir separado por una coma.
3.- Los argumentos de una función
también tienen un tipo y un nombre
que los identifica. El tipo del argumento
puede ser cualquiera y no tiene
relación con el tipo de la función.
Return
Consejos
1.- Cualquier instrucción que se encuentre
después de la ejecución de return NO será
ejecutada. Es común encontrar funciones
con múltiples sentencias return al interior de
condicionales, pero una vez que el código
ejecuta una sentencia return lo que haya de
allí hacia abajo no se ejecutará.
2.- El tipo del valor que se
retorna en una función
debe coincidir con el del
tipo declarado a la función,
es decir si se declara int, el
valor retornado debe ser
un número entero.
De este ejemplo podemos ver que ya
no se usa un tipo sino que se pone
void, indicando que no retorna
valores, también podemos ver que
un procedimiento también puede
recibir parámetros o argumentos.
Los procedimientos también pueden
usar la sentencia return, pero no con
un valor. En los procedimientos el
return sólo se utiliza para finalizar
allí la ejecución de la función.
¿Como invocar funciones y
procedimientos en C++?
El nombre de la función debe
coincidir exactamente al momento
de invocarla.
El orden de los parámetros y el tipo debe coincidir.
Hay que ser cuidadosos al momento de enviar los
parámetros, debemos hacerlo en el mismo orden
en el que fueron declarados y deben ser del
mismo tipo (número, texto u otros).
Cada parámetro enviado también
va separado por comas.
Si una función no recibe parámetros, simplemente
no ponemos nada al interior de los paréntesis, pero
SIEMPRE debemos poner los paréntesis.
Invocar una función sigue siendo una
sentencia habitual de C++, así que ésta
debe finalizar con ';' como siempre.
El valor retornado por una
función puede ser asignado a
una variable del mismo tipo.
Una función puede llamar a otra dentro
de sí misma o incluso puede ser enviada
como parámetro a otra.