Libros urgentes
Ciencias Humanas
Ciencias Técnicas
Derecho
Economía
Informática
Libros de Texto
Literatura
Oposiciones autonómicas
Oposiciones Estatales
Oposiciones Generales
Oposiciones locales
Oposiciones para profesores
Otros
Tiempo Libre

Informática > Programación > C++

ENCICLOPEDIA DEL LENGUAJE C++.
Fco. Javier Ceballos Sierra (Editorial Ra-ma)
Precio:50,9 € ($79,28)
ISBN: 8478975845. ISBN-13: 9788478975846

1120 p. ; 24x17 cm + 1 CD-ROM. (08/2003).
Entrega: 24 a 48 horas contra reembolso por agencia urgente*


La programación orientada a objetos (POO) es una de las técnicas más modernas de desarrollo que trata de disminuir el coste del software, aumentando la eficiencia y reduciendo el tiempo de espera. Por eso, donde la POO toma verdadera ventaja es en poder compartir y reutilizar el código.
Sin embargo, no debe pensarse que esta forma de programación resuelve todos los problemas de una forma sencilla y rápida. Para conseguir buenos resultados, es preciso dedicar un tiempo mayor al análisis y al diseño; pero no será un tiempo perdido, ya que redundará en el empleado en la realización de aplicaciones futuras.
Existen varios lenguajes que permiten escribir un programa orientado a objetos; entre ellos hemos elegido C++. ¿Por qué C++? Porque posee características superiores a otros lenguajes. Las más importantes son: programación orientada a objetos, portabilidad, brevedad, programación modular, compatibilidad con C y velocidad.
Además, se trata de un lenguaje de programación estandarizado (ISO/IEC 14882:1998), ampliamente difundido, y con una biblioteca estándar C++ que lo ha convertido en un lenguaje universal, de propósito general, y ampliamente utilizado tanto en el ámbito profesional como en el educativo.
Enciclopedia del lenguaje C++ es un libro:
-Válido para plataformas Windows y Unix/Linux.
-Totalmente actualizado al estándar ISO/IEC 14882:1998, relativo al lenguaje C++ estándar.
-Con ejemplos claros y sencillos, fáciles de entender, que ilustran los fundamentos de la programación C++.
-Que le permitirá aprender lógica de programación.
-Que le permitirá aprender programación orientada a objetos.
-Que le enseñará a trabajar con estructuras estáticas y dinámicas de datos, ficheros, excepciones e hilos.
-Con el que aprenderá a utilizar las plantillas más comunes de la biblioteca estándar de C++ (STL).
-Con el que adquirirá unos elevados conocimientos en la POO.
-Y con el que le será fácil aprender a desarrollar aplicaciones.
Incluye un CD-ROM con todos los ejemplos realizados y con el compilador GCC para Win32 y el entorno de desarrollo integrado necesario para que el lector pueda reproducirlos durante el estudio.

ÍNDICE

PRÓLOGO XXIII

PARTE 1.PROGRAMACIÓN BÁSICA.1

CAPÍTULO 1.FASES EN EL DESARROLLO DE UN PROGRAMA
QUÉ ES UN PROGRAMA.3
LENGUAJES DE PROGRAMACIÓN.4
Compiladores.6
Intérpretes.6
¿QUÉ ES C++?.6
HISTORIA DE C++.7
¿POR QUÉ APRENDER C++?.9
REALIZACIÓN DE UN PROGRAMA EN C++.10
Cómo crear un programa.11
Interfaz de línea de órdenes.12
¿Qué hace este programa?.12
Guardar el programa escrito en el disco.13
Compilar y ejecutar el programa.13
Biblioteca estándar de C++.15
Guardar el programa ejecutable en el disco.17
Depurar un programa.17
Entornos de desarrollo integrado.17
EJERCICIOS RESUELTOS.18
EJERCICIOS PROPUESTOS

CAPÍTULO 2.INTODUCCIÓN A C++
DECLARACIÓN DE UNA VARIABLE.21
ASIGNAR VALORES.23
AÑADIR COMENTARIOS.25
MOSTRAR DATOS POR LA PANTALLA.26
EXPRESIONES ARITMÉTICAS.27
EXPRESIONES CONDICIONALES.29
ESCRIBIR NUESTRAS PROPIAS FUNCIONES.31
EJERCICIOS PROPUESTOS

