Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Funciones C++

647 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Funciones C++

  1. 1. Escuela Superior Politécnica de ChimborazoNombre: Andrés SolísFacultad: Informática y ElectrónicaEscuela: Telecomunicaciones y RedesTema: Funciones Borland C++
  2. 2. C++C++ es un lenguaje de programación diseñado a mediados de los años 1980 por BjarneStroustrup. La intención de su creación fue el extender al exitoso lenguaje deprogramación C con mecanismos que permitan la manipulación de objetos. En esesentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es unlenguaje híbrido.Posteriormente se añadieron facilidades de programación genérica, que se sumó a losotros dos paradigmas que ya estaban admitidos (programación estructurada y laprogramación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje deprogramación multiparadigma.Actualmente existe un estándar, denominado ISO C++, al que se han adherido lamayoría de los fabricantes de compiladores más modernos. Existen también algunosintérpretes, tales como ROOT.Una particularidad del C++ es la posibilidad de redefinir los operadores, y de podercrear nuevos tipos que se comporten como tipos fundamentales.El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fueutilizado por primera vez fuera de un laboratorio científico. Antes se había usado elnombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y serefiere a que C++ es una extensión de C. Funciones voidBajo ciertas circunstancias se deseará escribir funciones que no regresen valor alguno(esto sería algo parecido a escribir procederes en Pascal) y para ello podemos declarar ala función como void. La palabra reservada void es utilizada para declarar funciones sinvalor de retorno y también para indicar que una función específica no requiere deparámetros. Por ejemplo, la función pausa () que se verá en seguida, no devolverá valoralguno y la misma no requiere de parámetros.// esta función requiere de la librería iostreamvoid pausa(void){ cout << "Por favor presione <Enter> HOLA..."; cin.get(); cin.ignore(255, n); // rechazar caracteres introducidos antes de <Enter>}Notas: se debe de aclarar que el uso de la palabra void dentro de los paréntesis esopcional al momento de declarar una función. Así, la función pausa ( ) podría habersedeclarado como void pausa ( ), y la misma puede invocarse como: pausa ( ).
  3. 3. Funciones anidadasA diferencia de Pascal, el lenguaje C, C++ no permite anidar funciones, sin embargo,dentro de una función puede existir la llamada a una o más funciones declaradaspreviamente. Funciones de tipo punteroEn muchas ocasiones se desea que ciertas funciones regresen una referencia o punterohacia un tipo (sea este estructurado o no) específico de dato en lugar de un valorespecífico. En tales casos, la función se deberá declarar como para que regrese unpuntero. Por ejemplo, supongamos que deseamos crear una función para convertir unnúmero entero en notación decimal a una cadena de caracteres en forma de númerosbinarios, luego, la función mencionada podría escribirse para que reciba el númeroentero como parámetro y regrese un puntero a una cadena de caracteres conteniendo laconversión. Para ser más puntuales, vamos a escribir un programa en donde se verá lafunción binstr ( ), y cuyo objetivo será precisamente convertir números decimales encadenas binarias.#include <iostream>#include <string.h>using namespace std;// declaración de prototipochar *binstr(unsigned int);// punto de pruebaint main(){ int n = 128; cout << "decimal = " << n << ", binario = " << binstr(n) << endl; cin.get();}// definición de función binstr()// nota: esta funcion requiere de la librería estándar stringchar *binstr(unsigned int n){ static char buffer[65]; int i = 0; strcpy(buffer, "0"); if (n > 0) { while (n > 0) { buffer[i] = ( n & 1 ) + 0; i++; n >>= 1; } buffer[i] = 0; strrev(buffer); } // fin (n > 0) return buffer;}
  4. 4. Funciones sobrecargadasC++, a diferencia del C estándar, permite declarar funciones con el mismo nombre y aesto se conoce como sobrecarga de funciones. Las funciones sobrecargadas puedencoincidir en tipo, pero al menos uno de sus parámetros tiene que ser diferente. En todocaso, si usted trata de declarar funciones sobrecargadas que coincidan en tipo y númerode parámetros el compilador no se lo permitirá. Para poner un ejemplo vamos aconsiderar el caso de dos funciones cuyo nombre será divide, ambas regresarán elcociente de dos números, salvo que una de ellas operará sobre números enteros y la otralo hará sobre números reales (de punto flotante).Nota: cuando en los programas se hace una llamada a una función sobrecargada, elcompilador determina a cual de las funciones invocar en base al tipo y número deparámetros pasados a la función.#include <iostream.h>#include <stdlib.h>using namespace std;// divide enterosint divide(int a, int b){ cout << "división entera" << endl; return ( (b != 0) ? a/b : 0);}// divide realesdouble divide(double a, double b){ cout << "división real" << endl; return ( (b != 0) ? a/b : 0);}// punto de pruebaint main(){ cout << divide(10, 3) << endl; cout << divide(10.0, 3.0) << endl; cin.get();}

×