11/17/2005

Sobrecarga de funciones en C++

Sobrecargar una función significa incluír más de una definición de la función, para que el compilador frente a una llamada a una función elija entre las diferentes deficiones cual es la correcta (basandose en la cantidad de argumentos o sus tipos).

C++ tiene muchas funciones sobrecargadas, cuando nosotros usamos a la función pow(x,y) incluída en la biblioteca de funciones matemáticas cmath, la función viene sobrecargada por C++, para que dependiendo del tipo de datos que le pasemos, llame a una u otra definición de función, estas dos llamadas se tratarían de manera diferente:

//Sobrecarga de la funcion Cubo.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int cubo (int); //prototipo de funcion sobrecargada
double cubo(double);//prototipo de funcion sobrecargada
int main()
{
  int ix = 5;
  double dx = 1.5;
  cout << "El cubo de "<< ix << " es "<<cubo(ix) << endl; 
//el compilador al ver un valor int elige la funcion
  cout << "El cubo de " << dx << " es " <<cubo (dx) << endl;
//la llamada es igual con un valor double.
  ;return 0;
}
int cubo (int y ) //Funcion sobrecargada para valores int
{
  return y*y*y;
}
double cubo (double y) //Funcion sobrecargada para valores double
{
  return y*y*y;
}

Ver como hacer para compilar este programa.

No hay comentarios.: