Entendido.

Este sitio utiliza cookies para analizar la navegación.Si continúa navegando se entiende que acepta su uso. Ver más detalles.

Logo

Aprende Web C++

Aprende a programar en C++ con Aprende-Web

Nociones Básicas

programación en C++ desde cero.


Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net



Sobre ésta página

Ültima modificación: 13-07-2018.

Visitas este mes: 1

Visitas el mes pasado:

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:

cplusplus.com
Sitio oficial de C++: Informacion, Referencias, Tutorial, Foro. (En inglés)
Minidosis.org
Curso de C++ con videos y lecturas.
conclase.net
Curso de C++
programar ya
Curso de C++ desde cero
cprogramming.com
C++ Tutorial (inglés).
Entorno de desarrollo integrado
fergarciac.wordpress.com
Compiladores, intérpretes y Máquinas virtuales.
latecladeescape.com
el hacker.net
Programación
Desarrollo web
Manual de iniciación a la programación.

En los distintos manuales incluimosm más webgrafía especifica de cada sección.


Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.





5. Funciones

5.4. Acciones

Qué son las acciones

Logo C++ Basico

Las acciones son funciones que no tienen retorno. Es decir, las acciones son todas las funciones de tipo void.

Las llamamos acciones, y las distinguimos del resto de funciones porque este tipo de funciones no tienen retorno y se utilizan para realizar tareas que pueden ser mas o menos comunes dentro del programa, pero no necesitan retornar nada, sino que simplemente realizan su tarea y al acabar vuelven al flujo normal del programa.

Aunque las acciones son funciones que no tienen retorno, esto no es del todo cierto, ya que utilizando el paso de argumentos por referencia, se pueden crear variables que sirvan expecíficamente para "retornar" valores, tal como veremos más adelante.


Utilizar acciones

Como hemos indicado, una acción es una función de tipo "void", y que no tiene retorno, simplemente ejecuta las sentencias que tiene y después vuelve al programa principal. Veamos un ejemplo:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include<iostream>
using namespace std;
void operar(int x, int y);

int main (){
    int a, b;
    cout << "Escribe dos numeros : " << endl;
    cin >> a >> b;
    operar(a,b);
}

void operar(int x, int y){
    cout << "Tus numeros son " << x << " y " << y << endl;
    cout << "Suma : " << x+y << endl;
    cout << "Resta : " << x-y << endl;
    cout << "Multiplicacion : " << x*y << endl;
}
ejemplo 1

Es la propia función la que realiza el trabajo de devolver el resultado en la pantalla. Observa cómo al no tener retorno, la función es del tipo "void", y al hacer la llamada a la función, ésta no se le asigna a ninguna variable, y que no hay nada que retornar.


Retornar por referencia

Supongamos que queremos hacer una función parecida a la anterior, pero en lugar de mostrar los resultados en pantalla, nos devuelve los resultados al flujo principal del programa, para después desde ahí mostrarlos o utilizarlos para otras cosas.

El primer problema que tenemos es el de querer retornar más de un valor. Una función sólo puede tener un valor de retorno, por lo que si queremos retornar suma, resta y multiplicación de dos números, una solución sería utilizar tres funciones, y cada una de ellas retorna un resultado.

Sin embargo la solución más común es pasar tres variables por referencia, en las cuales gurdaremos el valor de las operaciones, veamos el procedimiento:

En el flujo principal del programa, además de las dos variables en las que recoremos los números que nos da el usuario, declaramos tres variables en las que recogeremos los resultados:

int main (){ int a, b, mult, resta, suma ; ... }

A continuación después de la función main escribimos la definición de la función para operar con los números:

void operar(int x, int y, int &s, int &:r, int &m) { m = x*y; r = x-y; s = x+y; }

Los dos primeros parámetros de la función se pasan por valor, y son los números con los que operaremos. Los otros tres parámetros se pasan por referencia, y modifican las variables que les pasamos para guardar en ellas los resultados.

Observa cómo en realidad estamos utilizando una acción o función tipo void.

Lo siguiente es declarar la función en la cabecera del programa. La cabecera del programa será la siguiente:

#include<iostream> using namespace std; void operar(int x, int y, int &s, int &r, int &m);

Ahora nos queda completar la función principal o main. para ello después de la línea en la que hemos declarado las variables, escribiremos varias acciones: le pedimos al usuario que escriba dos números y los recogemos. Después llamamos a la función:

int main (){ int a, b, mult, resta, suma ; cout << "Escribe dos numeros : " << endl; cin >> a >> b; operar(a, b, suma, resta, mult); .... }

Ahora sólo nos queda mostrar los resultados en pantalla, ya que tras la llamada a la función, las variables que hemos pasado por referencia se han modificado y contienen los resultados de las operaciones. Acabamos por tanto de escribir la función main la cual quedará así:

int main (){ int a, b, mult, resta, suma ; cout << "Escribe dos numeros : " << endl; cin >> a >> b; operar(a, b, suma, resta, mult); cout << "Tus numeros son " << a << " y " << b << endl; cout << "Suma : " << suma << endl; cout << "Resta : " << resta << endl; cout << "Multiplicacion : " << mult << endl; }

Veamos ahora el programa completo, el cual será el siguiente:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include<iostream>
using namespace std;
void operar(int x, int y, int& s, int& r, int& m);

int main (){
    int a, b, mult, resta, suma ;
    cout << "Escribe dos numeros : " << endl;
    cin >> a >> b;
    operar(a, b, suma, resta, mult);
    cout << "Tus numeros son " << a << " y " << b << endl;
    cout << "Suma : " << suma << endl;
    cout << "Resta : " << resta << endl;
    cout << "Multiplicacion : " << mult << endl;
}

void operar(int x, int y, int &s, int &r, int &m) {
    m = x*y;
    r = x-y;
    s = x+y;
}
ejemplo 1

Observa cómo en realidad lo que hemos hecho mediante la función no es retornar valores, sino modificar las variables que ya teníamos para obtener los valores que calcula la función.

El "retorno" de valores por referencia no excluye el poder retornar valores mediante la instrucción return. Podemos usar una función normal en la que retornemos un valor mediante la instrucción return y modificar otros valores mediante el paso de valores por referencia.






En la página siguiente veremos si puede haber varias funciones con el mismo nombre, y qué pasa en este caso.

Sobrecarga



Manual Básico de C++

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com