
Curso de C++
Domine C++ desde los fundamentos —desde la sintaxis básica y la gestión de memoria hasta plantillas, concurrencia y características modernas de C++23. Este curso proporciona la profundidad técnica y la práctica necesarias para escribir código C++ rápido, seguro y de grado profesional. Ya sea que apunte a programación de sistemas, desarrollo embebido o aplicaciones de alto rendimiento, este es el conjunto completo de competencias que necesita.
Lo que vas a aprender:
Usted construirá una base sólida en sintaxis de C++, flujo de control y funciones antes de avanzar a punteros, gestión de memoria y programación orientada a objetos. Dominará la Biblioteca de Plantillas Estándar, escribirá código genérico con plantillas y aplicará características modernas como lambdas, semántica de movimiento y vinculaciones estructuradas. El curso también cubre manejo de errores, pruebas unitarias, perfilado de rendimiento, sistemas de construcción con CMake y prácticas profesionales, incluyendo control de versiones y revisión de código. Al finalizar, usted tendrá las competencias para desarrollar software en C++ con calidad de producción en una amplia gama de dominios.
Cómo estudias de forma práctica Curso de C++
Cómo practicas Curso de C++
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de C++ y configuración del entorno
Fundamentos de C++ y configuración del entorno
Lección 1 • Variables, tipos y literales
Presenta los tipos de datos fundamentales, la declaración de variables y los valores literales. Construye el vocabulario necesario para toda manipulación futura de datos.
Lección 2 • Configuración del entorno de desarrollo
Instale compiladores, IDE y herramientas de construcción para desarrollo en C++. Proporciona la base técnica de la que depende cada capítulo posterior.
Lección 3 • Operadores y expresiones
Explora los operadores aritméticos, relacionales, lógicos y a nivel de bits. Se aplican las reglas de precedencia de operadores para escribir expresiones correctas.
Lección 4 • Sintaxis básica y estructura del programa
Cubre la anatomía de un archivo fuente de C++, incluyendo encabezados, la función main y las sentencias. Conecta las reglas de sintaxis con código legible y compilable.
Lección 5 • Entrada y salida con iostream
Enseña la E/S por consola usando cin y cout de la biblioteca estándar. Permite programas interactivos esenciales para los primeros ejercicios.
Capítulo 2OcultarOcultar detallesVer detallesFlujo de control y funciones
Flujo de control y funciones
Lección 1 • Bucles e iteración
Presenta los bucles for, while y do-while junto con las sentencias de control de bucle. Los patrones de repetición sustentan los algoritmos en capítulos posteriores.
Lección 2 • Ámbito, tiempo de vida y clases de almacenamiento
Explica el ámbito de variables locales, globales y estáticas, y el tiempo de vida de los objetos. Previene errores comunes causados por una visibilidad de variables mal entendida.
Lección 3 • Recursión y sobrecarga de funciones
Presenta la resolución recursiva de problemas y múltiples firmas de función con el mismo nombre. Prepara a los estudiantes para patrones algorítmicos complejos.
Lección 4 • Declaración y definición de funciones
Enseña cómo declarar, definir y llamar funciones con parámetros y tipos de retorno. Las funciones son la unidad principal de reutilización de código en C++.
Lección 5 • Sentencias condicionales
Cubre las construcciones if, else-if, else y switch para la toma de decisiones. Habilita directamente los programas basados en lógica construidos a lo largo del curso.
Capítulo 3OcultarOcultar detallesVer detallesArreglos, punteros y memoria
Arreglos, punteros y memoria
Lección 1 • Asignación dinámica de memoria
Enseña la asignación en el heap con new y la desasignación con delete. La gestión adecuada de recursos aquí previene fugas de memoria en todos los programas futuros.
Lección 2 • Arreglos y cadenas estilo C
Cubre arreglos de tamaño fijo, arreglos multidimensionales y cadenas terminadas en nulo. Establece las estructuras de datos de bajo nivel sobre las que se construyen los punteros.
Lección 3 • Referencias y corrección const
Distingue las referencias de los punteros y exige el uso de const por seguridad. La corrección const es un estándar de codificación profesional en C++.
Lección 4 • Panorama de punteros inteligentes
Presenta unique_ptr, shared_ptr y weak_ptr como alternativas más seguras a los punteros crudos. Tiende un puente entre la gestión manual de memoria y los modismos modernos de C++.
Lección 5 • Conceptos básicos de punteros
Presenta la declaración de punteros, el operador de dirección y la desreferenciación. Los punteros son centrales para la memoria dinámica y las características orientadas a objetos que vienen.
Capítulo 4OcultarOcultar detallesVer detallesProgramación orientada a objetos en C++
Programación orientada a objetos en C++
Lección 1 • Polimorfismo y funciones virtuales
Implementa polimorfismo en tiempo de ejecución mediante funciones virtuales y clases abstractas. Permite diseños flexibles y extensibles, centrales en bases de código C++ grandes.
Lección 2 • Herencia y jerarquías de clases
Modela relaciones es-un usando herencia simple y múltiple. Establece la estructura de jerarquía requerida para el polimorfismo.
Lección 3 • Sobrecarga de operadores
Permite que los tipos personalizados usen operadores estándar de forma natural y expresiva. Refuerza el encapsulamiento manteniendo la lógica dentro de la clase.
Lección 4 • Constructores, destructores e inicialización
Enseña la gestión del ciclo de vida de objetos mediante constructores y destructores. Una inicialización adecuada previene comportamientos indefinidos en programas complejos.
Lección 5 • Clases y objetos
Cubre la definición de clases, miembros de datos, funciones miembro y especificadores de acceso. Las clases son el mecanismo de abstracción principal en C++.
Capítulo 5OcultarOcultar detallesVer detallesLa biblioteca de plantillas estándar
La biblioteca de plantillas estándar
Lección 1 • Manejo de cadenas con std::string
Cubre las operaciones, manipulación y utilidades de conversión de std::string. Reemplaza las cadenas inseguras estilo C con una alternativa segura y rica en funcionalidades.
Lección 2 • Algoritmos de la STL
Aplica algoritmos de ordenamiento, búsqueda, transformación y acumulación de <algorithm>. Reemplaza bucles manuales propensos a errores con líneas únicas expresivas.
Lección 3 • Contenedores asociativos y no ordenados
Presenta map, set, unordered_map y unordered_set para acceso basado en clave. Permite patrones de búsqueda rápida usados en aplicaciones del mundo real.
Lección 4 • Contenedores secuenciales
Cubre vector, list, deque y array para almacenamiento ordenado de datos. Elegir el contenedor correcto impacta directamente el rendimiento del programa.
Lección 5 • Iteradores y rangos
Explica las categorías de iteradores, patrones de recorrido y operaciones basadas en rango. Los iteradores son la interfaz universal entre contenedores y algoritmos.
Capítulo 6OcultarOcultar detallesVer detallesPlantillas y programación genérica
Plantillas y programación genérica
Lección 1 • Conceptos y restricciones en C++20
Aplica conceptos de C++20 para restringir parámetros de plantilla con requisitos legibles. Produce mensajes de error más claros e interfaces autodocumentadas.
Lección 2 • Fundamentos de metaprogramación con plantillas
Presenta la computación en tiempo de compilación usando type traits y constexpr. Permite abstracciones de costo cero y validación en tiempo de compilación.
Lección 3 • Plantillas de función
Presenta la sintaxis de plantillas para escribir funciones genéricas con parámetros de tipo. Elimina la duplicación de código preservando la seguridad total de tipos.
Lección 4 • Plantillas de clase
Extiende las plantillas a clases, permitiendo contenedores y utilidades genéricos. Sustenta los contenedores de la STL estudiados en el capítulo anterior.
Lección 5 • Plantillas variádicas
Cubre los paquetes de parámetros y las expresiones fold para plantillas con argumentos variables. Permite API flexibles como std::tuple y utilidades de registro.
Capítulo 7OcultarOcultar detallesVer detallesCaracterísticas y modismos modernos de C++
Características y modismos modernos de C++
Lección 1 • Vinculaciones estructuradas y std::optional
Presenta las vinculaciones estructuradas para la descomposición tipo tupla y optional para valores anulables. Reduce el código repetitivo y expresa la intención claramente.
Lección 2 • std::variant y std::any
Cubre uniones seguras en cuanto a tipos con std::variant y almacenamiento con borrado de tipo con std::any. Reemplaza las uniones inseguras de C y los punteros void en código moderno.
Lección 3 • Fundamentos de concurrencia con std::thread
Presenta la creación de hilos, primitivas de sincronización y prevención de condiciones de carrera. Prepara a los estudiantes para el desarrollo de aplicaciones multihilo.
Lección 4 • Semántica de movimiento y referencias a rvalue
Explica las referencias a rvalue, los constructores de movimiento y la asignación de movimiento para rendimiento. Elimina copias innecesarias en programas intensivos en recursos.
Lección 5 • Expresiones lambda y cierres
Cubre la sintaxis lambda, las listas de captura y el uso con algoritmos de la STL. Permite objetos de función concisos en línea sin código repetitivo.
Capítulo 8OcultarOcultar detallesVer detallesManejo de errores, pruebas y rendimiento
Manejo de errores, pruebas y rendimiento
Lección 1 • Perfilación y análisis de rendimiento
Aplica herramientas de perfilación para identificar puntos críticos y medir el tiempo de ejecución. La optimización basada en datos evita ajustes prematuros y equivocados.
Lección 2 • Pruebas unitarias en C++
Presenta frameworks de pruebas, diseño de casos de prueba y flujo de trabajo de desarrollo guiado por pruebas. Las pruebas automatizadas verifican la corrección a medida que el código evoluciona.
Lección 3 • Aserciones y programación defensiva
Usa assert, static_assert y verificaciones de precondición para detectar errores temprano. Las técnicas defensivas reducen el tiempo de depuración en bases de código grandes.
Lección 4 • Técnicas de optimización
Cubre diseños de datos amigables con la caché, mejoras algorítmicas y sugerencias al compilador. Aplica los hallazgos de la perfilación para lograr aceleraciones medibles.
Lección 5 • Manejo de excepciones
Cubre try-catch-throw, jerarquías de excepciones y diseño de código seguro ante excepciones. La propagación adecuada de errores es obligatoria en el software C++ profesional.
Tu certificado válido de finalización
Este curso es para ti:
Estudiante de ciencias de la computación: deseoso de ir más allá del pseudocódigo hacia lenguajes del mundo real.
Desarrollador de Python o JavaScript: listo para entender lo que sucede bajo la abstracción.
Aspirante a desarrollador de videojuegos: necesitando el control de bajo nivel que C++ proporciona de manera única.
Ingeniero electrónico: buscando escribir firmware y controladores de dispositivo con herramientas de lenguaje modernas.
Persona en cambio de carrera: apuntando a roles de programación de sistemas bien remunerados desde una formación no en CS.
Aficionado constructor: queriendo programar microcontroladores y dispositivos embebidos de manera más efectiva.
Lo que dicen nuestros estudiantes
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Colombia?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















