ANSI C++

Grundlagen

 
non scholae sed vitae discimus

 

Kursinhalte

Einführung in C++

  • Die Entstehung von C++
  • Bezeichnung der Dateinamen
  • Voraussetzungen
  • Auswahl von Internetadressen zu C++

Ein- und Ausgabe

  • Standardausgabestream cout
  • Standardeingabestream cin

Einfache Erweiterungen in C++

  • Kommentarzeilen
  • Das Blockkonzept von C++
  • Der Auflösungsoperator ::
  • Der Komma-Operator
  • Präfix und Postfix
  • Strukturen in C++
  • Union in C++
  • Der Datentyp bool
  • Der Datentyp string
  • Mischen von C- und C++-Quelldateien
  • Dynamische Speicherverwaltung
  • Operator new
  • Operator delete
  • Fehlerbehandlung über new-Handler

Erweiterungen bei Funktionen

  • inline-Funktionen
  • Prototyping
  • Defaultwerte
  • Variable Parameterlisten
  • Referenzen und Referenzvariablen
  • Referenzparameter
  • Referenzen als Funktionsergebnisse
  • Überladen von Funktionen

Klassen

  • Klassenkonzept
  • Instanzen einer Klasse
  • Zugriffsattribute
  • Konstruktoren und Destruktoren
  • Konstruktor
  • Initialisiererlisten
  • Destruktor
  • Friends
  • friend-Funktionen
  • friend-Methoden
  • friend-Klassen
  • Statische Klassenelemente
  • Geschachtelte Klassen
  • Die Attribute mutable und explicit
  • Das Attribut mutable
  • Das Attribut explicit

Vererbung

  • Art der Ableitung
  • Strukturen und Klassen
  • Konstruktoren und Destruktoren abgeleiteter Klassen
  • Übergabe von Parametern an den Konstruktor einer Basisklasse
  • Verwenden von Methoden der Basisklasse
  • Überschreiben von Methoden der Basisklasse
  • Erweitern von Methoden der Basisklasse
  • Zuweisungskompatibilität in Klassenhierarchien
  • Klassenhierarchien
  • this-Zeiger
  • Virtuelle Methoden
  • Virtuelle Destruktoren

 Mehrfachvererbung

  • Virtuelle Basisklassen
  • Zugriffsrechte bei Vererbung und Überladung

Polymorphismus

  • Rein virtuelle Methoden
  • Abstrakte Basisklassen

Datei- und String-Streams

  • Datei-Streams
  • String-Streams
  • Zerlegen von Strings
  • Zusammensetzen von Strings

Überladen von Operatoren

  • Operator-Overloading durch friend-

Funktionen

  • Operator-Overloading mit Methoden
  • Überladen der Post- und Präfix-

Operatoren

  • Typumwandlungs-Operatoren
  • Konstruktoren als Typumwandlungs Operatoren
  • Typumwandlungsoperator-Funktionen
  • Kopieren von Objekten
  • Überladen des Funktionsoperators ()
  • Überladen des Operators ->
  • Überladen von new und delete

Namensbereiche

  • Namensbereiche
  • Namensbereiche einrichten
  • Das Schlüsselwort using
  • Standard-Namensbereich std

Templates

  • Funktions-Templates
  • Klassen-Templates

Standard Template Library

  • STL-Begriffserklärung
  • Iteratoren
  • vector
  • deque (Double Ended Queue)
  • Doppelt verkettete Liste list
  • set und multiset
  • map und multimap
  • Zeichenketten string
  • Algorithmen der STL
  • Beispielanwendung zur STL

Exceptionhandling

  • Verschachtelte Exception-Blöcke
  • Eigene Exception-Klassen definieren

Objektorientierter Entwurf

  • Das Objektmodell
  • Identifizieren von Klassen
  • Verifizieren der Klassen durch Szenarios
  • Gemeinsamkeiten und Beziehungen

zwischen Klassen

  • Verfeinerung durch Identifizieren der Daten
  • Grafische Darstellung von Klassen und Beziehungen
  • Design-Fehler