Beschreibung
C++ für Umsteiger anderer Programmiersprachen
Zielgruppe: Nur für Unternehmen und Institutionen.Dieses C++ Seminar bietet Ihnen eine umfassende Einführung in C++ und ermöglicht Ihnen, die Grundlagen zu erlernen, fortgeschrittene Konzepte zu verstehen und sich mit den wichtigen C++-Tools und -Themen vertraut zu machen.
- Performance und Effizienz: C++ ist eine stark typisierte und kompilierte Sprache, die näher an der Hardware liegt. Dadurch ermöglicht sie eine effiziente Nutzung von Ressourcen und eine hohe Leistung, was für rechenintensive Anwendungen und Systeme von Vorteil ist.
- Plattformübergreifende Unterstützung: C++ ist auf vielen Plattformen verfügbar, darunter Windows, macOS, Linux und viele eingebettete Systeme. Dies ermöglicht es Unternehmen, plattformübergreifende Software zu entwickeln und ihre Anwendungen auf verschiedenen Betriebssystemen auszuführen.
- Reife und bewährte Technologie: C++ ist seit Jahrzehnten in der Industrie im Einsatz und hat sich als robuste und zuverlässige Technologie bewährt. Viele Legacy-Systeme und wichtige Softwarekomponenten werden in C++ entwickelt, was die Bedeutung und die Vertrauenswürdigkeit dieser Sprache unterstreicht.
- Umfangreiche Community und Bibliotheken: C++ verfügt über eine aktive und engagierte Entwicklergemeinschaft, die eine Fülle von Open-Source-Bibliotheken, Frameworks und Tools zur Verfügung stellt. Dies beschleunigt die Entwicklung und ermöglicht den Zugriff auf etablierte Lösungen für verschiedene Anwendungsgebiete.
Kommende Starttermine
Inhalte / Module
- C++-Einführung
- Hauptmerkmale und Vorteile von C++
- Unterschiede zwischen C++ und anderen Programmiersprachen (z. B. C, Java)
- Entwicklungsumgebung (IDE)
- Vorteile der Verwendung einer IDE gegenüber einem Texteditor
- Installation und Einrichtung der IDE Ihrer Wahl (z. B. Visual Studio)
- Erstellen und Kompilieren eines einfachen C++-Programms in der IDE
- Debugging-Tools und ihre Verwendung zur Fehlerbehebung
- Einführung in die Benutzeroberfläche und Funktionen der IDE
- Variablen, Datentypen und Deklarationen
- Datentypen in C++: Ganzzahlen, Gleitkommazahlen, Zeichen, Booleans usw.
- Deklaration und Initialisierung von Variablen
- Gültigkeitsbereich und Sichtbarkeit von Variablen
- Operatoren und Ausdrücke
- Arithmetische Operatoren: +, -, *, /, %
- Zuweisungsoperatoren: =, +=, -=, *=, /=
- Vergleichsoperatoren: ==, !=, <, >, <=, >=
- Logische Operatoren: &&, ||, !
- Präzedenz und Assoziativität von Operatoren
- Kontrollstrukturen: Schleifen und Bedingungen
- if-else-Anweisungen: einfache Bedingungen
- switch-Anweisung: Mehrfachauswahl
- while-Schleifen: Schleifen mit Bedingung
- for-Schleifen: Schleifen mit Zähler
- Funktionen und Parameterübergabe
- Funktionsdeklaration und -definition
- Rückgabewerte und Funktionstypen
- Übergabe von Argumenten durch Wert, Referenz und Zeiger
- Überladen von Funktionen
- Namespace und Header-Dateien
- Verwendung von Namespaces zur Vermeidung von Namenskonflikten
- Erstellen und Einbinden von Header-Dateien
- Trennung von Deklaration und Definition
- Zeiger und Referenzen
- Zeiger und Adressen in C++
- Dereferenzierung und Zugriff auf Zeigerinhalte
- Zeigerarithmetik
- Verwendung von Referenzen zur Alias-Bildung
- Klassen und Objekte
- Konzept der Kapselung und Datenkapselung
- Klassen-Definition und -Deklaration
- Member-Variablen und -Funktionen
- Getter- und Setter-Methoden
- Konstruktoren und Destruktoren
- Konstruktor: Erstellen von Objekten und Initialisierung von Mitgliedern
- Destruktor: Ressourcenfreigabe und Aufräumarbeiten
- Standardkonstruktor und benutzerdefinierter Konstruktor
- Der Rule of Three (Kopierkonstruktor, Zuweisungsoperator, Destruktor)
- Vererbung und Polymorphismus
- Erben von Klassen und abgeleitete Klassen
- Basisklassen und abstrakte Klassen
- Polymorphismus durch virtuelle Funktionen
- Überschreiben von Funktionen
- Dynamische Speicherverwaltung
- Verwendung von new und delete zur Speicherzuweisung
- Vermeidung von Speicherlecks
- Smart Pointer (unique_ptr, shared_ptr) zur automatischen Speicherfreigabe
- Container-Klassen
- Vektor (std::vector): dynamische Arrays
- Liste (std::list): doppelt verkettete Listen
- Map (std::map) und unordered_map: assoziative Container
- Algorithmus-Bibliothek
- Sortieren von Containern (std::sort)
- Suchen in Containern (std::find, std::binary_search)
- Anwenden von Operationen auf Elemente (std::for_each, std::transform)
- Iteratoren
- Arten von Iteratoren (Input, Output, Forward, Bidirectional, Random Access)
- Verwendung von Iteratoren zur Durchquerung von Containern
- Generische Programmierung
- Schreiben von generischen Funktionen und Klassen mit Templates
- Template-Spezialisierung
- Vorteile der generischen Programmierung
- Smart Pointer
- unique_ptr: exklusive Besitzer von Ressourcen
- shared_ptr: gemeinsame Besitzer von Ressourcen
- weak_ptr: Referenz ohne die Lebensdauer zu beeinflussen
- Exception Handling
- Verwendung von try-catch-Blöcken zum Abfangen von Ausnahmen
- Eigene Ausnahme-Klassen erstellen
- Ressourcenfreigabe in Ausnahmefällen
- C++11/14/17/20-Features und -Verbesserungen
- Lambda-Ausdrücke
- Range-basierte for-Schleifen
- Move-Semantik und rvalue-Referenzen
- Threads und Multithreading (std::thread)
- Code-Analyse-Tools
- Clang-Tidy: Statischer Codeanalysator
- cppcheck: Statischer C/C++-Codeanalysator
- Verwendung und Integration in die Entwicklungsumgebung
- Profiling und Optimierung von C++-Code
- Verwendung von Profiling-Tools (z. B. Valgrind, GProf)
- Identifizierung von Engpässen und Optimierungspotenzialen
- Tipps zur Verbesserung der C++-Leistung
Zielgruppe / Voraussetzungen
Hinweis: Dieser Kurs richtet sich an Mitarbeitende aus Unternehmen und Institutionen.
Für Privatpersonen ist dieser Kurs leider nicht geeignet.
Bitte beachten Sie: Bildungsgutscheine der Agentur für Arbeit werden für diesen Kurs NICHT anerkannt.
Abschlussqualifikation / Zertifikat
Infos anfordern
GFU Cyrus AG
Erweitern Sie Ihre IT-Skills mit einem offenen IT-Training oder ganz nach Ihren Bedürfnissen durch eine individuelle IT-Schulung. Programmiersprachen (C#, Python, Java, …), Microsoft Office 365, Anforderungsmanagement, Projektmanagement, Business Intelligence, Data Science, Künstliche Intelligenz, IT-Sicherheit , Administration & Datenbanken, Softwareentwicklung, Testmanagement...
Erfahren Sie mehr über GFU Cyrus AG und weitere Kurse des Anbieters.