Está en la página 1de 4

Elementos de la declaración de una Función

Las declaraciones de funciones generalmente son especificadas por: Un nombre


único en el ámbito: Nombre de la función con el que se identifica y se distingue de
otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga
o polimorfismo en programación orientada a objetos). Un tipo de dato de retorno: tipo
de dato del valor que la función devolverá al terminar su ejecución. Una lista de
parámetros:Especificación del conjunto de argumentos (pueden ser cero, uno o más)
que la función debe recibir para realizar su tarea. El código u órdenes de
procesamiento: conjunto de órdenes y sentencias que debe ejecutar la función.

Sumario
[ocultar]

• 1 Elementos de la declaración de una Función


• 2 Funciones dentro de clases
• 3 Una función de inicio
• 3.1 Ejemplo:
• 4 El operador de invocación a función
• 5 Parámetros
• 5.1 Parámetros constantes
• 5.2 Parámetros con valor por defecto
• 6 Funciones anidadas
• 7 Funciones sobrecargadas
• 8 Puede Contactar
• 9 Fuentes
Funciones dentro de clases

En la jerga de la programación orientada a objetos, las funciones dentro de las clases


se denominan funciones-miembro o métodos, y las variables dentro de clases,
variables-miembro o propiedades. El sentido es el mismo que en la programación
tradicional (la nomenclatura es más una cuestión de gustos), si bien referirnos a
"propiedades" y "métodos" supone estar utilizando la programación orientada a objetos
y que nos referimos a miembros de una clase. En C++ esta aclaración puede ser
importante, porque es un lenguaje que podríamos llamar "híbrido"; en ciertas partes
puede utilizarse con técnicas de programación tradicional, y en otras con técnicas de
POO.

Una función de inicio

Cada programa debe tener una sola función externa denominada main(), principal, que
desde la óptica del programador define el punto de entrada al programa. Las funciones
se declaran en cabeceras (estándar o específicas de usuario) o dentro de los ficheros
fuente. Estas declaraciones son denominadas prototipos. En ocasiones la declaración y
definición se realiza en el mismo punto (como ocurre con las variables), aunque es
normal colocar al principio del fuente los "prototipos" de las funciones que serán
utilizadas en su interior, y las definiciones en cualquier otro sitio (generalmente al
final). En el caso del ejemplo anterior, la declaración y definición de func1 se ha
realizado en el mismo punto, mientras que la declaración de func2 se realiza dentro del
cuerpo de la clase y la definición en el exterior de esta. La forma general del prototipo
de una función es: valor-devuelto nombre-función (lista-de-argumentos); La forma
general de la definición es:

valor-devuelto nombre-función (lista-de-argumentos) {


sentencias; // "cuerpo" de la función
}

Ejemplo:

float cuadrado (float x); // prototipo


float cuadrado (float x) { return x*x; } // definición

La comunicación entre el programa y las funciones que lo componen se realiza


mediante los argumentos de llamada, los valores devueltos y las variables globales y
externas.

El operador de invocación a función

En ocasiones, en especial al tratar la sobrecarga de operadores, es conveniente


considerar una invocación del tipo func(lista-de-argumentos); como un operador
binario; el denominado operador de invocación a función ( ) que se aplica entre el
primer argumento func y el segundo, lista-de-argumentos. En este sentido la invocación
anterior sería equivalente a: func()lista-de-argumentos.

Parámetros

Normalmente, las funciones operan sobre ciertos valores pasados a las mismas ya sea
como constantes literales o como variables, aunque se pueden definir funciones que no
reciban parámetros. Existen dos formas en de pasar parámetros a una función; por
referencia o por valor. El hecho es que si en una declaración de función se declaran
parámetros por referencia, a los mismos no se les podrá pasar valores literales ya que
las referencias apuntan a objetos (variables o funciones) residentes en la memoria; por
otro lado, si un parámetro es declarado para ser pasado por valor, el mismo puede
pasarse como una constante literal o como una variable. Los parámetros pasados por
referencia pueden ser alterados por la función que los reciba, mientras que los
parámetros pasados por valor o copia no pueden ser alterados por la función que los
recibe, es decir, la función puede manipular a su antojo al parámetro, pero ningún
cambio hecho sobre este se reflejará en el parámetro original.

Parámetros constantes
Los parámetros usados por una función pueden declararse como constantes ( const ) al
momento de la declaración de la función. Un parámetro que ha sido declarado como
constante significa que la función no podrá cambiar el valor del mismo ( sin importar si
dicho parámetro se recibe por valor o por referencia ).

Parámetros con valor por defecto


Los parámetros usados por una función pueden declararse con un valor por defecto. Un
parámetro que ha sido declarado con valor por defecto es opcional a la hora de hacer la
llamada a la función

Funciones anidadas

A diferencia de Pascal, el lenguaje C, C++ no permite anidar funciones, sin embargo,


dentro de una funcíon puede existir la llamada a una o más funciones declaradas
previamente.

Funciones sobrecargadas

C++, a diferencia del C estándar, permite declarar funciones con el mismo nombre y a
esto se conoce como sobrecarga de funciones. Las funciones sobrecargadas pueden
coincidir en tipo, pero al menos uno de sus parámetros tiene que ser diferente. En todo
caso, si usted trata de declarar funciones sobrecargadas que coincidan en tipo y
número de parámetros el compilador no se lo permitirá.
Función (Programación). En computación, una subrutina o subprograma (también
llamada procedimiento, función o rutina), como idea general, se presenta como un
subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea
específica. Algunos lenguajes de programación, como Visual Basic.NET o Fortran,
utilizan el nombre función para referirse a subrutinas que devuelven un valor.
Desde un punto de vista práctico, podemos decir que una función es una parte de un
programa (subrutina) con un nombre, que puede ser invocada (llamada a ejecución)
desde otras partes tantas veces como se desee. Un bloque de código que puede ser
ejecutado como una unidad funcional. Opcionalmente puede recibir valores; se ejecuta
y puede devolver un valor. Desde el punto de vista de la organización, podemos decir
que una función es algo que permite un cierto orden en una maraña de algoritmos.
Las funciones son la parte central de la programación. Algunos lenguajes, como Pascal,
distinguen entre procedimientos ("Procedures") y funciones. En C++ las funciones
desempeñan ambos papeles, aunque en cierto modo, los ficheros desempeñan algunas
funcionalidades de lo que, en otros lenguajes como Modula-2, se denominan módulos.
Otra diferencia substancial es que C++ no permite el anidamiento de funciones, es
decir, definir funciones dentro de otras. En C++ todas las funciones se definen a nivel
de fichero, con lo que tienen ámbito global al fichero.
Existe una excepción a esta regla; se refiere a las funciones miembro de las clases, que
pueden ser declaradas y definidas dentro de las propias clases. Aunque las clases no
son por supuesto funciones en el sentido estricto, si representan cierta
compartimentación de datos y procedimientos (un tipo de "módulos").

También podría gustarte