Em C++ é possível utilizar um mesmo nome de função para declarar diferentes tipos de parâmetros. A invocação da função irá determinar qual a função a utilizar. A diferença das várias funções com o mesmo nome é determinada com base quer no tipo dos argumentos quer no seu número.
int inc(int x)
{
return(x+1);
}
int inc(int x,int y)
{
return(x+y);
}
float inc(float x)
{
return(x+1);
}
void main()
{
int x=2;
float y=2.0;
printf(''\nInc(x) = %d'',inc(x));
printf(''\nInc(x,x) = %d'',inc(x,x));
printf(''\nInc(y) = %f'',inc(y));
}