Kurs
Digicomp Code CPROGR
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: