Funciones en C++

Supongo que ya es hora de retomar el blog y ponerme a hablar de funciones en c++. Una función es un pedazo de código fuera del main, con un nombre y que puede ser ‘llamado’ desde otra parte de nuestro programa.

Imagínense que están entrenando a su perro a hacerse el muertito. Cada vez que ustedes dicen ‘muertito‘, el perro se tira de espaldas en el suelo, cierra los ojos y saca la lengua. En programación, el contenido de la función sería tirarse de espaldas, cerrar los ojos y sacar la lengua; el nombre de la función sería muertito; y cada vez que nosotros decimos muertito estamos llamando a la función.

Nuestra función sería algo así:

void muertito()
{
   Perro.Tirarse(posicion='espalda');
   Perro[OjoDer].Cerrar();
   Perro[OjoIzq].Cerrar();
   Perro[Lengua].Sacar();
}

Jajaja, bueno, bueno. Ya en serio vamos a hacer un clásico Hola Mundo pero usando una función:

#include
using namespace std;
void hola()
{
    cout << "Hola Mundo!";
}
int main()
{
    hola();
}

Como ven, esta función es muy estúpida. No nos beneficia en nada y nos hace escribir más código del necesario, pero nos sirve para ver cómo actúa una función: al momento de llamar a la función, el compilador se brinca a la función, la ejecuta y cuando termina, vuelve al punto desde donde brincó.

Si pudieran leerle la mente a un compilador, este diría:

Linea 1. Incluir la librería iostream. OK
Linea 2. Usar el namespace estándar. OK
Linea 3. Oh! una función llamada hola, la recordaré.
Linea 4. Llave. Parte de la función. Ignorar
Linea 5. Imprimir “Hola Mundo!”. Parte de la función. Ignorar
Linea 6. Llave. Parte de la función. Ignorar
Linea 7. ¡Por fin el main!
Linea 8. Llave. Entrar
Linea 9. Esta función se me hace conocida… oh sí ya recuerdo. Ejecutar lineas 4, 5 y 6
Linea 10. Llave. Salir

Ahora veamos una función que sí nos es útil:

#include
using namespace std;

void hola(char nombre[50])
{
    cout << "Hola " << nombre << "!";
}

int main()
{
    char nombre[50];
    cout << "Cual es tu nombre?: "; cin.getline(nombre, 50, 'n');
    hola(nombre);
}

Primero pedimos un nombre, lo guardamos en una variable y se le mandamos a la función para que lo muestre.

No se preocupen, si nunca habían visto una función tal vez no entiendan la sintaxis, pero el objetivo de este post es que sepan qué es una función y para qué se puede usar. En el siguiente post voy a explicar la sintaxis de los cuatro tipos de funciones en c++.

13 thoughts on “Funciones en C++

  1. jajajajajaa, me encanto. sigo leyendo tu blog muy bueno de verdad.😀 gracias por compartir tus conocimientos practicos y utiles. saludos! =) seguire leyendo.

  2. jkaaaaaaaaaaaaaa’ jkaaaaaaaaa’ m gustoo lo de hola mundoo!!
    y si era estupidoo pero m cirvioo para`pasar la clasee :]]

  3. Bueno ahora como llamo a la funcion sumar que esta declarada en el main.cpp desde otro .cpp, es decir lo que quiero es declarar todas mis funciones en un solo .cpp y en otros .cpp quiero llamarlos, para no tener que estar haciendo funciones a cada rato

  4. Gracias, mira soy nuevo en C++ y lo estoy viendo con QT, Yo vengo de java y .net, bueno el chiste es que, ya se las funciones y las entiendo muy bien porque son lo mismo que java, el problema que tengo es que todo mundo hace la funcion en el mismo .cpp donde la manda a llamar, lo que yo quiero hacer, para que me entiendan, es meter en un “funciones.cpp” todas las funciones y en otro “programa.cpp” completamente diferente dentro del mismo proyecto llamar a la funcion declarada en “funciones.cpp” el problema es que si hago un:

    #include “funciones.cpp”

    en el “programa.cpp” me ejecuta la funcion sin mandarla a llamar, haber si me pueden hechar la mano en esta cuestion.

  5. gracias por hacer estos post no ayuda a entender a las personas que como yo tenemos que buscar informacion para entender mejor las cosa gracias

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s