1 Corporación Universitaria del Caribe CECAR Fundamentos de programación II
2 Hasta el momento se han hecho funciones que reciben parámetros por valor Se puede pedir que los pase por referencia utilizando &. Por valor: int FijateSiEsCincoVal(int x); Por referencia: int FijateSiEsCincoRef(int &x);
3 Las referencias sirven para definir "alias" o nombres alternativos para un mismo objeto. Para ello se usa el operador de referencia (&).
4 #include void elevarCuadrado (int &); //prototipo de función que recibe una referencia a un int void main() { int x = 0; //Declaracio e inicializacion en 0. cout > x; cout
5 #include void IncrementarVal(int x) { x=x+1; } void IncrementarRef(int &x) { x=x+1; } void main() { int a; a=5; cout
6 cuando se llama a la función incluyendo valores para esos parámetros opcionales, funcionará como cualquiera de las funciones que hemos usado hasta ahora. Pero si se omiten todos o algunos de estos parámetros la función trabajará con los valores por defecto para esos parámetros que hemos definido.
7 #include double VelocidadFinal(double h, double v0=0.0, double g=9.8); void main() { cout
8 Este método tiene algunas limitaciones Sólo los últimos argumentos de las funciones pueden tener valores por defecto. Sólo los últimos argumentos pueden ser omitidos en una llamada. Cada uno de los valores por defecto debe especificarse bien en los prototipos, o bien en las declaraciones, pero no en ambos.
9 Cuando se declaren valores de parámetros por defecto en prototipos, no es necesario indicar el nombre de los parámetros. void funcion(int = 1); // Legal void funcion1(int a, int b=0, int c=1); // Legal void funcion2(int a=1, int b, int c); // Ilegal void funcion3(int, int, int=1); // Legal... void funcion3(int a, int b=3, int c) // Legal { }
10 Los argumentos por defecto empiezan a asignarse empezando por el último. int funcion1(int a, int b=0, int c=1);... funcion1(12, 10); // Legal, el valor para "c" es 1 funcion1(12); // Legal, los valores para "b" y "c" son 0 y 1 funcion1(); // Ilegal, el valor para "a" es obligatorio
11 podemos definir varias funciones con el mismo nombre, con la única condición de que el número y/o el tipo de los argumentos sean distintos. El compilador decide cual de las versiones de la función usará después de analizar el número y el tipo de los parámetros.
12 #include int mayor(int a, int b); char mayor(char a, char b); double mayor(double a, double b); void main() { cout
13 #include int mayor(int a, int b); int mayor(int a, int b, int c); int mayor(int a, int b, int c, int d); void main() { cout
14 Escriba un programa que calcule el área de distintas figuras geométricas(triángulo, Cuadrado, rectángulo, círculo, trapecio, etc.) sobrecargando la función área con el número y tipo de argumentos necesarios para cada tipo de figura.