C++ für Embedded Systeme


Zielgruppe:

Entwickler mit C-Kenntnissen, die Anwendungen objektorientiert in C++ für Embedded Systeme erstellen wollen.

Vorkenntnisse:

Gute Programmiererfahrung in C.

Dauer:

5 Tage (mit praktischen Übungen)

Beschreibung:

In diesem Kurs lernen Sie die Programmiersprache C++ und die Konzepte der objektorientierten Programmierung, spezialisiert auf den Einsatz in Embedded Systemen, kennen. Besonderes Gewicht wird dabei auf die Bewertung der einzelnen Mechanismen in Bezug auf Speicherplatz- und Laufzeitbedarf gelegt. Als weitere Besonderheit behandelt dieser Kurs auch den objektorientierten Umgang mit Hardwarebausteinen. Die dazu gehörenden Übungen werden auf einer ARM-basierenden Target-Hardware durchgeführt.
Der Kursinhalt basiert prinzipiell auf dem Sprachstandard C++98/03, der momentan am weitesten verbreitet ist. Die mit C++11 markierten Elemente sind nur bei Einsatz eines Compilers verwendbar, der diesen neueren Sprachstandard unterstützt. Aus diesem Grund können diese Inhalte optional gebucht werden. Die neuen Spracheigenschaften der C++11/C++14/C++17/C++20-Standards werden im Kurs "Modernes C++" behandelt.


Inhalt:

Nicht-Objektorientierte Sprachmittel und I/O

  • Datentyp bool
  • Referenzen
  • Funktionsüberladung
  • Vorbelegungsparameter
  • Dynamische Speicherverwaltung
  • Überladung von Operatoren
  • Ein-/Ausgabe (cin/cout)
  • Bereichsbasierte for-Schleife (C++11)
  • Scoped Enumerations (C++11)
  • nullptr (C++11)
  • Automatische Typableitung mit auto (C++11)
  • constexpr (C++11)
  • Alias-Typdefinition mit using (C++11)

Von der Struktur zur Klasse

  • Datenelemente, Attribute
  • Elementfunktionen, Methoden
  • Statische/nicht-statische Elemente
  • this-Pointer
  • Zugriffsrechte public und private
  • Klasse

Konstruktoren und Destruktoren

  • Standard- und Kopierkonstruktor
  • Bei globalen und statischen Objekten und Arrays
  • Bei Objekten, die Objekte enthalten
  • Vereinheitlichte Initialisierung (C++11)
  • Direkte Initialisierung von Datenelementen (C++11)
  • Konstruktor-Delegation (C++11)

Operatoren als Klassenelemente

  • Zuweisungsoperator
  • Auswahloperator
  • Typumwandlungsoperator

Vererbung und Aggregation

  • Basis- und abgeleitete Klassen
  • Vorteile der Vererbung gegenüber der Aggregation
  • Modellierung der Basisklassenfunktionalität
  • Auswirkungen auf Konstruktion und Destruktion
  • Zugriffsrecht protected
  • Ableitung mit Einschränkung der Zugriffsrechte
  • Konstruktorvererbung (C++11)

Virtuelle Funktionen und Polymorphie

  • Statische und dynamische Bindung
  • Virtuelle Funktionen
  • Abstrakte Funktionen und abstrakte Klassen
  • Interfaces
  • override und final (C++11)

Bewertung der Sprachmittel

  • Objektmodell
  • Erzeugung und Zerstörung von Objekten
  • Temporäre Objekte
  • Vererbung
  • Virtuelle Funktionen
  • Dynamische Speicherverwaltung

Objektorientierte Abbildung von Hardwarebausteinen

  • Traditionelle Lösungen
  • Lösung mithilfe einer Struktur
  • Hardwarebaustein als Objekt einer Klasse
  • Interruptbehandlung

Praktische Übungen

 

Der Kursinhalt entspricht nicht ganz dem, was Sie suchen?

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.