Documente Academic
Documente Profesional
Documente Cultură
C en C++
2
3.1 Creación de funciones.
●En el antiguo C (previo al estándar), se podía invocar una
función con cualquier número y tipo de argumentos sin que el
compilador se quejase. Todo parecía ir bien hasta que
ejecutabas el programa.
●En C y C++ Estándar usan una característica llamada
prototipado de funciones. Con esta herramienta se han de
describir los tipos de argumentos al declarar y definir una
función.
●Esta descripción es el «prototipo». Cuando la función es
llamada, el compilador usa el prototipo para asegurar que los
argumentos pasados son los apropiados, y que el valor
retornado es tratado correctamente. Si el programador comete
un error al llamar a la función, el compilador detecta el error. 3
3.1 Creación de funciones.
●Esencialmente, aprendió sobre prototipado de funciones (sin
llamarlas de ese modo) en el capítulo previo, ya que la forma de
declararlas en C++ requiere de un prototipado apropiado.
●En un prototipo de función, la lista de argumentos contiene los
tipos de argumentos que se deben pasar a la función y
(opcionalmente para la declaración), identificadores para los
argumentos.
El orden y tipo de los argumentos debe coincidir en la
●
4
3.1 Creación de funciones.
●A continuación se muestra un ejemplo de un prototipo de
función en una declaración:
– int translate(float x, float y, float z);
No se puede usar la misma sintaxis para declarar los
●
5
3.1 Creación de funciones.
En una declaración de función, lo siguiente también es
●
correcto:
– int translate(float, float, float);
Ya que el compilador no hace más que chequear los tipos
●
6
3.1 Creación de funciones.
C y C++ tienen otras maneras de declarar una lista de
●
argumentos.
Si se tiene una lista de argumentos vacía, se puede declarar
–
7
3.1 Creación de funciones.
La otra opción para las listas de argumentos se produce cuando
●
suspensivos (...).
Definir una función con una lista de argumentos variable es
●
8
3.1 Creación de funciones.
●Se puede utilizar una lista de argumentos variable para una
función que tiene un grupo de argumentos fijos si se quiere
deshabilitar la comprobación del prototipo de función.
Por eso, se debe restringir el uso de listas de argumentos
●
9
3.1.1. Valores de retorno de las funciones.
Un prototipo de función C++ debe especificar el tipo de valor
●
10
3.1.1. Valores de retorno de las funciones.
● A continuación hay algunos prototipos completos de funciones:
– int f1(void); // Devuelve un entero, no tiene argumentos
– int f2(); // igual que f1() en C++ pero no en C Stantard
– float f3(float, int, char, double); // Devuelve un float
– void f4(void); // No toma argumentos, no devuelve nada
11
3.1.1. Valores de retorno de las funciones.
●Para devolver un valor desde una función, se utiliza la sentencia
return.
Esta sentencia termina la función y salta hasta la sentencia que
●
12
3.1.1. Valores de retorno de las funciones.
●Puede haber más de una sentencia return en una definición de
función:
//: C03:Return.cpp
// Use of "return"
#include <iostream>
using namespace std;
13
3.1.1. Valores de retorno de las funciones.
En cfunc(), el primer if que comprueba que la condición sea true
●
14
3.1.1. Valores de retorno de las funciones.
En cfunc(), el primer if que comprueba que la condición sea true
●
15