LUJÁN MORA, SERGIO
Índice de cuadros.
Índice de figuras.
Capítulo 1. Introducción.
1.1. Introducción.
1.2. Ventajas de C++.
1.3. Objetivos de este libro.
1.4. Contenido de los capítulos.
1.5. Sistema operativo y compilador.
1.6. Convenciones tipográficas.
Capítulo 2. Clases y objetos.
2.1. Introducción.
2.2. Declaración de una clase.
2.3. Acceso a los miembros de una clase.
2.4. Control de acceso.
2.5. Visualización de un objeto.
2.6. Empleo de punteros.
2.7. Separación de la interfaz y la implementación.
2.8. La herramienta make.
2.9. Ficheros de encabezado.
2.10. Uso de espacios de nombres.
2.11. Ejercicios de autoevaluación.
2.12. Ejercicios de programación.
2.13. Respuesta a los ejercicios de autoevaluación.
2.14. Respuesta a los ejercicios de programación.
Capítulo 3. Constructor y destructor.
3.1. Sobrecarga de funciones.
3.2. Constructor.
3.3. Constructor por defecto.
3.4. Otros constructores.
3.5. Constructor de copia.
3.6. ¿Un constructor en la parte privada?.
3.7. Destructor.
3.8. Forma canónica de una clase.
3.9. Ejercicios de autoevaluación.
3.10. Ejercicios de programación.
3.11. Respuesta a los ejercicios de autoevaluación.
3.12. Respuesta a los ejercicios de programación.
Capítulo 4. Funciones y clases amigas y reserva de memoria.
4.1. Introducción.
4.2. Declaración de amistad.
4.3. Guardas de inclusión.
4.4. Administración de memoria dinámica.
4.5. Administración de memoria dinámica y arrays de objetos.
4.6. Compilación condicional.
4.7. Directivas #warning y #error.
4.8. Ejercicios de autoevaluación.
4.9. Ejercicios de programación.
4.10. Respuesta a los ejercicios de autoevaluación.
4.11. Respuesta a los ejercicios de programación.
Capítulo 5. Sobrecarga de operadores.
5.1. Introducción.
5.2. Puntero this.
5.3. Modificador const.
5.4. Paso por referencia.
5.5. Sobrecarga de operadores.
5.6. Restricciones al sobrecargar un operador.
5.7. ¿Función miembro o función no miembro?.
5.8. Consejos.
5.9. Operador asignación.
5.10. Constructor de copia y operador asignación.
5.11. Operadores aritméticos.
5.12. Operadores de incremento y decremento.
5.13. Operadores abreviados.
5.14. Operadores de comparación.
5.15. Operadores de entrada y salida.
5.16. Operador corchete.
5.17. Ejercicios de autoevaluación.
5.18. Ejercicios de programación.
5.19. Respuesta a los ejercicios de autoevaluación.
5.20. Respuesta a los ejercicios de programación.
Capítulo 6. Composición y herencia.
6.1. Introducción.
6.2. Composición.
6.3. Inicialización de los objetos miembro.
6.4. Herencia.
6.5. Ejercicios de autoevaluación.
6.6. Ejercicios de programación.
6.7. Respuesta a los ejercicios de autoevaluación.
Capítulo 7. Otros temas.
7.1. Forma canónica de una clase.
7.2. Funciones de cero parámetros.
7.3. Valores por omisión de una función.
7.4. Funciones inline.
Capítulo 8. Errores más comunes.
8.1. Introducción.
8.2. Sobre el fichero makefile y la compilación.
8.3. Sobre las directivas de inclusión.
8.4. Sobre las clases.
8.5. Sobre la sobrecarga de los operadores.
8.6. Sobre la memoria.
8.7. Sobre las cadenas.
8.8. Varios.
Capítulo 9. Ejercicios.
9.1. Mentiras arriesgadas.
9.2. La historia interminable.
9.3. Pegado a ti.
9.4. Clase TComplejo.
Apéndice A. Palabras clave.
Apéndice B. Operadores.
Apéndice C. Sentencias.
Apéndice D. Herramientas.
Apéndice E. Código de las clases.
Bibliografía recomendada.
Índice alfabético.
El libro está estructurado como soporte de un curso de introducción al lenguaje C++. Todas las explicaciones van acompañadas de ejemplos, seguidos de ejecuciones que muestran la entrada/salida del ejemplo para afianzar los conceptos. Es aconsejable que el lector lea este libro delante del ordenador, para que al realizar y modificar los ejemplos comprenda mejor su funcionamiento. Además, al final de cada capítulo se proponen ejercicios de autoevaluación y de programación, todos ellos con sus correspondientes soluciones.
La principal aportación de este libro, frente a otros libros similares, es que en él hemos querido reflejar los problemas a los que se enfrenta un lector cuando aprende un lenguaje de programación nuevo. La mayoría de los textos suponen que el lector no va a cometer errores, por lo que no hacen ninguna referencia a los posibles problemas de compilación del código o de comprensión de los conceptos explicados. Sin embargo, en este libro hemos optado por incluir algunos ejemplos con errores para mostrar los mensajes que genera el compilador.