DMarlon Studio

Curso de C++

Rendimiento con abstracciones: clases, plantillas y la biblioteca estándar para programas grandes y rápidos.

En DMarlon Studio, C++ es el lenguaje de las aplicaciones de escritorio nativas con FLTK y de la consola: diseña la ventana y el estudio genera el C++.

Desde cero: lo imprescindible para escribir sus primeros programas.

  1. 1Hola, mundoEscriba su primer programa en C++: la función main(), std::cout y el operador << para mostrar texto y números en la consola.Lección 1
  2. 2Variables, tipos y autoDeclare variables en C++ con int, double, char, bool y std::string, proteja valores con const y deje que auto deduzca el tipo.Lección 2
  3. 3Operaciones y funciones matemáticasHaga cuentas en C++: división entera y resto, static_cast, operadores compuestos y las funciones de <cmath> como sqrt, pow y round.Lección 3
  4. 4Cadenas de textoTrabaje con std::string en C++: unir con +, medir con size(), recortar con substr, buscar con find y convertir entre texto y números.Lección 4
  5. 5Leer del tecladoPida datos al usuario en C++ con std::cin y >> para números y palabras, y con std::getline para líneas completas con espacios.Lección 5
  6. 6if, else y switchTome decisiones en C++ con if, else if y else, elija entre casos fijos con switch y break, y use el operador ternario ?:.Lección 6
  7. 7Comparaciones y lógicaCompare valores en C++ con ==, !=, < y >, combine condiciones con &&, || y !, y escriba los bool como true y false con std::boolalpha.Lección 7
  8. 8while y do-whileRepita código en C++ con while mientras se cumpla una condición, con do-while al menos una vez, y controle el bucle con break y continue.Lección 8
  9. 9for y for de rangoCuente con el for clásico de C++, recorra colecciones con el for de rango y anide bucles para construir una tabla.Lección 9
  10. 10VectoresGuarde listas en C++ con std::vector: crear, leer con [] y at(), saber su tamaño con size() y añadir elementos con push_back.Lección 10
  11. 11Trabajar con vectoresModifique un std::vector en C++ con insert, erase y pop_back, y ordénelo y busque su mínimo y su máximo con las funciones de <algorithm>.Lección 11
  12. 12FuncionesEscriba funciones en C++ con su tipo de retorno y sus parámetros, use void y return, y reutilícelas para convertir temperaturas.Lección 12
  13. 13Referencias y referencias constEntienda en C++ la diferencia entre pasar por valor y por referencia (&), y use const & para pasar vectores y cadenas sin copiarlos.Lección 13
  14. 14Argumentos por defecto y sobrecargaDé valores por defecto a los parámetros en C++ y escriba varias funciones con el mismo nombre (sobrecarga) que el compilador elige según los argumentos.Lección 14
  15. 15MapasGuarde pares clave-valor en C++ con std::map: el inventario de una frutería con [], count(), erase() y un recorrido en orden alfabético.Lección 15
  16. 16Pares y enlaces estructuradosAgrupe dos valores con std::pair en C++, devuélvalos juntos desde una función y sepárelos con los enlaces estructurados de C++17.Lección 16
  17. 17Dar formato a la salidaAlinee columnas y controle los decimales en C++ con setw, left, right, setfill, fixed y setprecision de <iomanip>: la carta de una cafetería.Lección 17
  18. 18Excepciones: try, catch y throwGestione errores en C++ con excepciones: lance std::invalid_argument y std::runtime_error con throw y captúrelos con try y catch.Lección 18
  19. 19Escribir y leer archivos de textoGuarde datos en un archivo de texto con std::ofstream y léalos de nuevo con std::ifstream en C++, en la carpeta actual del programa.Lección 19
  20. 20Proyecto: carrito de la compraCombine en C++ map, funciones, referencias, excepciones, lectura de datos e iomanip en un carrito de la compra con su ticket.Lección 20

Para quien ya domina lo básico: las técnicas que se usan en proyectos reales.

  1. 1Clases y métodos constCree sus propias clases en C++: miembros, constructor y métodos const, con una cuenta bancaria que admite ingresos y reintegros.Lección 1
  2. 2Encapsulación e inicializaciónProteja los datos de una clase de C++ con private y getters, e inicialice sus miembros con una lista: un termostato que nunca sale de su rango.Lección 2
  3. 3Herencia y funciones virtualesHerede de una clase en C++ y sustituya sus métodos con virtual y override; descubra también el recorte de objetos, con una nómina de empleados.Lección 3
  4. 4Clases abstractas y polimorfismoDefina una interfaz con funciones virtuales puras en C++ y recorra objetos distintos con punteros a la base: métodos de pago y sus comisiones.Lección 4
  5. 5Sobrecarga de operadoresDé a sus clases de C++ operadores propios (+, *, +=, ==, < y <<) con un tipo Money que guarda céntimos para no perder ni un euro al sumar.Lección 5
  6. 6RAII y destructoresLibere recursos sin olvidos con RAII y destructores en C++: una conexión que se cierra sola y una transacción que se deshace si hay una excepción.Lección 6
  7. 7unique_ptr y shared_ptrUse los punteros inteligentes unique_ptr y shared_ptr de C++ para que la memoria se libere sola: canciones con uno o con varios dueños.Lección 7
  8. 8Copiar y moverDistinga entre copiar y mover en C++: la regla de los cinco, std::move y noexcept, con una imagen que gestiona su propia memoria.Lección 8
  9. 9Plantillas de funcionesEscriba una sola función de C++ para muchos tipos con template: el mayor de una lista de números, palabras o versiones, y un límite genérico.Lección 9
  10. 10Plantillas de clasesCree un búfer circular genérico con una plantilla de clase de C++, con el tipo y el tamaño como parámetros: lecturas de un sensor y archivos recientes.Lección 10
  11. 11Lambdas y capturasEscriba funciones en el sitio con las lambdas de C++: ordene tareas, capture variables por valor o por referencia y use mutable y auto.Lección 11
  12. 12Algoritmos de la STLProcese datos en C++ con transform, accumulate, count_if, find_if y remove_if con erase: las ventas de una tienda sin escribir bucles.Lección 12
  13. 13IteradoresRecorra contenedores de C++ con iteradores: begin, end, rbegin, next, distance y erase en un std::list, con una ruta y una lista de reproducción.Lección 13
  14. 14set, unordered_map y dequeElija el contenedor de C++ adecuado: std::set para valores únicos ordenados, std::unordered_map para contar visitas y std::deque para una cola.Lección 14
  15. 15optional, variant y visitRepresente en C++17 valores que pueden faltar con std::optional y valores de varios tipos con std::variant y std::visit: puertos y celdas.Lección 15
  16. 16Espacios de nombres y enum classOrganice el código de C++ con namespaces, alias y using, y use enum class para estados con nombre y seguros: los pasos de un pedido.Lección 16
  17. 17Jerarquías de excepcionesCree sus propias excepciones en C++ derivando de std::runtime_error, con datos extra, y captúrelas de la más concreta a la más general.Lección 17
  18. 18std::function y callbacksConstruya un sistema de eventos en C++ con std::function: registre lambdas, funciones y métodos como callbacks y llámelos al emitir cada evento.Lección 18
  19. 19constexpr y static_assertCalcule al compilar con constexpr, compruebe condiciones con static_assert y elija código con if constexpr: tamaños, proporciones y tablas en C++.Lección 19
  20. 20Proyecto: editor de formasProyecto final del curso avanzado de C++: un editor de formas con clases, polimorfismo, unique_ptr y algoritmos de la STL, listo para F9 en DMarlon Studio.Lección 20