Elige tu idioma
Curso de C++
Más de 2 millones de estudiantes en todo el mundo

Curso de C++

4,6

Dominá C++ desde cero — desde la sintaxis básica y el manejo de memoria hasta plantillas, concurrencia y características modernas de C++23. Este curso te brinda la profundidad técnica y la práctica hands-on necesaria para escribir código C++ rápido, seguro y de nivel profesional. Ya sea que apuntes a programación de sistemas, desarrollo embebido o aplicaciones de alto rendimiento, este es el conjunto completo de habilidades que necesitás.

Dedika para empresas

Lo que vas a aprender:

Vas a construir una base sólida en sintaxis de C++, flujo de control y funciones antes de avanzar a punteros, manejo de memoria y programación orientada a objetos. Vas a dominar la Biblioteca Estándar de Plantillas, escribir código genérico con plantillas y aplicar características modernas como lambdas, semántica de movimiento y agrupaciones estructuradas. El curso también cubre manejo de errores, prueba unitaria, 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, vas a tener las habilidades para desarrollar software C++ de 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.

Haz clic aquí

Contenido del curso

8 Capítulos • 40 ClasesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Fundamentos de C++ y configuración del entorno

  • Clase 1 • Variables, tipos y literales

    Introducción a los tipos de datos fundamentales, la declaración de variables y los valores literales. Construye el vocabulario necesario para toda la manipulación de datos futura.

  • Clase 2 • Configuración del entorno de desarrollo

    Instalá compiladores, IDEs y herramientas de compilación para el desarrollo en C++. Proporciona la base técnica de la que depende cada capítulo posterior.

  • Clase 3 • Operadores y expresiones

    Explora los operadores aritméticos, relacionales, lógicos y bit a bit. Se aplican reglas de precedencia de operadores para escribir expresiones correctas.

  • Clase 4 • Sintaxis básica y estructura del programa

    Abarca 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.

  • Clase 5 • Entrada y salida con iostream

    Enseña la entrada/salida por consola usando cin y cout de la biblioteca estándar. Permite programas interactivos esenciales para los primeros ejercicios.

Capítulo 2Ver detalles

Flujo de control y funciones

  • Clase 1 • Bucles e iteración

    Introduce 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.

  • Clase 2 • Ámbito, tiempo de vida y clases de almacenamiento

    Explica el ámbito de variables local y global, estático y el tiempo de vida de los objetos. Previene errores comunes causados por una visibilidad de variables mal entendida.

  • Clase 3 • Recursión y sobrecarga de funciones

    Introduce 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.

  • Clase 4 • Declaración y definición de funciones

    Enseña a 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++.

  • Clase 5 • Sentencias condicionales

    Abarca las construcciones if, else-if, else y switch para la toma de decisiones. Permite directamente los programas basados en lógica que se construyen a lo largo del curso.

Capítulo 3Ver detalles

Arreglos, punteros y memoria

  • Clase 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 pérdidas de memoria en todos los programas futuros.

  • Clase 2 • Arreglos y cadenas estilo C

    Abarca 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.

  • Clase 3 • Referencias y corrección const

    Distingue referencias de punteros y aplica el uso de const por seguridad. La corrección const es un estándar de codificación profesional en C++.

  • Clase 4 • Panorama de punteros inteligentes

    Introduce unique_ptr, shared_ptr y weak_ptr como alternativas más seguras a los punteros crudos. Conecta la gestión manual de memoria con los modismos modernos de C++.

  • Clase 5 • Conceptos básicos de punteros

    Introduce la declaración de punteros, el operador dirección-de y la desreferenciación. Los punteros son centrales para la memoria dinámica y las características orientadas a objetos que vienen.

Capítulo 4Ver detalles

Programación orientada a objetos en C++

  • Clase 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 grandes bases de código C++.

  • Clase 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.

  • Clase 3 • Sobrecarga de operadores

    Permite que tipos personalizados usen operadores estándar de forma natural y expresiva. Refuerza el encapsulamiento al mantener la lógica dentro de la clase.

  • Clase 4 • Constructores, destructores e inicialización

    Enseña la gestión del ciclo de vida de los objetos a través de constructores y destructores. Una inicialización adecuada previene comportamientos indefinidos en programas complejos.

  • Clase 5 • Clases y objetos

    Abarca 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 5Ver detalles

