SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
Escuela Superior Politécnica de
            Chimborazo
Nombre:
     Andrés Solís
Facultad:
     Informática y Electrónica
Escuela:
     Telecomunicaciones y Redes
Tema:
     Funciones Borland C++
C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de
programación C con mecanismos que permitan la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los
otros dos paradigmas que ya estaban admitidos (programación estructurada y la
programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de
programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la
mayoría de los fabricantes de compiladores más modernos. Existen también algunos
intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder
crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue
utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el
nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se
refiere a que C++ es una extensión de C.



                                     Funciones void

Bajo 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 a
la función como void. La palabra reservada void es utilizada para declarar funciones sin
valor de retorno y también para indicar que una función específica no requiere de
parámetros. Por ejemplo, la función pausa () que se verá en seguida, no devolverá valor
alguno y la misma no requiere de parámetros.

// esta función requiere de la librería iostream
void 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 es
opcional al momento de declarar una función. Así, la función pausa ( ) podría haberse
declarado como void pausa ( ), y la misma puede invocarse como: pausa ( ).
Funciones anidadas

A 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 declaradas
previamente.



                             Funciones de tipo puntero

En muchas ocasiones se desea que ciertas funciones regresen una referencia o puntero
hacia un tipo (sea este estructurado o no) específico de dato en lugar de un valor
específico. En tales casos, la función se deberá declarar como para que regrese un
puntero. Por ejemplo, supongamos que deseamos crear una función para convertir un
número entero en notación decimal a una cadena de caracteres en forma de números
binarios, luego, la función mencionada podría escribirse para que reciba el número
entero como parámetro y regrese un puntero a una cadena de caracteres conteniendo la
conversión. Para ser más puntuales, vamos a escribir un programa en donde se verá la
función binstr ( ), y cuyo objetivo será precisamente convertir números decimales en
cadenas binarias.

#include <iostream>
#include <string.h>

using namespace std;

// declaración de prototipo
char *binstr(unsigned int);

// punto de prueba
int 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 string
char *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;
}
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á. Para poner un ejemplo vamos a
considerar el caso de dos funciones cuyo nombre será divide, ambas regresarán el
cociente de dos números, salvo que una de ellas operará sobre números enteros y la otra
lo hará sobre números reales (de punto flotante).



Nota: cuando en los programas se hace una llamada a una función sobrecargada, el
compilador determina a cual de las funciones invocar en base al tipo y número de
parámetros pasados a la función.

#include <iostream.h>
#include <stdlib.h>

using namespace std;

// divide enteros
int divide(int a, int b)
{
    cout << "división entera" << endl;
    return ( (b != 0) ? a/b : 0);
}

// divide reales
double divide(double a, double b)
{
    cout << "división real" << endl;
    return ( (b != 0) ? a/b : 0);
}
// punto de prueba
int main()
{
    cout << divide(10, 3) << endl;
    cout << divide(10.0, 3.0) << endl;
    cin.get();
}

Weitere ähnliche Inhalte

Was ist angesagt?

Programación C++
Programación C++Programación C++
Programación C++Juan Islas
 
Creacion de una librería propia en C
Creacion de una librería propia en CCreacion de una librería propia en C
Creacion de una librería propia en CRonny Parra
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CCristian Maza
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Milton Nicolay
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de bibliotecaSNPP
 
Tipos de Datos
Tipos de Datos Tipos de Datos
Tipos de Datos Aquino1912
 
Sintaxis funciones c++
Sintaxis funciones c++Sintaxis funciones c++
Sintaxis funciones c++Fabiola Cortes
 
Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónSalvador Fernández Fernández
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3louis
 
Bibliotecas de lenguaje c++
Bibliotecas de lenguaje c++Bibliotecas de lenguaje c++
Bibliotecas de lenguaje c++triss0706
 

Was ist angesagt? (19)

Programación C++
Programación C++Programación C++
Programación C++
 
Creacion de una librería propia en C
Creacion de una librería propia en CCreacion de una librería propia en C
Creacion de una librería propia en C
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación C
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++
 
C++
C++C++
C++
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
 
Tipos de Datos
Tipos de Datos Tipos de Datos
Tipos de Datos
 
Sintaxis funciones c++
Sintaxis funciones c++Sintaxis funciones c++
Sintaxis funciones c++
 
Bibliotecas de c_
Bibliotecas de c_Bibliotecas de c_
Bibliotecas de c_
 
Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra función
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
Bibliotecas de lenguaje c++
Bibliotecas de lenguaje c++Bibliotecas de lenguaje c++
Bibliotecas de lenguaje c++
 
Punteros
PunterosPunteros
Punteros
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 

Andere mochten auch

Andere mochten auch (9)

