Anuncio

C++ estándar (Apuntes de Informática Industrial y Comunicaciones)

C++ mantiene una presencia sólida en áreas donde el rendimiento y el control sobre los recursos del sistema son decisivos. Desarrollado originalmente por Bjarne Stroustrup como una extensión del lenguaje C, incorpora mecanismos de programación orientada a objetos sin renunciar a la eficiencia que caracteriza a su predecesor.

Su capacidad para trabajar tanto en niveles altos de abstracción como cerca del hardware lo convierte en una opción habitual en motores de videojuegos, sistemas embebidos, aplicaciones financieras y software de infraestructura crítica.

Las revisiones del estándar, desde C++11 hasta C++20, han introducido mejoras sustanciales en la gestión de memoria, la concurrencia y las expresiones lambda, manteniendo el lenguaje al día sin romper la compatibilidad con el código existente.

Aunque lenguajes más modernos han ganado terreno en ámbitos como el desarrollo web o la ciencia de datos, C++ sigue siendo la referencia en sistemas donde la latencia importa y los recursos son limitados.

Su exigente curva de aprendizaje se compensa con un conocimiento que trasciende el propio lenguaje: entender C++ implica comprender cómo funcionan realmente la memoria, los punteros y la compilación. Por eso, cualquier programador que busque profundizar en los fundamentos de la computación encontrará en C++ un terreno fértil y, a menudo, desafiante.

Introducción al libro

Este manual recoge los apuntes de la asignatura “Informática Industrial y Comunicaciones” impartida en la Universidad Politécnica de Madrid.

Está concebido como material de apoyo para un curso presencial, por lo que su estructura sigue una progresión lógica: parte de una introducción al lenguaje C++ y sus diferencias con C, avanza hacia los pilares de la programación orientada a objetos (encapsulamiento, herencia y polimorfismo) y dedica los últimos capítulos a plantillas, excepciones, una breve incursión en UML y una introducción a los sistemas operativos.

El autor, Miguel Hernando, es profesor del Departamento de Electrónica, Automática e Informática Industrial y ha redactado el texto con un enfoque docente claro, incluyendo ejemplos y ejercicios.

El libro está dirigido principalmente a estudiantes universitarios que comienzan con la POO en C++, pero también puede servir a autodidactas con conocimientos previos de programación en C.

No se requieren nociones avanzadas de C++ para empezar; el primer capítulo repasa los fundamentos y las modificaciones que introduce C++ respecto a C. Aunque cubre aspectos modernos del lenguaje, el énfasis está en los mecanismos clásicos de la orientación a objetos, dejando temas como plantillas y excepciones como objetivos secundarios dentro del plan de estudios original.

Contenido del libro

A lo largo de nueve capítulos, el lector recorrerá los elementos esenciales de C++ desde una perspectiva orientada a objetos. Los primeros capítulos establecen la base: historia del lenguaje, diferencias con C, palabras reservadas, operadores, tipos de datos, funciones sobrecargadas, referencias, gestión de memoria con new y delete, espacios de nombres y entrada/salida.

A partir del capítulo 3, el foco se centra en las clases: definición, encapsulamiento, constructores y destructores, sobrecarga de operadores y miembros estáticos.

Los capítulos 4 y 5 abordan la herencia (simple y múltiple, clases base virtuales) y el polimorfismo (funciones virtuales, clases abstractas). El capítulo 6 introduce las plantillas, tanto de funciones como de clases, y muestra su uso en la biblioteca estándar. El capítulo 7 cubre el manejo de excepciones con try/catch/throw. Finalmente, los capítulos 8 y 9 ofrecen una visión introductoria a la representación UML y a los conceptos básicos de sistemas operativos, proporcionando un contexto más amplio para la programación de sistemas.

Cada capítulo incluye ejercicios y ejemplos prácticos, muchos de ellos tomados de fuentes académicas, y el autor invita a los lectores a enviar correcciones o sugerencias, lo que refuerza el carácter activo y colaborativo del material.

Índice del libro

  • INTRODUCCIÓN A C++
  • Historia de C++
  • Lenguajes más relevantes en la actualidad
  • Primeras nociones sobre la Programación Orientada a Objetos
  • Organización de los apuntes
  • MODIFICACIONES MENORES A C EN C++
  • Extensión de los ficheros
  • Palabras reservadas
  • Nuevos operadores
  • Comentarios
  • Tipo de datos bool
  • Tipos de datos definidos por el usuario
  • Flexibilidad en la declaración de variables
  • Modificaciones a las funciones
  • Variables de tipo referencia
  • Reserva dinámica de memoria: operadores new y delete
  • Espacios de nombres
  • Operaciones de entrada y salida
  • Ejercicios
  • EL CONCEPTO DE CLASE
  • Las clases en C++
  • Definición de una clase
  • Encapsulamiento
  • Constructores y destructores
  • Métodos y operadores sobrecargados
  • Miembros static
  • Ejercicios
  • LA HERENCIA
  • Definición de herencia
  • Construcción y destrucción de clases derivadas: inicializador base
  • Herencia múltiple
  • Clases base virtuales
  • Conversiones entre objetos de clases base y clases derivadas
  • El constructor de copia y el operador de asignación
  • Ejemplo
  • EL POLIMORFISMO
  • Superposición y sobrecarga
  • Polimorfismo
  • Virtualidad en destructores y constructores
  • Funciones virtuales puras y clases abstractas
  • Ejemplos
  • PLANTILLAS
  • Introducción
  • Concepto de plantilla
  • Plantillas de funciones
  • Clases genéricas
  • Clases genéricas en la Librería Estándar
  • Ejemplo
  • MANEJO DE EXCEPCIONES Y TRATAMIENTO DE ERRORES
  • Tratamiento de excepciones en C++
  • Secuencia de ejecución del manejo de excepciones
  • BREVE INTRODUCCIÓN A LA REPRESENTACIÓN UML
  • Elementos de construcción de los diagramas UML
  • Modelado estructural
  • Diagramas
  • INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Datos del libro

  • Título: C++ estándar (Apuntes de Informática Industrial y Comunicaciones)
  • Autor: Miguel Hernando Gutiérrez
  • Categoría principal: Programación
  • Subcategoría: C++
  • Idioma: Español
  • Licencia: Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported (CC BY-NC-ND 3.0)

Más libros en: C++, Programación


Aviso legal: Este libro se comparte únicamente con fines educativos. El contenido se distribuye bajo licencias Creative Commons o permisos explícitos de sus autores. OpenLibro no aloja material con derechos reservados.

Libros relacionados

Anuncios