Einführung in C++ — Was ist C++?

Die Wurzeln von C++

Um ein Betriebssystem für die Computer der Serie PDP-11 (die schlußendlich zum UNIX Betriebssystem führten) zu schreiben, wurde von AT&T die Programmiersprache C entwickelt. Das Ziel der Entwickler war eine möglichst effiziente Programmiersprache. Bjarne Stroustrup, auch Mitarbeiter von AT&T, entwickelte C++, um C um die Objektorientierung zu erweitern. Da das Konzept der Objektorientierung zu diesem Zeitpunkt noch neu und alle Implementationen von objektorientierten Programmiersprachen sehr langsam waren, war es oberstes Ziel, die Effizienz von C in C++ beizubehalten.

C++ kann als traditionelle prozedurale Programmiersprache mit einigen zusätzlichen Funktionen gesehen werden. C wird um einige Konstrukte für objektorientiertes Programmieren erweitert und um einige Konstrukte, die die allgemeine Syntax verbessern sollen. Jedes gut geschriebene C++ Programm wird sowohl Elemente des objektorientierten Programmierens als auch solche klassischen prozeduralen Programmierens enthalten. C++ ist eine erweiterbare Sprache, da wir neue Typen definieren können, die sich wie die vordefinierten Typen verhalten, die Teil der Programmiersprache selbst sind. C++ ist somit für größere Programmieraufgaben geeignet.

Wie fange ich an?

Die Programmiersprache C war ursprünglich durch die klassische Publikation von Kernighan und Ritchie, "The C Programming language", definiert, und dies war bis vor wenigen Jahren der Standard für alle C Programmiererinnen. Der ANSI Standard für C wurde schließlich im Dezember 1989 als offizieller Standard für das Programmieren in C festgelegt. Der ANSI-C Standard erweitert die ursprüngliche Sprache der Kernigan und Ritchie-Definition um Vieles und ändert sie in einigen wenigen Punkten ab. Die beiden Definitionen sind nicht zu hundert Prozent kompatibel und einige erfahrene C Programmiererinnen haben die neueren Konstrukte des ANSI-C Standards möglicherweise noch nicht genau studiert.

Diese Einführung setzt ein solides Grundwissen der Programmiersprache C voraus, und wir werden nur sehr wenig Zeit mit den Grundlagen verbringen. Um denjenigen, die den C-Dialekt nach Kernigan und Ritchie gelernt haben, ein wenig unter die Arme zu greifen, werden sich einige Abschnitte den Neuerungen des ANSI Standards widmen. Während der ANSI-C Standard entwickelt wurde, übernahm man viele der neuen Konstrukte von C++ in die Definition von C selbst. Zwar ist also C++ eine Erweiterung von C, es ist aber nur fair zu sagen, daß ANSI-C einige seiner Wurzeln in C++ hat. Ein Beispiel dafür wären etwa die Prototypen, die für C++ entwickelt und später zu C hinzugefügt wurden.

Der beste und einfachste Weg, C++ zu erlernen, ist, es zu verwenden. So gut wie jedes korrekte C Programm ist auch in C++ korrekt und die ungefähr 12 neuen Schlüsselwörter sind der einzige Grund, warum einige C Programme nicht als C++ Programme compiliert und ausgeführt werden können. Es gibt einige weitere Unterschiede, deren Diskussion wir uns aber für später aufheben. Somit ist der beste Weg, C++ zu erlernen, das vorhandene Wissen (C) zu erweitern und neue Konstrukte zu verwenden, wenn sie in einem Programm gerade nützlich sind. Es wäre ein großer Fehler, zu versuchen, alle neuen Konstrukte und Konzepte in Deinem ersten C++ Programm anzuwenden. Am Ende hättest Du möglicherweise einen unverständlichen Mischmasch an Quellcode, ineffizienter als dasselbe Programm in C alleine. Es wäre viel besser, nach und nach neue Konstrukte in Deinen Talon aufzunehmen und sie anzuwenden, wenn sie gebraucht werden während Du Erfahrung im Umgang mit ihnen sammelst.