CAPÍTULO 3.INTODUCCIÓN A LA POO
PENSAR EN OBJETOS.35
Clases y objetos.36
Mensajes y métodos.37
DISEÑO DE UNA CLASE DE OBJETOS.38
CONSTRUCTORES.46
HERENCIA.48
EJERCICIOS RESUELTOS.56
EJERCICIOS PROPUESTOS

CAPÍTULO 4.ELEMENTOS DEL LENGUAJE C++
PRESENTACIÓN DE LA SINTAXIS DE C++.61
CARACTERES DE C++.62
Letras, dígitos y carácter de subrayado.62
Espacios en blanco.62
Caracteres especiales y signos de puntuación.63
Secuencias de escape.63
TIPOS DE DATOS.64
Tipos primitivos.64
Tipos derivados.65
Enumeraciones.66
SINÓNIMOS DE UN TIPO.68
LITERALES.69
Literales enteros.69
Literales reales.70
Literales de un solo carácter.71
Literales de cadenas de caracteres.71
IDENTIFICADORES.71
PALABRAS CLAVE.72
COMENTARIOS.72
DECLARACIÓN DE CONSTANTES SIMBÓLICAS.73
¿Por qué utilizar constantes?.73
DECLARACIÓN DE UNA VARIABLE.74
Iniciación de una variable.75
EXPRESIONES NUMÉRICAS.75
OPERADORES.75
Operadores aritméticos.76
Operadores de relación.77
Operadores lógicos.78
Operadores unitarios.79
Operadores a nivel de bits.79
Operadores de asignación.80
Operador condicional.83
Otros operadores.83
Operador global y de resolución de ámbito (::).83
Operador sizeof.84
Operador coma.85
Operador dirección-de.85
Operador de indirección.86
Operador referencia a.87
PRIORIDAD Y ORDEN DE EVALUACIÓN.88
CONVERSIÓN ENTRE TIPOS DE DATOS.89
EJERCICIOS PROPUESTOS

CAPÍTULO 5.ESTRUCTURA DE UN PROGRAMA
PARADIGMAS DE PROGRAMACIÓN.95
ESTRUCTURA DE UN PROGRAMA C++.96
Directrices para el preprocesador.100
Inclusión incondicional.100
Definición de un identificador.101
Inclusión condicional.101
Definiciones y declaraciones.101
Sentencia simple.102
Sentencia compuesta o bloque.102
Funciones.103
Declaración de una función.104
Definición de una función.106
Llamada a una función.108
Función main.109
PASANDO ARGUMENTOS A LAS FUNCIONES.109
PROGRAMA C++ FORMADO POR MÚLTIPLES FICHEROS.114
ÁMBITO DE UN NOMBRE.117
Nombres globales y locales.117
CLASES DE ALMACENAMIENTO DE UNA VARIABLE.120
Calificación de variables globales.120
Calificación de variables locales.122
ESPACIOS DE NOMBRES.124
Directriz using.126
EJERCICIOS RESUELTOS.128
EJERCICIOS PROPUESTOS

CAPÍTULO 6.ENTRADA Y SALIDA ESTÁNDAR
DATOS NUMÉRICOS Y CADENAS DE CARACTERES.136
ENTRADA Y SALIDA.137
Flujos de salida.139
Flujos de entrada.141
ESTADO DE UN FLUJO.144
DESCARTAR CARACTERES DEL FLUJO DE ENTRADA.147
ENTRADA/SALIDA CON FORMATO.147
ENTRADA DE CARACTERES.153
CARÁCTER FIN DE FICHERO.153
CARÁCTER n.155
LIMPIAR EL BUFFER ASOCIADO CON UN FLUJO.156
EJERCICIOS RESUELTOS.157
EJERCICIOS PROPUESTOS

CAPÍTULO 7.SENTENCIAS DE CONTROL
SENTENCIA if.167
ANIDAMIENTO DE SENTENCIAS if.169
ESTRUCTURA else if.172
SENTENCIA switch.174
SENTENCIA while.177
Bucles anidados.181
SENTENCIA do .while.183
SENTENCIA for.186
SENTENCIA break.190
SENTENCIA continue.191
SENTENCIA goto.191
SENTENCIAS try .catch.193
EJERCICIOS RESUELTOS.194
EJERCICIOS PROPUESTOS

