C++ für Fortgeschrittene - Seminar / Kurs von MicroConsult Academy GmbH

Inhalte

Themeneinleitung

  • Historie zu C++
  • Prinzipielle Compiler-Funktionalität
  • Praxistipps: Wertvolle Links im Internet

Kurze Zusammenfassung der C++ Grundlagen

  • Variablen-Kategorien, Typen, Alignment
  • Klassen und Objekte
  • Konstruktor-Arten und Destruktor
  • Operatoren mit Überladung
  • Funktionszeiger in Klassen
  • Strings und Streams
  • Klassenrelationen: Assoziation, Selbst-Assoziation, Aggregation, Komposition, Vererbung, Mehrfachvererbung und Alternativen
  • Interface-Konzept mit rein virtuellen Funktionen
  • Neue Features der aktuellen Standards
  • Übung: Sie verstehen die vorgegebene SW-Architektur und lernen dabei das Builder-Pattern kennen, implementieren Klassen, Komposition und Vererbung und testen diese automatisiert nach dem TDD-Vorgehen (Test Driven Development).
  • Dabei berücksichtigen Sie Qualitätsaspekte wie objektorientierte Programmierung, Modularisierung, Wiederverwendbarkeit und Erweiterbarkeit

Exceptions

  • Erläuterung und Programmierung Exception Handling
  • Exception-Klassen und -Hierarchien
  • Benutzer-Exceptions
  • C++ Standard-Exceptions
  • Praxistipps: Konzepte, Richtlinien
  • Übung: Sie erweitern die Übungsapplikation um flexible Ausnahmebehandlung mit Exceptions

New Style Casts

  • Static, dynamic, const und reinterpret Cast
  • Die richtige Wahl beim Einsatz
  • Bezug zu RTTI und Exception Handling

Runtime Type Information (RTTI)

  • Erläuterung und Programmierung von RTTI
  • Klasse type_info
  • Verwendungsmöglichkeiten und Konsequenzen beim Einsatz

Lamda-Funktionen

  • Syntax und Anwendung
  • Closures
  • std::function
  • Binden von Parametern

Speichermanagement

  • Speichersegmente (BSS Block Started by Symbol, Heap, Stack)
  • Vergleich und Bewertung der Datensegmente
  • Dynamisches Speichermanagement mit new und delete
  • Überladen (lokal und global) von new und delete
  • Algorithmen
  • Virtueller Destruktor
  • Placement new
  • Bezug zu Exception Handling
  • Smart Pointer: unique_ptr, shared_ptr, weak_ptr
  • Casten von Smart-Pointern
  • Praxistipps: Risiken erkennen und Stolpersteine vermeiden

Template-Funktionen und Template-Klassen

  • Prinzipielle Funktionsweise
  • Template-Funktionen, Template-Klassen und deren Anwendung
  • Beispiele für Template-Klassen
  • Vererbung und Interfaces mit Template-Klassen
  • Container/Algorithmen im STL-Stil
  • Laufzeit- vs. Compilezeit-Polymorphismus
  • Type-Traits
  • Perfect Forwarding mit Templates
  • Variadic Template-Funktionen und Template-Klassen
  • Alias-Templates
  • Praxisbeispiele für Template-Klassen
  • Übung: Sie wenden das Observer-Pattern im Design der Applikation an und implementieren es basierend auf einer containerartigen eigenen Template-Klasse

STL Standard Template Library

  • Container, Container-Adapter
  • Iteratoren
  • Algorithmen, Funktionsobjekte
  • Speicher-Allocator-Klasse
  • Praxistipp: Übersicht über alle STL-Containerelemente und deren Zusammenhänge
  • Übung: Sie wenden das Observer-Pattern im Design der Applikation an und implementieren es basierend auf einer STL-Container-Klasse

Multithreading und Atomic-Datentypen

  • Multithreading-Grundkonzepte
  • Threads, Mutex, Condition Variable, Future
  • Anwendung der Mechanismen
  • Übung: Sie adaptieren die Applikation an einen Timer und steuern sie über einen Thread. Dabei nutzen Sie mit ihren Vorteilen eine zusätzliche Betriebssystem-Abstraktion mit Wrapper-Klassen.

Typische Fallstricke und verbreitete Idiome (PIMPL, RAII, NVI, ...)

  • RAII (Resource Acquisition Is Initialization), Ressourcen-Wrapper
  • NVI (Non-virtual Interfaces)
  • PIMPL (Pointer to Implementation)
  • Handling Self-Assignment in Assignment Operator
  • Praxistipps zu weiteren C++ Idiomen

Übungen im C++ Kurs für Fortgeschrittene

  • Für die Implementierung der durchgängigen Übung (Uhrenapplikation) verwenden Sie das Microsoft Visual Studio.

MicroConsult Plus:

  • Sie erhalten von uns Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben.
  • Sie erhalten den C++ Programmcode sowie das UML-Modell der Uhrenapplikation.
  • Sie bekommen alle C++ Beispiele in elektronischer Form und können diese sehr einfach für Ihr Entwicklungsenvironment anpassen.
  • Sie bekommen eine hilfreiche Notationsübersicht für UML (Unified Modeling Language) im A3 Format.

Themeneinleitung

  • Historie zu C++
  • Prinzipielle Compiler-Funktionalität
  • Praxistipps: Wertvolle Links im Internet

Kurze Zusammenfassung der C++ Grundlagen

  • Variablen-Kategorien, Typen, Alignment
  • Klassen und Obj ...
Mehr Informationen >>

Lernziele

Sie wenden Templates und Exceptions effizient an. Sie haben fundierte Kenntnisse der Standard Template Library (STL). Sie realisieren fortgeschrittene objektorientierte Konzepte und Designs mit C++, auch zusammen mit C++ Multithreading. Sie sind in der Lage, bestehende und neue Applikationen in Bezug auf Performance und Verbrauchsverhalten zu optimieren.

Sie wenden Templates und Exceptions effizient an. Sie haben fundierte Kenntnisse der Standard Template Library (STL). Sie realisieren fortgeschrittene objektorientierte Konzepte und Designs mit C++, a ...

Mehr Informationen >>

Zielgruppen

Der C++ Kurs für Fortgeschrittene richtet sich an Programmierer, Software-Entwickler, Software-Designer und Software-Architekten.

Termine und Orte

SG-Seminar-Nr.: 7792845

Anbieter-Seminar-Nr.: C++/FOR

Termine

  • 23.06.2025 - 26.06.2025

    München, DE

  • 08.09.2025 - 11.09.2025

    München, DE

Seminare mit Termin haben Plätze verfügbar. Rechnung erfolgt durch Veranstalter. Für MwSt. Angabe auf den Termin klicken.

Jetzt buchen ›
Seminar merken ›
Vergleichen

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Veranstaltungsinformation

  • Seminar / Kurs
  • Deutsch
    • Zertifikat
  • 32 h
  •  
  • Anbieterbewertung (40)

Ihre Vorteile mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service