Benutzerspezifische Werkzeuge

C++

C++ vereinigt als Erweiterung der Programmiersprache C dessen Eigenschaften (Universalität, Effizienz durch maschinennahe Programmierung und hohe Verbreitung mit umfangreichen Bibliotheken) mit weiteren Sprachelementen. Hierzu gehören sowohl die Objektorientierung als auch weitere Elemente wie beispielsweise die Ausnahmebehandlung und die Template-Programmierung.

Eigenschaften von C++

Bei der Programmiersprache C++ handelt es sich nicht um eine rein objektorientierte Sprache. Vielmehr ist sie als eine hybride Sprache anzusehen, die unterschiedliche Sprachelemente vereinigt [Kirch-Prinz/Prinz 2005, S.23]. Als erstes Sprachelement enthält C++ die gesamte Sprache C als Teilmenge. Damit stehen in C++ alle Möglichkeiten zur Verfügung, die die Sprache C bietet. Somit lassen sich auch in C++ die umfangreichen Softwarebibliotheken nutzen, die in C entwickelt wurden. Die Einbindung von C erlaubt auch eine sehr leistungsfähige maschinennahe Programmierung. Allerdings erbt C++ mit der Einbindung der Sprache C auch dessen Nachteile. Dazu gehört beispielsweise die Übernahme der teilweise komplexen C-Syntax als auch die Einbeziehung verschiedener Konstrukte der Sprache C, die zum Teil plattformabhängig sind und deshalb bei Gebrauch die Portierung von erstellten C++-Programmen zwischen unterschied­lichen Rechnersystemen, Betriebssystemen und Compilern erschweren können.

Als zweites Sprachelement von C++ ist die Objektorientierung zu nennen. So unterstützt C++ die Konzepte der Datenabstraktion (Klassendefinition zur Beschreibung von Objekten), der Datenkapselung (kontrollierter Zugriff auf Daten und Funktionen) und der Vererbung (Ableitung neuer Klassen auf Basis bestehender) sowie die Polymorphie (Erlaubt es, dass Bezeichner – in Abhängigkeit des Kontextes – unterschiedliche Datentypen haben können).

Als drittes Sprachelement sind spezielle Erweiterungen zu nennen. Diese betreffen beispielsweise die Ausnahmebehandlung (englisch Exception Handling), Werkzeuge zur Codeoptimierung, Referenzen oder Schablonen (englisch Templates). Templates erlauben es, dass der eigentliche Programmcode erst während des Kompiliervorgangs erzeugt wird. So können Funktionen und Klassen für verschiedene Typen zur Verfügung gestellt werden. Hierdurch kann entweder Redundanz (Vermeidung mehrfacher Definitionen) vermieden oder Laufzeitvorteile (weniger Typumwandlungen) erreicht werden (vergleiche zur Template Programmierung [Josuttis/Vandervoorde 2002]).

 

Anwendungsgebiete

Die Sprache C++ wird in der Systemprogrammierung und in der Anwendungsprogrammierung eingesetzt. In der Systemprogrammierung werden hauptsächlich Betriebssysteme, eingebettete Systeme oder Treiber in C++ implementiert. In der Anwendungsprogrammierung dient C++ zur Realisierung zeitkritischer Routinen.

 

Literatur

Prinz-Kirch, U.; Prinz, P.: C++ Lernen und professionell anwenden. 5. Aufl., Landsberg : MITP-Verlag 2010.

Josuttis, N.M.; Vandervoorde, D.: C++ Templates: The Complete Guide. Amsterdam : Addison-Wesley Longman 2002.

 

Autor


Prof. Dr. Stefan Bock, Bergische Universität Wuppertal, Wirtschaftsinformatik und Operations Research, Gaußstraße 20, 42097 Wuppertal

Autoreninfo


Zuletzt bearbeitet: 26.09.2014 14:58
Letzter Abruf: 16.08.2017 17:18
Artikelaktionen