Titulación: Asignatura: Código: Año: Periodo: Carácter: No de

Anuncio
Titulación:
Asignatura:
Código:
Año:
Periodo:
Carácter:
No de Créditos:
Departamento:
Área de Conocimiento:
Curso:
Ingeniero Técnico de Telecomunicación (38)
PROGRAMACIÓN AVANZADA.
20590
2º
Cuatrimestre 1º
Troncal
4.5 (4,5 Teor, 0 Práct, )
Automática
Arquitectura y Tecnología de Computadores (ATC)
2012-2013
PROGRAMA DE TEORÍA
Lección 1. Programación orientada a objetos.
Pensar en objetos, Clases y objetos, Mensajes y métodos, Diseño de una clase de
objetos, Constructores, Herencia.
Lección 2. Qué aporta C++.
Historia del lenguaje C++. Resumen de la biblioteca de C++. C++ para programadores
de c. Elementos del lenguaje. El operador de resolución del ámbito. Funciones en línea.
Funciones sobrecargadas. Operadores sobrecargados. Referencias. Clases. Plantillas.
Espacios de nombres. Directriz using. Flujos de entrada salida estándar. Contenedores:
vector, map y string. Excepciones. Los operadores new y delete.
Lección 3. Clases.
Definición de una clase. Atributos. Métodos de una clase. Control de acceso a los
miembros de la clase. Clases en ficheros de cabecera. Métodos sobrecargados.
Parámetros con valores por omisión. El puntero implícito this. Métodos y objetos
constantes. Constructor. Asignación de objetos. Constructor copia. Destrucción de
objetos. Punteros como atributos de una clase. Miembros static de una clase. Atributos
que son objetos. Clases internas. Integridad de los datos. Devolver un puntero o una
referencia. Matrices de objetos. Funciones amigas de una clase. Punteros a miembros
de una clase. Clase contenedor: vector, map, list y string.
Lección 4. Operadores sobrecargados.
Sobrecargar un operador. Sobrecarga de operadores binarios. Sobrecarga de operadores
unarios. Incremento y decremento. Operadores unarios/binarios. Conversión de tipos
definidos por el usuario: conversión mediante constructores, operadores de conversión.
Asignación. Indexación. Llamada a función. Desreferencia. Sobrecarga de los
operadores new y delete.
Lección 5. Clases derivadas.
Clases derivadas y herencia. Definir una clase derivada. Control de acceso a los
miembros de las clases. Qué miembros hereda una clase derivada. Atributos con el
mismo nombre. Redefinir métodos de la clase base. Constructores de clases derivadas.
Copia de objetos. Destructores de clases derivadas. Jerarquía de clases. Funciones
amigas. Punteros y referencias. Conversiones implícitas. Conversiones explícitas.
Métodos virtuales. Cómo son implementados los métodos virtuales. Constructores
virtuales. Destructores virtuales. Información de tipos durante la ejecución. Operador
dynamic_cast. Operador typeid. Polimorfismo. Clases abstractas. Herencia múltiple.
Clases base virtuales. Redefinición de métodos de bases virtuales. Conversiones entre
clases.
Lección 6. Plantillas.
Definición de una plantilla. Funciones genéricas. Especialización de plantillas de
función. Sobrecarga de plantillas de función. Organización del código de las plantillas.
Clases genéricas. Especialización de plantillas de clase. Derivación de plantillas. Otras
características de las plantillas.
Lección 7. Excepciones.
Excepciones de C++. Manejar excepciones. Lanzar una excepción. Capturar una
excepción. Excepciones derivadas. Capturar cualquier excepción. Relanzar una
excepción. Crear excepciones. Especificación de excepciones. Excepciones no
esperadas. Flujo de ejecución. Cuándo utilizar excepciones y cuándo no. Adquisición
de recursos. Punteros automáticos.
Lección 8. Flujos.
Visión general de los flujos de e/s. Búferes. Descripción de los búferes y flujos: clases
streambuf, filebuf, ostream, istream, iostream, ofstream, ifstream, fstream. E/S carácter
a carácter. E/S de cadenas de caracteres. Entrada/salida con formato. E/S utilizando
registros. Abriendo ficheros para acceso secuencial. Utilización de dispositivos
estándar. Acceso aleatorio a ficheros en el disco. Cadenas de caracteres.
TOTAL CRÉDITOS TEÓRICOS/AREA DE: 3 / ATC
BIBLIOGRAFÍA
El lenguaje de programación C++. Stroustrup B.
C++ Premier. Stanley B. Lippman and Josée Lajoie.
Programación orientada a objetos con C++. Ed. RA-MA. Fco. Javier Ceballos.
Lenguajes de programación. Diseño e Implementación. Terence W.Pratt. Marvin V.
Zelkowitz. Prentice Hall.
Como programar en C/C++. Ed. Prentice Hall. H.M.Deitel & P.J.Deitel.
Descargar