LIBERTY, JESSE / CADENHEAD, ROGERS
Introducción
¿Quién debería leer este libro?
¿Debería aprender antes C?
¿Por qué debería aprender C++?
Convenciones
Material adicional
Parte I. Introducción al C++
1. Su primer programa
Cómo se utiliza C++
Encontrar un compilador
Compilar y enlazar el código fuente
Cree su primer programa
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
2. Organizar las partes de un programa
Motivos para utilizar C++
Estilos de programación
C++ y la programación orientada a objetos
Encapsulación
Herencia y reutilización
Polimorfismo
Las partes de un programa
Directivas de preprocesador
El código fuente línea a línea
Comentarios
Funciones
Utilizar argumentos en las funciones
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
3. Crear variables y constantes
¿Qué es una variable?
Almacenar variables en memoria
Variables con y sin signo
Tipos de variable
Definir una variable
Asignar valores a las variables
Utilizar definiciones de tipos
Constantes
Definir constantes
Constantes enumeradas
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
4. Utilizar expresiones, sentencias y operadores
Sentencias
Espacios en blanco
Sentencias compuestas
Expresiones
Operadores
Operador de asignación
Operadores matemáticos
Combinar operadores
Operadores de incremento y decremento
Operadores de prefijo y sufijo
Precedencia de operadores
Operadores relacionales
Sentencias condicionales If-Else
La cláusula Else
Sentencias If compuestas
Operadores lógicos
El operador AND
El operador OR
El operador NOT
Precedencia relacional
Expresiones con valores peculiares
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
5. Llamar a funciones
¿Qué es una función?
Declarar y definir funciones
Utilizar variables con funciones
Variables locales
Variables globales
Los parámetros de la función
Devolver valores desde funciones
Parámetros por defecto de la función
Sobrecarga de funciones
Funciones en línea
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
6. Controlar el flujo de un programa
Bucles
Bucles while
Salir de los bucles
Continuar por la siguiente iteración
Bucles do-while
Bucles for
Bucles for avanzados
Bucles anidados
Sentencias switch
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
7. Guardar información en vectores y cadenas
¿Qué es un vector?
Rebasar el límite del vector
Inicializar vectores
Vectores multidimensionales
Inicializar vectores multidimensionales
Un par de palabras sobre la memoria
Vectores de caracteres
Copiar cadenas
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
Parte II. Clases
8. Crear clases básicas
¿Qué es un tipo?
Crear nuevos tipos
Clases y miembros
Declarar una clase
Definir un objeto
Acceder a los miembros de las clases
Acceso privado frente a acceso público
Implementar funciones miembro
Crear y eliminar objetos
Constructores por defecto
Los constructores del compilador
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
9. Clases avanzadas
Las funciones miembro const
Interfaz frente a implementación
Organizar las declaraciones de las clases y las definiciones de funciones
Implementación en línea
Clases con otras clases como datos miembro
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
Parte III. Administración de la memoria
10. Crear punteros
Qué son los punteros y cómo se utilizan
Guardar la dirección en un puntero
El operador de acceso indirecto, o cómo utilizar indirectamente los punteros
Punteros, direcciones y variables
Manipular los datos utilizando punteros
Examinar las direcciones almacenadas en los punteros
¿Por qué utilizar punteros?
La pila y el heap
Cómo utilizar la palabra clave new
Cómo utilizar la palabra clave delete
Evitar las fugas de memoria
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
11. Crear punteros avanzados
Crear punteros en el heap
Eliminar objetos
Acceder a miembros dato mediante punteros
Datos miembro en el heap
El puntero this
Punteros perdidos o colgados
Punteros const
Punteros const y funciones miembro const
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
12. Crear referencias
¿Qué es una referencia?
Crear una referencia
Utilizar el operador dirección-de en las referencias
¿A qué se puede hacer referencia?
Punteros nulos y referencias nulas
Pasar los argumentos de una función por referencia
Hacer que swap() trabaje con punteros
Implementar swap() con referencias
Cómo utilizar las cabeceras y los prototipos de función
Devolver varios valores
Devolver valores por referencia
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
13. Crear referencias y punteros avanzados
Pasar por referencia por motivos de eficiencia
Pasar un puntero const
Las referencias como una alternativa a los punteros
Cuándo utilizar referencias y cuándo punteros
¡No devuelva una referencia a un objeto que no está en el ámbito!
Devolver una referencia a un objeto del heap
¿Quién tiene el puntero?
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
Parte IV. C++ avanzado
14. Llamar a funciones avanzadas
Funciones miembro sobrecargadas
Utilizar los valores por defecto
Inicializar objetos
El constructor de copias
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
15. Cómo utilizar la sobrecarga de operadores
Sobrecarga de operadores
Escribir un método para incrementar
Sobrecargar el operador de sufijo
Sobrecargar el operador suma
Limitaciones de la sobrecarga de operadores
operator=
Operadores de conversión
El operador int()
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
Parte V. Herencia y polimorfismo
16. Ampliar las clases mediante la herencia
¿Qué es la herencia?
Herencia y derivación
Animales y herencia
Sintaxis de la derivación
Privado frente a protegido
Constructores y destructores
Pasar argumentos a los constructores base
Invalidar funciones
Sobrecarga frente a invalidación
Ocultar el método de la clase base
Llamar al método base
Resumen
Preguntas y respuestas
Examen
Preguntas
Respuestas
Actividades
17. Cómo utilizar el polimorfismo y las clases derivadas
Implementar el polimorfismo mediante métodos virtuales
Cómo funcionan las funciones miembro virtuales
No se puede llegar allí desde aquí
Fragmentación
C++, diseñado con la intención de agregarle al exitoso lenguaje de programación C, mecanismos para la manipulación de objetos, sigue siendo hoy en día el lenguaje más útil y versátil utilizado en los desarrollos modernos.
Para aprender C++ no necesita experiencia previa como programador. Este libro utiliza un intuitivo método paso a paso, con proyectos prácticos para reforzar el aprendizaje. Un dato interesante es que podrá acceder a detalles de la próxima versión C++0x.
Encontrará las herramientas para trabajar en cualquier plataforma del mercado actual: ordenadores personales, servidores Linux y UNIX, pasando por los mainframes y los dispositivos móviles. Se adjunta un CD-ROM con el código fuente de los ejemplos y un compilador C++ e IDE para Windows, Mac y Linux.