Presentación de Tipos de datos para c++ de programacion
1. TIPOS DE DATOS PARA C++
BERRONES VÉLEZ VALERIA
BARRERA AGUILAR JESÚS SALVADOR
2. ¿QUÉ ES 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 lenguaje de programación C
mecanismos que permiten 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 sumaron a los
paradigmas de programación estructurada y 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.
3. TIPOS DE DATOS C++
• Tamaños asociados.
• Tamaños de tipos primitivos bajo i386 (GCC)
• Tipo Número de bits
• char 8
• short 16
• int 32
• float 32
• double 64
• Según la máquina y el compilador que se utilice los tipos primitivos pueden ocupar un determinado tamaño en memoria. La siguiente lista
ilustra el número de bits que ocupan los distintos tipos primitivos en la arquitectura x86.
• Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no dice nada acerca de cuál es el número de bits
en un byte, ni del tamaño de estos tipos; más bien, ofrece solamente las siguientes "garantías de tipos":
4. Los tipos de datos en C++ se clasifican en primitivos y
derivados.
Los tipos de datos primitivos son los que están definidos
dentro del lenguaje.
Los tipos de datos derivados se forman a partir de los tipos
primitivos.
• La función principal del código fuente main debe tener uno de
los siguientes prototipos:
• int main()
• int main(int argc, char** argv)
Aunque no es estándar algunas implementaciones permiten
5. TIPOS DE DATOS C++ NUMÉRICOS
ENTEROS
• El tipo de dato numérico entero es un subconjunto finito de los
números enteros del mundo real. Pueden ser positivos o
negativos.
• En C++ los tipos de datos numéricos enteros son los
siguientes:
6. Con los tipos enteros pueden utilizarse los calificadores signed y
unsigned. Estos calificadores indican si el número tiene signo o no. Si
se usan solos, sin indicar el tipo de dato se asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x; equivale a: unsigned x;
Usando estos calificadores podemos tener los siguientes tipos enteros:
7. TIPOS DE DATOS NUMÉRICOS REALES
• El tipo de dato numérico real es un subconjunto finito de los
números reales. Pueden ser positivos o negativos.
• En C++ los tipos de datos numéricos reales son los siguientes.
8. • Tipo lógico
• Los datos de este tipo sólo pueden contener dos valores: true
o false (verdadero o falso).
• Si se muestran como enteros, el valor true toma el valor 1 y
false el valor 0.
9. LA PALABRA "NULL"
• Además de los valores que pueden tomar los tipos anteriormente mencionados, existe un valor
llamado NULL, sea el caso numérico para los enteros, carácter para el tipo char, cadena de texto para
el tipo string, etc. El valor NULL, expresa, por lo regular, la representación de una Macro, asignada al
valor "0".
• Tenemos entonces que:
void* puntero = NULL;
int entero = NULL;
bool boleana = NULL;
char caracter = NULL;
10. EL CONCEPTO DE LA CLASE.
• Los objetos en C++ son abstraídos mediante una clase. Según
el paradigma de la programación orientada a objetos un objeto
consta de:
1. Identidad, que lo diferencia de otros objetos (Nombre que
llevará la clase a la que pertenece dicho objeto).
2. Métodos o funciones miembro.
3. Atributos o variables miembro.
11. EJEMPLO DE
ESTOS DATOS.
Podemos ver palabras
como clas punto
Que se refiere a
variables miembro
privada
Hay varias variables
estas son:
Variables Protegidas.
Constructor.
Destructor.
Función de miembro.
12. CONSTRUCTORES Y DESTRUCTORES.
CONSTRUCTOR
• Son unos métodos especiales que se ejecutan
automáticamente al crear un objeto de la clase. En
su declaración no se especifica el tipo de dato que
devuelven, y poseen el mismo nombre que la clase
a la que pertenecen. Al igual que otros métodos,
puede haber varios constructores sobrecargados,
aunque no pueden existir constructores virtuales.
• Como característica especial a la hora de
implementar un constructor, justo después de la
declaración de los parámetros, se encuentra lo que
se llama "lista de inicializadores". Su objetivo es
llamar a los constructores de los atributos que
conforman el objeto a construir.
DESTRUCTOR
• Los destructores son funciones miembro especiales llamadas
automáticamente en la ejecución del programa, y por tanto no
tienen por qué ser llamadas explícitamente por el
programador. Sus principales cometidos son:
• Liberar los recursos computacionales que el objeto de dicha clase
haya adquirido en tiempo de ejecución al expirar este.
• Los destructores son invocados automáticamente al alcanzar el
flujo del programa el fin del ámbito en el que está declarado el
objeto. El único caso en el que se debe invocar explícitamente
al destructor de un objeto, es cuando este fue creado mediante
el operador new, es decir, que este vive en memoria heap, y no
en la pila de ejecución del programa. La invocación del destructor
de un objeto que vive en heap se realiza a través del operador
delete o delete para arrays
13. PLANTILLAS
• Las plantillas son el mecanismo de C++ para implantar el paradigma de la programación genérica. Permiten
que una clase o función trabaje con tipos de datos abstractos, especificándose más adelante cuales son los
que se quieren usar. Por ejemplo, es posible construir un vector genérico que pueda contener cualquier tipo
de estructura de datos. De esta forma se pueden declarar objetos de la clase de este vector que contengan
enteros, flotantes, polígonos, figuras, fichas de personal, etc.
• La declaración de una plantilla se realiza anteponiendo la declaración template <typename A,....> a la
declaración de la estructura (clase, estructura o función) deseado.
14. CLASES ABSTRACTAS
• En C++ es posible definir clases abstractas. Una clase abstracta, o clase base
abstracta (ABC), es una que está diseñada solo como clase padre de las cuales se
deben derivar clases hijas. Una clase abstracta se usa para representar aquellas
entidades o métodos que después se implementarán en las clases derivadas,
pero la clase abstracta en sí no contiene ninguna implementación -- solamente
representa los métodos que se deben implementar. Por ello, no es posible
instanciar una clase abstracta, pero sí una clase concreta que implemente los
métodos definidos en ella.
• Las clases abstractas son útiles para definir interfaces, es decir, un conjunto de
métodos que definen el comportamiento de un módulo determinado. Estas
definiciones pueden utilizarse sin tener en cuenta la implementación que se
hará de ellos.
• En C++ los métodos de las clases abstractas se definen como funciones
virtuales puras.