CAPÍTULO 8.TIPOS ESTRUCTURADOS DE DATOS
INTRODUCCIÓN A LAS MATRICES.210
MATRICES NUMÉRICAS UNIDIMENSIONALES.211
Definir una matriz.211
Acceder a los elementos de una matriz.212
Iniciar una matriz.213
Trabajar con matrices unidimensionales.214
Tipo y tamaño de una matriz.216
Vector.216
Acceso a los elementos.217
Iteradores.218
Tamaño.218
Eliminar elementos.219
Buscar elementos.219
Insertar elementos.219
Ejemplo.220
Matrices asociativas.222
Map.225
CADENAS DE CARACTERES.227
Leer y escribir una cadena de caracteres.229
Método getline.231
Trabajar con cadenas de caracteres.233
String.234
Constructores.235
Iteradores.235
Acceso a un carácter.235
Asignación.236
Conversiones a cadenas estilo C.236
Comparaciones.236
Inserción.238
Concatenación.238
Búsqueda.238
Reemplazar.238
Subcadenas.239
Tamaño.239
Operaciones de E/S.239
MATRICES MULTIDIMENSIONALES Y DE REFERENCIAS.240
Matrices numéricas multidimensionales.241
Matrices de cadenas de caracteres.247
Matrices de objetos string.248
SENTENCIA for_each.250
ESTRUCTURAS.251
Definir una estructura.251
Matrices de estructuras.255
UNIONES.258
EJERCICIOS RESUELTOS.260
EJERCICIOS PROPUESTOS

CAPÍTULO 9.PUNTEROS, REFERENCIAS Y GESTIÓN DE LA MEMORIA
CREACIÓN DE PUNTEROS.279
Operadores.281
Importancia del tipo del objeto al que se apunta.282
OPERACIONES CON PUNTEROS.282
Operación de asignación.283
Operaciones aritméticas.283
Comparación de punteros.285
Punteros genéricos.285
Puntero nulo.286
Punteros y objetos constantes.286
REFERENCIAS.287
Paso de parámetros por referencia.289
PUNTEROS Y MATRICES.290
Punteros a cadenas de caracteres.294
MATRICES DE PUNTEROS.297
Punteros a punteros.299
Matriz de punteros a cadenas de caracteres.301
ASIGNACIÓN DINÁMICA DE MEMORIA.303
Operadores para asignación dinámica de memoria.304
new.304
delete.306
Reasignar un bloque de memoria.307
MATRICES DINÁMICAS.309
Asignadores.310
Matrices dinámicas de una dimensión.313
Matrices dinámicas de dos dimensiones.315
Matrices dinámicas de cadenas de caracteres.317
PUNTEROS A ESTRUCTURAS.319
PUNTEROS COMO PARÁMETROS EN FUNCIONES.321
DECLARACIONES COMPLEJAS.325
EJERCICIOS RESUELTOS.326
EJERCICIOS PROPUESTOS

CAPÍTULO 10.MÁS SOBRE FUNCIONES
PASAR UNA MATRIZ COMO ARGUMENTO A UNA FUNCIÓN.345
Matrices estáticas.346
Matrices dinámicas y contenedores.348
PASAR UN PUNTERO COMO ARGUMENTO A UNA FUNCIÓN.352
PASAR UNA ESTRUCTURA A UNA FUNCIÓN.356
DATOS RETORNADOS POR UNA FUNCIÓN.359
Retornar una copia de los datos.359
Retornar un puntero/referencia al bloque de datos.361
Retornar la dirección de una variable declarada static.363
Retornar una referencia.365
ARGUMENTOS EN LA LÍNEA DE ÓRDENES.367
REDIRECCIÓN DE LA ENTRADA Y DE LA SALIDA.369
FUNCIONES RECURSIVAS.371
PARÁMETROS POR OMISIÓN EN UNA FUNCIÓN.373
FUNCIONES EN LÍNEA.375
MACROS.376
FUNCIONES SOBRECARGADAS.377
Ambigüedades.379
OPERADORES SOBRECARGADOS.380
PUNTEROS A FUNCIONES.381
EJERCICIOS RESUELTOS.386
EJERCICIOS PROPUESTOS

