Saltar al contenido principal
eLearner.app

Curso interactivo

Curso de C++

Aprende C++ moderno desde cero con ejercicios guiados, validación estática e integración con Compiler Explorer: desde la sintaxis básica y los tipos de datos hasta las clases y la programación orientada a objetos.

Verificación estática mediante palabras clave + ejecución en Compiler Explorer (un clic para copiar código + abrir).

01 · Módulo 1 — Fundamentos de C++

3 lecciones

Las bases: variables, tipos de datos primitivos, operadores aritmético-lógicos y gestión básica de entrada/salida con std::cout y std::cin.

  1. 1.1Variables y tipos de datosTipos primitivos (int, double, char, bool) y objetos complejos (std::string). Declaración, inicialización y ámbito.~10 min
  2. 1.2OperadoresOperadores aritméticos, relacionales, lógicos y de asignación. Precedencia y expresiones.~8 min
  3. 1.3Entrada/Salida y flujosLos flujos estándar de la biblioteca iostream: enviar salida con std::cout y leer entrada con std::cin.~10 min

02 · Módulo 2 — Control de flujo

3 lecciones

Expresiones condicionales para tomar decisiones y bucles para repetir instrucciones.

  1. 2.1Instrucciones condicionales (if-else)Controlar la ejecución condicional con los constructores if, else if y else.~10 min
  2. 2.2BuclesRepetir bloques de código con bucles for, while y do-while.~12 min
  3. 2.3La instrucción switchGestionar múltiples ramificaciones de forma ordenada basándose en valores constantes enteros o char.~8 min

03 · Módulo 3 — Funciones y Referencias

2 lecciones

Descomponer el código en bloques reutilizables y comprender cómo pasa C++ los datos en la memoria.

  1. 3.1Funciones básicasDeclarar y definir funciones. Parámetros de entrada, tipo de retorno y ejecución básica.~10 min
  2. 3.2Paso por valor y referenciaCopias en memoria frente a alias con el operador de referencia (&). Modificar parámetros externos.~12 min

04 · Módulo 4 — Programación Orientada a Objetos

2 lecciones

Introducción a las clases, el encapsulamiento y la gestión automática de recursos.

  1. 4.1Clases y ObjetosLa sintasis class, miembros de datos y funciones miembro. Especificadores de acceso public y private para el encapsulamiento.~12 min
  2. 4.2Constructores y DestructoresInicializar el estado del objeto en el momento de la creación y limpiar los recursos al destruirlo.~12 min

05 · Módulo 5 — Estructuras de Datos y Punteros

2 lecciones

Gestionar colecciones de datos y comprender el funcionamiento de la memoria física con los punteros.

  1. 5.1Arrays y VectoresArrays estáticos de estilo C y vectores dinámicos std::vector. Añadir, acceder y manipular colecciones de datos.~12 min
  2. 5.2PunterosDirecciones de memoria, operador de referencia (&) y desreferenciación (*). Uso de nullptr para mayor seguridad.~15 min

06 · Módulo 6 — Heredabilidad y Polimorfismo

2 lecciones

Extender clases existentes e implementar comportamientos polimórficos a través de funciones virtuales y heredabilidad.

  1. 6.1Heredabilidad en C++Crear jerarquías de clases con heredabilidad public, comprender el especificador protected y llamar a los constructores de la clase base.~12 min
  2. 6.2Polimorfismo y funciones virtualesResolver métodos en tiempo de ejecución usando la palabra clave virtual, comprender los destructores virtuales y las clases abstractas puras.~15 min

07 · Módulo 7 — Smart Pointers

2 lecciones

Gestión moderna y segura de la memoria dinámica sin fugas gracias a los punteros inteligentes de la biblioteca estándar.

  1. 7.1std::unique_ptr y std::shared_ptrGarantizar la propiedad exclusiva de un recurso con unique_ptr o compartida con conteo de referencias mediante shared_ptr.~12 min
  2. 7.2std::weak_ptrResolver dependencias cíclicas y referencias no propietarias asociadas a recursos gestionados por shared_ptr.~12 min

08 · Módulo 8 — Templates

2 lecciones

Introducción a la programación genérica escribiendo funciones y clases reutilizables independientes de los tipos de datos.

  1. 8.1Funciones PlantillaEscribir funciones genéricas definiendo parámetros de tipo plantilla y comprender la deducción de tipos por parte del compilador.~12 min
  2. 8.2Clases PlantillaImplementar clases y estructuras de datos genéricas parametrizadas respecto al tipo de datos contenido.~15 min