KnowledgeCity

C++ Avanzado

En este curso aprenderá temas avanzados de C ++.

En este curso aprenderá temas avanzados de C ++. Comprenderá los principios del buen diseño de clases y cómo aplicarlos para escribir sus propios programas y cómo usar la herencia para representar objetos de la vida real sin tener código duplicado. Aprenderá a utilizar la herencia múltiple y evitará los problemas que puede presentar. El curso le dará una introducción a los conceptos de programación funcional y el uso de lambdas. También le dará una descripción general de la semántica de movimiento que ha introducido C ++ 11 y le dará una descripción general de los contenedores STL y hablará sobre polimorfismo estático y dinámico.

Objetivos de aprendizaje del curso

  • Introducir buenos conceptos de diseño de clases
  • Introducir el concepto de herencia y sus beneficios e inconvenientes
  • Mostrar alternativas en el diseño de la estructura de la clase
  • Mostrar la herencia múltiple y discutir posibles problemas.
  • Introducir polimorfismo estático y dinámico.
  • Aprender a usar la semántica de movimientos
  • Obtener una introducción a los conceptos de programación funcional y al uso de la función lambda
  • Aprender a usar plantillas y funciones virtuales para polimorfismo estático y dinámico
  • Presentar los contenedores STL

HABILIDADES

  • Usar la herencia y la herencia múltiple correctamente para diseñar soluciones para el software
  • Usar la semántica de movimiento correctamente para los objetos
  • Usar funciones lambda en el código
  • Aprender a utilizar correctamente los contenedores STL

Instructor: Mikhail Veygman

Duración: 3h 27m · 51 lecciones
Nivel: Advanced
Idioma: Español

Habilidades que obtendrás

Presentación avanzada de funcionesMatemáticas avanzadasC++ (Lenguaje de programación)Fundamentos de CConceptos de CProfesional Certificado SAS: Programación Avanzada

Lo que aprenderás

  • Aplicar buenos principios de diseño de clases a tus propios programas de C++
  • Usar herencia única, múltiple, privada, protegida y jerárquica mientras se evitan trampas comunes
  • Implementar polimorfismo estático y dinámico usando plantillas, funciones virtuales y vinculación dinámica
  • Usar semántica de movimiento de C++11 en tu código
  • Escribir funciones lambda y aplicar conceptos de programación funcional, incluidas reglas de captura y firmas de retorno
  • Trabajar con contenedores STL

Puntos clave

  • El curso cubre buen diseño de clases y cómo aplicar estos principios al escribir tus propios programas.
  • La herencia se presenta junto con sus beneficios y desventajas, con alternativas como composición de clases mostradas para diseñar la estructura de clases.
  • La herencia múltiple se cubre junto con sus posibles problemas, incluidas ambigüedades y resolverlas usando clases base virtuales.
  • Se aborda tanto el polimorfismo estático como el dinámico, usando plantillas y funciones virtuales y conceptos como vinculación dinámica, VTables y funciones virtuales puras.
  • El curso introduce la semántica de movimiento de C++11, programación funcional con lambdas y los contenedores STL.

Preguntas frecuentes

¿Qué cubre el curso Avanzado de C++?

Cubre temas avanzados de C++ incluido buen diseño de clases, herencia (única, múltiple, privada y protegida), polimorfismo estático y dinámico, semántica de movimiento de C++11, programación funcional con lambdas y los contenedores STL.

¿Cómo maneja el curso la herencia múltiple?

Muestra la herencia múltiple y discute sus posibles problemas, incluidas ambigüedades en la herencia múltiple y resolverlas usando clases base virtuales.

¿Qué aprenderé sobre el polimorfismo?

Se te introducirá tanto el polimorfismo estático como el dinámico, aprendiendo a usar plantillas y funciones virtuales, junto con vinculación dinámica, VTables, destructores de clases virtuales y polimórficas y funciones virtuales puras e interfaces de clases.

¿Cubre el curso características modernas de C++ como lambdas y semántica de movimiento?

Sí. Ofrece una introducción a conceptos de programación funcional y el uso de funciones lambda, incluidas reglas de captura y firma y retorno, y proporciona una descripción general de la semántica de movimiento introducida en C++11.

¿Qué habilidades están asociadas con este curso?

Las habilidades asociadas incluyen C++ (Lenguaje de Programación), Fundamentos de C++ y Conceptos de C++.

Transcripción

Transcripción

Hola y bienvenido a Ciudades del conocimiento Curso avanzado de C ++. Mi nombre es Mikhail Veygman y he sido desarrollador C ++ durante los últimos 15 años. Había trabajado en muchos proyectos para el comercio de alta frecuencia, procesamiento de datos y muchos otros. Este curso está diseñado para desarrolladores que ya han hecho grandes progresos en el aprendizaje del lenguaje C ++. Aquellos que conocen y comprenden lo suficiente de las características para hacer uso de ellos en el desarrollo de software para resolver problemas, además de describir algunos de los sistemas más simples, pero están listos para avanzar en su comprensión para diseñar y describir sistemas de la vida real más complejos. Este curso le presentará algunos de los más técnicas y principios avanzados en C ++ como un buen diseño de clase. Hablaremos sobre la composición de clases y la herencia. Hablaremos de herencia múltiple, sus trampas y usos. Hablaremos de polimorfismo, tanto estático como dinámico. Presentarle parte de la programación funcional. técnicas mediante funciones Lambda. Hablaremos de semántica de movimientos. También le presentaremos la biblioteca estándar de C ++, son clases de contenedor, algunos de los algoritmos disponibles. Hablaremos de las excepciones disponibles en lenguaje C ++, cómo usarlos y por qué. Y finalmente hablaremos sobre la información del tipo de tiempo de ejecución. de las variables en su programa. Finalmente, le mostraremos cómo diseñar e implemente su propia clase personalizada para una cola de prioridad. Al final de este curso, tendrá conocimientos sobre cómo utilizar estas funciones en el código escribirás, así como tener suficiente comprensión de principios de diseño para escribir código C ++ que se puede utilizar y extendido con facilidad. Vamos a empezar.

Aprende sobre la marcha

Lleva tu aprendizaje a todas partes: la app de KnowledgeCity te permite ver las lecciones sobre la marcha.