DMarlon Studio

Curso de C++ avanzado

Para quien ya domina lo básico: las técnicas que se usan en proyectos reales. 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++.

Empezar
  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