C++ Schulung: Von C nach C++


Wechseln Sie von C zu C++? Lernen Sie objektorientierte Programmierung, Templates und Speicherverwaltung für Embedded-Systeme in einer praxisnahen Schulung.

Teilnehmende lernen

  • eine Klasse in C++ schreiben können
  • dynamischen Speicher sicher kontrollieren
  • bereichsbasierte for-Schleifen und ihre Fallstricke kennen
  • generischen Code mit Templates lesen und schreiben können

Dauer

3 Tage

Zielgruppe

Gute Kenntnisse der Sprache C sind erforderlich.

Beschreibung

In diesem Training lernen Sie die neuen oder anderen Dinge in C++ im Vergleich zu der Sprache, die Sie bereits kennen und verwenden, C.

Die Schulung geht davon aus, dass Sie Software für eingebettete Systeme schreiben, und Sie den Übergang von C zu C++ vornehmen. Daher betrachten wir nur Konstrukte, die üblicherweise in eingebettete Systemen verwendet werden.

Sie lernen zunächst einige kleine Unterschiede zwischen den beiden Sprachen kennen. Ja, einige alte Gewohnheiten müssen verschwinden.

Als Nächstes lernen Sie den objektorientierten Teil von C++, Klassen und ihre Funktionsweise kennen.

Auf diese Basis folgen verschiedene C++-Funktionen, die die Verwendung der Sprache vereinfachen, wie z. B. bereichsbasierte for-Schleifen.

Es gibt auch einen Teil über die dynamische Speicherverwaltung und welche Optionen Sie in C++ haben, vorausgesetzt, es gibt Einschränkungen.

Ihre nächste Station ist das Schreiben und Verwenden von generischem Code. Sie lernen C++ Templates kennen, wie man sie schreibt und wo man sie anwendet.

In der letzten Lektion geht es um einen Großteil von C++, der Standard Template Library, kurz STL. Ich präsentiere eine Liste von Headern, die in Constraint-Umgebungen sicher verwendet werden können. Als nächstes lernen Sie einige STL-Elemente kennen, die Ihnen das Leben erleichtern werden.

Nach dieser Schulung haben Sie ein gutes Verständnis für die Programmierung von C++. Ihre vorhandenen C-Kenntnisse und diese Schulung helfen Ihnen, sich schnell an C++ zu gewöhnen.

Inhalt

  • Von C zu C++
    • Gültigkeitsbereich von Variablen
    • Boolsche Werte
    • Referenzen
    • Funktionen
    • Überladen von Funktionen
    • Überladene Funktion und NULL
    • nullptr
    • Namensräume
    • struct
    • Explizite Datentypumwandlung
    • C Header in C++
  • Klassen und Vererbung
    • class
    • Der this Zeiger
    • explicit
    • Standardmitgliedinitialisierungen
    • Konstruktorendelegation
    • Nutzen Sie den Destruktor
    • Mitgliedsfunktionen und const
    • static Funktionen
    • Klassen-Operatoren
    • Überladen von Operatoren
    • Mitgliedsfunktionen bewusst abschalten
    • Kontrollieren Sie die Operatoren Ihrer Klasse
    • class vs. struct
    • Vererbung
    • Virtuelle Funktionen
    • Abstrakte Klasse
    • override
    • final
    • Wofür Vererbung?
    • Vererbung und Destruktoren
    • Konstruktorenvererbung
    • Literal Varianten
  • Sprachmittel in C++
    • Uniforme Initialisierung
    • Platzhalterdatentyp für Variablen: auto
    • Platzhalterdatentyp für den Rückgabedatentyp
    • range-based for-Schleifen
    • Typisierter enum
    • Zifferntrennzeichen
    • using
  • Dynamische Speicherverwaltung
    • new
    • delete
    • Placement-new
    • Der new- und delete-Operator
    • std::unique_ptr
  • Templates Grundlagen
    • Was ist generische Programmierung
    • Funktions-Templates
    • Variadische Templates
    • Klassen-Templates
    • Alias-Templates
    • Richtlinien für die effiziente Verwendung von Templates
    • In Datentypen denken
    • constexpr if
    • Curiously Recurring Template Pattern
  • Interessante Teile der Standard Template Library
    • Daumenregeln für die STL
    • Sichere Header für eingebettete Umgebungen
    • std::chrono
    • std::tuple
    • std::array
    • std::all_of
    • std::count_if
    • std::copy

Neugierig, wie meine C++-Kurse ablaufen?

Möchten Sie sich vorab ein besseres Bild von mir und meinem Unterrichtsstil machen? Dann lade ich Sie herzlich ein, diesen Ausschnitt einer Aufzeichnung eines einstündigen Online-Workshops anzusehen.

Mit der Schulung erhalten Sie

  • Ein qualitativ hochwertiges Handout als farbiges PDF, das alle Verweise und eine Liste der Akronyme enthält. Sodass Sie nach dem Training jederzeit nachlesen können.
  • Den Quell-Code für die Übungen inklusive Musterlösungen als ZIP-Datei.
  • Teilnahmebescheinigung für Ihren Lebenslauf.
  • Eins meiner Bücher kostenlos, damit Sie Ihr Wissen vertiefen können.
Notebook C++ - Tips and Tricks with Templates
Notebook C++ - About move semantics
Programming with C++20

Was Sie von meinen Schulungen erwarten können.

Mein Motto lautet "Schreibe einzigartigen Code.". Ich mag es, den Code auf die notwendigen Teile zu reduzieren. Die Vervielfältigung kann durch Templates oder Funktionen erfolgen, sodass am Ende jeder einzelne Code eindeutig zur Codebasis beiträgt. Nur der einmalige Code reduziert die Wartung. Er gibt Ihnen mehr Zeit, sich auf Ihre nächsten Kundenbedürfnisse zu konzentrieren.

Um in der Praxis einmaligen Code zu schreiben, haben alle Schulungen einen hohen praktischen Anteil. Impulse und Präsentationen ergänzen Übungen aus der Praxis. In jedem Fall sind meine Sitzungen sehr interaktiv. Ich höre gerne, was die Teilnehmer denken, um die richtigen Tipps zu geben. So entsteht ein Schulungserlebnis, in dem jeder Teilnehmer Neues lernt und eigene Lernerfolge erzielt. Die Trainingsbestandteile bauen didaktisch und inhaltlich aufeinander auf. Und Fragen beantworte ich jederzeit.

Die Live-Demo-Teile sind ein wesentlicher Bestandteil meines Unterrichts. Ich nutze dort die folgenden zwei Tools:

Schulung jetzt anfragen

Nicht die richtige Schulung?

Sie haben die passende Schulung nicht gefunden oder wünschen eine Modifikation? Gerne erstelle ich Ihnen eine Schulung für Ihre Bedürfnisse. Kontaktieren Sie mich einfach mit Ihrem Anliegen: Jetzt kontaktieren

Soll es lieber Englisch sein? Ich biete alle meine Schulungen auch in Englisch an.