Contenido del Curso
Introducción a C++
Introducción a C++
¿Qué son las Funciones?
Las funciones son pequeñas subrutinas que se pueden llamar cuando se necesiten. Cada función tiene un nombre con el que se puede llamar.
Nota
El nombre
main
ya está reservado por el lenguaje C++. Por lo tanto, al declarar una función con este nombre, el compilador generará un error.
Para crear una función, necesitas:
- definir el tipo de dato que devolverá;
- asignarle un nombre;
- proporcionar un bloque de instrucciones (cuerpo) dentro de llaves
{...}
para definir su funcionalidad.
Por ejemplo, vamos a crear una función que muestre el texto "c<>definity"
:
Ahora podemos llamar a nuestra nueva función:
main
#include <iostream> #include <string> std::string nameOfCourses() // type and name of function { // beginning of a body std::string nameOfCourse = "c<>definity"; return nameOfCourse; } // end of a body int main() { std::cout << "Name of course: " << nameOfCourses() << std::endl; }
Vamos a crear una función que simplifique el proceso de convertir temperaturas de Fahrenheit a Celsius. Esta es una aplicación práctica en la vida real.
main
#include <iostream> int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; } int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C" << std::endl; }
Nota
El argumento de la función está representado por la variable
degree
, que contiene los datos sobre los que opera la función. En este contexto, se refiere a temperaturas en grados Fahrenheit que necesitan ser convertidas a grados Celsius. Nos adentraremos en una explicación más detallada de los argumentos de función más adelante.
El compilador procesa nuestro código de programa secuencialmente, similar a cómo una persona lee un libro, y si encuentra nombres de variables o funciones desconocidos, producirá un error.
Para ilustrar, intentemos invocar una función antes de que haya sido definida.
Este ejemplo arroja un error. Esto se hace a propósito.
main
#include <iostream> int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) //creating function AFTER it calling { int celsius = (degree - 32) / 1.8; return celsius; }
En estas situaciones, es esencial emplear prototipos de funciones.
El propósito del prototipado es informar al compilador sobre nuestra función de antemano. Crear un prototipo es similar a una declaración estándar de función, pero con una diferencia sutil:
- especificar el tipo de la futura función;
- darle un nombre;
- argumentos (si es necesario);
- poner el carácter de fin de la expresión
;
.
Agreguemos un prototipo de función a nuestro ejemplo que estaba generando un error:
main
#include <iostream> int FahrenheitToCelsius(int degree); int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; }
Nota
El prototipado es útil cuando trabajas con muchas características. Para evitar "basura" en el archivo principal, los prototipos y las definiciones de funciones se trasladan a archivos de terceros y se incluyen en el archivo principal con la directiva
#include
.
¡Gracias por tus comentarios!