Ein Crashkurs

Einführung in C++

C++ ist im wesentlichen eine Programmiersprache wie andere auch, im Gegensatz zu diesen aber weit verbreitet: Praktisch alle größeren, kommerziellen Anwendungen werden in dieser Sprache implementiert. Sie baut auf einem standardisierten und gut bekannten Fundament auf, und zwar auf der Sprache C. Dieser Beitrag hilft auf die ersten C++ Sprünge. Von Thomas Wölfer.

C++ - die Grundlagen
C ist eine sehr einfache Sprache, die nicht viele Sprachfeatures bietet: Sie setzt sich im wesentlichen aus Makros, Zeigern, Strukturen und Funktionen zusammen. Egal was in C implementiert wird, die Implementierung wird immer wieder auf genau diesen Makros, Zeigern, Strukturen und Funktionen aufbauen.

C++ ist anders. Es bietet eine Vielzahl von Sprachfeatures. Da C++ auf C aufbaut, sind die Makros, Zeiger, Strukturen und Funktionen noch da, aber es gibt auch Klassen mit privaten und geschützten (protected) Mitgliedern (members), sowie die Möglichkeit, Funktionen zu überladen, Vorgabeparameter (default Parameter), Konstruktoren und Destruktoren, vom Programmierer definierte Operatoren, Refrenzen und vieles mehr. In aller Kürze: C++ ist eine wesentlich umfangreichere Sprache als C und liefert dadurch erheblich mehr Angriffsfläche für Fehler, schlechte Implementierungen und ineffizienten Code. Allerdings bietet C++ mächtige Konstrukte, um gut lesbaren, bequem zu wartenden und effizienten Code zu programmieren: Alles eine Frage der Implementierung und der Fähigkeiten des Programmierers. Insofern funktioniert C++ nicht anders als andere Sprachen, es ist nur umfangreicher.

Der folgende C++-Crashkurs wendet sich in erster Linie an C-Programmierer, denn viele Elemente dieser Sprache müssen vorausgesetzt werden. Allerdings sollten auch Programmierer, die sich in anderen Programmiersprachen bewegen, in der Lage sein, dem Text ohne größere Probleme zu folgen: Die meisten Beispiele sind so gewählt, dass auch ein Basic- oder Pascal-Programmierer damit klarkommen sollte.

Klassen definieren die Form der Objekte
C++ ist eine objektorientierte Sprache, was sich an verschiedenen Stellen bemerkbar macht. Das erste und wichtigste Element in C++ ist das der 'Klasse'. Ein Seitenblick auf andere Sprachen verdeutlicht das Konzept: Oft will man innerhalb eines Programms eine Datenstruktur logisch zusammenfassen. In C würde man die abstrakte Definition einer Textzeile durch eine Struktur ausdrücken:

struct Line {
   char* pc;
   int cb;
}
 


Eine Zeile wird durch einen Zeiger auf 'char' - vereinfacht gesagt durch ein Array aus Zeichen - sowie durch eine Längenangabe beschrieben. Um mit einer solchen Zeile innerhalb eines Programms zu arbeiten, implementiert der C-Programmierer verschiedene Funktionen: Diese erhalten Namen wie 'PrintLine( Line* pLine )' zum Ausdrucken oder Anzeigen einer Zeile, 'ReadLine( Line* pLine)' zum Einlesen einer Zeile aus einer Textdatei und so weiter. Alle diese Funktionen bekommen einen Zeiger auf eine Variable vom Typ Line. Dieser zeigt auf die Daten, mit denen die Funktion arbeiten soll. (Siehe dazu 'Bsp1.c' aus den Download-Links am Ende des Beitrages.)

Artikel kommentieren