In diesem C++ Kurs für professionelle Software-Entwickler lernen Sie die Grundlagen der Programmiersprache C++. Ein Schwerpunkt ist die objektorientierte Programmierung.

Zusammen mit dem C++-Aufbaukurs vermittelt dieser Grundkurs einen umfassenden Überblick über die Grundlagen der Programmiersprache C++. Dabei werden die neuen Sprachelemente von C++ 11, C++ 14 und C++ 17 von Anfang an eingesetzt.

C++ Kurs Grundlagen Training

Diese C++ Schulung richtet sich an Software-Entwickler in Firmen, die C++ für den professionellen Einsatz lernen wollen. Der Kurs kann mit dem Compiler Ihrer Wahl (Microsoft C++ mit Visual Studio 2022/2026, gcc usw.) durchgeführt werden.

Für die Übungen kann Visual Studio Communitiy, VS Code oder der freie gnu gcc Compiler verwendet werden.

Inhalt

Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.

1. Elementare Datentypen und Anweisungen

2.1 Ganzzahl- und Gleitkomma Datentypen

  • Ganzzahldatentypen mit fester Breite
  • Trennzeichen für Zahlenliterale, binäre Literale
  • Typ-Ableitungen: Implizite Typzuweisungen mit auto
  • Initialisierungen und implizite Konversionen
  • Typsichere Initialisierungen mit Initialisierungslisten

2.2 Kontrollstrukturen und Funktionen

  • Bedingte Anweisungen und Schleifen
  • Initialisierungen in for if/switch
  • Funktionen
  • Wert- und Referenzparameter
  • Die Verwendung von C- und C++-Bibliotheken, namespaces
  • Default Argumente
  • Unittests

2.3 Konstanten

  • Laufzeitkonstanten mit const
  • Compilezeit-Konstanten mit constexpr
  • constexpr Funktionen
  • static_assert und Unittests zur Compilezeit

2.4 Überladene Funktionen und Operatoren

  • Überladene Operatoren mit globalen Operatorfunktionen
  • Mit überladenen new– und delete-Operatoren memory-leaks finden
  • Benutzerdefinierte Literale

2.5 Aufzählungstypen

  • Schwach typisierte Aufzählungstypen (C/C++03)
  • enum Konstanten und Konversionen
  • Stark typisierte Aufzählungstypen (C++11)
  • Zustandsautomaten

2.6 Attribute

2.7 Module (C++20)

  • Die Standardbibliothek als Modul verwenden
  • Module definieren

3. String-Klassen: string, wstring etc.

  • Elementfunktionen der string Klasse
  • Raw string Literale
  • C++11 String-Konversionsfunktionen to_stringstoi usw.
  • C++17 String-Konversionsfunktionen: to_chars und from_chars
  • string_view – Strings zum Anschauen
  • C++20: std::format

4. Arrays und Container

5. Pointer und Smart Pointer

  • Dynamische Speicherverwaltung
  • Pointer Konversionen
  • Smart Pointer: shared_ptr und unique_ptr
  • Ein new/delete-tracker für memory leaks

6. Objektorientierte Programmierung für Embedded Systeme

6.1 Klassen

  • Datenkapselung
  • Konstruktoren, Destruktoren und RAII
  • Klassen ohne Zeiger und die Rule of Zero
  • Initialisierungslisten als Parameter, für Argumente und Rückgabewerte

6.2 Klassendesign: Sichere und wartbare Klassen

  • Der Standardkonstruktor
  • Elementinitialisierer
  • Überladene Operatoren mit Elementfunktionen
  • Der Kopierkonstruktor und der Zuweisungsoperator
  • =delete und =default für Elementfunktionen
  • Konvertierende und explizite Konstruktoren
  • Static Klassenelemente und static inline Datenelemente
  • Konstante Objekte und Elementfunktionen
  • benutzerdefinierte Literale für typsichere Werte

6.3 Vererbung und Komposition

  • Konversionen zwischen abgeleiteten Klassen
  • Verdeckte Elemente
  • Mehrfachvererbung
  • Virtuelle Funktionen, späte Bindung und Polymorphie
  • Rein virtuelle Funktionen und abstrakte Basisklassen
  • Interface-Klassen und Mehrfachvererbung

6.4 R-Wert Referenzen und Move Semantik

  • Move-Semantik in der C++-Standardbibliothek
  • Move-Semantik für Rule of Zero Klassen
  • Move-Semantik für eigene Klassen

Über den „C++ Grundkurs“

Zielgruppe:

Software-Entwickler, die professionelle Programme mit C++ schreiben wollen.

Sprache: Deutsch oder Englisch

Unterrichtsstil:

Vortrag mit vielen Beispielen, die das Wesentliche auf den Punkt bringen. Dabei wird auf einen ausgewogenes Verhältnis von Theorie und Praxis geachtet.

  • Die Themen werden durch einen Überblick über die Grundideen und die Einsatzmöglichkeiten dargestellt und an sorgfältig ausgewählten und bewährten Beispielen illustriert.
  • Das Verständnis wird oft durch den Vergleich ähnlicher (auch älterer) Sprachelemente und ihrer Vor- und Nachteile vertieft. Dabei werden oft „best practises“ empfohlen.
  • Für Teilnehmer, die ihr Wissen selbständig vertiefen wollen, enthält das Manuskript zahlreiche praxisnahe Übungsaufgaben. Auf Wunsch können nach vorheriger Absprache auch Aufgaben aus der Arbeit der Seminarteilnehmer behandelt werden.

Falls sich im Lauf des Seminars  zeigt, dass Grundlagen bei den Teilnehmern fehlen oder weitere Themen gewünscht werden, kann die Agenda auch noch während des Seminars an die Wünsche der Teilnehmer angepasst werden.

Schulungsunterlagen:

Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten) – Vollständiger Text, keine Powerpoint Folien, die nur Stichworte enthalten. Deshalb können die Kursunterlagen auch als Referenz bei der Arbeit verwendet werden.

Ort und Zeit, Online oder Präsenz:

Dieses Seminar wird als Firmenseminar (inhouse) angeboten. Die Durchführung als Präsenzschulung wird empfohlen. Online-Kurse sind auch möglich. Termine nach Vereinbarung.

 

Dauer: 4-5 Tage

Der Dozent:

Prof. Richard Kaiser führt seit vielen Jahren Seminare für Firmen durch, vor allem über Software-Entwicklung und die Programmiersprachen C++ und C sowie C#. Er kennt die Anforderungen der Praxis und geht sowohl in den grundlegenden Konzepten als auch in den Einzelheiten detailliert darauf ein. Er ist der Verfasser mehrerer Bücher über C++

 

Anfrage/Kontakt

Sie möchten den Grundkurs „Modernes C++“ als Inhouse-Schulung für Ihr Unternehmen planen?

Dann kontaktieren Sie mich einfach telefonisch oder per Mail.

Wir können dann die Inhalte der Schulung auf Ihre spezifischen Bedürfnisse und die Vorkenntnisse Ihrer Mitarbeiter abstimmen und einen Termin vereinbaren, der für Ihre Mitarbeiter passt.