En C++, la función es un bloque de código que se introduce para realizar alguna función y se utilizan punteros para señalar las variables en la función. Los punteros se asignan con la dirección.
Cómo devolver un puntero de funciones en C++
En C++ es posible devolver un puntero desde una función. Esto se puede lograr declarando una función de tipo de retorno como un puntero a esa función. Cada función que se crea toma una dirección designada en la memoria. El asterisco * se inserta a la izquierda del nombre de la función.
Sintaxis
Esta es una sintaxis para devolver un puntero de una función en C++:
devolver tipo ( * nombre_puntero_función ) ( tipo_argumento_1, tipo_argumento_2, ……, tipo_argumento_n ) = nombre de la función ;
Ejemplo 1
Este ejemplo ilustra el retorno de un puntero de una función en C++:
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
vacío resultado ( En t & a )
{
a + = 10 ;
}
En t principal ( )
{
En t X = 40 ;
//el puntero regresa de la función
vacío ( * ptr ) ( En t & ) = & resultado ;
ptr ( X ) ;
corte << X << fin ;
devolver 0 ;
}
En este código fuente, se declara una función de resultado nulo y toma la referencia a int a que se incrementa 10 veces. Una variable x almacena el valor 40 y *ptr apunta a la función int&. Como el ptr apunta al resultado, la x se incrementa en 10.
El valor de la entrada x se incrementa en 10 y se devuelve en 50.
Ejemplo 2
Este es un ejemplo que calcula el salario semanal de los trabajadores:
#incluirusando espacio de nombres enfermedad de transmisión sexual ;
doble & Obtener horas semanales ( )
{
doble h = 32.65 ;
doble & horas = h ;
devolver horas ;
}
doble * Obtener Salario ( )
{
doble salario = 42.48 ;
doble * Salario por hora = & salario ;
devolver Salario por hora ;
}
En t principal ( )
{
doble horas = Obtener horas semanales ( ) ;
doble salario = * Obtener Salario ( ) ;
corte << 'Horas semanales de los trabajadores: ' << horas << fin ;
corte << 'Salario por Hora de los Trabajadores: ' << salario << fin ;
doble Salario Semanal = horas * salario ;
corte << 'Salario Semanal de los Trabajadores:' << Salario Semanal << fin ;
devolver 0 ;
}
En este código fuente, se ingresan las horas y el salario por hora. El puntero de retorno del método de la función se utiliza para acceder a estos parámetros y calcular el salario semanal de los trabajadores.
Conociendo las horas semanales y el salario por hora, el salario semanal se puede calcular multiplicando ambos términos.
Conclusión
En C++ es posible devolver un puntero desde una función. Esto se puede lograr declarando una función de tipo de retorno como un puntero a esa función. Cada función que se crea toma una dirección designada en la memoria.