Kurs
Moderne C++-Programmierung («CPROGR»)
Kurs-Facts
- Einsetzen von Klassenbibliotheken in Ihren Programmen
- Verstehen und Nutzen von Scopes und Namespaces
- Einsetzen der string-Klasse für die Handhabung von Zeichenketten
- Definieren von Klassen mit den zugehörigen Attributen und Methoden
- Verstehen von Klassen als ein Hilfsmittel für Information Hiding
- Implementieren und Einsetzen von Konstruktoren
- Sinnvolles Modularisieren von Code
- Definieren einer Klassenhierarchie
- Kennen der verschiedenen Sichtbarkeiten von Klassenelementen in Bezug auf die Ableitung
- Anwenden der Operatoren new und delete
- Erstellen eines Programms mit dynamischer Speicherverwaltung
- Kennen der Vorteile von Smartpointern
- Verstehen von unique_ptr und shared_pr
- Definieren von virtuellen Methoden für dynamisches Binden
- Definieren von Schnittstellen mit rein virtuellen Funktionen und abstrakten Klassen
- Zugreifen auf Dateien mit Streams
- Erwerben von Grundkenntnissen zu Templates
- Korrektes Anwenden der Container vector, deque, list, set map, unordered_set
- Effizientes Suchen und Sortieren von Daten dank den STL-Algorithmen
- Verstehen der Funktionsweise der Fehlerbehandlung mit Exceptions
Der Kurs besteht aus den folgenden Modulen. Die Gewichtung und Auswahl der Module wird den Kenntnissen und Präferenzen der Teilnehmer angepasst.
1 Basisfeatures
- Namespace
- Referenzen
- Überladen von Funktionen
2 Wichtige Standard-Klassen
- Verwendung von Streams
- String
- Vektor
3 Klassen
- Klassendefinition und Instanzierung
- Attribute (Datenelemente)
- Zugriff auf Klassenelemente
- Methoden (Elementfunktionen)
- Information Hiding
- Konstruktor
4 Module und Schnittstellen
- Deklaration und Definition
- Inline-Funktionen
- Statische Klassenelemente
5 Klassenableitung, Vererbung
- Vererbung und Sichtbarkeit der Elemente
- Initialisierung von Basisklassen
- Vererbung und Polymorphismus
6 Dynamische Speicherverwaltung
- new-Operator
- delete-Operator
- Dynamische Instanzen verwenden
7 Normalform für Klassen
- Copy-Konstruktor
- Deep Copy
- Kopieren verhindern
- Destruktor
- Zuweisungsoperator
- Move, Rvalue-Referenzen
8 Smart-Pointer
- unique_ptr
- shared_ptr
9 Virtuelle Methoden
- Statisches Binden
- Dynamisches Binden
- Virtuelle Methoden
- Abstrakte Klassen
10 Ein- und Ausgabe in Dateien
11 Templates
- Templates definieren
- Templates anwenden
- Funktionstemplates
12 Die Standard Template Library (STL)
13 Container
- vector, deque
- list
- set
- map
14 Funktionen und Funktionsobjekte
- Lambda Expression
- Prädikat, Gleichheit und Äquivalenz
15 Algorithmen
16 Exceptions
- throw / try / catch
- Exception-Hierarchien
C/C++-Programmierer, die objektorientierte C++-Programme entwickeln möchten. Projektleiter im C++-Umfeld, die C++ produktiv und effizient einsetzen wollen
Sie müssen mindestens die Grundlagen der Sprachen C oder C++ beherrschen. Wir empfehlen Ihnen Grundkenntnisse der objektorientierten Programmierung entsprechend den folgenden Kursen: