El lenguaje de Programación C++ (I)
Un poco de Historia
Caracteristicas
Diapositiva PPT
Tipos Básicos
Tipo puntero
Tipo array
Tipo referencia
Tipos enumerados
Definición de tipos
Operadores
Asignación
Otros Operadores
Conversiones de tipos
Sentencias
Estructuras de control
Bucles
Cambios en el flujo de control
Funciones
Función main
Optimización de funciones
Paso de argumentos
Programación modular
Compilación condicional
Estructuras
Uniones
Gestión de memoria (I)
Gestion de memoria (II)
Union con C
Subconjunto de un C mejor
El lenguaje de Programación C++ (II)
Programación orientada a objetos (POO)
Programación Orientada a objetos
Programar en OO
Tipos Abstractos de Datos
Tipos Abstractos de datos
Abstracción
Empaquetamiento
Objetos
¿Qué es una clase?
Declaración Objeto
Ventajas de los ADT
Ocultación de información
Interfaz Publico y Privado
Una clase y sus amigos
Diferencias con módulos
Gestión de memoria
Constructores
Ejemplo Pila
Destructores
Class pila{
Inicialización
Sobrecarga de funciones
Sobrecarga de constructores
Sobrecarga de operaciones
Definición de conversorespor los usuarios
Autoreferencia
Metodos tipicos de Clases
Forma común de una clase
Funciones regulares
Problemas de identidad
Templates
Cualficadores
Excepciones
Entrada / Salida
Partes no consideradas
Peligros en el camino
El lenguaje de Programación C++ (III)
Uso de la herencia
Utilidad
Relaciones entre Clases
Herencia
Permiten la modificación incremental (tanto en especialización como generalización).
Beneficios
Peligros
Usos de la Herencia
Tipos clásicos de herencia
Problema de la herencia múltiple
Control de Acceso
Utilidad de herencia
Diferencia entre herencia simple y múltiple
Solución C++
Resolución Dinámica
Motivación
Enlace estático vs. dinámico
Funciones virtuales
Ejemplo video
Resolución dinámica
Características virtual
Clases virtuales puras
Figuras
Eficiencia
Lenguaje en evolución
Diseño Orientado a Objetos
Objetos = Bueno
Diseño Orientado a Objetos (DOO)
Uso de Modelos
Macro modelado
Micro Modelado
Tipos de relaciones
Identificación de clases
Definir el interfaz
Diversas Notaciones gráficas
Pasos a seguir
Testing
Reuso
Conclusiones
Correo electrónico: jsr@dit.upm.es
Página principal: http://www.dit.upm.es/~ljsr