Sie befinden sich hier: Home » Seminare » Programmiersprachen » CPP

Objektorientiertes Programmieren mit C++

Kursziele

Das Seminar gibt eine fundierte Einführung in die objektorientierte Programmierung mit C++ und macht den Paradigmenwechsel zur prozeduralen Programmierung in C deutlich. C++ ist eine mächtige aber auch komplexe Sprache, deren zentrale Punkte in dieser Weiterbildung angegangen werden; Teilnehmer lernen, objektorientierte und effiziente Implementierungen zu realisieren und erhalten einen Überblick über die C++ Standard Bibliothek.

Zielgruppe

  

Empfohlene Dauer

Software-Entwickler, Programmierer, Systementwickler  5 Tage, insgesamt 30 Zeitstunden

Inhalte

  • Wiederholung zentraler C-Elemente
    • Kommentare
    • Datentypen
    • Operatoren
    • Kontrollstrukturen
    • Funktionen
    • Zeiger (Pointer), Speicherverwaltung, Arrays, Zeichenketten (char-Felder)
    • Ein-/Ausgabe
  • Von C zu C++
    • Entstehungsgeschichte, C++ ISO Standard
    • C++-Compiler
    • Entwicklungsumgebungen
    • Header-Dateien im C++ ISO Standard; von <xxx.h> nach <cxxx>
    • Aufzählungen, enum
    • Überladene Funktionen, inline-Funktionen, vorbelegte Parameter
    • Konstant sein mit const und dennoch modifizieren mit mutable
    • Mischen von C und C++
  • Objektorientierung in C++
    • Objektorientierte Konzepte, UML
    • Prozedurale und objektorientiere Modellierung
    • Klassen deklarieren, Unterschiede zu Strukturen
    • Member-Funktionen, Variablen
    • Objekte erzeugen und zerstören, new, delete
    • Konstruktoren und Destruktoren
    • Copy-Konstruktor
    • this-Pointer
    • Datenkapselung, Geheimnisprinzip, Zugriffsrechte public, private
    • Klasseneigenschaften, static
    • Typanpassung und Typumwandlung, neue C++-Typecasts
    • Gültigkeitsbereiche und Namensräume, using
  • Überladene Operatoren
    • Allgemeine Prinzipien, Vor- und Nachteile
    • Schlüsselwort operator
    • Arithmetische Operatoren überladen
    • Prefix- und Postfix-Formen von ++ und --
    • Zuweisungsoperator überladen
    • Index-Operator [] überladen
    • new und delete überladen
    • Nicht-überladbare Operatoren
  • Fortgeschrittene objektorientierte Konzepte
    • Assoziationen, Ausblick auf Collection-Klassen
    • Konzepte Ober- und Unterklasse
    • Einfachvererbung und Mehrfachvererbung
    • protected und friend
    • Konstruktoren/Destruktoren in der Vererbungshierarchie
    • Polymorphie und dynamische Bindung
    • Virtuelle Funktionen
    • Rein virtuelle Funktionen und abstrakte Klassen
    • Realisierungen durch V-Table (Virtual Method Table)
    • Virtueller Destruktor
    • Verschachtelte Klassen und Sichtbarkeiten
    • Run-time type information (RTTI) in C++
    • typeid-Operator
    • Typkonvertierung zur Laufzeit: Der dynamic_cast-Operator
  • Ausnahmen (Exceptions)
    • Ausnahmen auslösen mit throw
    • Ausnahmen abfangen, Catch-Handler, try-catch, ...
    • Ausnahmen bei Ressouren-Problemen
    • Fehlerklassen
    • Standard-Exceptions und System-Exceptions, Header-Datei <exception>, what()-Funktion
    • Ausnahmen in Konstruktoren und Destruktoren, terminate()-Funktion
  • Templates
    • Generische Programmierung mit Templates
    • Template-Parameter, Template-Argumente
    • Arten von Templates: Funktions-Template, Klassen-Template
    • Implizite und explizite Template Instanziierung
    • Template-Spezialisierung, Template-Klassen und Vererbung
  • Ausblick
    • STL (Standard Template Library)
    • Boost C++ Libraries

Voraussetzungen

Der Kurs ›C-Programmierung, Teil 1‹ oder vergleichbare Kenntnisse. Objektorientierte Kenntnisse werden nicht vorausgesetzt.

Software

Basis des C++-Kurses ist ein beliebiger C++-Compiler wie GCC, Microsoft Visual C++ oder Borland C++ Compiler.

Schlagwörter