c++ - einführung in die programmierung · c++ - einführung seite 3 bücher bjarne stroustrup:...
TRANSCRIPT
![Page 1: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/1.jpg)
Anja Aue | 12.12.2017
C++ - Einführung in die Programmiersprache
![Page 2: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/2.jpg)
C++ - Einführung Seite 2
Handbücher des IT Services
C++ für C-Programmierer C und C++ für Java-Programmierer
![Page 3: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/3.jpg)
C++ - Einführung Seite 3
Bücher
Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley.
Ulrich Breymann: Der C++-Programmierer: C++ lernen – professionell anwenden – Lösungen nutzen. Carl Hanser Verlag
Thomas Theis: Einstieg in C++: Ideal für Programmiereinsteiger. Rheinwerk.
Torsten T. Will: C++. Das umfassende Handbuch. Rheinwerk.
![Page 4: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/4.jpg)
C++ - Einführung Seite 4
Bücher zur Standardbibliothek
Rainer Grimm: C++-Standardbibliothek - kurz & gut. O'Reilly. 1. Auflage.
Peter Van Weert & Marc Gregoire: C++ Standard Library Quick Reference. APress.
![Page 5: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/5.jpg)
C++ - Einführung Seite 5
PDF-Dokumente im Netz
TU Braunschweig: https://www.tu-braunschweig.de/Medien-DB/statik/software/einfuehrung_in_cpp.pdf
Universität Graz: https://imsc.uni-graz.at/haasegu/Lectures/Kurs-C/Script/html/script_programmieren.pdf
DHBW Stuttgart: http://wwwlehre.dhbw-stuttgart.de/~kfg/cpp/cpp.pdf
![Page 6: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/6.jpg)
C++ - Einführung Seite 6
Tutorials im Web
http://www.stroustrup.com/C++.html http://www.cplusplus.com/doc/tutorial/ http://www.cprogramming.com/tutorial.html http://www.learncpp.com/ http://www.etp.physik.uni-
muenchen.de/kurs/Computing/ckurs/cxx.html http://www.cpp-tutor.de/cpp/hinweise.html https://de.wikibooks.org/wiki/C%2B%2B-
Programmierung/_Inhaltsverzeichnis
![Page 7: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/7.jpg)
C++ - Einführung Seite 7
C++
ISO genormte Programmiersprache. Objektorientierte und generische Programmierung. Komplexe, flexible Programmiersprache. Hardware-nahe Programmierung.
![Page 8: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/8.jpg)
C++ - Einführung Seite 8
Einsatzmöglichkeiten
Treiber für die verschiedenste Hardware. Entwicklung von Systemprogrammen. Zeitkritische Spiele. Eine Liste von Beispielen finden Sie unter
http://www.stroustrup.com/applications.html.
![Page 9: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/9.jpg)
C++ - Einführung Seite 9
Geschichte
Ca. 1979 arbeitet Bjarne Stroustrup an einer Programmiersprache unter dem Namen „C mit Klassen“.
1983 ändert sich der Name der Programmiersprache in C++. 1985 wird die erste Referenz zu der Programmiersprache von
Bjarne Stroustrup veröffentlicht. 1990 wird Borland's Turbo C++ -Compiler als erste
kommerzielles Produkt für die Programmiersprache angeboten.
![Page 10: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/10.jpg)
C++ - Einführung Seite 10
Standard
C++98. ISO/IEC 14882:1998. Publiziert im Jahr 1998. Erste Standardisierung der Programmiersprache. Ergänzung der Norm im Jahr 2003.
C++11. ISO/IEC 14882:2011. Publiziert im April 2011. Ersetzung der alten Versionen.
C++14. ISO/IEC 14882:2014. Publiziert im Januar 2015. Erweiterungen und Ergänzungen zu C++11.
C++17. ISO/IEC 14882:2017. Publiziert im März 2017. Die Änderung werden auf der Webseite https://isocpp.org/files/papers/p0636r0.html beschrieben.
![Page 11: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/11.jpg)
C++ - Einführung Seite 11
Programmierkonzepte
Prozedurale und modulare Programmierung. Anlehnung an die Programmiersprache C.
Objektorientierte Programmierung. Generische Programmierung.
![Page 12: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/12.jpg)
C++ - Einführung Seite 12
Prozedurale Programmierung
Top-down Entwurf. Welche Aufgabe soll abgebildet werden? Mit Hilfe von Funktionen wird die Aufgabe in kleinere Einheiten
gegliedert. Strukturierter Code, aber keine strukturierten Daten.
![Page 13: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/13.jpg)
C++ - Einführung Seite 13
Modulare Programmierung
Der Quellcode wird in verschiedenen Dateien zusammengefasst.
Trennung von Deklaration und Implementierung von Funktionen. Die Deklaration wird in Header-Dateien abgelegt. Die Implementierung wird in Dateien mit der Endung .cpp geschrieben.
Module sind Programme, die in sich geschlossen sind.
![Page 14: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/14.jpg)
C++ - Einführung Seite 14
Objektorientierte Programmierung
Bottom-up Design. Welche Daten werden zur Beschreibung eines Objekt benötigt? Welche Methoden werden zur Modifizierung eines Objektes
benötigt? Kapselung von Eigenschaften und Verhalten eines Objekts in
einer Klasse. Attribute und Methoden können an Kinder vererbt werden.
![Page 15: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/15.jpg)
C++ - Einführung Seite 15
Generische Programmierung
Nutzung von Schablonen zur Beschreibung eines Objekts. Schreiben von Methoden unabhängig vom Typ des Objektes. Templates bieten die Möglichkeiten Vorlagen für Objekte zu
erstellen.
![Page 16: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/16.jpg)
C++ - Einführung Seite 16
Entwicklungsumgebungen (IDE)
NetBeans (http://www.netbeans.org/) Code::Blocks (http://www.codeblocks.org/) KDevelop (http://www.kdevelop.org/) CodeLite (https://codelite.org/) Microsoft Visual Studio (https://www.visualstudio.com/)
![Page 17: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/17.jpg)
C++ - Einführung Seite 17
Online-Editoren zum Testen von Code
http://coliru.stacked-crooked.com/ https://godbolt.org/
![Page 18: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/18.jpg)
C++ - Einführung Seite 18
IDE im Kurs: NetBeans
1996 entwickelt von Studenten aus der Tschechischen Republik. 1999 Übernahme durch Sun Microsystems. 2010 Übernahme durch Oracle.
Als weitere Programmiersprachen werden Java, PHP und JavaScript unterstützt..
Download unter https://netbeans.org/.
![Page 19: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/19.jpg)
C++ - Einführung Seite 19
Installationshilfe im Web
https://wiki.fbihome.de/Netbeans https://netbeans.org/kb/trails/cnd.html
![Page 20: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/20.jpg)
C++ - Einführung Seite 20
Start von NetBeans
Icon auf dem Desktop. Windows 8 und höher: Suchen … Im Installationspfad von NetBeans: bin\netbeans64.exe.
![Page 21: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/21.jpg)
C++ - Einführung Seite 21
Startseite
![Page 22: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/22.jpg)
C++ - Einführung Seite 22
Anzeige oder Ausblenden der Startseite
Aktivierung des Kontrollkästchens Show on startup. Die Startseite wird beim Starten des Editors automatisch angezeigt.
Deaktivierung des Kontrollkästchens Show on startup. Die Startseite wird beim Starten des Editors nicht mehr angezeigt.
![Page 23: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/23.jpg)
C++ - Einführung Seite 23
IDE anpassen
Tools – Options.
![Page 24: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/24.jpg)
C++ - Einführung Seite 24
Möglichkeiten
Die Symbole am oberen Rand stellen die verschiedenen Kategorien dar.
General. Einstellungen für die Programmierung im Web. Editor. Automatische Ergänzung von Schlüsselwörtern etc.
Einstellung von Einrückungen im Codefenster. Fonts & Color. Welche Schriftart und -farbe wird im
Codefenster genutzt? Keymap. Welche Tastaturkürzel werden genutzt? C/C++. Einstellungen zu der Programmiersprache C oder C++.
![Page 25: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/25.jpg)
C++ - Einführung Seite 25
Einstellungen für den Editor
![Page 26: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/26.jpg)
C++ - Einführung Seite 26
Hinweise
Das Kombinationsfeld Language hat standardmäßig die Einstellung All Languages.
Durch Auswahl der passenden Programmiersprache kann der Editor an die gewünschte Sprache angepasst werden.
![Page 27: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/27.jpg)
C++ - Einführung Seite 27
Einstellungen C / C++
![Page 28: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/28.jpg)
C++ - Einführung Seite 28
Erläuterung
Build Tools. Pfadangaben zum Compiler, Debugger etc. Auflistung von Tools, die zur Erstellung eines lauffähigen C++-Programms benötigt werden.
Project Options. Regeln zur Erstellung von Objektcode mit Hilfe von make.
Code Assistence. Siehe https://netbeans.org/kb/docs/cnd/HowTos.html
Debugging Options. Other. Dateiendungen und deren C++-Standard.
![Page 29: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/29.jpg)
C++ - Einführung Seite 29
Projekt anlegen
File – New Project.
![Page 30: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/30.jpg)
C++ - Einführung Seite 30
1. Schritt: Auswahl einer Projektkategorie
Categories „C/C++“. Projects „C/C++ Application“. Das Grundgerüst für ein Programm in der Sprache C++ wird
automatisiert erstellt.
![Page 31: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/31.jpg)
C++ - Einführung Seite 31
2. Schritt: Name und Speicherort des Projekts
![Page 32: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/32.jpg)
C++ - Einführung Seite 32
Zeile „Project Name“
Name eines Ordners im Windows Explorers. In dem Ordner werden Dateien zur Erzeugung ein lauffähiges
C++-Programm abgelegt. Standardmäßig wird der Name CppApplication_ und eine
fortlaufende Nummer genutzt.
![Page 33: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/33.jpg)
C++ - Einführung Seite 33
Hinweise zum Namen
Der Name sollte nur die Groß- und Kleinbuchstaben a…z, die Zahlen 0...9 und den Unterstrich enthalten.
Der Name sollte die Aufgabe des C++-Programms widerspiegeln.
Zusammengesetzte Bezeichner sollten die Kamel-Notation nutzen. Jedes Wort in dem Projektnamen beginnt mit einem Großbuchstaben.
![Page 34: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/34.jpg)
C++ - Einführung Seite 34
Zeile „Project Location“
In welchem Verzeichnis wird der Ordner (das Projekt) erzeugt? Mit Hilfe der Schaltfläche Browse... kann der Speicherort für
das Projekt festgelegt werden. Die Zeile Project Folder setzt sich aus dem Projektnamen und
dem gewählten Speicherort zusammen.
![Page 35: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/35.jpg)
C++ - Einführung Seite 35
Zeile „Create Main File“
Standardeinstellung Erzeuge eine Datei main. Die Datei hat die die Endung .cpp als Kennzeichnung für ein
C++-Programm. Jedes lauffähige C++-Programm hat eine Datei main.cpp. In
dieser Datei befindet sich häufig eine Funktion main() als Startpunkt für das Programm.
![Page 36: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/36.jpg)
C++ - Einführung Seite 36
Zeile „Tool Collection“
Mit welchen Compiler wird das Programm in einen für den Computer lesbaren Code umgewandelt.
Mit welchen Compiler wird das Programm übersetzt?
![Page 37: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/37.jpg)
C++ - Einführung Seite 37
Projekt schließen
File – Close Project (ProjectName).
![Page 38: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/38.jpg)
C++ - Einführung Seite 38
Benutzeroberfläche
![Page 39: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/39.jpg)
C++ - Einführung Seite 39
Aufbau der Benutzeroberfläche
In der Titelleiste wird der Name des Projekts angezeigt. Menüleiste. Symbolleiste für die wichtigsten Befehle. Mit Hilfe von View –
Toolbars können Symbolleisten ein- oder ausgeblendet werden.
Diverse Fenster für den Code und Informationen zu dem Projekt.
![Page 40: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/40.jpg)
C++ - Einführung Seite 40
Fenster in der IDE
Fenster bündeln mit Hilfe von Registerkarten die verschiedenen Informationen.
Ein Fenster besitzt mindestens eine Registerkarte.
![Page 41: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/41.jpg)
C++ - Einführung Seite 41
An den linken Rand angedockte Fenster
Mit Hilfe der Schaltfläche am oberen rechten Rand des Fensters, kann dieses auf die Titelleiste minimiert werden.
Die Titelleiste wird am linken Rand der IDE angezeigt.
![Page 42: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/42.jpg)
C++ - Einführung Seite 42
Minimiertes Fenster
Der Mauszeiger liegt über einem Titel am linken Rand der IDE. Das Fenster wird eingeblendet.
Mit Hilfe des Kreuzes in der Titelleiste kann das Fenster geschlossen werden.
Das Symbol am rechten Rand dockt ein Fenster an. Das Fenster wird dauerhaft angezeigt.
![Page 43: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/43.jpg)
C++ - Einführung Seite 43
Registerkarten in einem Fenster
Am oberen Rand der Registerkarte wird der Name und die Schließen-Schaltfläche angezeigt
Mit Hilfe von Drag & Drop kann eine Registerkarte von einem Fenster in ein anderes Fenster verschoben werden.
Mit Hilfe des Menüs Window können die verschiedenen Registerkarten geöffnet werden. Die Einträge für die Registerkarten haben ein entsprechendes Symbol am linken Rand.
![Page 44: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/44.jpg)
C++ - Einführung Seite 44
„Ordner“ öffnen oder schließen
Klick auf das Pluszeichen: Ein Ordner wird geöffnet. Der Inhalt wird angezeigt.
Klick auf das Minuszeichen: Ein Ordner wird geschlossen.
![Page 45: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/45.jpg)
C++ - Einführung Seite 45
Projekt-Explorer
Die Registerkarte Projects bildet die Struktur eines C++-Projektes in NetBeans ab.
Der Wurzelordner spiegelt den Namen des Projekt wieder.
Der Ordner Source Files enthält Dateien mit der Endung „.cpp“. Quelldateien in der Sprache C++ werden in diesem Ordner gespeichert.
Der Ordner Header Files enthält Deklarationsdateien mit der Endung „.h“.
![Page 46: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/46.jpg)
C++ - Einführung Seite 46
Registerkarte Files
Darstellung wie im Windows Explorer. Die Datei main.cpp enthält Code zum
Starten eines C++-Programms. Der Projekt-Explorer ordnet die Datei in den Ordner Source Files ein.
Die Datei Makefile steuert die Kompilierung des Codes. Der Projekt-Explorer ordnet die Datei in den Ordner Important Files ein.
Im Ordner build werden die erstellten Objektdateien (*.o) abgelegt
![Page 47: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/47.jpg)
C++ - Einführung Seite 47
Anzeige von mehreren Projekten
Mausklick auf einen beliebigen Projektnamen in der Registerkarte Projects: Das Projekt wird aktiviert. Das aktive Projekt wird kompiliert und gestartet.
Rechter Mausklick auf einen beliebigen Projektnamen in der Registerkarte Projects: Das Kontextmenü zu einem Projekt wird geöffnet
Mit Hilfe des Befehls Delete im Kontextmenü eines Projektes wird das aktive Projekt gelöscht.
![Page 48: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/48.jpg)
C++ - Einführung Seite 48
Kontextmenü eines Projekts
Mit Hilfe des Befehls Delete im Kontextmenü eines Projektes wird das aktive Projekt gelöscht.
Der Befehl Set as Main Project kennzeichnet das gewählte Projekt mit einer Fettschrift. Dieses Projekt wird standardmäßig kompiliert.
Build erzeugt ein lauffähiges Programm.
Run startet das gewählte Projekt.
![Page 49: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/49.jpg)
C++ - Einführung Seite 49
Schließen von Projekten
File – Close Project. Rechtsklick auf das
Wurzelverzeichnis. Menüelement Close.
![Page 50: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/50.jpg)
C++ - Einführung Seite 50
Optionen zu einem Projekt
Rechtsklick auf den Projektnamen. Menü Properties. Andere Möglichkeit: File – Project Properties. In der Liste Categories können die verschiedenen Kategorien
der Einstellungsmöglichkeiten gewählt werden. In der Abhängigkeit der gewählten Kategorie werden die Einstellungen zu dem Projekt rechts angezeigt.
![Page 51: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/51.jpg)
C++ - Einführung Seite 51
Beispiel
![Page 52: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/52.jpg)
C++ - Einführung Seite 52
Einstellungen für den Compiler
Categories Build – C++ Compiler. Bereich Basic Options auf der rechten Seite. C++-Standard. Mit Hilfe des Kombinationsfeld kann der
Standard für dieses Projekt festgelegt werden. Tool. Wie wird wird die Quelldatei compiliert? Mit welchen
Werkzeug wird die Quelldatei in ein lauffähiges Programm übersetzt?
![Page 53: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/53.jpg)
C++ - Einführung Seite 53
Hinweise zum C++-Standard
NetBeans nutzt standardmäßig C++11 als Standard. Die Quelldateien in dem gewählten Projekt werden
entsprechend des eingestellten Standards geprüft. Der Standard in NetBeans wird in dem Menü Tools – Options in
der Kategorie C/C++ auf der Registerkarte Other festgelegt. Der gewählte Standard kann in Abhängigkeit der Dateiendungen eingestellt werden.
![Page 54: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/54.jpg)
C++ - Einführung Seite 54
Genutzter Zeichensatz
Categories General. Encoding am unteren Rand des Fensters. In welchen Zeichensatz wird der Code gespeichert? Für das Code-Fenster sollte der Zeichensatz UTF-8 eingestellt
werden.
![Page 55: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/55.jpg)
C++ - Einführung Seite 55
Code-Fenster in NetBeans
![Page 56: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/56.jpg)
C++ - Einführung Seite 56
Codefenster
Die, im Projekt-Explorer ausgewählte Datei wird angezeigt. Struktur einer Code-Datei in der Programmiersprache C++. Für jede Datei wird eine Registerkarte angelegt.
![Page 57: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/57.jpg)
C++ - Einführung Seite 57
Schriftart und -farbe im Codefenster
Tools – Options. Fonts & Colors.
![Page 58: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/58.jpg)
C++ - Einführung Seite 58
Grundgerüst in „NetBeans“/* * File: %<%NAME%>%.%<%EXTENSION%>% * Author: %<%USER%>% * * Created on %<%DATE%>%, %<%TIME%>% */
#include <iostream>
using namespace std;/* * */int main(int argc, char** argv) { std::cout << "Hello World \n";
return 0;}
![Page 59: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/59.jpg)
C++ - Einführung Seite 59
Anzeige im Codefenster
Vom Entwickler eingegebener Text. Code in einer bestimmten Programmiersprache, der von
Menschen gelesen werden. Schlüsselwörter, Kommentare etc. aus der
Programmiersprache C++.
![Page 60: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/60.jpg)
Programmiersprache Python Seite 60
Kommentare
Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Kommentare im Code müssen bei Änderungen angepasst
werden. Der Computer überliest Kommentare bei der Ausführung.
![Page 61: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/61.jpg)
C++ - Einführung Seite 61
… in C++
/* * File: %<%NAME%>%.%<%EXTENSION%>% * Author: %<%USER%>% * * Created on %<%DATE%>%, %<%TIME%>% */
Beginn: Schrägstrich und Sternchen. Ende: Sternchen und Schrägstrich. Zwischen dem Schrägstrich und dem Sternchen darf kein Leerzeichen stehen.
Am Anfang einer Datei wird das Programm beschrieben. NetBeans stellt Kommentare in grauer Schrift dar.
![Page 62: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/62.jpg)
C++ - Einführung Seite 62
Aufbau eines C++-Programms
Präprozessor-Anweisung
int main ()
}
Anweisung;
Anweisung;
return 0;
using namespace std;
{
![Page 63: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/63.jpg)
C++ - Einführung Seite 63
Präprozessor-Anweisungen
Beginn mit dem Hash-Zeichen (#). Beendigung mit der Zeile und nicht mit einem Semikolon. Positionierung am Anfang einer Quelldatei (.cpp) oder Header-
Datei (.h). Diese Zeilen werden vor dem Übersetzen eines Programms in
ein lauffähiges Programm ausgeführt.
#include <iostream>
![Page 64: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/64.jpg)
C++ - Einführung Seite 64
Einbindung von Bibliotheken
Die Datei iostream wird in einem Verzeichnis include gesucht. Zum Beispiel C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++
Durch die Einbindung der Bibliothekt wird die Funktionalität der Sprache C++ erweitert.
Die Datei iostream bietet Methoden für die Ein- und Ausgabe in die Konsole etc.
#include <iostream>
![Page 65: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/65.jpg)
C++ - Einführung Seite 65
Mögliche Speicherorte
Tools – Options. Anzeige der Kategorie C/C++. Registerkarte Code Assistance. Aktivierung der Registerkarte
C++ Compiler. Das Verzeichnis include enthält fremde Deklarationsdateien
für Funktionen, Klassen etc.. Diese Dateien können in das eigene Programm eingebunden werden.
![Page 66: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/66.jpg)
C++ - Einführung Seite 66
Angabe eines Namensraums
Namensräume fassen Code in einem Container zusammen. Namensräume legen die Gültigkeit von Methoden und so
weiter fest. Vermeidung von Namenskonflikten. Zeilen im Anschluss an die Präprozessor-Anweisungen.
using namespace std;
![Page 67: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/67.jpg)
C++ - Einführung Seite 67
Standard-Namensraum
In diesem Beispiel wird der Namensraum std genutzt (using namespace).
In dem Namensraum std ist die C++-Standardbibliothek abgelegt. Alle eingebundenen Dateien aus der C++-Standardbibliothek können genutzt werden.
using namespace std;
![Page 68: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/68.jpg)
C++ - Einführung Seite 68
C++ - Standardbibliothek
Bibliothek der Programmiersprache C++. Erweiterung des Sprachumfangs von C++. Vorgefertigte Elemente für die Ein- und Ausgabe,
mathematische Funktionen und so weiter.
![Page 69: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/69.jpg)
C++ - Einführung Seite 69
Informationen im Web
http://gcc.gnu.org/onlinedocs/libstdc++/ http://www.cplusplus.com/reference/clibrary/ http://de.cppreference.com/w/cpp/header https://de.wikibooks.org/wiki/C%2B%2B-Programmierung/
_Die_STL http://www.hpc.canterbury.ac.nz/UCSC
%20userdocs/ForUCSCWebsite/C/AIX/standlib.pdf
![Page 70: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/70.jpg)
C++ - Einführung Seite 70
Funktion main
Jedes ausführbare Programm in C++ muss einmal die Funktion main enthalten. Die Funktion bietet einen Startpunkt für ein C++-Projekt.
Jede Funktion hat eine Signatur, die den Aufruf beschreibt. Jede Funktion hat einen Codeblock, der die verschiedenen
Programmierbefehle zusammenfasst.
int main(int argc, char** argv) {
}
![Page 71: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/71.jpg)
Programmiersprache Python Seite 71
Arbeitsweise von Funktionen
Funktionen entsprechen einer Fertigungsstraße in einer Fabrikhalle.
Der Betrachter von außen sieht das Material, welches verarbeitet werden soll. In diesem Beispiel wird die Anzahl der Elemente (argc) in dem Feld und das Feld selbst (argv) übergeben.
Der Betrachter sieht am Ende das fertige Werkstück. In diesem Beispiel die Ausgabe von 0. Das Programm wurde fehlerfrei durchlaufen.
Die Arbeitsschritte sieht der Nutzer der Funktion nicht.
{ std::cout << "Hello World \n"; return 0;}
0
argc argv
![Page 72: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/72.jpg)
C++ - Einführung Seite 72
Aufbau der Funktion main
{ std::cout << "Hello World \n";
return 0;}
int main(int argc, char** argv) Kopf der Funktion.
Codeblock zu einer Funktion
Typ des Rückgabe-
werts.
Parameterliste.
![Page 73: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/73.jpg)
C++ - Einführung Seite 73
Signatur einer Funktion
Welches Werkstück wird am Ende der Fertigungsstraße zurückgegeben? In diesem Beispiel wird eine Ganzzahl (int) zurückgegeben.
Jede Funktion hat einen Namen. Mit Hilfe des Namens wird die Funktion aufgerufen. Der Einstiegspunkt main muss exakt so wie im Beispiel geschrieben werden.
Welche Elemente werden bei Beginn der Fertigung benötigt? Die Parameterliste gibt Auskunft über diese Elemente.
int main(int argc, char** argv)
int main()
![Page 74: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/74.jpg)
C++ - Einführung Seite 74
Parameterliste einer Funktion
Im Anschluss an den Namen der Funktion folgt die Parameterliste.
Die Parameterliste wird durch die runden Klammern begrenzt.
Die Parameterliste kann leer sein. Es werden keine Elemente zum Start der Fertigung benötigt.
int main(int argc, char** argv)
int main()
![Page 75: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/75.jpg)
C++ - Einführung Seite 75
Parameter einer Funktion
Die Parameterliste kann beliebig viele Parameter unterschiedlichsten Typs auflisten.
Die Parameter werden durch ein Komma getrennt.
int main(int argc, char** argv) { std::cout << "Hello World \n";
return 0;}
![Page 76: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/76.jpg)
C++ - Einführung Seite 76
Parameter der Funktion main
Der erste Parameter gibt die Anzahl der Elemente in der Liste argv an.
Die Liste argv besteht aus x verschiedenen Elementen. Die Elemente werden beim Start von einem Terminal eingelesen.
int main(int argc, char** argv) { std::cout << "Hello World \n";
return 0;}
![Page 77: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/77.jpg)
C++ - Einführung Seite 77
Codeblock der Funktion main
Mit Hilfe der geschweiften Klammern werden Anweisungen zu einem Block zusammengefasst.
Anweisungen beschreiben eine Aktion mit Hilfe der Programmiersprache C++.
int main(int argc, char** argv) { std::cout << "Hello World \n";
return 0;}
![Page 78: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/78.jpg)
C++ - Einführung Seite 78
Anweisungen
Anweisungen können zum Beispiele Literale wie zum Beispiel 0 oder Schlüsselwörter aus C++ enthalten.
Anweisungen können zum Beispiel Elemente auf der Konsole ausgeben oder das Werkstück an den Aufrufer zurückgeben.
Jede Anweisung wird mit einem Semikolon beendet.
int main(int argc, char** argv) { std::cout << "Hello World \n";
return 0;}
![Page 79: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/79.jpg)
C++ - Einführung Seite 79
Schlüsselworte in C++
Reservierte Wörter in C++. Schlüsselwörter bilden den Sprachkern der
Programmiersprache. Siehe: http://de.cppreference.com/w/cpp/keyword oder
https://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Keywords
![Page 80: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/80.jpg)
C++ - Einführung Seite 80
Rückgabewert einer Funktion
Das Schlüsselwort return liefert einen Wert an den Aufrufer zurück.
Der Typ des Wertes wird in der Funktionsdefinition bestimmt. In diesem Beispiel wird eine Ganzzahl (int) zurückgegeben.
Der Rückgabewert 0 symbolisiert, dass die Fertigung ohne Fehler beendet ist.
int main(int argc, char** argv) {
return 0;}
![Page 81: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/81.jpg)
C++ - Einführung Seite 81
Zeichenkette in C++
Zeichenketten beginnen und enden mit den Anführungszeichen.
Die Sequenz \n kennzeichnet eine neue Zeile.
int main(int argc, char** argv) { std::cout << "Hello World \n";
}
![Page 82: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/82.jpg)
C++ - Einführung Seite 82
… auf der Konsole ausgeben
Mit Hilfe des Umleitungsoperators << wird die Zeichenkette auf der Standardausgabe (cout) ausgegeben.
Der Umleitungsoperator besteht aus zwei Kleiner-Zeichen.
int main(int argc, char** argv) { cout << "Hello World \n";
}
![Page 83: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/83.jpg)
C++ - Einführung Seite 83
Definition des Objekts „cout“
cout ist in der Bibliothek iostream definiert.
Das Objekt beschreibt die Standardausgabe eines C++-Programms.
Fehlermeldung „'cout' was not declared in this scope“: Die Zeile #include <iostream> am Anfang des Programms fehlt. Oder der Namensraum wurde nicht definiert.
int main(int argc, char** argv) { cout << "Hello World \n";
}
![Page 84: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/84.jpg)
C++ - Einführung Seite 84
Definition des Namensraumes
Am Anfang der Quelldatei. Der Namensraum wird für die gesamte Quelldatei eingebunden.
Das Objekt cout aus dem Namensraum std kann genutzt werden.
using namespace std;
int main(int argc, char** argv) { cout << "Hello World \n";
}
![Page 85: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/85.jpg)
C++ - Einführung Seite 85
Weitere Möglichkeit
Nur das Element cout wird mit dem Namensraum std durch den Operator :: verbunden.
Das qualifizierte Element kann im Rumpf der Funktion genutzt werden.
int main(int argc, char** argv) { std::cout << "Hello World \n";
}
![Page 86: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/86.jpg)
Java – Einführung in die Programmierung Seite 86
Standardausgabe in NetBeans
Fenster Output am unteren Rand von NetBeans. Simulation einer Konsole wie zum Beispiel „MS
Eingabeaufforderung“ etc. Ausgabe von Syntaxfehlern bei der Kompilierung des
Programms.
![Page 87: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/87.jpg)
Java – Einführung in die Programmierung Seite 87
… öffnen
Nach Ausführung des Programms wird das Fenster automatisch geöffnet.
Das Menü Window – Output aktiviert das Fenster. Ein Mausklick auf die Registerkarte Output legt den Fokus auf
das Fenster.
![Page 88: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/88.jpg)
Java – Einführung in die Programmierung Seite 88
Kompilieren von Projekten
<F11>. Klick mit der rechten Maustaste auf das Projekt. Build. Run – Build Project.
![Page 89: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/89.jpg)
Java – Einführung in die Programmierung Seite 89
Nochmals Kompilieren
<UMSCHALT>+<F11>. Klick mit der rechten Maustaste auf das Projekt. Clean and
Build. Run – Clean and Build Project.
![Page 90: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/90.jpg)
Java – Einführung in die Programmierung Seite 90
Output: Registerkarte … (Build, Run)
Arbeitsschritte bei der Kompilierung. Anzeige von Syntaxfehlern.
![Page 91: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/91.jpg)
Java – Einführung in die Programmierung Seite 91
Kompilieren und ausführen von Projekten
<F6>. Run Project (grüner Pfeil) in der Symbolleiste oder Output. Run – Run Project. Hinweis: Sobald ein Syntaxfehler im Programm auftritt, wird
das Programm gestoppt.
![Page 92: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/92.jpg)
Java – Einführung in die Programmierung Seite 92
Output: Registerkarte … (Run)
Ein- und Ausgaben zur Laufzeit des Programms. Ausgaben des Programms auf die Konsole. Einlesen von Werten von der Konsole.
![Page 93: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/93.jpg)
Java – Einführung in die Programmierung Seite 93
Programm vorzeitig beenden
Klick auf das rote Rechteck am linken Rand. Oder: Klick auf die Schließen-Schaltfläche in der Statuszeile
am unteren Rand.
![Page 94: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/94.jpg)
C++ - Einführung Seite 94
Kompilierung eines Programms
Quellcode ([datei].cpp)
g++ -c main.cpp
Präprozessor
Compiler
Rechter Mausklick auf die Datei.Compile File.
Objektcode ([datei].o) main.o
main.cpp
![Page 95: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/95.jpg)
C++ - Einführung Seite 95
Präprozessor
Der Präprozessor ersetzt die mit einem Hash-Zeichen gekennzeichneten Zeilen durch den entsprechenden Text.
Ersetzung von bestimmten Codezeilen im Programm vor der Kompilierung.
![Page 96: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/96.jpg)
C++ - Einführung Seite 96
Compiler
Der Compiler übersetzt den, für einen Menschen lesbaren Programmtext in Maschinencode.
Fehler in der Syntax des Codes führen zu einem Abbruch.
![Page 97: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/97.jpg)
C++ - Einführung Seite 97
Compiler für C++ unter Linux / Unix
Der Compiler gcc (https://www.gnu.org/software/gcc/) ist auf dem Betriebssystem Linux vorinstalliert.
C++17 wird ab der Version gcc7 unterstützt.
![Page 98: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/98.jpg)
C++ - Einführung Seite 98
Compiler für C++ unter Windows
Die Compiler Mingw (http://mingw.org/) ist ein Derivate des Gnu-Compilers für Windows. Die Systemvariable PATH muss um den Pfad C:\MinGW\bin; erweitert werden.
Eine weitere Möglichkeit ist cygwin (http://www.sourceware.org/cygwin/).
![Page 99: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/99.jpg)
C++ - Einführung Seite 99
Update von mingw
Öffnen eines Terminals oder Konsole. Eingabe von mingw-get update in die Konsole. Die neuesten
Pakete werden vom Internet geladen. Eingabe von mingw-get upgrade. Der Compiler wird erneuert.
![Page 100: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/100.jpg)
C++ - Einführung Seite 100
Ausführbares Programm erstellen
g++ -o application main.o
Linker
Maschinencode ([datei].exe) cppapplication_xx.exe
Objektcode ([datei].o) main.o
Run – Build Project
Run – Run Project
![Page 101: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/101.jpg)
C++ - Einführung Seite 101
Linker
Bindet alle zu einem Programm gehörenden Objektdatei zu einer ausführbaren Datei zusammen.
Falls die einzubindenden Dateien nicht vorhanden sind, wird eine Fehlermeldung ausgegeben.
![Page 102: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/102.jpg)
C++ - Einführung Seite 102
makefile
Welche Quelldateien sollen kompiliert werden? Automatische Erzeugung eines ausführbaren Programms. Mitteilung an Programm was es tun soll und wie sie es tun soll. NetBeans generiert automatisch ein makefile.
![Page 103: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/103.jpg)
C++ - Einführung Seite 103
Formatierung von Code
int main(){ cout << "Hello World \n"; return 0;}
int main() {cout << "Hello World \n";return 0;}
Keines der Programme erzeugt einen Fehler.
![Page 104: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/104.jpg)
C++ - Einführung Seite 104
Hinweise
Eine Anweisung endet in C++ mit einem Semikolon. Pro Zeile sollte eine Anweisung stehen.
Zusammengehörige Blöcke sollten mit Hilfe von Tabs eingerückt werden.
Namen, Klammern etc. werden durch Leerzeichen getrennt. In einem Namen wie zum Beispiel main darf kein Leerzeichen vorkommen.
In Strings oder Namen darf kein Zeilenumbruch (Taste RETURN; Eingabetaste) genutzt werden.
![Page 105: C++ - Einführung in die Programmierung · C++ - Einführung Seite 3 Bücher Bjarne Stroustrup: Programming. Principles and Practice Using C++. Addision Wesley. Ulrich Breymann: Der](https://reader031.vdokument.com/reader031/viewer/2022012923/5b14e2e47f8b9ab6778c803f/html5/thumbnails/105.jpg)
C++ - Einführung Seite 105
Style Guides
http://geosoft.no/development/cppstyle.html https://gcc.gnu.org/wiki/CppConventions http://www.stroustrup.com/bs_faq2.html https://users.ece.cmu.edu/~eno/coding/
CppCodingStandard.html https://google.github.io/styleguide/cppguide.html http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#
S-naming