- Editorial:
- ANAYA, COMERCIAL GRUPO
- Año de edición:
- 1999
- Materia
- informatica
- ISBN:
- 978-84-415-0847-7
- Páginas:
- 352
- Colección:
- ANAYA MULTIMEDIA
PROGRAMACION EN C/C++ G.PRACTI
SIERRA URRECHO
Introducción
Cómo usar este libro
1. El primer programa
1.1. El primer programa en C
1.2. El primer programa en C++
1.3. Identificadores
1.4. Variables y su alcance
1.5. Entrada y salida de información en C
1.6. Entrada y salida de información en C++
1.7. Terminación de un programa
2. Estructuras elementales de programación
2.1. Declaraciones
2.2. Declaraciones y definiciones
2.3. Tipos de almacenamiento
2.3.1. Almacenamiento automático
2.3.2. Almacenamiento estático
2.3.3. Cualificadores de los tipos de almacenamiento
2.4. Representación binaria
2.5. Representación en punto flotante
2.6. Tipos de datos
2.6.1. Tipos atómicos
2.6.2. Tablas
2.6.3. Punteros
2.6.4. Referencias
2.6.5. Tipos definidos
2.7. Constantes
2.7.1. Constantes enteras
2.7.2. Caracteres constantes
2.7.3. Constantes flotantes
2.7.4. Cadenas de caracteres
2.8. Operadores
2.8.1. Operador de resolución de alcance
2.8.2. Operadores sufijo y estructurales
2.8.3. Operadores unarios prefijo
2.8.4. Operador de acceso a miembro de clase
2.8.5. Operadores multiplicativos
2.8.6. Operadores aditivos
2.8.7. Operadores de desplazamiento
2.8.8. Operadores relacionales y de igualdad
2.8.9. Operadores de bits
2.8.10. Operadores lógicos
2.8.11. Operadores de asignación
2.8.12. Operador de expresión condicional
2.8.13. Separador de expresiones
2.9. Orden de evaluación
2.10. Conversiones de tipo
2.11. Instrucciones de control
2.11.1. La instrucción if-else
2.11.2. La instrucción switch
2.11.3. El bucle for
2.11.4. El bucle while
2.11.5. El bucle do
3. Punteros, referencias y tablas
3.1. Punteros y direcciones de memoria
3.2. Punteros y tablas
3.3. Punteros y cadenas de caracteres
3.4. Operaciones válidas con punteros
3.5. Tablas de punteros y tablas multidimensionales
3.6. Punteros constantes
3.7. Punteros y referencias
3.8. Gestión dinámica de la memoria en C
3.9. Gestión dinámica de la memoria en C++
4. Funciones
4.1. Declaraciones y definiciones
4.2. Paso de argumentos por valor y por referencia
4.3. Argumentos por defecto
4.4. Funciones con un número variable de argumentos
4.5. Paso de argumentos a main
4.6. ¿Es necesario declarar una función antes utilizarla?
4.7. ¿Qué tipos de datos puede devolver una función?
4.7.1. Funciones y referencias
4.8. Recursividad
4.9. Punteros a funciones
4.10. Sobrecarga de funciones
4.11. El preprocesador
4.11.1. Inclusión de archivos
4.11.2. Sustitución de macros
4.11.3. Sustituciones de macros parámetros
4.11.4. Inclusión condicional
4.12. Plantillas
4.13. Ejemplo
5. Entrada y salida avanzada
5.1. Entrada y salida sin formato en C
5.1.1. Lectura de un carácter
5.1.2. Escritura de un carácter
5.1.3. Lectura de una cadena de caracteres
5.1.4. Escritura de una cadena de caracteres
5.2. Entrada y salida sin formato en C++
5.2.1. Lectura sin formato
5.2.2. Escritura sin formato
5.3. Formatos en C
5.3.1. Tipos
5.3.2. Anchura
5.3.3. Alineación
5.3.4. Precisión
5.4. Formatos en C++
5.4.1. Indicadores
5.4.2. Manipuladores
5.4.3. Anchura
5.4.4. Alineación
5.4.5. Precisión
5.4.6. Resumen de indicadores y manipuladores
5.5. Flujos asociados con archivos en C
5.5.1. Archivos de salida
5.5.2. Archivos de entrada
5.5.3. Archivos binarios
5.6. Flujos asociados a cadenas en C
5.7. Flujos asociados con archivos en C++
5.7.1. Archivos de salida
5.7.2. Archivos de entrada
5.7.3. Archivos binarios
5.8. Flujos asociados a cadenas en C++
5.9. Estado de un flujo en C
5.10. Estado de un flujo en C++
5.11. Ejemplo
6. Gestión de errores y excepciones
6.1. Gestión clásica de errores
6.2. Gestión de excepciones en C++
6.3. Especificación de excepciones
7. Introducción a la orientación a objetos
7.1. Distintas formas de programar
7.2. Elementos de la programación orientada objetos
7.2.1. Características esenciales
7.3. Objetos
7.3.1. Estructura de un objeto
7.3.2. Relaciones entre los objetos
7.3.3. Propiedades de un objeto
7.3.4. Métodos
7.3.5. Encapsulamiento y ocultación de datos
7.3.6. Polimorfismo
7.3.7. Mensajes
7.4. Herencia
7.4.1. Herencia simple
7.4.2. Herencia múltiple
7.5. Ventajas de la orientación a objetos
7.6. Desventajas de la programación orientada a objetos
7.7. Análisis y diseño orientado a objetos
7.7.1. Metodologías de análisis y diseño
8. Clases
8.1. Declaración de clases
8.1.1. Resolución de alcance
8.1.2. Objetos y métodos
8.1.3. Nueva versión del programa
8.1.4. Punteros a objetos
8.2. Constructores y destructores
8.2.1. Segunda versión del programa
8.2.2. Constructores con punteros a objetos
8.3. Especificadores de acceso
8.4. La variable this
8.5. Variables de clase
8.5.1. Métodos de clase
8.5.2. Utilización de las variables de clase
8.6. Clases y funciones amigas
9. Herencia
9.1. Acceso protegido
9.2. Segundo ejemplo de herencia
9.3. Listas ligadas
9.4. Un diccionario con una lista ligada
9.5. Nueva versión de DiccionarioConsecutivo
9.6. La superclase Diccionario
9.6.1. Funciones virtuales puras
9.6.2. Declaración de la herencia
9.6.3. Comparación de los dos programas
9.7. Constructores y destructores de derivadas
10. Polimorfismo
10.1. Sobrecarga de operadores
10.1.1. La clase Fecha
10.1.2. Diferencia de dos fechas
10.1.3. Mejoras en el cálculo de fechas
10.1.4. Operadores sobrecargables
10.2. Polimorfismo en las clases
10.3. Funciones virtuales
10.3.1. El problema
10.3.2. Segunda versión de la clase Despachos
10.3.3. La solución con funciones virtuales
11. Plantillas y excepciones de objetos
11.1. Plantillas de clases
11.1.1. Un elemento genérico
11.1.2. Una lista genérica
11.1.3. Un diccionario que utiliza Lista
11.2. Excepciones orientadas a objetos
11.2.1. Una lista ligada sin repeticiones
11.2.2. Un diccionario sin repeticiones
11.2.3. Herencia de excepciones
Apéndice A. La biblioteca estándar de C
Apéndice B. La biblioteca estándar de C++
B.1. Espacios de nombres
B.1.1. Directiva using
B.1.2. Declaración using
B.1.3. El espacio de nombres std
B.2. Archivos de cabecera
B.3. El contenedor vector
B.3.1. Declaraciones
B.3.2. Acceso a los elementos
B.3.3. Navegación mediante iteradores estándar
B.3.4. Adición e inserción de elementos
B.4. El contenedor list
B.5. El contenedor map
B.6. La clase string
B.7. Jerarquía de entrada y salida
Índice alfabético
El libro describe de forma conjunta los lenguajes C y C++ y se divide en dos partes. La primera introduce los conceptos comunes a ambos lenguajes, que son muchos, pues ha de recordarse que C++ es una extensión de C y casi todos los programas escritos en C son aceptados por los compiladores de C++. Sin embargo, al presentar los distintos conceptos se señalan al mismo tiempo las diferencias de tratamiento y las extensiones introducidas por C++. Esta forma de presentación permite que el libro pueda ser útil indistintamente para el lector que no conozca ninguno de los dos lenguajes y para el experto en C que desconozca C++. La segunda parte del libro introduce los conceptos de la orientación a objetos y describe la forma en que el lenguaje C++ permite aprovecharlos para hacer programas modulares, extensibles y fácilmente reutilizables.
Esta guía no hace referencia a ningún entorno de desarrollo concreto, pues se limita a describir las características estándar de los lenguajes C y C++, para poner al lector en condiciones de construir programas que puedan funcionar indistintamente en cualquiera de los entornos más utilizados.