domingo, 13 de mayo de 2012

Tutorial de programación C/C++ desde 0. Capitulo 10


Hola a todos.

Si habéis llegado hasta aquí entendiendo todos los capítulos anteriores, podéis comenzar a decir que sabéis programar un poco.

El capitulo de hoy empieza a ser un poco más "complicado" que no lo que se explica normalmente (aunque realmente no es nada complicado) y es el tema de la sobrecarga de funciones.

Que es?
La sobrecarga de funciones es el hecho de que dos funciones se llamen exactamente igual pero tengan comportamientos radicalmente diferentes. Si el tema de las funciones no lo tienes muy claro revisa este link

Para que?
Su principal utilidad es mantener el código limpio y fácil de entender y mantener.

Como se usa?
Lo único que hemos de hacer es repetir la función que queremos sobrecargar cambiando el tipo y/o número de parametros de entrada de la función (ya que si la función tuviese el mismo número de parametros y de exactamente el mismo tipo el compilador no sabria a que función llamar)

Ejemplos:

void ImprimeNumero(int num)
{
      printf("%d",num); //Lo pinto como un int
}


void ImprimeNumero(float num)
{
      printf("%lf",num); //Lo pinto como un float
}


void ImprimeNumero(int num, char *cad)
{
      FILE* fp;
     fp = fopen(cad,"w"); //Abro fichero
      fprintf(fp,"%d",num); //Lo pinto como un int
     fclose(fp);
}


void ImprimeNumero(float num,char *cad)
{

      FILE* fp;
     fp = fopen(cad,"w"); //Abro fichero

      fprintf(fp,"%lf",num); //Lo pinto como un float
     fclose(fp);
}

Como podéis observar las 4 funciones se llaman igual y solo se decidirá cual usar en función de los parámetros usados.

Para nuestro caso lo podriamos entender como una sola función que nos imprimiria un número (en cualquier formato) en un fichero de nuestra elección.En el supuesto que no le pasaramos el nombre del fichero lo imprimiria por consola.

Espero que con esto empeceis a entenderlo por vuestra parte y os lanceis a investigar

Nos vemos

LordPakusBlog

0 comentarios :

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...