Al pasar argumentos a las funciones en C ++

Funciones de C ++ que no hacen más que devuelven un valor son de valor limitado debido a que la comunicación es unidireccional - a partir de la función de la persona que llama. Dos vías de comunicación requiere argumentos de la función

.

Función con argumentos

Una función argumento es una variable cuyo valor se pasa a la función durante la llamada. El seguimiento FactorialFunction convierte la operación factorial anterior en una función:

//// FactorialFunction - reescribir el código factorial como // una función separada .//# incluye #include #include using namespace std - //// factorial - devuelve el factorial del argumento // proporcionado. Devuelve un 1 para los argumentos no válidos // como factorial numbers.int negativo (int nTarget) {// comenzar con un acumulador que se inicializa a 1int nAccumulator = 1-for (int nValue = 1- nValue lt; = nTarget- nValue ++) {nAccumulator * = nValue-} volver nAccumulator-} int main (int nNumberofArgs, char * pszArgs []) {cout lt; lt; "Este programa calcula factoriales" lt; lt; "De entrada del usuario. N" lt; lt; "Introduzca un número negativo para salir" lt; lt; endl - // permanecer en un bucle de conseguir la entrada del usuario // hasta que entra en una numberfor negativo (-) {// introducir el número para calcular el factorial nValue ofint-cout lt; lt; "Introduzca el número de:" cin >> nValue - // salida si el número es negativeif (nValue lt; 0) {break -} // mostrar la resultint nFactorial = factorial (nValue) -cout lt; lt; nValue lt; lt; "Factorial es" lt; lt; nFactorial lt; lt; endl -} // espera hasta que el usuario está listo antes de finalizar el programa // para que el usuario pueda ver el resultscout programa lt; lt; "Pulse Intro para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - volver 0-}

La declaración de factorial () incluye una discusión nTarget de int. De cara al futuro, se puede ver que esto está destinado a ser el valor cuyo factorial el programa calcula. El valor de retorno de la función es el factorial calculado.

En main (), el programa solicita al usuario un valor, que almacena en nValue. Si el valor es negativo, el programa termina. Si no, se llama factorial () y pasa el valor de nValue. El programa almacena el valor devuelto en nFactorial. A continuación, envía dos valores antes de volver a solicitar al usuario un nuevo valor.

Funciones con múltiples argumentos

Una función puede tener múltiples argumentos separándolos por comas. Así, la siguiente función devuelve el producto de dos argumentos enteros:

int producto (int nValue1, int nValue2) {return nValue1 * nValue2-}

La exposición principal ()

Ahora la verdad se le puede decir: El " la palabra clave " main () desde el modelo estándar no es más que una función - aunque sea una función con argumentos extraños, sino una función, no obstante.

Cuando se construye un programa, C ++ añade un poco de código repetitivo que se ejecuta antes de que su programa siempre gana el control. Este código establece el entorno en el que el programa funcionará. Por ejemplo, este código repetitivo abre los canales de entrada y de salida por defecto y las adjunta al cin y cout.

Después de que el medio ambiente se ha establecido, el C ++ código repetitivo llama a la función main (), comenzando así la ejecución de su código. Cuando el programa termina, devuelve desde main (). Esto permite repetitivo C ++ para limpiar un par de cosas antes de terminar el programa de control y entrega de nuevo al sistema operativo.




» » » » Al pasar argumentos a las funciones en C ++