Aplique C++ /
Bruce Eckel.
- Madrid: McGraw-Hill, 1991
- 521 p.
CONTENIDO Primera parte. Introducción a los lenguajes orientados a objetos 1 1. Introducción a los lenguajes orientados a objetos 3 Observaciones previas 3 ¿Por qué utilizar un lenguaje orientado a objetos? 4 La evolución de los lenguajes orientados a objetos 5 Soporte para experimentos y estructuras 7 El proceso de traducción del lenguaje 7 Por qué se necesitan objetos 10 Las ventajas de la herencia 13 La definición de un lenguaje orientado al objeto 15 C++ frente a Smallta1k 16 Conclusión 17 2. Empleo de clases predefinidas 19 Herramientas para realizar compilación separada 20 Su primer programa en C++ 26 Make. Una herramienta esencial para la compilación separada 31 Más información sobre streams 32 Control de ejecución en C y en C++ 35 Introducción a los operadores de C y C++ 42 Empleo de E/S estándar para un manejo fácil de archivos 43 Programas de utilidad empleando streams y E/S estándares 47 Makefile para los ejemplos del capítulo 49 Conclusión 51 3. Creación de clases en C++ 53 Introducción a los datos C++ 53 Ambito 56 Determinación de asignación de memoria 58 Los operadores de C y de C++ y su empleo 65 Creación de funciones en C y C++ 74 Características únicas de funciones de C++ 76 Sobrecarga de función en C++ 79 La class: Definición de sus límites 82 El archivo de cabecera 88 Definición de las funciones miembro class 94 Otros elementos como clase 100 Consejos de depuración 105 Makefile para los ejemplos del capítulo 110 4. Punteros y referencias 113 Las direcciones son como buzones de correos 113 Punteros 114 Empleo de punteros y direcciones 117 Punteros de variables 120 Punteros arrays 123 El tamaño de un puntero (modelos de memoria) 134 Direcciones de función 136 Ejemplos de empleo del puntero 142 La característica de referencia 149 Cuándo utilizar referencias 160 Makefile para los ejemplos del capítulo 163 Segunda parte. Programación orientada a objetos con C++ 165 5. Operadores y funciones 167 La sintaxis de sobrecarga del operador 168 Ejemplos de sobrecarga del operador 169 Cómo crear sus propios operadores de conversión de tipo 182 Ejemplo: creación de sus propias funciones stream 191 Selección de funciones "Friend" o "Member" para sobrecarga de operador 194 Sobrecarga de función 196 Makefile para los ejemplos del capítulo 199 6. Creación de objetos en tiempo de ejecución 201 Tendencias de algunos de los lenguajes más populares 201 Creación de objetos dinámicos 203 Objetos de tamaño arbitrario 215 El mecanismo de creación de objetos dinámicos 224 Cambiar el funcionamiento de new y delete 231 Riesgos en la asignación dinámica de memoria 235 Empleo de referencias con asignaciones dinámicas de memoria 237 Asignación a this en un constructor 238 Makefile para los ejemplos del capítulo 244 7. Reutilización de código en C++ 247 Reutilización de código con objetos miembro 248 Reutilización del código con herencia 256 Almacenar objetos en disco 274 Una lista puede guardarse y recuperarse a sí misma 284 Acceso a los elementos de la clase base 292 Makefile para los ejemplos del capítulo 295 8. Escribir programas ampliables en C++ 299 Codificar la jerarquía de "transporte" en C++ 301 Funciones virtuales 306 Un sistema de menú ampliable 313 Clases abstractas 327 Simulación utilizando clases abstractas 337 Makefile para los ejemplos del capítulo 340 9. Argumentos y valores de retorno 343 Paso por nombre, valor o referencia 343 Actividades ocultas 345 Asignación de objetos 351 Ejemplo de copia profunda: clase matriz 353 Seguimiento (traza) de la creación y destrucción de objetos 359 Devolver objetos con *new 365 Makefile de los ejemplos del capítulo 370 10. Ejemplos completos 371 Argumentos de línea de órdenes, "Flags" y archivos 371 Un programa para listar archivos 379 TAWK: Un intérprete de base de datos sencillo 383 Cómo utilizar el programa CONTROLR 404 11. C++: Versión 2.0 427 Otras incompatibilidades con ANSI C 428 Herencia múltiple 433 Enlace tipo-seguro (Type-Safe Linkage) 438 El compilador puede crear el inicializador de copia y el operator 442 Los operadores new y delete pueden sobrecargarse 443 new y delete Global 445 Se pueden sobrecargar nuevos operadores 447 Punteros a miembros 449 Nuevos calificadores para funciones miembro 451 Nuevas formas de inicialización 454 Tipos basados en parámetros 459 Tratamiento de excepciones 461 Cambios diversos 462 El orden de inicialización de objetos estáticos 467 A. MicroCAD 469 El código de MicroCAD 469 Características para añadir como ejercicio 484 Makefile para MicroCAD 485 B. La clase matriz 487 Archivos estándar de matriz 487 Mejoras en la rapidez 489 Código para la clase matriz 489 Makefile para la clase matriz 502 C. Ventanas 503 Código para la ventana cerrada 504 Otras mejoras que se podrían añadir 510 Makefile para el Apéndice C 511 Indice 515
8476155670
LENGUAJES DE PROGRAMACION LENGUAJE C++ C++ LENGUAJES ORIENTADOS A OBJETOS