PARTE 2.MECANISMOS DE ABSTRACCIÓN

CAPÍTULO 11.CLASES
DEFINICIÓN DE UNA CLASE.405
Atributos.407
Métodos de una clase.408
Control de acceso a los miembros de la clase.409
Acceso público.411
Acceso privado.411
Acceso protegido.411
Clases en ficheros de cabecera.411
IMPLEMENTACIÓN DE UNA CLASE.415
MÉTODOS SOBRECARGADOS.418
PARÁMETROS CON VALORES POR OMISIÓN.420
IMPLEMENTACIÓN DE UNA APLICACIÓN.421
EL PUNTERO IMPLÍCITO this.422
MÉTODOS Y OBJETOS CONSTANTES.424
INICIACIÓN DE UN OBJETO.426
Constructor.428
Asignación de objetos.432
Constructor copia.433
DESTRUCCIÓN DE OBJETOS.434
Destructor.435
PUNTEROS COMO ATRIBUTOS DE UNA CLASE.436
MIEMBROS STATIC DE UNA CLASE.445
Atributos static.445
Acceder a los atributos static.447
Métodos static.448
ATRIBUTOS QUE SON OBJETOS.450
CLASES INTERNAS.452
INTEGRIDAD DE LOS DATOS.454
DEVOLVER UN PUNTERO O UNA REFERENCIA.456
MATRICES DE OBJETOS.457
FUNCIONES AMIGAS DE UNA CLASE.467
PUNTEROS A LOS MIEMBROS DE UNA CLASE.470
EJERCICIOS RESUELTOS.474
EJERCICIOS PROPUESTOS

CAPÍTULO 12.OPERADORES SOBRECARGADOS
SOBRECARGAR UN OPERADOR.499
UNA CLASE PARA NÚMEROS RACIONALES.506
SOBRECARGA DE OPERADORES BINARIOS.508
Sobrecarga de los operadores de asignación.508
Sobrecarga de los operadores aritméticos.511
Aritmética mixta.512
Sobrecarga de los operadores de relación.514
Métodos adicionales.514
Sobrecarga del operador de inserción.515
Sobrecarga del operador de extracción.518
SOBRECARGA DE OPERADORES UNARIOS.520
Incremento y decremento.521
Operadores unarios/binarios.522
CONVERSIÓN DE TIPOS DEFINIDOS POR EL USUARIO.523
Conversión mediante constructores.524
Operadores de conversión.525
Ambigüedades.529
ASIGNACIÓN.529
INDEXACIÓN.531
LLAMADA A FUNCIÓN.532
DESREFERENCIA.534
SOBRECARGA DE LOS OPERADORES new y delete.536
Sobrecarga del operador new.536
Sobrecarga del operador delete.539
EJERCICIOS RESUELTOS.541
EJERCICIOS PROPUESTOS

CAPÍTULO 13.CLASES DERIVADAS
CLASES DERIVADAS Y HERENCIA.562
DEFINIR UNA CLASE DERIVADA.566
Control de acceso a la clase base.567
Control de acceso a los miembros de las clases.568
Qué miembros hereda una clase derivada.569
ATRIBUTOS CON EL MISMO NOMBRE.574
REDEFINIR MÉTODOS DE LA CLASE BASE.576
CONSTRUCTORES DE CLASES DERIVADAS.578
COPIA DE OBJETOS.581
DESTRUCTORES DE CLASES DERIVADAS.584
JERARQUÍA DE CLASES.584
FUNCIONES AMIGAS.593
PUNTEROS Y REFERENCIAS.594
Conversiones implícitas.595
Restricciones.597
Conversiones explícitas.598
MÉTODOS VIRTUALES.600
Cómo son implementados los métodos virtuales.604
Constructores virtuales.606
Destructores virtuales.609
INFORMACIÓN DE TIPOS DURANTE LA EJECUCIÓN.610
Operador dynamic_cast.610
Operador typeid.613
POLIMORFISMO.614
CLASES ABSTRACTAS.629
HERENCIA MÚLTIPLE.630
Clases base virtuales.634
Redefinición de métodos de bases virtuales.638
Conversiones entre clases.640
EJERCICIOS RESUELTOS.641
EJERCICIOS PROPUESTOS

