Cómo devolver un puntero de funciones en C++

Como Devolver Un Puntero De Funciones En C



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:

#incluir

usando 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.