●Capítulo 1 C++ Básico 1
1.1 Introducción a C++ 2
1.1.1 Historia del Desarrollo de C++ 2
1.1.2 El estado de C++ en el mundo 3
1.2 Instalar herramientas de desarrollo C++ 4
1.2.1 Instalar Visual Studio 4
1.2.2 Instalar DEV C++ 9
1.3 El primer programa en C++: juego "Piedra, Papel, Tijeras" 11
1.3.1 Introducción de antecedentes 11
1.3.2 Implementación Específica 11
1.3.3 Ejecutar un programa usando DEV C++ 14
1.3.4 Analizar la Estructura del Programa 15
1.3.5 Conjunto de caracteres 16
1.3.6 Palabras clave 17
1.3.7 Identificadores 17
Capítulo 2 Sintaxis Básica de C++ 19
2.1 Variables y Constantes: Un Póster de Película 20
2.1.1 Introducción de antecedentes 21
2.1.2 Implementación Específica 21
2.1.3 Constantes 22
2.1.4 Variables 22
2.1.5 Entrada y Salida 23
2.2 Tipos de Datos: Calculadora de Salario 24
2.2.1 Introducción de antecedentes 24
2.2.2 Implementación Específica 24
2.2.3 Tipos de datos básicos 25
2.2.4 Tipos de datos no básicos 29
2.2.5 Salida Formateada 30
2.3 Operadores y Expresiones: Compra de Boletos de Viaje para el Festival de Primavera 32
2.3.1 Introducción de antecedentes 32
2.3.2 Implementación Específica 33
2.3.3 Operadores Aritméticos y Expresiones Aritméticas 35
2.3.4 Operadores de Comparación y Expresiones de Comparación 36
2.3.5 Operadores Lógicos y Expresiones Lógicas 36
2.3.6 Operadores ++ y -- y Expresiones 37
2.3.7 Operadores Bitwise y Expresiones Bitwise 38
2.3.8 Operadores de Asignación y Expresiones de Asignación 39
2.3.9 Operador sizeof y expresión de tamaño 40
2.3.10 Operadores Condicionales y Expresiones Condicionales 41
2.3.11 Operador coma y expresión coma 42
2.3.12 Precedencia y Asociatividad de Operadores 42
2.4 Conversión de Tipo: Los Problemas de un Cajero Temporal 45
2.4.1 Introducción de antecedentes 45
2.4.2 Implementación Específica 45
2.4.3 Conversión Implícita 46
2.4.4 Conversión Explícita 47
Capítulo 3 Sentencias de Control de Flujo 49
3.1 Estructura de Selección: Sistema de Evaluación de Becas 50
3.1.1 Introducción de antecedentes 51
3.1.2 Implementación Específica 51
3.1.3 declaración if de una sola rama 52
3.1.4 declaración if…else de dos ramas 53
3.1.5 else…if declaración de múltiples ramas 53
3.1.6 declaración de estructura switch multi-rama 54
3.2 Estructura de Bucle: Calculadora de Impuesto Sobre la Renta Individual 56
3.2.1 Introducción de antecedentes 57
3.2.2 Implementación Específica 57
3.2.3 declaración for 59
3.2.4 declaración de bucle while 61
3.2.5 declaración de bucle do-while 62
3.3 Sentencias de salto: Sistema de facturación de gasolinera 63
3.3.1 Introducción de antecedentes 63
3.3.2 Implementación Específica 63
3.3.3 Introducción a las Sentencias de Salto 65
Capítulo 4 Funciones 67
4.1 Definir función: Resolver el problema "mono come durazno" 68
4.1.1 Introducción de antecedentes 69
4.1.2 Implementación Específica 69
4.1.3 Clasificación de Funciones 70
4.1.4 Definición de Funciones 71
4.2 Valor de retorno de la función: Comparar el tamaño de dos números 72
4.2.1 Introducción de antecedentes 73
4.2.2 Implementación Específica 73
4.2.3 Funciones sin parámetros y funciones con parámetros 74
4.2.4 Valor de Retorno de Función 74
4.2.5 Parámetros Formales y Actuales 75
4.2.6 Parámetros predeterminados 75
4.3 Llamar funciones: ×× Sistema de Calificación de Computadora Portátil Net 76
4.3.1 Introducción de antecedentes 76
4.3.2 Implementación Específica 76
4.3.3 Cómo Llamar a una Función 77
Capítulo 5 Punteros 79
5.1 Punteros Básicos: Mostrar el ranking de ventas y las ventas específicas de un determinado producto 80
5.1.1 Introducción de antecedentes 81
5.1.2 Implementación Específica 81
5.1.3 Conceptos Básicos de Punteros 82
5.1.4 Declaración de Punteros 83
5.1.5 Inicialización de Punteros 83
5.2 Aritmética de Punteros: Mostrar artículos ordenados por precio (de mayor a menor) 84
5.2.1 Introducción de antecedentes 84
5.2.2 Implementación Específica 85
5.2.3 Operaciones aritméticas 86
5.2.4 Operaciones Relacionales 86
5.3 Punteros a Punteros y Referencias: Consultando Gastos de los Últimos 3 Meses 87
5.3.1 Introducción de antecedentes 87
5.3.2 Implementación Específica 88
5.3.3 Declarar un Puntero a un Puntero 88
5.3.4 Usando la referencia 90
5.4 Punteros de uso común: Calcular el tiempo de viaje de ida y vuelta al trabajo 91
5.4.1 Introducción de antecedentes 91
5.4.2 Implementación Específica 92
5.4.3 Punteros a Funciones 92
5.4.4 puntero void 93
5.4.5 Punteros Nulos 95
Capítulo 6 Arreglos, Enumeraciones, Estructuras y Uniones 97
6.1 Arreglo unidimensional: Calcular la cantidad total de artículos en el carrito de compras 98
6.1.1 Introducción de antecedentes 99
6.1.2 Implementación Específica 99
6.1.3 Introducción a Arreglos Unidimensionales 100
6.2 Arreglos bidimensionales: Resolviendo el problema del triángulo de Pascal 102
6.2.1 Introducción de antecedentes 102
6.2.2 Implementación Específica 103
6.2.3 Declaración de Arreglos Bidimensionales 104
6.2.4 Asignación de arreglo bidimensional 105
6.2.5 Acceder a Arreglos Bidimensionales 106
6.3 Aplicaciones Avanzadas de Arreglos: Sistema de Selección Aleatoria de Números para Máquina de Lotería 107
6.3.1 Introducción de antecedentes 107
6.3.2 Implementación Específica 107
6.3.3 Arreglo Dinámico 108
6.3.4 Arreglos de caracteres 109
6.3.5 Punteros y Arreglos 110
6.4 Enumeración: Resolviendo el Problema de las Bolas de Tres Colores 111
6.4.1 Introducción de antecedentes 111
6.4.2 Implementación Específica 112
6.4.3 Declaración de Tipos Enumerados 114
6.5 Estructura: Sistema de Exhibición de Libros 115
6.5.1 Introducción de antecedentes 115
6.5.2 Implementación Específica 116
6.5.3 Fundamentos de la Estructura 117
6.5.4 Referenciar Variables de Estructura 118
6.5.5 Punteros a Estructuras 119
6.6 Conjunto: ×× Sistema de Gestión de Estudiantes Universitarios 120
6.6.1 Introducción de antecedentes 120
6.6.2 Implementación Específica 120
6.6.3 Definir y usar uniones 122
Capítulo 7 Orientado a Objetos 123
7.1 Clase: Consultar el saldo de Yu'ebao 124
7.1.1 Introducción de antecedentes 125
7.1.2 Implementación Específica 125
7.1.3 Conceptos Básicos de C++ Orientado a Objetos 126
7.1.4 Declaración de Clases 126
7.1.5 Miembros de Clase 127
7.1.6 Definición de Objetos 129
7.2 Miembros de la Clase: Sistema de Visualización de Calificaciones de Estudiantes 130
7.2.1 Introducción de antecedentes 130
7.2.2 Implementación Específica 130
7.2.3 Constructor 132
7.2.4 Destructor 132
7.2.5 Miembros Estáticos 133
7.3 Amigo: Mostrando la información de dos estudiantes 135
7.3.1 Introducción de antecedentes 135
7.3.2 Implementación Específica 135
7.3.3 Métodos Amigos 137
7.3.4 Clases Amigas 137
7.4 Herencia: Sistema de Verificación de Inicio de Sesión de Miembro 138
7.4.1 Introducción de antecedentes 138
7.4.2 Implementación Específica 138
7.4.3 Conceptos Básicos de Herencia y Derivación 140
7.4.4 Clases Base y Clases Derivadas 140
7.4.5 Tres Métodos de Herencia de Clases Derivadas 141
7.4.6 Constructores en Herencia 142
7.4.7 Llamando al Destructor de la Clase Base en Herencia 144
7.4.8 Clases Derivadas Ocultan Miembros de Clases Base 144
7.4.9 Herencia Múltiple 145
Capítulo 8 Polimorfismo, Clases Abstractas, Sobrecarga 147
8.1 Polimorfismo: Sistema de Venta de Boletos de Estación de Tren 148
8.1.1 Introducción de antecedentes 148
8.1.2 Implementación Específica 149
8.1.3 Introducción al Polimorfismo 152
8.1.4 Definición de Métodos Virtuales 153
8.1.5 Polimorfismo de Macros 153
8.2 Clase Abstracta: Calcular el Área y el Volumen de Dos Objetos 155
8.2.1 Introducción de antecedentes 155
8.2.2 Implementación Específica 156
8.2.3 Introducción a las Clases Abstractas 158
8.3 Sobrecarga: Sistema de Consulta de Información de Incorporación de Empleados 159
8.3.1 Introducción de antecedentes 159
8.3.2 Implementación Específica 160
8.3.3 Sobrecarga de Operadores 162
8.3.4 Sobrecarga de Flujo 163
Capítulo 9 Espacios de nombres y alcance 165
9.1 Espacio de nombres: Aviso de Vacaciones Escolares 166
9.1.1 Introducción de antecedentes 167
9.1.2 Implementación Específica 167
9.1.3 Introducción al Espacio de Nombres 168
9.1.4 Definición de Espacios de Nombres 169
9.1.5 Usando Espacios de Nombres 170
9.2 Alcance: Cien Monedas por Cien Pollos 172
9.2.1 Introducción de antecedentes 172
9.2.2 Implementación Específica 172
9.2.3 Conceptos relacionados con el alcance 174
9.2.4 Clasificación de Ámbitos 175
Capítulo 10 Plantillas 179
10.1 Plantillas de Funciones: Investigar Información de Unidades de Reclutamiento 181
10.1.1 Introducción de Antecedentes 181
10.1.2 Implementación Específica 181
10.1.3 Entendiendo las Plantillas 182
10.1.4 Definición de Plantillas de Función 183
10.2 Plantilla de clase: Calcular la puntuación final del atleta 184
10.2.1 Introducción de Antecedentes 184
10.2.2 Implementación Específica 185
10.2.3 Declarando, definiendo plantillas de clase 187
10.2.4 Usando Plantillas de Clase 189
10.2.5 Derivación de Plantillas de Clase 189
10.2.6 Diferencia entre Plantilla de Clase y Clase Plantilla 190
10.2.7 Argumentos de Plantilla por Defecto 190
10.3 Biblioteca de Plantillas Estándar STL: Sistema de Clasificación de Calificaciones 191
10.3.1 Introducción de antecedentes 192
10.3.2 Implementación Específica 192
10.3.3 Contenedores en STL 193
10.3.4 Contenedores de Secuencia 193
Capítulo 11 Manejo de Excepciones 199
11.1 Mecanismo de manejo de excepciones de C++: Calcular el promedio de ventas por tienda para un determinado producto 200
11.1.1 Introducción de antecedentes 201
11.1.2 Implementación Específica 201
11.1.3 Usando try-catch para capturar excepciones 202
11.1.4 Usando throw para lanzar excepciones 200
11.1.5 Clases de Excepción en la Biblioteca Estándar de C++ 203
11.2 Depuración de programas 203
11.2.1 ¿Qué es la depuración de programas 204
11.2.2 Introducción a las Herramientas de Depuración 204
11.2.3 Depuración con Puntos de Ruptura 205
Capítulo 12 Procesamiento de Operaciones de Archivo 209
12.1 Usando iostream: Sistema de Gestión de Ventas de Automóviles 210
12.1.1 Introducción de antecedentes 210
12.1.2 Implementación específica 211
12.1.3 Miembros de la biblioteca iostream 212
12.1.4 E/S de Archivos 213
12.2 Operaciones con Archivos: Actividad de Recolección de Eslóganes 213
12.2.1 Introducción de Antecedentes 214
12.2.2 Implementación específica 214
12.2.3 Abrir y Cerrar Archivos 215
12.2.4 Lectura/Escritura Aleatoria 217
12.2.5 Operando en Archivos Binarios 219
Capítulo 13 Gestión de Memoria 221
13.1 Gestión de Memoria de Pila: Consultar Calificaciones de Estudiantes 222
13.1.1 Introducción de Antecedentes 223
13.1.2 Implementación Específica 223
13.1.3 Mecanismos de Gestión de Memoria 224
13.1.4 Clasificación de Memoria C++ 225
13.1.5 Solicitando memoria de pila 225
13.1.6 Usando Memoria de Pila 226
13.1.7 Cambiar Tamaño de Memoria 227
13.2 Gestión de Memoria Heap: Simulando el Proceso de Compra de Boletos de Tren 227
13.2.1 Introducción de Antecedentes 228
13.2.2 Implementación Específica 228
13.2.3 Solicitando Memoria Heap 229
13.2.4 Uso de Memoria Heap 230
13.2.5 Cambiar el tamaño de la memoria 231
Capítulo 14 Desarrollo de programas de formularios 233
14.1 Diálogo: Aviso de Vacaciones del Festival de Primavera 234
14.1.1 Introducción de antecedentes 235
14.1.2 Implementación Específica 235
14.1.3 Tipos de archivos generados por el asistente de aplicación 237
14.1.4 Clase Diálogo CDialog 238
14.2 Controles Estándar: Sistema de Cuestionario de Lenguaje de Programación 239
14.2.1 Introducción de antecedentes 239
14.2.2 Implementación Específica 239
14.2.3 Introducción a los Controles Estándar 241
14.2.4 Control de Botón 242
14.2.5 Control de Cuadro de Texto 243
14.2.6 Control de Lista 244
14.2.7 Barra de Menú CMenu 246
14.2.8 Barra de herramientas CToolBar 249
Este libro explica el conocimiento básico del desarrollo del lenguaje C++ paso a paso, e ilustra el uso específico de este conocimiento a través de ejemplos típicos. El libro está dividido en 14 capítulos, incluyendo fundamentos de C++, sintaxis básica de C++, sentencias de control de flujo, funciones, punteros, arreglos, enumeraciones, estructuras y uniones, orientado a objetos, polimorfismo, clases abstractas, sobrecarga, espacios de nombres y ámbito, plantillas, manejo de excepciones, manejo de operaciones de archivo, gestión de memoria, desarrollo de programas de formularios, etc.
Este libro es exhaustivo, cubriendo casi todos los puntos de conocimiento del lenguaje C++. No solo es adecuado para principiantes que aprenden C++, sino también para profesores y estudiantes de carreras relacionadas con la computación, y también puede ser consultado y referenciado por desarrolladores experimentados.