C++ programmieren - C++ lernen - professionell anwenden - Lösungen nutzen

Ulrich Breymann

C++ programmieren

C++ lernen - professionell anwenden - Lösungen nutzen

2020

1007 Seiten

Format: PDF, ePUB

E-Book: €  39,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446465510

 

 

1


 

Es geht los!

 

 

Dieses Kapitel behandelt die folgenden Themen:

       Entstehung und Entwicklung der Programmiersprache C++

       Objektorientierte Programmierung – erste Grundlagen

       Wie schreibe ich ein Programm und bringe es zum Laufen?

       Einfache Datentypen und Operationen

       Ablauf innerhalb eines Programms steuern

       Erste Definition eigener Datentypen

       Standarddatentypen vector und string

       Einfache Ein- und Ausgabe

       Guter Programmierstil

1.1 Historisches

C++ wurde etwa ab 1980 von Bjarne Stroustrup als die Programmiersprache »C with classes« (englisch C mit Klassen), die Objektorientierung stark unterstützt, auf der Basis der Programmiersprache C entwickelt. Später wurde die neue Sprache in C++ umbenannt. ist ein Operator der Programmiersprache C, der den Wert einer Größe um 1 erhöht. Insofern spiegelt der Name die Eigenschaft »Nachfolger von C«. 1998 wurde C++ erstmals von der ISO (International Organization for Standardization) und der IEC (International Electrotechnical Commission) standardisiert. Diesem Standard haben sich nationale Standardisierungsgremien wie ANSI (USA) und DIN (Deutschland) angeschlossen. Die Anforderungen an C++ sind gewachsen, auch zeigte sich, dass manches fehlte und anderes überflüssig oder fehlerhaft war. Das C++-Standardkomitee hat kontinuierlich an der Verbesserung von C++ gearbeitet. Seit 2011 werden im Abstand von drei Jahren neue Versionen des Standards herausgegeben. Die Kurznamen sind entsprechend den Jahreszahlen C++11, C++14, C++17 und C++20. C++20 wurde von der zuständigen ISO/IEC-Arbeitsgruppe JTC1/SC22/WG21 verabschiedet und bei der ISO zur Veröffentlichung eingereicht.

1.2 Arten der Programmierung

Es gibt viele verschiedene Arten der Programmierung. C++ unterstützt im Wesentlichen die folgenden:

Imperative Programmierung

Dabei werden die im Programmcode festgelegten Schritte der Reihe nach ausgeführt. Es geht also darum, einem Rechner mitzuteilen, was er tun soll und wie es zu tun ist. Ein Programm ist ein in einer Programmiersprache formulierter Algorithmus oder anders ausgedrückt eine Folge von Anweisungen, die der Reihe nach auszuführen sind, ähnlich einem Kochrezept. Der Algorithmus wird in einer besonderen Sprache, die der Rechner »versteht«, geschrieben. Der Schwerpunkt dieser Betrachtungsweise liegt auf den einzelnen Schritten oder Anweisungen an den Rechner, die zur Lösung einer Aufgabe abzuarbeiten sind. Mit sogenannten Kontrollstrukturen wird der Programmablauf gesteuert. So können Teile wiederholt ausgeführt oder übersprungen werden.

Objektorientierte Programmierung

Bei der imperativen Programmierung wird ein Aspekt eher stiefmütterlich behandelt: Der Rechner muss »wissen«, womit er etwas tun soll. Zum Beispiel soll er

       eine bestimmte Summe Geld von einem Konto auf ein anderes transferieren;

       eine Ampelanlage steuern;

       ein Rechteck auf dem Bildschirm zeichnen.

Häufig, wie in den ersten beiden Fällen, werden Objekte der realen Welt (Konten, Ampelanlage ...) simuliert, das heißt im Rechner abgebildet. Die abgebildeten Objekte haben eine Identität. Das Was und das Womit gehören stets zusammen. Beide sind also Eigenschaften eines Objekts und sollen daher nicht getrennt werden. Ein Konto kann schließlich nicht auf Gelb geschaltet werden, und eine Überweisung an eine Ampel ist nicht vorstellbar. Ein objektorientiertes Programm kann man sich als Abbildung von Objekten der realen Welt in Software vorstellen. Die Abbildungen werden selbst wieder Objekte genannt. Klassen sind Beschreibungen von Objekten.

Generische Programmierung

Die generische Programmierung ermöglicht es, Klassen und Algorithmen für verschiedene Datentypen mit nur einem Schema zu modellieren. Das gilt für die imperative Programmierung ebenso wie für die objektorientierte Programmierung. Andere Arten der Programmierung sind für C++ von geringerer Bedeutung.

1.3 Werkzeuge zum Programmieren

Um Programme schreiben und ausführen zu können, brauchen Sie nicht viel: einen Computer mit einem Editor und einem C++-Compiler.

Der Editor

