En C + +, un objeto de función es un objeto de la clase que se puede utilizar como una función. Funciona de manera similar a otras funciones , excepto que utiliza el operador de llamada de función para pasar valores a la clase de objeto . Por ejemplo , un objeto de función puede tomar una serie de números , incluso si usted no sabe el número que el usuario proporcionará al escribir el código y los sumará para guardar el resultado en la clase de objeto . Utilice
Para utilizar un objeto de función , en primer lugar definir y crear una clase de objeto , a continuación, crear una función denominada "operador" como uno de los miembros de la función pública. Si crea variables miembro privadas , puede establecer su valor en el constructor de la clase , luego modificarlos con otros valores que se pasan a través de la función de operador. C + + tiene una ventaja sobre el lenguaje de programación similar como Java , ya que otros idiomas no permiten la sobrecarga de operadores .
Sintaxis
crear objetos funcionan de manera similar a cualquier otro objetos en un programa C + + . Se define una nueva clase , cree las variables miembro y funciones públicas y privadas , según sea necesario . Sin embargo , una de las funciones públicas que necesita para poner en práctica es el operador de llamada de función , lo que le permite utilizar la clase de objeto en su programa como una función. En el cuerpo del programa , se crean objetos de función del mismo modo que cualquier otro objeto, escriba el nombre de la clase , el nombre del objeto.
Llamada a operadora
La función de operador de llamada es lo que hace que un objeto de función diferente de otros objetos de la clase . Sintácticamente , es necesario el uso de dos pares de corchetes para crear una función de operador. Por ejemplo , si escribes " operador void () (int val1 ) { total + = val1 ;} ; " le permite utilizar el objeto como una función para añadir valores a un total acumulado en una variable miembro de la clase . A continuación, puede utilizar esta variable total en otras funciones de la clase .
Sobrecarga
La sobrecarga del operador de función no cambia la forma de llamar a la función , se modifica la forma de pasar los valores al objeto . Te permite pasar un número arbitrario de argumentos , lo que ayuda si usted no sabe cuántos tiene que pasar en tiempo de ejecución . Por ejemplo, si usted tiene un constructor de la clase que tiene sólo dos parámetros y tienen un operador de llamada de función que toma tres, se puede utilizar un objeto de función existente para iniciar una nueva, sino que pasan tres parámetros para que en lugar de dos . Esto sobrecarga el constructor y obliga al operador de la función para inicializar los valores .