La biblioteca de plantillas estándar

  • Clase 1 • Manejo de strings con std::string

    Abarca 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.

  • Clase 2 • Algoritmos STL

    Aplica algoritmos de ordenamiento, búsqueda, transformación y acumulación de <algorithm>. Reemplaza los bucles manuales propensos a errores con líneas expresivas y concisas.

  • Clase 3 • Contenedores asociativos y no ordenados

    Introduce map, set, unordered_map y unordered_set para acceso basado en claves. Permite patrones de búsqueda rápida usados en aplicaciones del mundo real.

  • Clase 4 • Contenedores secuenciales

    Abarca vector, list, deque y array para almacenamiento ordenado de datos. Elegir el contenedor correcto impacta directamente en el rendimiento del programa.

  • Clase 5 • Iteradores y rangos

    Explica categorías de iteradores, patrones de recorrido y operaciones basadas en rangos. Los iteradores son la interfaz universal entre contenedores y algoritmos.

Capítulo 6Ver detalles

Plantillas y programación genérica

  • Clase 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.

  • Clase 2 • Fundamentos de metaprogramación con plantillas

    Introduce la computación en tiempo de compilación usando rasgos de tipo y constexpr. Permite abstracciones de costo cero y validación en tiempo de compilación.

  • Clase 3 • Plantillas de función

    Introduce la sintaxis de plantillas para escribir funciones genéricas con parámetros de tipo. Elimina la duplicación de código manteniendo la seguridad de tipos total.

  • Clase 4 • Plantillas de clase

    Extiende las plantillas a clases, permitiendo contenedores y utilidades genéricos. Sustenta los contenedores STL estudiados en el capítulo anterior.

  • Clase 5 • Plantillas variádicas

    Abarca paquetes de parámetros y expresiones fold para plantillas con argumentos variables. Permite APIs flexibles como std::tuple y utilidades de logging.

Capítulo 7Ver detalles

Características y modismos de C++ moderno

  • Clase 1 • Vinculaciones estructuradas y std::optional

    Introduce las vinculaciones estructuradas para la descomposición similar a tuplas y optional para valores anulables. Reduce el código repetitivo y expresa la intención claramente.

  • Clase 2 • std::variant y std::any

    Abarca uniones seguras de 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.

  • Clase 3 • Fundamentos de concurrencia con std::thread

    Introduce la creación de hilos de ejecución, primitivas de sincronización y prevención de condiciones de carrera. Prepara a los estudiantes para el desarrollo de aplicaciones multihilo.

  • Clase 4 • Semántica de movimiento y referencias rvalue

    Explica las referencias rvalue, los constructores de movimiento y la asignación de movimiento para rendimiento. Elimina copias innecesarias en programas intensivos en recursos.

  • Clase 5 • Expresiones lambda y clausuras

    Abarca la sintaxis lambda, las listas de captura y el uso con algoritmos STL. Permite objetos de función concisos e inline sin código repetitivo.

Capítulo 8Ver detalles

Manejo de errores, pruebas y rendimiento

  • Clase 1 • Profiling y análisis de rendimiento

    Aplica herramientas de profiling para identificar cuellos de botella y medir el tiempo de ejecución. La optimización guiada por datos evita ajustes prematuros y equivocados.

  • Clase 2 • Pruebas unitarias en C++

    Introduce frameworks de pruebas, diseño de casos de prueba y el flujo de trabajo de desarrollo guiado por pruebas. Las pruebas automatizadas verifican la corrección a medida que el código evoluciona.

  • Clase 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 debugging en bases de código grandes.

  • Clase 4 • Técnicas de optimización

    Abarca diseños de datos amigables con la caché, mejoras algorítmicas e indicaciones al compilador. Aplica los hallazgos del profiling para lograr aceleraciones medibles.

  • Clase 5 • Manejo de excepciones

    Abarca try-catch-throw, jerarquías de excepciones y diseño de código con seguridad ante excepciones. La propagación adecuada de errores es obligatoria en el software profesional de C++.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Estudiante de ciencias de la computación: con ganas de ir más allá del pseudocódigo hacia lenguajes del mundo real.

  • Desarrollador de Python o JavaScript: listo para entender qué sucede debajo de la abstracción.

  • Aspirante a desarrollador de videojuegos: que necesita el control de bajo nivel que C++ proporciona de manera única.

  • Ingeniero electrónico: que busca escribir firmware y controladores con herramientas de lenguaje modernas.

  • Persona que cambia de carrera: que apunta a roles de programación de sistemas bien remunerados desde un trasfondo no informático.

  • Aficionado constructor: que quiere 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... agradezco por todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas Frecuentes

¿Quién es Dedika?

¿El certificado es válido en Chile?

¿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