PDF de programación - Múltiples definiciones de una función

Imágen de pdf Múltiples definiciones de una función

Múltiples definiciones de una funcióngráfica de visualizaciones

Publicado el 8 de Mayo del 2018
206 visualizaciones desde el 8 de Mayo del 2018
109,9 KB
3 paginas
Creado hace 16a (02/08/2005)
Programación Instituto Tecnológico de Celaya

MMÚÚLLTTIIPPLLEESS DDEEFFIINNIICCIIOONNEESS DDEE UUNNAA FFUUNNCCIIÓÓNN



C++ permite que se le asigne el mismo nombre a diferentes funciones. Existen,

sin embargo, algunas restricciones que serán mencionadas un poco más

adelante. Por ejemplo, suponga que en un mismo programa se tienen las

siguientes definiciones de una función:



//Función que calcula el promedio de dos numeros

double promedio (double numero1, double numero2)

{

double valor_prom;

valor_prom = (numero1 + numero2)/2.0;

return valor_prom;

}



//Función que calcula el promedio de tres numeros

double promedio (double numero1, double numero2, double numero3)

{

double valor_prom;

valor_prom = (numero1 + numero2 + numero3)/3.0;

return valor_prom;

}



Lo anterior es correcto (aunque no recomendable) y no sería marcado como

error por parte del compilador. El compilador distinguiría una función de la otra

con base al número de argumentos que se utilicen cuando se llame a la función.

Observe también que algunas variables en dichas funciones tienen el mismo

nombre, pero no importa, dado que se trata de variables locales definidas

dentro de una función.

El siguiente es un programa que llama a las dos funciones anteriores:



Ingeniería Química

Programación Instituto Tecnológico de Celaya

//Programa para el calculo del promedio de 2 y 3 numeros.
#include <iostream.h>
#include <stdlib.h>



/* Prototipos */
//Funcion que calcula el promedio de dos numeros
double promedio (double numero1, double numero2);
//Funcion que calcula el promedio de tres numeros
double promedio (double numero1, double numero2, double numero3);

int main( )
{
double numero_1, numero_2, numero_3, prom_2, prom_3;

cout<<”Dame el valor de 3 numeros caulesquiera \n”;
cin>>numero_1 >>numero_2 >>numero_3;

prom_2= promedio(numero_1, numero_2);
prom_3 = promedio(numero_1, numero_2, numero_3);

cout<<”\n”;
cout<<”El promedio de los 2 primeros numeros es “<<prom_2<<”\n”;
cout<<”El promedio de los 3 numeros es “<<prom_3<<”\n”;
cout<<”\n”;

system(“PAUSE”);
return 0;
}



Existe sin embargo la siguiente restricción para que sea posible definir

funciones diferentes con el mismo nombre:

Cuando dos o más funciones tienen el mismo nombre, las definiciones

de tales funciones deben de ser diferentes en lo que respecta a sus

argumentos. Es decir, el numero o el tipo de sus argumentos debe de

ser diferente.



Así, lo siguiente sería incorrecto:



Ingeniería Química

Programación Instituto Tecnológico de Celaya

//Función que calcula el promedio aritmetico de dos numeros

double promedio (double numero1, double numero2)

{

double valor_prom;

valor_prom = (numero1 + numero2)/2.0;

return valor_prom;

}



//Función que calcula el promedio geometrico de dos numeros

double promedio (double numero1, double numero2)

{

double valor_prom;

valor_prom = sqrt(numero1 * numero2);

return valor_prom;

}



Si se usan en forma independiente, ambas funciones son correctas. Sin

embargo, si se usan juntas, existe un error, dado que se tienen dos funciones

con el mismo nombre, con el mismo numero de argumentos y con el mismo

tipo de argumentos. Así, cuando se llame a las funciones, el compilador no

sabría distinguir a cual de las dos se está llamando. No obstante, aún cuando

las variables usadas en las funciones se llamen igual, no existe error en ese

sentido. Por último, observe que un programa que llame a la segunda función

requeriría incluir a la librería math.h, mientras que en el caso de la primer

función esto no es necesario.



Ingeniería Química
  • Links de descarga
http://lwp-l.com/pdf10930

Comentarios de: Múltiples definiciones de una función (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad