1
Sintaxis C++ (diferencias entre C y C++)
- Datos: definición, inicialización, tipos de datos.
- Expresiones: noción de referencia, mecanismos de reparto.
- Operadores (: :, nuevo, suprimir).
- Funciones (paso de parámetros y valores de retorno por referencia, valores por defecto, inlining, sobrecarga).
- Uso de código C en un programa C++.
- Referencias (argumentos y valores de retorno).
- Tipos constantes.
- Espacios de nombres.
- Escritura "automática" con la palabra clave auto (C++ 11).
Trabajo práctico
Familiarizarse con el entorno de desarrollo y programar un programa sencillo.
2
Enfoque orientado a objetos
- Los principios generales de las técnicas Objet.
- C++ y programación orientada a objetos.
- Introducción a las metodologías orientadas a objetos.
- Introducción a los modelos y a la notación UML (modelo estático, modelo dinámico, modelo de cooperación, escenario).
Trabajo práctico
Aplicación de los conceptos a un estudio de caso, que será uno de los temas principales de los ejercicios siguientes.
3
Clases y objetos C
- Sintaxis: campos, métodos, constructores.
- Control de acceso.
- Autorreferencia.
- Campos y métodos estáticos.
- Las funciones.
- Métodos y clases amigas.
- Creación dinámica de matrices de objetos.
- Aspectos metodológicos: diseño de la clase.
- Copiar y mover constructores (C++11).
- Delegación de constructores (C++ 11).
- Introducción a la gestión de la memoria (pila, montón, recolector de basura, etc.).
Trabajo práctico
Programación del caso práctico. Diseñar y construir una jerarquía de clases e interfaces.
4
Derivación y herencia
- Principio de derivación.
- Sintaxis: definición de clases derivadas, constructores.
- Control de acceso.
- Implementación del polimorfismo: funciones virtuales.
- Reutilización del código: clases abstractas.
- Interfaces.
- Derivación múltiple.
- Aspectos semánticos y metodológicos: factorizar el código.
Trabajo práctico
La aplicación del polimorfismo en el estudio de casos.
5
Excepciones
- Sintaxis: bloques try, generación de excepciones.
- Aspectos metodológicos: construcción de una jerarquía de excepciones, utilización de excepciones.
Trabajo práctico
La introducción de excepciones en el estudio de casos.
6
Sobrecarga del operador
- Principio de sobrecarga.
- Sobrecarga del operador binario.
- Sobrecarga especial: el operador de índice, función y conversión.
- Sobrecarga de operadores de gestión de memoria.
- Sobrecarga de los operadores '<<' et '>>'.
Trabajo práctico
Sobrecarga de algunos operadores sencillos.
7
Los modelos
- Modelo de clase. Principios generales y mecanismos. Sobrecarga del modelo y redefinición de métodos.
- Modelo de función. Principios generales y mecanismos. Sobrecarga de modelos.
- Modelos y sobrecarga del operador.
- Modelos y mecanismos de derivación.
- Las mejoras que ofrece C++ 11.
Trabajo práctico
Ejercicios sobre modelos.
8
Resumen de E/S y STL
- E/S.
- El principio de los flujos y la jerarquía de las clases de entrada/salida.
- Descripción de algunas clases de entrada/salida.
- Visión general de STL.
- Objetivos y principios.
- Descripciones de algunos modelos y clases.
- Contenedores, iteradores, bucles basados en intervalos (C++ 11).
9
Conclusión
- Ciclo de vida del software: pruebas, integración, método de lanzamiento a producción.
- Interacción con otros entornos.
- Análisis crítico de C++.
- Evolución de C++.