Disponibilidad:
- Casa del lectorDisponible apróx. en 10 días
- Libro Técnico SurDisponible apróx. en 10 días
- AlmacénDisponible apróx. en 9 días
- Editorial:
- RAMA, EDITORIAL
- Año de edición:
- 2018
- Materia
- Programacion
- ISBN:
- 978-84-9964-754-8
- Páginas:
- 794
- Encuadernación:
- Otros
- Colección:
- INFORMATICA
PROGRAMACION ORIENTADA A OBJETOS CON C++
CEBALLOS, FCO. JAVIER
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... Leer más
PRÓLOGO CAPÍTULO 1. C++ versus C . HISTORIA DEL LENGUAJE C++ RESUMEN DE LA BIBLIOTECA DE C++ Entrada/salida . Cadenas Contenedores . Iteradores . Algoritmos . Números Diagnósticos . Utilidades generales . Localización . Soporte del lenguaje . Concurrencia . LENGUAJE C++ Y COMPONENTES DE LA BIBLIOTECA Estructura de un programa Tipos, constantes, variables y estructuras . Referencias Clases . Plantillas . Contenedores de la biblioteca de C++ . Cadenas de caracteres Matrices ASIGNACIÓN DINÁMICA DE MEMORIA . MANIPULACIÓN DE ERRORES VIII PROGRAMACIÓN ORIENTADA A OBJETOS CON C+ AÑADIR UN MENÚ DE OPCIONES . EVITAR LAGUNAS DE MEMORIA COMPILACIÓN SEPARADA . CAPÍTULO 2. PROGRAMACIÓN ORIENTADA A OBJETOS PENSAR EN OBJETOS Clases y objetos . Mensajes y métodos . DISEÑO DE UNA CLASE DE OBJETOS . CONSTRUCTORES HERENCIA . EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 3. OTRAS APORTACIONES DE C++ FUNCIONES Partes de una declaración de función . PALABRAS RESERVADAS NUEVAS . COMENTARIOS OPERADORES C++ . PRIORIDAD Y ORDEN DE EVALUACIÓN CONVERSIÓN EXPLÍCITA DEL TIPO DE UNA EXPRESI CONVERSIÓN DEL TIPO void* TIPOS DE DATOS PREDEFINIDOS TIPOS DE DATOS DEFINIDOS POR EL USUARIO IDENTIFICADORES Y ESTRUCTURAS ÁMBITO DE UNA ESTRUCTURA . DECLARACIÓN DE CONSTANTES CALIFICADOR VOLATILE . FLEXIBILIDAD EN LAS DECLARACIONES Declaración en una sentencia . EL OPERADOR DE RESOLUCIÓN DEL ÁMBITO (::) ESPECIFICACIONES DE ENLACE . ARGUMENTOS POR OMISIÓN EN UNA FUNCIÓN FUNCIONES EN LÍNEA . FUNCIONES constexpr MACROS . FUNCIONES SOBRECARGADAS Ambigüedades . OPERADORES SOBRECARGADOS . REFERENCIAS PASO DE PARÁMETROS POR REFERENCIA CONTENIDO IX REFERENCIA COMO VALOR RETORNADO ESPACIOS DE NOMBRES Directriz using EXCEPCIONES LOS OPERADORES new Y delete Operador new . Memoria insuficiente . Operador delete Lagunas de memoria . EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 4. BIBLIOTECA ESTÁNDAR ENTRADA Y SALIDA . Flujos de salida . Flujos de entrada Estado de un flujo . Limpiar el buffer asociado con un flujo Validar un dato de entrada . Entrada/salida con formato . Entrada de caracteres Entrada de cadenas de caracteres . Redirección de la entrada y de la salida . BIBLIOTECA ESTÁNDAR DE PLANTILLAS String . Constructores Iteradores Acceso a un carácter . Asignación . Conversiones a cadenas estilo C Comparaciones Inserción Concatenación Búsqueda . Reemplazar . Subcadenas . Tamaño . Operaciones de E/S . Conversiones . Vector . Acceso a los elementos . Iteradores X PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ Tamaño . Eliminar elementos . Buscar elementos . Insertar elementos . Comparaciones Map ALGUNAS UTILIDADES . Conversiones elementales . Configuración regional . Colecciones de valores heterogéneos Soporte para fechas y horas Números seudo-aleatorios . EJERCICIOS RESUELTOS . CAPÍTULO 5. CLASES . DEFINICIÓN DE UNA CLASE Atributos Métodos de una clase . Control de acceso a los miembros de la clase Acceso público . Acceso privado . Acceso protegido . Clases en archivos de cabecera . IMPLEMENTACIÓN DE UNA CLASE MÉTODOS SOBRECARGADOS ARGUMENTOS POR OMISIÓN . PROBAR LA CLASE EL PUNTERO IMPLÍCITO this MÉTODOS Y OBJETOS CONSTANTES . AUTO REFERENCIA INICIACIÓN DE UN OBJETO Constructor Delegación de constructores Constructor explicit . Asignación de objetos Constructor copia SEMÁNTICAS DE MOVIMIENTO Y COPIA . FUNCIONES PREDETERMINADAS Y ELIMINADAS . DESTRUCCIÓN DE OBJETOS Destructor . PUNTEROS COMO ATRIBUTOS DE UNA CLASE . Listas de iniciación . CONTENIDO XI Semántica de movimiento Vector de vectores . MIEMBROS STATIC DE UNA CLASE . Atributos static . Acceder a los atributos static . Métodos static . FUNCIONES AUXILIARES . ATRIBUTOS QUE SON OBJETOS CLASES INTERNAS INTEGRIDAD DE LOS DATOS DEVOLVER UN PUNTERO O UNA REFERENCIA . MATRICES DE OBJETOS FUNCIONES AMIGAS DE UNA CLASE PUNTEROS A MIEMBROS DE UNA CLASE . EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 6. OPERADORES SOBRECARGADOS . SOBRECARGAR UN OPERADOR Utilizando una función externa . Utilizando un método de una clase UNA CLASE PARA NÚMEROS RACIONALES SOBRECARGA DE OPERADORES BINARIOS Sobrecarga de operadores de asignación . Sobrecarga de operadores aritméticos . Aritmética mixta . Sobrecarga de operadores de relación . Métodos adicionales Sobrecarga del operador de inserción . Sobrecarga del operador de extracción SOBRECARGA DE OPERADORES UNARIOS . Incremento y decremento Operadores unarios/binarios. CONVERSIÓN DE TIPOS DEFINIDOS POR EL USUARIO Conversión mediante constructores Operadores de conversión . Ambigüedades . ASIGNACIÓN . INDEXACIÓN . LLAMADA A FUNCIÓN DESREFERENCIA SOBRECARGA DE LOS OPERADORES new y delete XII PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ Sobrecarga del operador new Sobrecarga del operador delete . EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 7. CLASES DERIVADAS . CLASES DERIVADAS Y HERENCIA DEFINIR UNA CLASE DERIVADA . Control de acceso a la clase base Control de acceso a los miembros de las clas Qué miembros hereda una clase derivada . ATRIBUTOS CON EL MISMO NOMBRE REDEFINIR MÉTODOS DE LA CLASE BASE . CONSTRUCTORES DE CLASES DERIVADAS COPIA DE OBJETOS . DESTRUCTORES DE CLASES DERIVADAS . JERARQUÍA DE CLASES FUNCIONES AMIGAS . PUNTEROS Y REFERENCIAS . Conversiones implícitas Restricciones Conversiones explícitas MÉTODOS VIRTUALES Control override y final . Cómo son implementados los métodos virtuales Constructores virtuales Destructores virtuales . INFORMACIÓN DE TIPOS DURANTE LA EJECUCIÓN Operador dynamic_cast Operador typeid. POLIMORFISMO . CLASES ABSTRACTAS HERENCIA MÚLTIPLE Clases base virtuales Redefinición de métodos de clases base virtu Conversiones entre clases EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 8. PROGRAMACIÓN GENÉRICA DEFINICIÓN DE UNA PLANTILLA FUNCIONES GENÉRICAS CONTENIDO XIII Especialización de plantillas de función . Sobrecarga de plantillas de función ORGANIZACIÓN DEL CÓDIGO DE LAS PLANTILLAS Modelo de inclusión Modelo de instanciación explícita CLASES GENÉRICAS . Declaración previa de una clase genérica . Especialización de plantillas de clase Derivación de plantillas . Otras características de las plantillas EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 9. EXCEPCIONES EXCEPCIONES DE C++ . MANEJAR EXCEPCIONES Lanzar una excepción . Capturar una excepción . Excepciones derivadas Capturar cualquier excepción . Relanzar una excepción CREAR EXCEPCIONES Especificación de excepciones Excepciones no esperadas . FLUJO DE EJECUCIÓN . CUÁNDO UTILIZAR EXCEPCIONES Y CUÁNDO NO DISEÑO SEGURO CON EXCEPCIONES EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 10. GESTIÓN DE RECURSOS . PUNTEROS INTELIGENTES Clases de punteros inteligentes unique_ptr . shared_ptr . weak_ptr . Operar con unique_ptr Miembros de una clase de tipo unique_ptr . Colecciones STL de elementos de tipo unique_ Operar con shared_ptr Operar con weak_ptr EJERCICIOS RESUELTOS . XIV PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ EJERCICIOS PROPUESTOS CAPÍTULO 11. FLUJOS VISIÓN GENERAL DE LOS FLUJOS DE E/S BÚFERES Flujo, búfer, archivo y programa . VISIÓN GENERAL DE UN ARCHIVO . DESCRIPCIÓN DE LOS BÚFERES Y FLUJOS Clase streambuf Clase filebuf Clase ostream Clase istream Clase iostream . Clase ofstream . Clase ifstream . Clase fstream E/S CARÁCTER A CARÁCTER E/S DE CADENAS DE CARACTERES . ENTRADA/SALIDA CON FORMATO . E/S UTILIZANDO REGISTROS . ABRIENDO ARCHIVOS PARA ACCESO SECUENCIAL . Un ejemplo de acceso secuencial ACCESO ALEATORIO A ARCHIVOS EN EL DISCO CADENAS DE CARACTERES Un ejemplo con flujos de cadena ESCRIBIR DATOS EN LA IMPRESORA . EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS CAPÍTULO 12. PROGRAMACIÓN CONCURRENTE. CONCEPTO DE PROCESO HILOS Estados de un hilo . Cuándo se debe crear un hilo . BIBLIOTECAS C/C++ PARA PROGRAMAR CON HILOS . CREACIÓN Y DESTRUCCIÓN DE HILOS Pasando argumentos a la función asociada con Espera activa y pasiva . Objetos función Finalización de un hilo SINCRONIZACIÓN DE HILOS Secciones críticas . CONTENIDO XV Exclusión mutua Mutex reentrante . Gestión genérica de un mutex . Semáforos Problema del productor-consumidor con semáfo Variables de condición . Problema del productor-consumidor PLANIFICACIÓN DE HILOS . INTERBLOQUEO . UNA CLASE CHilo PROGRAMACIÓN DE ALTO NIVEL UTILIZANDO HILOS Futuros y promesas . Tareas empaquetadas Tareas asíncronas EJERCICIOS RESUELTOS . EJERCICIOS PROPUESTOS APÉNDICE A. NOVEDADES DE C++ . LITERALES PUROS INFERENCIA DE TIPOS OPERADOR decltype ÁNGULOS DERECHOS EN EL USO DE PLANTILLAS . SENTENCIA for APLICADA A COLECCIONES . LISTA DE INICIACIÓN ENUMERACIONES ENTERO MUY LARGO . PUNTERO NULO . EXPRESIONES CONSTANTES GENERALIZADAS . CONVERSIONES IMPLÍCITAS CONVERSIONES EXPLÍCITAS REFERENCIAS RVALUE Y LVALUE SEMÁNTICAS DE MOVIMIENTO Y COPIA . DECLARACIÓN ALTERNATIVA DE FUNCIÓN . PLANTILLAS variadic CONCEPTO . ENVOLTORIO PARA UNA REFERENCIA . PUNTEROS INTELIGENTES EXPRESIONES LAMBDA . PROGRAMACIÓN CONCURRENTE . APÉNDICE B. LA BIBLIOTECA DE C . ENTRADA Y SALIDA . XVI PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ CADENAS DE CARACTERES CONVERSIÓN DE DATOS FUNCIONES MATEMÁTICAS FUNCIONES DE FECHA Y HORA MANIPULAR BLOQUES DE MEMORIA . ASIGNACIÓN DINÁMICA DE MEMORIA . ARCHIVOS . MISCELÁNEA . APÉNDICE C. ENTORNOS DE DESARROLLO . MICROSOFT VISUAL STUDIO Instalación Escribir una aplicación Depurar la aplicación A tener en cuenta Interfaz de línea de órdenes . CREAR UNA BIBLIOTECA . CODEBLOCKS . Instalación MinGW CodeBlocks . Escribir una aplicación LINUX: INTERFAZ DE LÍNEA DE ÓRDENES El depurador gdb de GNU APÉNDICE D. CÓDIGOS DE CARACTERES ÍNDICE .
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 para la puesta en escena de una nueva aplicación. Por eso