Funciones C++
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 resolver 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 función:
- Funciones de biblioteca estándar: Predefinido en C++
- Función definida por el usuario: Creado 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 grupos de funciones definido por el usuario para realizar una tarea específica y ese grupo de códigos 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 funciones de C++
La sintaxis para declarar una función es:
returnType functionName (parameter1, parameter2,...) {
// function body
}
Aquí hay un ejemplo de una 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()
. Usar el greet()
función, tenemos que llamarlo.
Así es como podemos llamar a lo anterior greet()
función.
int main() {
// calling a function
greet();
}
Ejemplo 1: mostrar un texto
#include <iostream>
using namespace std;
// declaring a function
void greet() {
cout << "Hello there!";
}
int main() {
// calling the function
greet();
return 0;
}
Producción
Hello there!
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 siguiente función:
void printNum(int num) {
cout << num;
}
Aquí el int
variable número es el parámetro de la 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 <iostream>
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;
}
Producción
The int number is 5 The double number is 5.5
En el programa anterior, hemos utilizado una función que tiene una int
parámetro y uno double
parámetro.
luego pasamos numero1 y numero2 como argumentos. Estos valores son almacenados por los parámetros de la función. n1 y n2 respectivamente.

Nota: El tipo de los argumentos pasados al llamar 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 usado void en la declaración de la 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 ello, debemos especificar el returnType
de la función durante la declaración de la función.
Entonces el return
La declaración se puede utilizar 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 int
en vez 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 el valor de la función.
los return
declaración denota que la función ha terminado. Cualquier código después return
dentro de la función no se ejecuta.
Ejemplo 3: sumar dos números
// program to add two numbers using a function
#include <iostream>
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;
}
Producción
100 + 78 = 178
En el programa anterior, el add()
La función se utiliza para encontrar la suma de dos números.
pasamos dos int
literales 100
y 78
mientras llama a la función.
Almacenamos el valor devuelto de la función en la variable sumay luego lo imprimimos.

Darse cuenta de suma es una variable de int
escribe. Esto se debe a que el valor de retorno de add()
es de int
escribe.
Prototipo de función
En C++, el código de declaración de la función debe estar antes de la llamada a la función. Sin embargo, si queremos definir una función después de la llamada a la función, necesitamos usar el prototipo de función. Por ejemplo,
// 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);
}
En el código anterior, el prototipo de función es:
void add(int, int);
Esto proporciona al compilador información sobre el nombre de la función y sus parámetros. Es por eso que podemos usar el código para llamar a una función antes de que se haya definido la función.
La sintaxis de un prototipo de función es:
returnType functionName(dataType1, dataType2, ...);
Ejemplo 4: prototipo de función C++
// using function definition after main() function
// function prototype is declared before main()
#include <iostream>
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);
}
Producción
100 + 78 = 178
El programa anterior es casi idéntico al Ejemplo 3. La única diferencia es que aquí, la función se define después la llamada de función.
Es por eso que hemos usado un prototipo de función en este ejemplo.
Beneficios de usar funciones definidas por el usuario
- Las funciones hacen que el código sea reutilizable. Podemos declararlos una vez y usarlos varias veces.
- Las funciones facilitan el programa ya que cada pequeña tarea se divide en una función.
- Las funciones aumentan la legibilidad.
Funciones de biblioteca de C++
Las funciones de biblioteca son las funciones integradas en la programación de C++.
Los programadores pueden usar funciones de biblioteca invocando las funciones directamente; no necesitan escribir las funciones ellos mismos.
Algunas funciones de biblioteca comunes en C++ son sqrt()
, abs()
, isdigit()
etc.
Para usar funciones de biblioteca, generalmente necesitamos incluir el archivo de encabezado en el que se definen estas funciones de biblioteca.
Por ejemplo, para usar funciones matemáticas como sqrt()
y abs()
necesitamos incluir el archivo de encabezado cmath
.
Ejemplo 5: programa C++ para encontrar la raíz cuadrada de un número
#include <iostream>
#include <cmath>
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;
}
Producción
Square root of 25 = 5
En este programa, el sqrt()
La función de biblioteca se utiliza para calcular la raíz cuadrada de un número.
La declaración de la función de sqrt()
se define en el cmath
archivo de cabecera. Es por eso que necesitamos usar el código. #include <cmath>
usar el sqrt()
función.
Para obtener más información, visite las funciones de la biblioteca estándar de C++.