CAPÍTULO 14.PLANTILLAS
DEFINICIÓN DE UNA PLANTILLA.658
FUNCIONES GENÉRICAS.660
Especialización de plantillas de función.664
Sobrecarga de plantillas de función.666
ORGANIZACIÓN DEL CÓDIGO DE LAS PLANTILLAS.668
Fichero único.668
Fichero de declaraciones y fichero de definiciones.669
Fichero único combinación de otros.671
CLASES GENÉRICAS.672
Declaración previa de una clase genérica.677
Especialización de plantillas de clase.677
Derivación de plantillas.683
Otras características de las plantillas.686
EJERCICIOS RESUELTOS.689
EJERCICIOS PROPUESTOS

CAPÍTULO 15.EXCEPCIONES
EXCEPCIONES DE C++.703
MANEJAR EXCEPCIONES.706
Lanzar una excepción.707
Capturar una excepción.707
Excepciones derivadas.709
Capturar cualquier excepción.710
Relanzar una excepción.711
CREAR EXCEPCIONES.711
Especificación de excepciones.712
Excepciones no esperadas.713
FLUJO DE EJECUCIÓN.715
CUÁNDO UTILIZAR EXCEPCIONES Y CUÁNDO NO.718
ADQUISICIÓN DE RECURSOS.719
Punteros automáticos.724
EJERCICIOS RESUELTOS.728
EJERCICIOS PROPUESTOS

CAPÍTULO 16.FLUJOS
VISIÓN GENERAL DE LOS FLUJOS DE E/S.739
BÚFERES.740
DESCRIPCIÓN DE LOS BÚFERES Y FLUJOS.742
Clase streambuf.742
Clase filebuf.742
Clase ostream.745
Clase istream.747
Clase iostream.749
Clase ofstream.750
Clase ifstream.751
Clase fstream.753
E/S CARÁCTER A CARÁCTER.754
E/S DE CADENAS DE CARACTERES.756
ENTRADA/SALIDA CON FORMATO.758
E/S UTILIZANDO REGISTROS.760
ABRIENDO FICHEROS PARA ACCESO SECUENCIAL.761
Un ejemplo de acceso secuencial.761
ESCRIBIR DATOS EN LA IMPRESORA.772
ACCESO ALEATORIO A FICHEROS EN EL DISCO.772
CADENAS DE CARACTERES.778
Un ejemplo con flujos de cadena.779
EJERCICIOS RESUELTOS.784
EJERCICIOS PROPUESTOS

PARTE 3.DISEÑO Y PROGRAMACIÓN

CAPÍTULO 17.ESTRUCTURAS DINÁMICAS
LISTAS LINEALES.806
Listas lineales simplemente enlazadas.806
Operaciones básicas.810
Inserción de un elemento al comienzo de la lista.810
Buscar en una lista un elemento con un valor x.812
Inserción de un elemento en general.812
Borrar un elemento de la lista.813
Recorrer una lista.814
Borrar todos los elementos de una lista.814
UNA CLASE PARA LISTAS LINEALES.815
Clase genérica para listas lineales.819
Consistencia de la aplicación.831
LISTAS CIRCULARES.833
Clase CListaCircularSE.835
PILAS.840
COLAS.842
EJEMPLO.843
LISTA DOBLEMENTE ENLAZADA.846
Lista circular doblemente enlazada.847
Clase CListaCircularDE.848
Ejemplo.855
ÁRBOLES.857
Árboles binarios.858
Formas de recorrer un árbol binario.859
ÁRBOLES BINARIOS DE BÚSQUEDA.862
Clase CArbolBinB.863
Buscar un nodo en el árbol.867
Insertar un nodo en el árbol.868
Borrar un nodo del árbol.869
Utilización de la clase CArbolBinB.872
ÁRBOLES BINARIOS PERFECTAMENTE EQUILIBRADOS.875
Clase CArbolBinE.876
Utilización de la clase CArbolBinE.882
CLASES RELACIONADAS DE LA BIBLIOTECA C++.885
Plantilla list.885
EJERCICIOS RESUELTOS.888
EJERCICIOS PROPUESTOS