Elementos básicos del lenguaje
Elementos básicos del lenguajeElementos básicos del lenguaje
Elementos básicos del lenguaje
 
funciones con c++
funciones con c++funciones con c++
funciones con c++
 
Funciones biblioteca
Funciones bibliotecaFunciones biblioteca
Funciones biblioteca
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Manual de lenguaje c++
Manual de lenguaje c++Manual de lenguaje c++
Manual de lenguaje c++
 
Diapositivas funciones 1
Diapositivas funciones 1Diapositivas funciones 1
Diapositivas funciones 1
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 

Ähnlich wie Funciones C++

Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacioncharnisch
 
Instituto tecnológico particular
Instituto tecnológico particularInstituto tecnológico particular
Instituto tecnológico particularCarlota Guzman
 
Instrucciones Básicas para C++
Instrucciones Básicas para C++Instrucciones Básicas para C++
Instrucciones Básicas para C++pilgrim15
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1logan1725
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1nibox
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Carlos
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Carlos
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Carlos
 
Conceptos de c
Conceptos de cConceptos de c
Conceptos de cDrakan55
 
1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguajeyuli02
 
1ra parte elementos basicos del lenguaje
 1ra parte elementos basicos del lenguaje 1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguajeyuli02
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDFLeider Sanchez
 
Unidad1
Unidad1Unidad1
Unidad1JHONNY
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1camnav
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Joaquin1418
 

Ähnlich wie Funciones C++ (20)

Investigacion 1
Investigacion 1Investigacion 1
Investigacion 1
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
Clase 1 Programación II
Clase 1 Programación IIClase 1 Programación II
Clase 1 Programación II
 
Instituto tecnológico particular
Instituto tecnológico particularInstituto tecnológico particular
Instituto tecnológico particular
 
Instrucciones Básicas para C++
Instrucciones Básicas para C++Instrucciones Básicas para C++
Instrucciones Básicas para C++
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Programacion c
Programacion cProgramacion c
Programacion c
 
Conceptos de c
Conceptos de cConceptos de c
Conceptos de c
 
1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje
 
1ra parte elementos basicos del lenguaje
 1ra parte elementos basicos del lenguaje 1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDF
 
Unidad1
Unidad1Unidad1
Unidad1
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Kürzlich hochgeladen (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Funciones C++

  • 1. Escuela Superior Politécnica de Chimborazo Nombre: Andrés Solís Facultad: Informática y Electrónica Escuela: Telecomunicaciones y Redes Tema: Funciones Borland C++
  • 2. C++ C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales. El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C. Funciones void Bajo 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 a la función como void. La palabra reservada void es utilizada para declarar funciones sin valor de retorno y también para indicar que una función específica no requiere de parámetros. Por ejemplo, la función pausa () que se verá en seguida, no devolverá valor alguno y la misma no requiere de parámetros. // esta función requiere de la librería iostream void 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 es opcional al momento de declarar una función. Así, la función pausa ( ) podría haberse declarado como void pausa ( ), y la misma puede invocarse como: pausa ( ).
  • 3. Funciones anidadas A 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 declaradas previamente. Funciones de tipo puntero En muchas ocasiones se desea que ciertas funciones regresen una referencia o puntero hacia un tipo (sea este estructurado o no) específico de dato en lugar de un valor específico. En tales casos, la función se deberá declarar como para que regrese un puntero. Por ejemplo, supongamos que deseamos crear una función para convertir un número entero en notación decimal a una cadena de caracteres en forma de números binarios, luego, la función mencionada podría escribirse para que reciba el número entero como parámetro y regrese un puntero a una cadena de caracteres conteniendo la conversión. Para ser más puntuales, vamos a escribir un programa en donde se verá la función binstr ( ), y cuyo objetivo será precisamente convertir números decimales en cadenas binarias. #include <iostream> #include <string.h> using namespace std; // declaración de prototipo char *binstr(unsigned int); // punto de prueba int 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 string char *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. 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á. Para poner un ejemplo vamos a considerar el caso de dos funciones cuyo nombre será divide, ambas regresarán el cociente de dos números, salvo que una de ellas operará sobre números enteros y la otra lo hará sobre números reales (de punto flotante). Nota: cuando en los programas se hace una llamada a una función sobrecargada, el compilador determina a cual de las funciones invocar en base al tipo y número de parámetros pasados a la función. #include <iostream.h> #include <stdlib.h> using namespace std; // divide enteros int divide(int a, int b) { cout << "división entera" << endl; return ( (b != 0) ? a/b : 0); } // divide reales double divide(double a, double b) { cout << "división real" << endl; return ( (b != 0) ? a/b : 0); } // punto de prueba int main() { cout << divide(10, 3) << endl; cout << divide(10.0, 3.0) << endl; cin.get(); }