Estructuras, POO y algoritmos en C++ aplicados a proyectos reales. Optimización, rendimiento y buenas prácticas en C++ moderno. Aprenderas a programar software eficiente con C++ desde la base.
Estructura general de un programa en C++ (#include, main(), return 0;)
Tipos de datos primitivos (int, float, char, bool, double)
Variables y constantes (const, #define)
Operadores aritméticos, relacionales, lógicos y de asignación
Instrucciones de control:
Condicionales: if, else, switch
Bucles: for, while, do-while
Funciones básicas: declaración, definición y llamada
Ámbito de variables (local, global, estático)
Comentarios, formato y buenas prácticas de codificación
Concepto de referencia vs puntero
Declaración y uso de referencias (int &ref = var;)
Paso de parámetros por referencia a funciones
Retorno de valores por referencia
Constantes referenciadas (const &)
Ventajas de las referencias frente a punteros
Sobrecarga de funciones: definición y reglas
Resolución de llamadas a funciones sobrecargadas
Concepto de firma de función
Sobrecarga de operadores:
Operadores aritméticos (+, -, *, /)
Operadores relacionales (==, <, >)
Operadores de asignación (=, +=, etc.)
Operadores de inserción/extracción (<<, >>)
Sobrecarga como función miembro o función amiga
Limitaciones y buenas prácticas en la sobrecarga
Concepto de memoria dinámica
Operadores new y delete
Asignación dinámica de arreglos (new[], delete[])
Punteros y direcciones de memoria
Punteros nulos (nullptr)
Fugas de memoria y su prevención
Uso de std::unique_ptr, std::shared_ptr (manejo moderno de memoria)
Concepto de clase y objeto
Declaración de clases y creación de objetos
Miembros de datos y funciones miembro
Encapsulamiento y modificadores de acceso (private, protected, public)
Constructores y destructores
Inicialización de objetos
Métodos const y static
Clases anidadas
Instanciación y alcance de objetos
Constructor de copia y operador de asignación
Destructor y gestión de recursos
Funciones amigas (friend)
Clases amigas
Sobrecarga del operador = y operadores de comparación
this pointer y su uso
Regla de los tres / cinco / cero en C++
Manejo correcto de recursos (RAII)
Concepto de herencia
Tipos de herencia: pública, protegida y privada
Constructores y destructores en clases derivadas
Llamada al constructor de la clase base
Sobrescritura de funciones (override)
Polimorfismo: funciones virtuales y punteros a clases base
Clases abstractas e interfaces (funciones virtuales puras)
Uso de virtual, override y final
Problemas comunes: ambigüedad, herencia múltiple
Concepto de plantilla (template)
Plantillas de funciones (template <typename T>)
Plantillas de clases
Instanciación de templates
Ventajas de los templates
Template specialization (especialización)
Parámetros múltiples de tipo (template <class T, class U>)
Buenas prácticas en el diseño de templates
Librería <iostream>
Uso de cin, cout, cerr, clog
Manipuladores de formato (setw, setprecision, fixed)
Entrada/salida con archivos (ifstream, ofstream, fstream)
Apertura, lectura y escritura en archivos
Verificación de errores en flujos (fail(), eof())
Flujo binario vs flujo de texto
Redirección de flujos y buenas prácticas de manejo
Dominar los fundamentos del lenguaje: comprender la estructura, sintaxis, tipos de datos, operadores, funciones y control de flujo.
Optimizar el manejo de datos y memoria: aplicar referencias, punteros y memoria dinámica con new y delete.
Aprovechar el poder de la POO: diseñar clases y objetos aplicando encapsulamiento, abstracción y modularidad.
Profundizar en técnicas avanzadas: usar constructores, destructores, sobrecarga, herencia y polimorfismo para crear código flexible y reutilizable.
Ampliar la capacidad del lenguaje: implementar templates y flujos de entrada/salida para desarrollar programas genéricos e interactivos.
Todos Nuestros cursos pueden Bonificarse
Aprovecha la formación bonificada por FUNDAE (Fundación Tripartita) para formar a tus empleados. El proceso de bonificación es muy sencillo.


Conoce nuestras clases grupales con horario y temario definidos. Elige el grupo que más se acomode a lo que necesitas.
Estructura general de un programa en C++ (#include, main(), return 0;)
Tipos de datos primitivos (int, float, char, bool, double)
Variables y constantes (const, #define)
Operadores aritméticos, relacionales, lógicos y de asignación
Instrucciones de control:
Condicionales: if, else, switch
Bucles: for, while, do-while
Funciones básicas: declaración, definición y llamada
Ámbito de variables (local, global, estático)
Comentarios, formato y buenas prácticas de codificación
Concepto de referencia vs puntero
Declaración y uso de referencias (int &ref = var;)
Paso de parámetros por referencia a funciones
Retorno de valores por referencia
Constantes referenciadas (const &)
Ventajas de las referencias frente a punteros
Sobrecarga de funciones: definición y reglas
Resolución de llamadas a funciones sobrecargadas
Concepto de firma de función
Sobrecarga de operadores:
Operadores aritméticos (+, -, *, /)
Operadores relacionales (==, <, >)
Operadores de asignación (=, +=, etc.)
Operadores de inserción/extracción (<<, >>)
Sobrecarga como función miembro o función amiga
Limitaciones y buenas prácticas en la sobrecarga
Concepto de memoria dinámica
Operadores new y delete
Asignación dinámica de arreglos (new[], delete[])
Punteros y direcciones de memoria
Punteros nulos (nullptr)
Fugas de memoria y su prevención
Uso de std::unique_ptr, std::shared_ptr (manejo moderno de memoria)
Concepto de clase y objeto
Declaración de clases y creación de objetos
Miembros de datos y funciones miembro
Encapsulamiento y modificadores de acceso (private, protected, public)
Constructores y destructores
Inicialización de objetos
Métodos const y static
Clases anidadas
Instanciación y alcance de objetos
Constructor de copia y operador de asignación
Destructor y gestión de recursos
Funciones amigas (friend)
Clases amigas
Sobrecarga del operador = y operadores de comparación
this pointer y su uso
Regla de los tres / cinco / cero en C++
Manejo correcto de recursos (RAII)
Concepto de herencia
Tipos de herencia: pública, protegida y privada
Constructores y destructores en clases derivadas
Llamada al constructor de la clase base
Sobrescritura de funciones (override)
Polimorfismo: funciones virtuales y punteros a clases base
Clases abstractas e interfaces (funciones virtuales puras)
Uso de virtual, override y final
Problemas comunes: ambigüedad, herencia múltiple
Concepto de plantilla (template)
Plantillas de funciones (template <typename T>)
Plantillas de clases
Instanciación de templates
Ventajas de los templates
Template specialization (especialización)
Parámetros múltiples de tipo (template <class T, class U>)
Buenas prácticas en el diseño de templates
Librería <iostream>
Uso de cin, cout, cerr, clog
Manipuladores de formato (setw, setprecision, fixed)
Entrada/salida con archivos (ifstream, ofstream, fstream)
Apertura, lectura y escritura en archivos
Verificación de errores en flujos (fail(), eof())
Flujo binario vs flujo de texto
Redirección de flujos y buenas prácticas de manejo
Dominar los fundamentos del lenguaje: comprender la estructura, sintaxis, tipos de datos, operadores, funciones y control de flujo.
Optimizar el manejo de datos y memoria: aplicar referencias, punteros y memoria dinámica con new y delete.
Aprovechar el poder de la POO: diseñar clases y objetos aplicando encapsulamiento, abstracción y modularidad.
Profundizar en técnicas avanzadas: usar constructores, destructores, sobrecarga, herencia y polimorfismo para crear código flexible y reutilizable.
Ampliar la capacidad del lenguaje: implementar templates y flujos de entrada/salida para desarrollar programas genéricos e interactivos.
Todos Nuestros cursos pueden Bonificarse
Aprovecha la formación bonificada por FUNDAE (Fundación Tripartita) para formar a tus empleados. El proceso de bonificación es muy sencillo.











Teléfono: +34 639284933
Monto a pagar:0.00 €Use el número telefónico para completar la transferencia y adjunte su comprobante de pago en el siguiente paso.