CAPÍTULO 18.ALGORITMOS
RECURSIVIDAD.907
ORDENACIÓN DE DATOS.914
Método de la burbuja.914
Método de inserción.918
Método quicksort.919
Comparación de los métodos expuestos.921
BÚSQUEDA DE DATOS.921
Búsqueda secuencial.922
Búsqueda binaria.922
Búsqueda de cadenas.923
ORDENACIÓN DE FICHEROS EN DISCO.927
Ordenación de ficheros.Acceso secuencial.927
Ordenación de ficheros.Acceso aleatorio.934
ALGORITMOS HASH.936
Matrices hash.936
Método hash abierto.938
Método hash con desbordamiento.939
Eliminación de elementos.940
Clase CHashAbierto.940
Un ejemplo de una matriz hash.945
CLASES RELACIONADAS DE LA BIBLIOTECA C++.947
Modo de empleo de los algoritmos.948
EJERCICIOS RESUELTOS.950
EJERCICIOS PROPUESTOS

CAPÍTULO 19.HILOS
CONCEPTO DE PROCESO.957
HILOS.962
Estados de un hilo.964
Cuándo se debe crear un hilo.965
BIBLIOTECAS C/C++ PARA PROGRAMAR CON HILOS.965
Biblioteca estándar POSIX Threads.966
CREACIÓN Y DESTRUCCIÓN DE HILOS.968
Espera activa y pasiva.973
Pasar argumentos a un hilo.973
Finalizar un hilo.976
Cancelación.978
SINCRONIZACIÓN DE HILOS.978
Secciones críticas.980
Exclusión mutua.984
Mutex reentrante.988
Semáforos.989
Problema del productor-consumidor.991
Variables de condición.994
Problema del productor-consumidor.998
PLANIFICACIÓN DE HILOS.1001
INTERBLOQUEO.1003
OBJETOS QUE SON HILOS.1003
EJERCICIOS RESUELTOS.1008
EJERCICIOS PROPUESTOS

PARTE 4.APÉNDICES

A.LA BIBLIOTECA ÉSTANDAR DE C++.1019
B.LA BIBLIOTECA DE C.1023
C.ENTORNOS DE DESARROLLO.1049
D.INSTALACIÓN DEL PAQUETE DE DESARROLLO.1063
E.CÓDIGOS DE CARACTERES.1069

ÍNDICE

Otros clientes que compraron Enciclopedia del lenguaje C++., también compraron:


COMO PROGRAMAR EN C++COMO PROGRAMAR EN C++
H. M. Deitel - P. J. Deitel.
1408 páginas.
Precio: 60,15 € ($93,7)


C++ Standard Library, The: A Tutorial and ReferenceC++ STANDARD LIBRARY, THE: A TUTORIAL AND REFERENCE
Josuttis, Nicolai M..
774 páginas.
Precio: 63,39 € ($98,73)


Domine JavaScript. 2ª EdiciónDOMINE JAVASCRIPT.
2ª EDICIÓN

LOPEZ QUIJADO, J..
640 páginas.
Precio: 38,9 € ($60,58)


HTML, XHTML y CSSHTML, XHTML Y CSS
Castro, Elizabeth.
656 páginas.
Precio: 50,2 € ($78,19)


Otros libros de C++:


RESOLUCION DE PROBLEMAS CON C++ 2EDRESOLUCION DE PROBLEMAS CON C++ 2ED
Walter Savitch : University of California at San Diego.
Precio: 56,7 € ($88,32)


PROGRAMACION AVANZADA EN CORBA CON C++PROGRAMACION AVANZADA EN CORBA CON C++
Diego Sevilla Ruiz; Steve Vinoski; Michi Henning.
Precio: 70,55 € ($109,89)


C ++. Guía de autoenseñanzaC ++.
GUÍA DE AUTOENSEÑANZA

Herbert Schildt.
480 páginas.
Precio: 43 € ($66,98)


Visual C++ .NETVISUAL C++ .NET
José Ángel Jiménez Vadillo.
304 páginas.
Precio: 13,3 € ($20,72)


C++ Builder 5C++ BUILDER 5
Francisco Charte Ojeda.
352 páginas.
Precio: 13,3 € ($20,72)


*Para península. Tiempo estimado para días laborables