Programacion en C++/Funciones
Enviado por alle24 • 13 de Septiembre de 2012 • 1.113 Palabras (5 Páginas) • 546 Visitas
Programación en C++/Funciones
← Estructuras Streams →
Funciones
Definiendo una función
Una función es un conjunto de líneas de código que realizan una tarea
específica y puede retornar un valor. Las funciones pueden tomar
parámetros que modifiquen su funcionamiento. Las funciones son
utilizadas para descomponer grandes problemas en tareas simples y
para implementar operaciones que son comúnmente utilizadas durante
un programa y de esta manera reducir la cantidad de código. Cuando
una función es invocada se le pasa el control a la misma, una vez que
esta finalizó con su tarea el control es devuelto al punto desde el cual la
función fue llamada.
<tipo> [clase::] <nombre> ( [Parámetros] )
{
cuerpo;
}
Ejemplo de una función
Para comenzar, vamos a considerar el caso en el cual se desea crear la función cuadrado(), misma que deberá volver
el cuadrado de un número real (de punto flotante), es decir, cuadrado() aceptará números de punto flotante y
regresará una respuesta como número flotante.
Nota: aunque para la función que veremos el tipo de retorno coincide con el tipo de parámetro pasado, algunas veces
las cosas pueden cambiar, es decir, no es obligatorio que una función reciba un parámetro de un tipo y que tenga que
regresar una respuesta de dicho tipo.
// regresar el cuadrado de un número
double cuadrado(double n)
{
return n*n;
}
Parámetros
Normalmente, las funciones operan sobre ciertos valores pasados a las mismas ya sea como constantes literales o
como variables, aunque se pueden definir funciones que no reciban parámetros. Existen dos formas en C++ de pasar
parámetros a una función; por referencia o por valor. El hecho es que si en una declaración de función se declaran
parámetros por referencia, a los mismos no se les podrá pasar valores literales ya que las referencias apuntan a
objetos (variables o funciones) residentes en la memoria; por otro lado, si un parámetro es declarado para ser pasado
por valor, el mismo puede pasarse como una constante literal o como una variable. Los parámetros pasados por
referencia pueden ser alterados por la función que los reciba, mientras que los parametros pasados por valor o copía
no pueden ser alterados por la función que los recibe, es decir, la función puede manipular a su antojo al parámetro,
Programación en C++/Funciones 2
pero ningún cambio hecho sobre este se reflejará en el parámetro original.
Parametros por valor
La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros por valor, en ese
sentido la función cuadrado() recibe una copia del parámetro n. En la misma función se puede observar que se
realiza un calculo ( n*n ), sin embargo el parámetro original no sufrirá cambio alguno, esto seguirá siendo cierto aún
cuando dentro de la función hubiera una instrucción parecida a n = n * n; o n*=n;.
Parametros por referencia
Para mostrar un ejemplo del paso de parámetros por referencia, vamos a retomar el caso de la función cuadrado,
salvo que en esta ocasión cambiaremos ligeramente la sintaxis para definir la misma. Veamos:
// regresar el cuadrado de un número
double cuadrado2(double &n)
{
n *= n;
return n;
}
Al poner a prueba las funciones cuadrado() y cuadrado2() se podrá verificar que la primera de estas no cambia el
valor del parámetro original, mientras que la segunda sí lo hace.
Llamar a una función
para llamar a la función cuadrado() vista anteriormente, podemos emplear:
cout << cuadrado(25);
cout << cuadrado(X);
R = cuadrado(X); // guardar en R el cuadrado de X
Funciones void
Bajo ciertas circunstancias se deseará escribir funciones que no regresen valor alguno (esto sería algo parecido a
escribir procedures en Pascal) y para ello podemos declarar a la función como void. La palabra reservada void es
utilizada para declarar funciones sin valor de retorno y también para indicar que una función específica
...