Tabla de contenido
- Introducción
- Proceso para la obtención de un programa ejecutable
- Fichero fuente y programa o código fuente
- Interpretes y compiladores
- Ficheros objeto, código objeto y compiladores
- Librerías o bibliotecas
- Ficheros ejecutables y enlazadores
- Errores
- Propósito de C y C++
- 1 Toma de contacto
- 2 Variables I
- 3 Funciones I: Declaración y definición
- Prototipos de funciones
- Definición de funciones
- Estructura de un programa C++
- Palabras reservadas usadas en este capítulo
- 4 Operadores I
- Operadores aritméticos
- Operadores de asignación
- Operador coma
- Operadores de comparación
- Operadores lógicos
- Operador sizeof
- Asociación de operadores binarios
- Palabras reservadas usadas en este capítulo
- 5 Sentencias
- Bloques
- Expresiones
- Bucles
- Etiquetas
- Sentencias de selección
- Sentencias de salto
- Sentencia de ruptura
- Sentencia continue
- Sentencia de salto
- Sentencia de retorno
- Uso de las sentencias de salto y la programación estructurada
- Comentarios
- Palabras reservadas usadas en este capítulo
- 6 Declaración de variables
- Cómo se declaran las variables
- Ámbitos
- Ámbito de las variables
- Enmascaramiento de variables
- Operador de ámbito
- Problemas resueltos de capítulos 1 a 6
- 7 Normas para la notación
- Constantes int
- Constantes long
- Constantes long long
- Constantes unsigned
- Constantes unsigned long
- Constantes unsigned long long
- Constantes float
- Constantes double
- Constantes long double
- Constantes enteras
- Constantes en punto flotante
- Constantes char
- ¿Por qué es necesaria la notación?
- 8 Cadenas de caracteres
- 9 Conversión de tipos
- 10 Tipos de variables II: Arrays
- Inicialización de arrays
- Operadores con arrays
- Algoritmos de ordenación, método de la burbuja
- Problemas
- 11 Tipos de objetos III: Estructuras
- Funciones en el interior de estructuras
- Inicialización de estructuras
- Asignación de estructuras
- Arrays de estructuras
- Estructuras anidadas
- Estructuras anónimas
- Operador sizeof con estructuras
- Campos de bits
- Palabras reservadas usadas en este capítulo
- Problemas
- Ejemplos capítulos 10 y 11
- 12 Tipos de objetos IV: Punteros 1
- Declaración de punteros
- Obtener punteros a objetos
- Objeto apuntado por un puntero
- Diferencia entre punteros y otros objetos
- Correspondencia entre arrays y punteros
- Operaciones con punteros
- Punteros genéricos
- Punteros a estructuras
- Ejemplos
- Objetos dinámicos
- Problemas
- Ejemplos capítulo 12
- 13 Operadores II: Más operadores
- Operadores de Referencia (&) e Indirección (*)
- Operadores . y ->
- Operador de preprocesador
- Operadores de manejo de memoria new y delete
- Palabras reservadas usadas en este capítulo
- 14 Operadores III: Precedencia
- 15 Funciones II: Parámetros por valor y por referencia
- Referencias a variables
- Pasando parámetros por referencia
- Punteros como parámetros de funciones
- Arrays como parámetros de funciones
- Estructuras como parámetros de funciones
- Funciones que devuelven referencias
- 16 Tipos de variables V: Uniones
- Estructuras anónimas
- Inicialización de uniones
- Discriminadores
- Funciones dentro de uniones
- Palabras reservadas usadas en este capítulo
- Ejemplos capítulo 16
- 17 Tipos de variables VI: Punteros 2
- 18 Operadores IV: Más operadores
- 19 Definición de tipos, tipos derivados
- 20 Funciones III: más cosas
- Parámetros con valores por defecto
- Funciones con número de argumentos variable
- Argumentos en main
- Funciones inline
- Punteros a funciones
- Utilidad de los punteros a funciones
- Asignación de punteros a funciones
- Llamadas a través de un puntero a función
- Palabras reservadas usadas en este capítulo
- 21 Funciones IV: Sobrecarga
- 22 Operadores V: Operadores sobrecargados
- Operadores binarios
- Operadores unitarios
- Operador de asignación
- Notación funcional de los operadores
- Palabras reservadas usadas en este capítulo
- Problemas
- Ejemplos capítulo 22
- 23 El preprocesador
- Directiva #define
- Directiva #undef
- Directivas #if, #elif, #else y #endif
- Directivas #ifdef e #ifndef
- Directiva #error
- Directiva #include
- Directiva #line
- Directiva #pragma
- Directiva #warning
- 24 Funciones V: Recursividad
- 25 Variables VII: Tipos de almacenamiento
- Almacenamiento automático
- Almacenamiento estático
- Almacenamiento externo
- Almacenamiento en registro
- Modificador de almacenamiento constante
- Modificador de almacenamiento volatile
- Modificador de almacenamiento mutable
- Palabras reservadas usadas en este capítulo
- 26 Espacios con nombre
- Declaraciones y definiciones
- Utilidad
- Espacios anónimos
- Espacio global
- Espacios anidados
- Palabras reservadas usadas en este capítulo
- 27 Clases I: definiciones
- 28 Declaración de una clase
- 29 Constructores
- Constructor por defecto
- Inicialización de objetos
- Sobrecarga de constructores
- Constructores con argumentos por defecto
- Asignación de objetos
- Constructor copia
- Problemas
- 30 Destructores
- 31 El puntero this
- 32 Sistema de protección
- Declaraciones friend
- Funciones amigas externas
- Funciones amigas en otras clases
- Clases amigas
- Palabras reservadas usadas en este capítulo
- 33 Modificadores para miembros
- Funciones en línea (inline)
- Funciones miembro constantes
- Valores de retorno constantes
- Miembros estáticos de una clase (Static)
- Palabras reservadas usadas en este capítulo
- 34 Más sobre las funciones
- 35 Operadores sobrecargados
- Sobrecarga de operadores binarios
- Sobrecargar el operador de asignación: ¿por qué?
- Operadores binarios que pueden sobrecargarse
- Forma funcional de los operadores
- Sobrecarga de operadores para clases con punteros
- Notas sobre este tema
- Sobrecarga de operadores unitarios
- Operadores unitarios sufijos
- Operadores unitarios que pueden sobrecargarse
- Operadores de conversión de tipo
- Sobrecarga del operador de indexación []
- Sobrecarga del operador de llamada ()
- 36 Herencia
- Jerarquía, clases base y clases derivadas
- Derivar clases, sintaxis
- Constructores de clases derivadas
- Inicialización de clases base en constructores
- Inicialización de objetos miembros de clases
- Sobrecarga de constructores de clases derivadas
- Destructores de clases derivadas
- 37 Funciones virtuales
- Redefinición de funciones en clases derivadas
- Superposición y sobrecarga
- Polimorfismo
- Funciones virtuales
- Destructores virtuales
- Constructores virtuales
- Palabras reservadas usadas en este capítulo
- 38 Derivación múltiple
- Constructores de clases con herencia múltiple
- Herencia virtual
- Funciones virtuales puras
- Clases abstractas
- Uso de derivación múltiple
- 39 Trabajar con ficheros
- Crear un fichero de salida, abrir un fichero de entrada
- Ficheros binarios
- Ficheros de acceso aleatorio
- Ficheros de entrada y salida
- Sobrecarga de operadores << y >>
- Comprobar estado de un stream
- 40 Plantillas
- Sintaxis
- Plantillas de funciones
- Plantilla para tabla
- Ficheros de cabecera
- Ejemplo de uso de plantilla Tabla
- Tablas de cadenas
- Funciones que usan plantillas como parámetros
- Amigos de plantillas
- Miembros estáticos: datos y funciones
- Ejemplo de implementación de una plantilla para una pila
- Bibliotecas de plantillas
- Palabra typename
- Palabras reservadas usadas en este capítulo
- 41 Punteros a miembros de clases o estructuras
- 42 Castings en C++
- Operador static_cast<>
- Operador const_cast<>
- Operador reinterpret_cast<>
- Operador typeid
- Operador dynamic_cast<>
- 43 Manejo de excepciones
- La clase
- Orden en la captura de excepciones
- Especificaciones de excepciones
- Excepciones en constructores y destructores
- Excepciones estándar
- Relanzar una excepción
- A Codificación ASCII
- B Palabras reservadas
- C Bibliotecas estándar
- Biblioteca de rutinas de conversión estándar stdlib.h
- Biblioteca de tratamiento de caracteres ctype.h
- Biblioteca de manipulación de cadenas string.h
- D Trigrafos y símbolos alternativos
- E Streams
- Clases predefinidas para streams
- Clase streambuf
- Clase ios
- Clase filebuf
- Clase istream
- Clase ostream
- Clase iostream
- Clase fstreambase
- Clase ifstream
- Clase ofstream
- Clase fstream
- Clase strstreambuf
- Clase strstreambase
- Clase istrstream
- Clase ostrfstream
- Clase strstream
- Objetos predefinidos
- Objeto cout
- Objeto cin