Polimorfismo

Solo disponible en BuenasTareas
  • Páginas : 3 (664 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de junio de 2010
Leer documento completo
Vista previa del texto
Polimorfismo
En C++ es posible declarar dos funciones diferentes que tengan el mismo nombre. Las funciones deben diferir en la lista de argumentos, bien en el número de variables que se pasan a lafunción, bien en el tipo de argumentos que recibe. Así, por ejemplo, se puede definir una función que trabaje, bien con enteros, bien con strings; sólo hay que definir dos funciones separadas con elmismo nombre:
#include <iostream.h>

void show(int val)
{
cout <<" Es un entero :"<< val<< '\n';
}

void show(char *val)
{
cout <<"Es un carácter: "<< val << '\n';
}main()
{
show (42);
show ("A");
show (452.2);
}
En la primerallamada a la función show, se le pasa un entero, por tanto se llama a la primera copia de la función show. La segunda vez, el argumento es un carácter, por tanto se utiliza la segunda definición,aquella que utiliza un carácter. Ahora bien, la tercera llamada utiliza un número real, y no existe una definición de la función para este caso. El compilador utiliza la primer definición. La salida delprograma es:
Es un entero :42
Es un carácter: A
Es un entero :452

También podríamos haber convertido la variable con la quellamamos a la función a uno de los tipos para los cual show está definida. Por ejemplo, si sustituimos la tercera llamada del programa anterior por:
show ((int)452.2);

lasalida será:
Es un entero: 42
Es un carácter: A
Es un entero : 452
Es interesante destacar que la forma en que el compilador de C++ implementa la...
tracking img