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?

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.