Function |
A program can be divided in simple tasks called functions. A program that has functions works in a modular way because the functions can be called from several parts of the program. Functions avoid writing similar or equal code in several part of a program. Additionally, functions allow the programmer to concentrate in the creation of a simple sub-program that can be integrated with the main program later on. Un programa puede ser dividido en tareas simples llamadas funciones. Las funciones permiten al programa tener una operación modular ya que éstas pueden llamarse desde varias partes. Las funciones evitan que código similar o igual tenga que escribirse en varias veces en un programa. Adicionalmente, las funciones le permiten al programador concentrarse en la creación de pequeños sub-programas que, pueden después, integrarse con el programa principal. |
Tip |
The code below shows a program with a function called AddSeparator. The AddSeparator function has only one line of code. The program begins execution as normal, when the function is called; the program jumps to the function and executes the instructions of the function. Once the instructions of the function are executed, the program returns to the next line from where the function was called. El código mostrado debajo muestra un programa con una función llamada AddSeparator. La función AddSeparator tiene una sola línea de código. El programa comienza ejecución en forma normal, cuando la función es llamada; el programa salta a la función y ejecuta las instrucciones de la función. Una vez que las instrucciones de la funciones son ejecutadas, el programa regresa a la siguiente línea desde donde fue llamada la función. |
Tip |
Whenever you are copying and pasting some lines of code, stop and consider if it would be appropriate to implement a function instead. Because a function concentrates the common code, the resulting program is easy to maintain. In fact, functions avoid inconsistencies and improve considerably the quality of the program. En cualquier momento que usted este copiando y pegando algunas líneas de código, deténgase y piense si sería apropiado implementar una función. Porque una función concentra el código común, el programa resultante es fácil de mantener. De hecho, las funciones evitan las inconsistencias y mejoran considerablemente la calidad del programa. |
Tip |
When a program is divided in functions, the programmer can focus in solving a small problem instead of thinking in all the details of the program. The performance of a programmer is always better when he implements a program using functions. Cuando un programa se divide en funciones, el programador puede concentrarse en resolver un pequeño problema en lugar de pensar en todos los detalles del programa. El desempeño de un programador es siempre mejor cuando él implementa un programa usando funciones. |
Function Structure |
To create a function, the file header file (Program.h) and the source file (Program.cpp) must be edited. A function must have a name. Because a program may have many functions, the function name is used to identity a specific function. The function name must clearly describe the function does. There are two step required to create a function as shown in the code below.
Para crear una función, el archivo de encabezado (Program.h) y el archivo fuente (Program.cpp) deben de modificarse. Debido a que un programa puede tener muchas funciones, el nombre de la función es utilizado para identificar una función específica. El nombre de la función debe en forma clara describir que es lo que la función hace. Hay dos pasos requeridos para crear una función como se muestra en código de abajo.
|
Tip |
The figure below shows the main differences between a function declaration and its definition. A function declaration ends with a semicolon, while its definition does not require the semicolon. A function definition requires to specify the owner of the function (the class name of the function) while a function definition does not require to specify the owner of the function. En la figura de abajo se muestran las principales diferencias entre la declaración de una función y su definición. Una declaración de una función termina con un punto y coma, mientras que su definición no requiere el punto punto y coma. Una definición de una función requiere especificar el propietario de la función (el nombre de la clase de la función) mientras que la definición de una función no requiere especificar el propietario de la función. |
Linker Error |
A difficult error to find is a linker error. Microsoft Visual Studio displays this error as LNK2019. This error is produced when the function is declared in the header file (*.h) but is not defined in the source file (*.cpp). This error is difficult to find because, when the programmer clicks the error to find its location, Microsoft Visual Studio cannot show the error. To fix this error you must read the information of the error and find the name of the function that is missing. Then you must add this function to the source file (*.cpp). Un error difícil de encontrar es un error del linker (enlazador). Microsoft Visual Studio muestra este error como LNK2019. Este error es producido cuando la función es declarada en el archivo de encabezado (*.h) pero no está definida en el archivo fuente (*.cpp). Este error es difícil de encontrar porque, cuando el programador hace clic en el error para encontrar su ubicación, Microsoft Visual Studio no puede mostrar este error. Para arreglar este error usted debe leer la información del error y encontrar el nombre de la función que hace falta. Entonces usted debe agregar esta función al archivo fuente (*.cpp), |