Kursbeschreibung
In diesem Kurs werden Sie fortgeschrittene C++-Themen kennenlernen. Sie werden die Prinzipien eines guten Klassendesigns verstehen und wissen, wie Sie diese beim Schreiben Ihrer eigenen Programme anwenden können und wie Sie die Vererbung nutzen können, um reale Objekte darzustellen, ohne doppelten Code zu haben. Sie werden lernen, wie man Mehrfachvererbung einsetzt und die damit verbundenen Probleme vermeidet. Der Kurs gibt Ihnen eine Einführung in die Konzepte der funktionalen Programmierung und die Verwendung von Lambdas. Außerdem erhalten Sie einen Überblick über die mit C++ 11 eingeführte Move-Semantik, einen Überblick über die STL-Container sowie über statische und dynamische Polymorphie.
Lernziele des Kurses
- Einführung von Konzepten für eine gute Klassengestaltung
- Einführung in das Konzept der Vererbung und deren Vor- und Nachteile
- Alternativen bei der Gestaltung der Klassenstruktur aufzeigen
- Sie zeigen mehrere Erbschaften und diskutieren mögliche Probleme.
- Einführung von statischem und dynamischem Polymorphismus
- Sie lernen die Bewegungssemantik zu verwenden
- Einführung in die Konzepte der funktionalen Programmierung und die Verwendung von Lambda-Funktionen
- Verwendung von Vorlagen und virtuellen Funktionen für statischen und dynamischen Polymorphismus lernen
- Einführung in die STL-Container
FÄHIGKEITEN
- Vererbung und Mehrfachvererbung richtig einsetzen, um Lösungen für die Software zu entwerfen
- Korrekte Verwendung der Bewegungssemantik für die Objekte
- Lambda-Funktionen im Code verwenden
- Sie lernen, wie man STL-Container richtig verwendet
Fähigkeiten, die Sie lernen werden
- Präsentation der erweiterten Funktionen
- Fortgeschrittene Mathematik
- C++ (Programmiersprache)
- C++-Grundlagen
- C++-Konzepte
- SAS Certified Professional: Fortgeschrittene Programmierung
Was Sie lernen werden
- Wenden Sie Prinzipien für gutes Klassendesign auf Ihre eigenen C++-Programme an
- Nutzen Sie einfache, mehrfache, private, geschützte und hierarchische Vererbung und vermeiden Sie häufige Fallstricke
- Implementieren Sie statische und dynamische Polymorphie unter Verwendung von Templates, virtuellen Funktionen und dynamischer Bindung
- Nutzen Sie C++11 Move-Semantik in Ihrem Code
- Schreiben Sie Lambda-Funktionen und wenden Sie funktionale Programmierungskonzepte an, einschließlich Capture-Regeln und Rückgabesignaturen
- Arbeiten Sie mit STL-Containern
Wichtige Erkenntnisse
- Der Kurs behandelt gutes Klassendesign und wie diese Prinzipien beim Schreiben Ihrer eigenen Programme angewendet werden.
- Vererbung wird zusammen mit ihren Vorteilen und Nachteilen dargestellt, mit Alternativen wie Klassen-Komposition, die für das Entwerfen von Klassenstrukturen gezeigt werden.
- Mehrfachvererbung wird zusammen mit ihren potenziellen Problemen behandelt, einschließlich Mehrdeutigkeiten und deren Lösung unter Verwendung virtueller Basisklassen.
- Sowohl statische als auch dynamische Polymorphie werden behandelt, unter Verwendung von Templates und virtuellen Funktionen sowie Konzepten wie dynamischer Bindung, VTables und reinen virtuellen Funktionen.
- Der Kurs führt C++11 Move-Semantik, funktionale Programmierung mit Lambdas und STL-Container ein.
Häufig gestellte Fragen
Was behandelt der C++ Advanced-Kurs?
Er behandelt fortgeschrittene C++-Themen, einschließlich guten Klassendesigns, Vererbung (einfach, mehrfach, privat und geschützt), statische und dynamische Polymorphie, C++11 Move-Semantik, funktionale Programmierung mit Lambdas und STL-Container.
Wie behandelt der Kurs Mehrfachvererbung?
Er zeigt Mehrfachvererbung und diskutiert ihre potenziellen Probleme, einschließlich Mehrdeutigkeiten in der Mehrfachvererbung und deren Lösung unter Verwendung virtueller Basisklassen.
Was werde ich über Polymorphie lernen?
Sie werden in statische und dynamische Polymorphie eingeführt, um Templates und virtuelle Funktionen zu nutzen, zusammen mit dynamischer Bindung, VTables, virtuellen und polymorphen Klassendestruktoren sowie reinen virtuellen Funktionen und Interface-Klassen.
Behandelt der Kurs moderne C++-Funktionen wie Lambdas und Move-Semantik?
Ja. Er gibt eine Einleitung in funktionale Programmierungskonzepte und die Nutzung von Lambda-Funktionen, einschließlich Capture-Regeln und Signatur und Rückgabe, und bietet einen Überblick über die Move-Semantik, die in C++11 eingeführt wurde.
Welche Fähigkeiten sind mit diesem Kurs verbunden?
Die verbundenen Fähigkeiten umfassen C++ (Programmiersprache), C++-Grundlagen und C++-Konzepte.









