16.09.2017 Aufrufe

Vorkurs Informatik

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

C<br />

Programmieren in C++<br />

Das folgende Kapitel beschreibt, ausgehend von den Kenntnissen der vorhergehenden Ausführungen des<br />

Buches und den damit vermittelten Grundlagen zur Programmierung in Java die Grundkonzepte der Programmiersprache<br />

C++. Dabei soll weniger der Anspruch an einen C++-Kurs erhoben werden, es soll vielmehr<br />

aufgezeigt werden, mit welchen Mechanismen die allgemeinen Grundlagen des Buches auch auf<br />

andere Programmiersprachen überführt werden können. Wir werden dabei feststellen, dass wesentliche<br />

Sprachkonzepte von Java auch in C++ in vergleichbarer Form vorliegen, es aber natürlich auch Unterschiede<br />

gibt. Ein „mächtiges“ Konzept von C++ ist die Speicherverwaltung. Es gibt zum einen keine automatische<br />

Speicherverwaltung (Stichwort: Garbage Collection), zudem kann direkt auf Adressen im Speicher<br />

zugegriffen und es können diese innerhalb von Programmen genutzt werden.<br />

Ausgehend von diesen einleitenden Bemerkungen werden wir im Abschnitt C.2 einen ersten Vergleich zwischen<br />

Java und C++ vornehmen und ein einfaches C++-Programm betrachten. Abschnitt C.3 vermittelt<br />

nachfolgend mit dem Prinzip von „Zeiger und Referenzen“ ein wesentliches Konzept der Programmiersprache.<br />

Unter Beachtung von Mechanismen zur Realisierung von Klassen und Objekten (Abschnitt C.4)<br />

wird im Abschnitt C.5 auf den Übersetzungsprozess von C++-Programmen eingegangen.<br />

C.1 Vergleich zwischen Java und C++<br />

Die Programmiersprache C++ gehört ebenso wie die Programmiersprache Java zu den objektorientierten<br />

Programmiersprachen (vgl. Abschnitt 11.2). Dabei lag die Motivation in der Entwicklung von C++ in einer<br />

Erweiterung der Programmiersprache C um Objektorientierung. So kann C++ als objektorientierte Erweiterung<br />

der imperativen Programmiersprache C verstanden werden. Ein wesentliches Konzept der durch<br />

Bjarne Stroustrup 1 konzeptionierten Sprache liegt in ihrer Effizienz bzgl. Laufzeit und Speicherverbrauch.<br />

Um dieses zu gewährleisten wurde auf Mechanismen, die wir von Java kennen, wie beispielsweise Typüberprüfungen<br />

zur Laufzeit und den Garbage Collector, verzichtet – hierfür ist der Programmierende selber<br />

verantwortlich. Auch ermöglicht C++ direkt Speicheradressen zu adressieren und mit ihnen zu „arbeiten“.<br />

Trotz dieser Unterschiede werden wir sehen, dass es im Sprachumfang von C++ große Gemeinsamkeiten<br />

zu Java gibt. Die Tabelle C.1 repräsentiert eine Übersicht zum Vergleich ausgewählter Konzepte zwischen<br />

C++ und Java. Ersichtlich ist u. a., dass gleiche Kontrollstrukturen aber plattformabhängige Datentypen<br />

1 Entwicklung von C++ im Jahre 1979 von Bjarne Stroustrup bei der Firma AT&T<br />

H. Müller, F. Weichert, <strong>Vorkurs</strong> <strong>Informatik</strong>,<br />

DOI 10.1007/978-3-8348-2629-9, © Springer Fachmedien Wiesbaden 2013

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!