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 sea necesario. Cada función tiene un nombre con el que puede ser llamada.
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, es necesario:
- definir el tipo de datos que devolverá;
- asignarle un nombre;
- proporcionar un bloque de instrucciones (cuerpo) entre llaves
{...}
para definir su funcionalidad.
For example, let's create a function that outputs the text "c<>definity"
:
Por ejemplo, creemos una función que produzca el texto "c<>definity"
:
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 de 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
, la cual 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. Profundizaremos 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, de manera 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 función.
El propósito de prototipar es informar al compilador sobre nuestra función con antelación. Crear un prototipo es similar a una declaración de función estándar, pero con una sutíl diferencia:
- especifica el tipo de la futura función;
- dale un nombre;
- los argumentos (si son necesarios);
- coloca el carácter de fin de la expresión
;
.
Añadamos un prototipo de función a nuestro ejemplo que estaba generando un error:
Nota
El prototipado es útil cuando estás trabajando con muchas características. Para evitar "basura" en el archivo principal, los prototipos y definiciones de funciones se trasladan a archivos de terceros y se incluyen en el archivo principal con la directiva #include
.
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
La creación de prototipos es útil cuando se trabaja con muchas características. Para evitar "basura" en el archivo principal, los prototipos y definiciones de funciones se trasladan a archivos de terceros y se incluyen en el archivo principal con la directiva #include
.
¡Gracias por tus comentarios!