Función C ++ (con ejemplos)

En este tutorial, aprenderemos sobre la función C ++ y las expresiones de función con la ayuda de ejemplos.

Una función es un bloque de código que realiza una tarea específica.

Supongamos que necesitamos crear un programa para crear un círculo y colorearlo. Podemos crear dos funciones para solucionar este problema:

  • una función para dibujar el círculo
  • una función para colorear el círculo

Dividir un problema complejo en partes más pequeñas hace que nuestro programa sea fácil de entender y reutilizable.

Hay dos tipos de funciones:

  1. Funciones de biblioteca estándar: predefinidas en C ++
  2. Función definida por el usuario : creada por los usuarios

En este tutorial, nos centraremos principalmente en las funciones definidas por el usuario.

Función definida por el usuario de C ++

C ++ permite al programador definir su propia función.

Un código de grupo de funciones definido por el usuario para realizar una tarea específica y ese grupo de código recibe un nombre (identificador).

Cuando se invoca la función desde cualquier parte del programa, todo ejecuta los códigos definidos en el cuerpo de la función.

Declaración de función C ++

La sintaxis para declarar una función es:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

A continuación, se muestra un ejemplo de declaración de función.

 // function declaration void greet() ( cout << "Hello World"; )

Aquí,

  • el nombre de la función es greet()
  • el tipo de retorno de la función es void
  • los paréntesis vacíos significan que no tiene ningún parámetro
  • el cuerpo de la función está escrito dentro ()

Nota: Aprenderemos sobre returnTypey parametersmás adelante en este tutorial.

Llamar a una función

En el programa anterior, hemos declarado una función llamada greet(). Para usar la greet()función, necesitamos llamarla.

Así es como podemos llamar a la greet()función anterior .

 int main() ( // calling a function greet(); )
Cómo funciona la función en C ++

Ejemplo 1: mostrar un texto

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Salida

 ¡Hola a todos!

Parámetros de función

Como se mencionó anteriormente, una función se puede declarar con parámetros (argumentos). Un parámetro es un valor que se pasa al declarar una función.

Por ejemplo, consideremos la función siguiente:

 void printNum(int num) ( cout << num; )

Aquí, la intvariable num es el parámetro de función.

Pasamos un valor al parámetro de la función mientras llamamos a la función.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Ejemplo 2: función con parámetros

 // program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )

Salida

 El número int es 5 El número doble es 5.5

En el programa anterior, hemos utilizado una función que tiene un intparámetro y un doubleparámetro.

Luego pasamos num1 y num2 como argumentos. Estos valores son almacenados por los parámetros de función n1 y n2 respectivamente.

Función C ++ con parámetros

Nota: El tipo de argumentos que se pasan mientras se llama a la función debe coincidir con los parámetros correspondientes definidos en la declaración de la función.

Declaración de devolución

En los programas anteriores, hemos utilizado void en la declaración de función. Por ejemplo,

 void displayNumber() ( // code )

Esto significa que la función no devuelve ningún valor.

También es posible devolver un valor de una función. Para esto, necesitamos especificar el returnTypede la función durante la declaración de la función.

Luego, la returndeclaración se puede usar para devolver un valor de una función.

Por ejemplo,

 int add (int a, int b) ( return (a + b); )

Aquí, tenemos el tipo de datos en intlugar de void. Esto significa que la función devuelve un intvalor.

El código return (a + b);devuelve la suma de los dos parámetros como valor de la función.

La returndeclaración denota que la función ha terminado. Cualquier código después de returndentro de la función no se ejecuta.

Ejemplo 3: sumar dos números

 // program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )

Salida

 100 + 78 = 178

En el programa anterior, la add()función se usa para encontrar la suma de dos números.

Pasamos dos intliterales 100y 78mientras llamamos a la función.

Almacenamos el valor devuelto de la función en la variable suma y luego lo imprimimos.

Funcionamiento de la función C ++ con declaración de retorno

Observe que suma es una variable de inttipo. Esto se debe a que el valor de retorno de add()es de inttipo.

Prototipo de función

In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,

 // function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )

In the above code, the function prototype is:

 void add(int, int);

This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.

The syntax of a function prototype is:

 returnType functionName(dataType1, dataType2,… );

Example 4: C++ Function Prototype

 // using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )

Output

 100 + 78 = 178

The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.

That's why we have used a function prototype in this example.

Benefits of Using User-Defined Functions

  • Functions make the code reusable. We can declare them once and use them multiple times.
  • Functions make the program easier as each small task is divided into a function.
  • Functions increase readability.

C++ Library Functions

Library functions are the built-in functions in C++ programming.

Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.

Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.

In order to use library functions, we usually need to include the header file in which these library functions are defined.

For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.

Example 5: C++ Program to Find the Square Root of a Number

 #include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )

Output

 Raíz cuadrada de 25 = 5

En este programa, la sqrt()función de biblioteca se usa para calcular la raíz cuadrada de un número.

La declaración de función de sqrt()se define en el cmatharchivo de encabezado. Es por eso que necesitamos usar el código #include para usar la sqrt()función.

Para obtener más información, visite Funciones de la biblioteca estándar de C ++.

Articulos interesantes...