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

Ulrich Breymann

C++ programmieren

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

2023

1016 Seiten

Format: PDF, ePUB

E-Book: €  49,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446478466

 

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, C++20 und C++23. C++23 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 in C++ 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.

Editor/Entwicklungsumgebung


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. Es gibt viele passende Texteditoren. In diesem Buch beschränke ich mich auf Geany1, weil es ihn für Windows, Linux und macOS gibt und weil er einfach zu bedienen ist. Gleichzeitig ist er eine einfache IDE (Integrated Development Environment, dt. integrierte Entwicklungsumgebung). In Abschnitt 1.5 finden Sie mehr dazu.

Der Compiler


Der Compiler ist ein Programm, das Ihren Programmtext in eine für den Computer verarbeitbare Form übersetzen kann. Von Menschen geschriebener Programmtext kann vom Computer nicht 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 clang++ von LLVM2. 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 und sehr gut bekannt ist.

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.

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.

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 ebenfalls einfachen 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: Programmentwurf

int main() // Noch tut dieses Programm nichts! { // Lies zwei Zahlen ein /* Berechne die Summe beider Zahlen */ // Zeige das Ergebnis auf dem Bildschirm an }

Sie sehen einen einfachen Entwurf, der gleichzeitig ein C++-Programm ist. Es tut allerdings noch nichts. Es bedeuten:

ganze Zahl zur Rückgabe

Name der Funktion, mit der jedes Programm beginnt

Innerhalb dieser Klammern können der Funktion Informationen mitgegeben werden.

Block

Kommentar, der über mehrere Zeilen gehen kann

Kommentar bis Zeilenende

Ein durch und begrenzter Block enthält die Anweisungen an den Rechner. Der Compiler übersetzt den Programmtext in eine rechnerverständliche Form. Im Block...

 

© 2009-2024 ciando GmbH