Objektorientierte Programmierung mit C++


Zielgruppe:

Entwickler, die ihre Anwendungen bisher in C entwickelt haben und dies in Zukunft objektorientiert mit C++ tun wollen.

Vorkenntnisse:

Gute Programmierkenntnisse in C.

Dauer:

5 Tage

Kursziel:

Der Kursteilnehmer ist in der Lage, Applikationen objektorientiert in C++ zu entwickeln. Insbesondere weiß er, worin der Vorteil der neuen Möglichkeiten wie z.B. Vererbung und Polymorphie gegenüber traditioneller C-Programmierung besteht.


Inhalt:

Neue Sprachmittel

  • Datentyp bool
  • Referenzen
  • Funktionsüberladung
  • Vorbelegungsparameter
  • Namensbereiche
  • Dynamische Speicherverwaltung (new/delete)
  • Überladung von Operatoren
  • Ein-/Ausgabe (cin/cout)

Von der Struktur zur Klasse

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

Konstruktoren und Destruktoren

  • Standardkonstruktor
  • Kopierkonstruktor
  • Bei globalen und statischen Objekten und Arrays
  • Bei Objekten, die Objekte enthalten

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

Virtuelle Funktionen und Polymorphie

  • Statische und dynamische Bindung
  • Virtuelle Funktionentabelle
  • Abstrakte Funktionen und Klassen

Spezielle Mechanismen der Zugriffskontrolle

  • Zugriffssteuerung mit friend
  • Konstante Objekte und Methoden

Mehrfachvererbung

  • Objektstruktur
  • Interpretation als Basisklassenobjekt
  • Auflösung von Namenskonflikten

Typumwandlung

  • static_cast
  • reinterpret_cast
  • const_cast
  • dynamic_cast

Ausnahmebehandlung (Exceptions)

  • Fehlerbehandlung mit try, throw und catch
  • Weiterleiten von Ausnahmen
  • Gruppieren von Ausnahmen

Templates

  • Funktionstemplates
  • Klassentemplates
  • Organisation des Quellcodes

Nicht genau was Sie suchen?