LIBROS PUBLICADOS
EVELIO ALFREDO GRANIZO MONTALVO
Posted 26 Sep 2016 | 16:00 GM
Índice
1. Introducción a los Lenguajes Orientados a Objetos. 1
1.1. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS. 1
1.2. LA EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN. 3
1.3. LA EVOLUCIÓN DE LAS TÉCNICAS DE PROGRAMACIÓN. 5
1.4. LA PROGRAMACIÓN ORIENTADA A OBJETOS FRENTE A LA PROGRAMACIÓN TRADICIONAL 9
1.5. MECANISMOS BÁSICOS DE LA POO.. 14
1.6. VENTAJAS Y DESVENTAJAS DE LOS LENGUAJES ORIENTADOS A OBJETOS 18
1.7. CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. 19
1.8. HISTORIA DE LOS LENGUAJES ORIENTADOS A OBJETOS. 19
1.9 LOS LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS. 21
1.10. HISTORIA DEL LENGUAJE C++. 22
1.11. COMPILADORES DE C++. 24
1.12. SOPORTE DE LA PROGRAMACIÓN ORIENTADA A OBJETOS EN LENGUAJE C++ 25
1.13. MEJORAS DEL LENGUAJE C++ RESPECTO AL LENGUAJE C. 26
1.13.1. comentarios. 26
1.13.2. Entrada y Salida Estándar. 27
1.13.3. Referencias. 31
1.13.4. Almacenamiento Dinámico. 39
1.14. CREACIÓN DE PROGRAMAS EN LENGUAJE C++. 43
2. Clases. 45
2.1. DEFINICIÓN DE UNA CLASE. 45
2.2. MIEMBROS DE UNA CLASE. 46
2.3. ESPECIFICADORES DE ACCESO.. 48
2.3.1. Descripción de los Especificadores de Acceso. 48
2.3.2. Declaración de Variables de Tipo class. 52
2.4. ESTRUCTURAS Y CLASES. 59
2.5. FUNCIONES MIEMBRO EN LÍNEA: inline. 62
2.6. REFERENCIA A OBJETOS. 65
2.7. CLASES EN UN ARCHIVO DE CABECERA. 72
PROBLEMAS PROPUESTOS. 75
3. Constructores y Destructores. 85
3.1. CONSTRUCTORES. 85
3.2. ARGUMENTOS POR OMISIÓN O DEFECTO DE FUNCIONES. 89
3.3. CONSTRUCTOR COPIA. 94
3.4. ALMACENAMIENTO DINÁMICO CON OBJETOS. 96
3.5. DESTRUCTORES. 104
3.6. PROBLEMA DEL PASO POR VALOR DE OBJETOS A FUNCIONES. 110
3.7. PUNTERO: this. 111
PROBLEMAS PROPUESTOS. 115
4. Amigas, Miembros static y Punteros a Miembros. 131
4.1. FUNCIÓN EXTERNA COMO friend. 131
4.2. FUNCIÓN MIEMBRO DE UNA CLASE COMO friend. 136
4.3. UNA CLASE COMO friend. 139
4.4. MIEMBROS static DE UNA CLASE. 141
4.5. ARREGLOS DE OBJETOS Y CONSTRUCTORES. 145
4.6. PUNTEROS A MIEMBROS DE UNA CLASE. 154
PROBLEMAS PROPUESTOS. 159
5. Sobrecarga. 177
5.1. SOBRECARGA DE UNA FUNCIÓN. 177
5.2. OPERADORES SOBRECARGADOS. 178
5.2.1. Definición. 178
5.2.2. Sobrecarga del Operador de Asignacion: operator=(). 181
5.3. SOBRECARGA DE LOS OPERADORES ARITMÉTICOS. 182
5.4. SOBRECARGA DE LOS OPERADORES LÓGICOS Y DE RELACIÓN. 187
5.5. SOBRECARGA DE OPERADORES UNARIOS. 194
5.5.1. Operador de Negación: operator!(). 195
5.5.2. Operadores Incremento y Decremento: operator++() y operator--() 195
5.5.3. Uso de una Referencia para Sobrecargar un Operador Unario. 200
5.6. CONVERSIÓN DE TIPO.. 201
5.6.1. Mediante un Constructor. 202
5.6.2. Por Medio de un Operador de Conversión. 205
5.7. SOBRECARGA DEL OPERADOR SUBÍNDICE O DE INDEXACIÓN: operator[]() 216
5.8. SOBRECARGA DEL OPERADOR LLAMADA A FUNCIÓN: operator()() 221
5.9. SOBRECARGA DE LOS OPERADORES: operator new y operator delete. 226
5.10. SOBRECARGA DEL OPERADOR DE SALIDA: operator<<() 237
5.11. SOBRECARGA DEL OPERADOR DE ENTRADA: operator>>() 242
5.12. SOBRECARGA DE LOS OPERADORES: operator->, operator* y operator& 246
PROBLEMAS PROPUESTOS. 251
6. Derivación de Clases. 271
6.1. INTRODUCCIÓN. 271
6.2. CLASES DERIVADAS. 271
6.2.1. Definición de clase derivada. 271
6.2.2. Acceso a los miembros heredados de una clase derivada. 277
6.3. ACCESO A LOS MIEMBROS DE LA PARTE PRIVADA DE LA CLASE BASE 280
6.4. CONSTRUCTORES Y DESTRUCTORES DE CLASES DERIVADAS. 293
6.4.1. Constructores. 293
6.4.2. Destructores. 300
6.5. PUNTEROS DE CLASES DERIVADAS. 307
6.6. HERENCIA SIMPLE. 307
6.7. HERENCIA MÚLTIPLE. 319
6.8. CLASES VIRTUALES. 324
6.9. FUNCIONES VIRTUALES. 329
6.9.1. Definición de las funciones virtuales. 329
6.9.2. Redefinición de una Función Virtual 332
6.9.3. Llamada a una Función Virtual 332
6.10. POLIMORFISMO.. 339
6.11. CLASES DE BASE ABSTRACTA. 345
PROBLEMAS PROPUESTOS. 355
7. Clases de E/S de C++. 379
7.1. INTRODUCCIÓN. 379
7.2. FLUJOS DE LENGUAJE C++. 379
7.2.1. Definición de flujos en lenguaje C++. 379
7.2.2. Lectura de cadenas de caracteres. 381
7.3. LAS CLASES stream DE C++. 383
7.4. E/S CON FORMATO.. 384
7.4.1. Formato Usando las Funciones Miembro de la Clase ios. 384
7.4.2. Formato Usando las Funciones Manipuladoras. 392
7.5. CREACIÓN DE FUNCIONES MANIPULADORAS PROPIAS. 395
7.6. OPERACIONES DE E/S DE ARCHIVOS. 398
7.6.1. Abrir y Cerrar un Archivo. 398
7.6.2. Lectura y Escritura de Archivos de Texto. 402
7.6.3. E/S Binaria. 405
7.6.4. Acceso Directo o Aleatorio. 411
7.6.5. La Condición de Estado de Archivo. 419
7.6.6. La Impresora como Flujo. 420
7.6.7. Entrada y Salida de Objetos en Archivos. 422
PROBLEMAS PROPUESTOS. 431
8. Tipos Genéricos. 449
8.1. INTRODUCCIÓN. 449
8.2. PLANTILLAS: template. 450
8.2.1. Plantillas de Funciones. 450
8.2.1.1. Emulación de Plantillas de Funciones en lenguaje C++. 450
8.2.1.2. Definición de una Plantilla de Funciones. 452
8.2.1.3. Utilización de Plantillas de Funciones con Clases. 459
8.2.2. Plantillas de Clases. 461
8.2.2.1. Definición de una Plantilla de Clase. 461
8.2.2.2. Argumentos de una Plantilla. 475
8.3. FUNCIONES Y CLASES GENÉRICAS CON MACROS. 478
8.3.1. Funciones Genéricas con Macros. 478
8.3.2. Clases Genéricas con Macros. 483
8.3.3. Clases Genéricas con Macros de Definiciones de Diferente Tipo. 486
8.3.4. Clases Genéricas Realizadas con Herencia y Polimorfismo. 491
PROBLEMAS PROPUESTOS. 495
9. Excepciones. 507
9.1. DEFINICIÓN DE EXCEPCIONES. 507
9.2. LANZAMIENTO Y CAPTURA DE EXCEPCIONES. 508
9.3. MANEJADOR DE EXCEPCIONES Y LA CLÁUSULA throw. 513
9.4. SOLUCIONES DEL TRATAMIENTO DE EXCEPCIONES. 518
9.5. EXCEPCIONES CON OBJETOS. 521
9.6. EXCEPCIONES ESTÁNDAR DEL LENGUAJE C++. 525
PROBLEMAS PROPUESTOS. 531
Apéndices. 537
A. Desarrollo de un Programa. 539
B. Índice de Programas. 549
C. Imprimir desde el Lenguaje C++ en el Sistema Operativo Windows. 555
Referencias Bibliográficas. 559