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:
- Funciones de biblioteca estándar: predefinidas en C ++
- 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 returnType
y parameters
má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(); )

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 int
variable 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 int
parámetro y un double
parámetro.
Luego pasamos num1 y num2 como argumentos. Estos valores son almacenados por los parámetros de función n1 y n2 respectivamente.

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 returnType
de la función durante la declaración de la función.
Luego, la return
declaració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 int
lugar de void
. Esto significa que la función devuelve un int
valor.
El código return (a + b);
devuelve la suma de los dos parámetros como valor de la función.
La return
declaración denota que la función ha terminado. Cualquier código después de return
dentro 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 int
literales 100
y 78
mientras llamamos a la función.
Almacenamos el valor devuelto de la función en la variable suma y luego lo imprimimos.

Observe que suma es una variable de int
tipo. Esto se debe a que el valor de retorno de add()
es de int
tipo.
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 cmath
archivo 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 ++.