C++











Einführungskurs in C++



C++ ist eine Programmiersprache die komplexe Softwareentwürfe ermöglicht und mit Laufzeiteffizienz verbindet. Die sprachlichen Strukturen sind einerseits ausdrucksstark andererseits schwer zu erlernen, da die vielen Veränderungen der letzten Jahre vor dem Standardisierungsprozess die Sprache stark gewandelt haben. Waren es bis Anfang der neunziger Jahre noch die objektorientierten Eigenschaften der Sprache, die ihren Kern ausmachten, so sind es inzwischen die Konzepte der generativen Programmierung, die sich gleichberechtigt neben die OO-Sprachkonstrukte stellen. Im Kurs wird auch ein Überblick über diese Entwicklung gegeben und es werden die Hintergründe der genannten Techniken angesprochen.
Dieses Seminar befasst sich vor allem mit den Grundlagen der objektorientierten Programmierung mit C++. Dabei ist für den Kurs die Kenntnis einer höheren Programmiersprache hilfreich aber nicht zwingend erforderlich.

Themen

  • Historische Entwicklung von C++
  • Grundlegende Syntax
  • Erste Beispiele
  • Kennenlernen des Compilers
  • und des Linkers
  • Standarddatentypen
  • Strukturen
  • Operatoren
  • Funktionen
  • Zeiger und Referenzen
  • Dynamische Speicherallokation
  • Klassenkonzept
  • Datenkapselung
  • Attribute und Methoden
  • Instatiierung von Objekten
  • Konstruktoren und Destruktoren
  • Vererbung
  • Funktionsüberladung
  • Operatorüberladung
  • Typenkonvertierung
  • Sichtbarkeitskonzept
  • Polymorphie
  • Virtuelle Methoden
  • Abstrakte Klassen
  • Mehrfachvererbung
  • Exception Handling
  • Templates
  • Funktionstemplates
  • Klassentemplates

Die Programmiersprache wird anhand praktischer Beispiele erlernt. Dabei kann ein beliebiger C++ Compiler eingesetzt werden. Vorzugsweise werden GNU C++, MS Visual C++ oder Borland C++ verwendet. Der Compiler sollte nicht zu alt sein und die wesentlichen Sprachmerkmale von ANSI/ISO-C++ bezüglich Namespaces und Namenskonventionen unterstützen. Auf ausdrücklichen Wunsch kann auch ein älterer C++ Sprachstandard wie z. B. AT&T 2.x oder AT&T 3.x unterrichtet werden. Wichtig ist natürlich der Einsatz einer Plattform, die den Teilnehmern gut bekannt ist - vorzugsweise Windows, MacOS X oder Linux. Natürlich kann auch jedes beliebige UNIX-System als Entwicklungs- und Übungsplattform für das Seminar eingesetzt werden.