Ein Editor ist ein Programm, mit dem man Texte schreiben kann. Dabei darf ein Text keine versteckten Sonderzeichen enthalten, weswegen LibreOffice oder Word nicht geeignet sind. Ein für Windows passender Texteditor ist Notepad++1. Den Editor Atom2 gibt es für Windows, Linux und macOS. Mac-Benutzer können auch den Editor der Entwicklungsumgebung Xcode nehmen.

Der Compiler

Der Compiler ist ein Programm, das Ihren Programmtext in eine für den Computer verarbeitbare Form übersetzen kann. Von Menschen geschriebener und für Menschen lesbarer Programmtext kann nicht vom Computer so verstanden werden, wie wir einen Text verstehen. Das vom Compiler erzeugte Ergebnis der Übersetzung kann der Computer aber ausführen. Das Erlernen einer Programmiersprache ohne eigenes praktisches Ausprobieren ist kaum sinnvoll. Nutzen Sie daher die Dienste des Compilers möglichst bald anhand der Beispiele. Wie, zeigt Ihnen der Abschnitt direkt nach der Vorstellung des ersten Programms.

GNU C++ Compiler: g++

Die am meisten verbreiteten Compiler sind der GNU C++-Compiler [GCC] g++, der zu Microsofts Visual Studio gehörende cl und seit einiger Zeit auch clang++ von LLVM3. Um C++ zu lernen, ist es letztlich egal, welchen Compiler Sie nehmen. In diesem Buch liegt der Schwerpunkt auf dem g++-Compiler, weil er Open-Source ist und auf den wichtigsten Betriebssystemen läuft. g++ wie auch clang++ werden am schnellsten an die Entwicklungen des C++-Standards angepasst.

Windows

Installationshinweise finden Sie auf der Internetseite http://cppbuch.de/downloads.html. Im Folgenden wird davon ausgegangen, dass Sie die Installation wie dort beschrieben vorgenommen haben. Auf derselben Internetseite liegen auch die Beispiele zum Download bereit.

Linux

Bei den meisten Linux-Systemen ist der GNU C++-Compiler enthalten. Wenn nicht, finden Sie Hinweise zur Installation unter http://www.cppbuch.de/swinstallation.html.

LLVM C++ Compiler: clang++

clang++ hat mit wenigen Ausnahmen dieselben Optionen wie g++. In diesem Buch wird daher nicht weiter auf clang++ eingegangen. Auf einem Mac sollten Sie die Entwicklungsumgebung Xcode mit dem Clang++-Compiler installieren. Hinweise dazu finden Sie unter http://www.cppbuch.de/swinstallation.html. Der Aufruf von g++ wird vom System durch einen Aufruf von clang++ ersetzt.

Microsofts Visual C++ Compiler: cl

Wenn Sie die Entwicklungsumgebung Visual Studio herunterladen (Tipp: Community Edition), bekommen Sie auch den zugehörigen Compiler. Um weitgehend unabhängig vom Betriebssystem zu bleiben, spielt er hier nur eine geringfügige Rolle.

Wenn Sie etwas Erfahrung mit C++ gewonnen haben, bietet sich eine integrierte Entwicklungumgebung (englisch Integrated Development Environment, IDE) an, um die Beispiele korrekt zu übersetzen. Abschnitt 1.5 geht darauf ein.

Tipp

Um für den Anfang die Einarbeitung in eine Integrierte Entwicklungsumgebung zu vermeiden, nehmen Sie einen Texteditor. Das Programm kann dann in der Konsole oder im Linux- bzw. macOS-Terminal mit den weiter unten gezeigten Kommandos compiliert werden. Compilieren heißt, den Programmtext in eine ausführbare Form umzuwandeln, die die Maschine »versteht«.

1.4 Das erste Programm

Das klassische erste Programm ist ein Mini-Programm, das einfach nur »Hello World!« ausgibt. Das Listing 1.1. zeigt den Programmcode.

Listing 1.1: Hello World-Programm (cppbuch/k1/hello.cpp)

#include int main() { std::cout << "Hello World!\n"; }

Die Entwicklung eines einfachen Programms lernen Sie hier an einer nur unwesentlich schwierigeren Aufgabe kennen: Es sollen zwei Zahlen addiert werden. Dabei wird Ihnen zunächst das Programm vorgestellt und gleich danach erfahren Sie, wie Sie es eingeben und zum Laufen bringen können. Der erste Schritt besteht in der Formulierung der Aufgabe. Sie lautet: »Lies zwei Zahlen a und b von der Tastatur ein. Berechne die Summe beider Zahlen und zeige das Ergebnis auf dem Bildschirm an.« Die Aufgabe ist so einfach, wie sie sich anhört! Im zweiten Schritt wird die Aufgabe in die Teilaufgaben »Eingabe«, »Berechnung« und »Ausgabe« zerlegt:

Listing 1.2:...

 

© 2009-2024 ciando GmbH