Als Illustration der Portabilität von C nach C++ kann wohl der Hinweis dienen, daß alle Beispielprogramme des Coronado Enterprises C Tutorial einwandfrei als C++ Programme kompiliert und ausgeführt werden konnten. Dabei handelte es sich um die historische Version 2.6, die anno 1994 erschien. Durch die Neuerungen und Änderungen der C++ Compiler seit damals mag dies heute nicht mehr stimmen. Keines der C++ Programme wird sich allerdings als C Programm kompilieren lassen, aus dem ganz einfachen Grund, daß der neue C++ Kommentarstil verwendet wird (da die meisten neueren C Compiler auch C++ Compiler sind, tolerieren sie aber in vielen Fällen die Verwendung dieser Kommentare und geben schlimmstenfalls eine Warnung aus).

Wie verwende ich die Einführung in C++?

Wenn Du diese Einführung verwendest, sitzt Du idealerweise vor Deinem Computer. Es soll Dir helfen, neben der richtigen Verwendung der Programmiersprache C++ auch die Verwendung Deines Compilers zu erlernen. Lade ein Beispielprogramm in Deinen bevorzugten Text Editor und lies den dazugehörigen Text, der alle neuen Konstrukte, die im Beispielprogramm vorkommen, erläutert. Wenn Du das Programm und die neu eingeführten Konstrukte verstanden hast, kompiliere das Programm mit Deinem C++ Compiler.

Hast Du das Programm erfolgreich kompiliert und ausgeführt, baust Du einige Fehler ein und achtest darauf, welche Fehlermeldungen der Compiler ausgibt. Wenn Du schon einige Erfahrung im Programmieren hast, wird es Dich nicht erstaunen, Fehlermeldungen zu erhalten, die anscheinend überhaupt nichts mit dem Fehler, den Du eingefügt hast, zu tun haben. Das ist darauf zurückzuführen, daß die Fehleranalyse für jede moderne Programmiersprache ein sehr schwieriges Problem darstellt. Die wertvollste Erfahrung, die Du dabei sammeln sollst, ist diejenige im Umgang mit Deinem Compiler und seinen Eigenheiten. Dann solltest Du versuchen, das Programm mit Hilfe der neu vorgestellten Techniken zu erweitern, um weitere Erfahrungen zu sammeln.

Es wird nicht notwendig sein, jedes einzelne Beispielprogramm zu kompilieren und auszuführen. Am Ende jedes Programmes findest Du in Kommentaren das Resultat, wenn das kompilierte Programm ausgeführt wird. Einige Konstrukte sind sehr einfach und leicht zu verstehen, sodaß Du auf die Schritte der Kompilation und Programmausführung verzichten wirst und Dich an die Kommentare hältst.

Im Text dieser Einführung werden Schlüsselwörter, Variablennamen und Funktionsnamen gesondert hervorgehoben, um das Studium der Beispielprogramme zu erleichtern.

Programmieraufgaben

Am Ende jedes Kapitels finden sich Programmieraufgaben, die es Dir ermöglichen sollen, einige der neuen Konstrukte des Kapitels auszuprobieren. Du wirst sicherlich sehr davon profitieren, wenn Du versuchen, die Aufgaben zu lösen. Nur durch das Lesen dieser Einführung wirst Du zwar ein recht ansehnliches theoretisches Wissen um die Programmiersprache C++ erworben haben, zur C++ Programmiererin wirst Du aber nur durch Schreiben von C++ Programmen. Die Programmieraufgaben sollen als Anregungen für eigene Programme dienen.

(weiter »)

Einführung in C++ bringt Dich in Partnerschaft mit Amazon.de von Null auf Programmieren in ein paar Klicks.

Zum Beispiel historisches C++:

The C++ Programming Language
Das Buch vom Erfinder. Bjarne Stroustrup beschreibt auf 1000 Seiten "seine" Sprache und hat damit neben einer großartigen Programmiersprache auch noch ein unerlässliches Nachschlage-, aber auch (mit Einschränkungen) Lernwerk geschaffen.
›› Mehr C++-Bücher

[ Die ]