C++ - Einführung in die Programmierung

Werbung
C++ - Einführung in die Programmiersprache
Leibniz Universität IT Services | Anja Aue
Handbücher des RRZN
 C++ für C-Programmierer
 C und C++ für Java-Programmierer
C++ - Einführung | 05.04.16
Seite 2
Bücher
 Bjarne Stroustrup: Programming. Principles and Practice Using
C++. Addision Wesley. 2. Auflage.
 Jürgen Wolf: Grundkurs C++: C++-Programmierung
verständlich erklärt. Rheinwerk Computing. 3. Auflage.
 Dieter Bär: Schrödinger programmiert C++: Jetzt mit C++ 14
und Syntax-Highlighting. Rheinwerk Computing. 2. Auflage.
C++ - Einführung | 05.04.16
Seite 3
Bücher zur Standardbibliothek
 Rainer Grimm: C++-Standardbibliothek - kurz & gut. O'Reilly. 1.
Auflage.
C++ - Einführung | 05.04.16
Seite 4
PDF-Dokumente im Netz
 TU Braunschweig: https://www.tu-braunschweig.de/MedienDB/statik/software/einfuehrung_in_cpp.pdf
 Universität Graz: http://www.uni-graz.at/~haasegu/
Lectures/Kurs-C/Script/html/script_programmieren.pdf
 DHBW Stuttgart: http://wwwlehre.dhbwstuttgart.de/~kfg/cpp/cpp.pdf
C++ - Einführung | 05.04.16
Seite 5
Referenzen 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.unimuenchen.de/kurs/Computing/ckurs/cxx.html
 http://www.cpp-tutor.de/cpp/hinweise.html





C++ - Einführung | 05.04.16
Seite 6
C++- Standard und Standardbiblothek






http://www.open-std.org/jtc1/sc22/wg21/
http://gcc.gnu.org/onlinedocs/libstdc++/
http://www.cplusplus.com/reference/clibrary/
http://en.cppreference.com/w/
https://www.sgi.com/tech/stl/
https://de.wikibooks.org/wiki/C%2B%2B-Programmierung/
_Die_STL
C++ - Einführung | 05.04.16
Seite 7
Entwicklungsumgebungen (IDE)





NetBeans (http://www.netbeans.org/)
Code::Blocks (http://www.codeblocks.org/)
Borland Turbo C++ (http://www.turboexplorer.com/cpp)
KDevelop (http://www.kdevelop.org/)
Microsoft Visual Studio (https://www.visualstudio.com/)
C++ - Einführung | 05.04.16
Seite 8
NetBeans ...
 1996 entwickelt von Studenten aus der Tschechischen
Republik.
 1999 Übernahme durch Sun Microsystems. 2010 Übernahme
durch Oracle.
 Die Programmiersprachen Java, C /C++, PHP und JavaScript
werden unterstützt.
 Download unter https://netbeans.org/.
C++ - Einführung | 05.04.16
Seite 9
Installation von NetBeans für C++





Installation des Compilers MinGW und der Tools msys.
Umgebungsvariablen für den Compiler setzen.
Installation von NetBeans.
Installation des Plugins für C/C++.
Siehe https://netbeans.org/community/releases/80/cpp-setupinstructions.html oder https://wiki.fbihome.de/Netbeans.
C++ - Einführung | 05.04.16
Seite 10
Start von NetBeans
 Klick auf das Icon auf dem Desktop.
 Start – Alle Programme – NetBeans – NetBeans IDE.
C++ - Einführung | 05.04.16
Seite 11
Startseite
C++ - Einführung | 05.04.16
Seite 12
Optionen für C++
 Tools / Options.
 Die Kategorie C/C++ wird angezeigt.
 Die Registerkarte Build Tools listet den Pfad zum Compiler,
Debugger etc. auf. Es werden alle Pfade zu Tools, die für die
Erstellung eines ausführbaren Programms benötigt werden,
eingestellt.
 Die Registerkarte Project Options zeigt Regeln zur Erstellung
von Objektcode mit Hilfe von make an.
 Registerkarte Code Assistence. Siehe
https://netbeans.org/kb/docs/cnd/HowTos.html
 Registerkarte Debugging Options.
 Registerkarte Other legt die Dateiendungen in Abhängigkeit
des Dateityps fest.
C++ - Einführung | 05.04.16
Seite 13
Build Tools
C++ - Einführung | 05.04.16
Seite 14
Code Assistance
C++ - Einführung | 05.04.16
Seite 15
C++ - Projekt anlegen
 File – New Project.
 Auswahl des Ordners C/C++ in der Liste Categories.
 In Abhängigkeit des gewählten Elements aus der Liste Projects
werden die weiteren Schritte angezeigt.
C++ - Einführung | 05.04.16
Seite 16
Hinweis
 Falls das C++-Projekt auf ein
Netzlaufwerk unter Windows
angelegt wird, werden
automatisch zwei Startpunkte
„main“ erzeugt.
 Die Kompilierung des
Programms bricht mit dem
Fehler „multiple definition of
`main'“ ab.
 Nach dem Löschen einer der
beiden Dateien „main“ kommt
die Meldung „... does not exist
or is not executable“.
C++ - Einführung | 05.04.16
Seite 17
Projects - C/C++ Application
 Siehe https://netbeans.org/kb/docs/cnd/quickstart.html
C++ - Einführung | 05.04.16
Seite 18
Zeile „Project Name“
 Projekte bündeln Dateien für ein lauffähiges C++-Programm.
 Der Name ist der Wurzelordner für alle, zu einem Projekt
gehörenden, Dateien im Ordner NetBeansProjects.
 Standardmäßig wird der Name CppApplication_ und eine
fortlaufende Nummer genutzt.
 Der Name sollte nur die Groß- und Kleinbuchstaben a…z,
die Zahlen 0...9 und den Unterstrich enthalten. Die Wörter im
Projektnamen beginnen mit einem Großbuchstaben.
C++ - Einführung | 05.04.16
Seite 19
Zeile „Project Location“
 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.
C++ - Einführung | 05.04.16
Seite 20
Zeile „Create Main File“
 Für ein C++-Programm wird der Einstiegspunkt in das Projekt
automatisiert erstellt.
 Mit Hilfe des „Main Files“ wird jedes C++-Programm gestartet.
C++ - Einführung | 05.04.16
Seite 21
Zeile „Tool Collection“
 Der Compiler für das C++-Programm wird ausgewählt.
 Der Compiler übersetzt den lesbaren Programmtext in
Maschinencode. Fehler in der Syntax führen zu einem
Abbruch.
C++ - Einführung | 05.04.16
Seite 22
Compiler für C++
 C++ Compiler des GNU-Projekts. Unterstützung für C++11 und
C++14. Aktuelle Version GCC 5.3. Download unter
http://gcc.gnu.org/.
 Minimalist GNU for Windows (MinGW). Download unter
http://www.mingw.org/.
C++ - Einführung | 05.04.16
Seite 23
Windows 7: Umgebungsvariablen
 Klick im Startmenü auf System. Oder: Suche im Windows
Explorer nach Systemsteuerung.
 Klick auf das Icon System und Sicherheit.
 System / Erweiterte Systemeinstellungen.
 Klick auf die Schaltfläche Umgebungsvariablen.
C++ - Einführung | 05.04.16
Seite 24
Windows 8: Umgebungsvariablen
 Suchen Sie in der Suche nach System (Systemsteuerung).
Oder: Suche im Windows Explorer nach System
(Systemsteuerung).
 Klick auf den Link Erweiterte Systemeinstellungen.
 Klick auf die Schaltfläche Umgebungsvariablen.
C++ - Einführung | 05.04.16
Seite 25
Umgebungsvariablen für den Compiler setzen
 Auswahl der Variablen PATH.
 Klick auf die Schaltfläche Bearbeiten. Die verschiedenen Pfade
werden durch ein Semikolon getrennt.
 Hinzufügung von „C:\MinGW\bin“. Der Ordner enthält den
Compiler.
 Hinzufügung „C:\MinGW\msys\1.0\bin“. Der Ordner enthält
Tools zum Erstellen von lauffähigen Programmen.
C++ - Einführung | 05.04.16
Seite 26
Geöffnetes Projekt
C++ - Einführung | 05.04.16
Seite 27
Aufbau der IDE
 In der Titelleiste wird der Name des Projekts angezeigt.
 Menüleiste.
 Symbolleiste für die wichtigsten Befehle. Mit Hilfe von View –
Toolbar können Symbolleisten ein- oder ausgeblendet werden.
 Code-Fenster und weitere Fenster mit Informationen zu dem
Projekt.
C++ - Einführung | 05.04.16
Seite 28
Fenster in der IDE
 Mit Hilfe von Drag & Drop kann ein
Fenstern unterhalb der Symbolleiste
positioniert werden.
 Mit Hilfe der Schaltfläche in der rechten
oberen Ecke wird ein Fenster
minimiert. Die Registerkarten werden
am linken Rand der IDE angezeigt.
 Registerkarten in Fenstern bündeln die
verschiedenen Informationen unter
verschiedenen Gesichtspunkten. Ein
Fenster besitzt mindestens eine
Registerkarte.
C++ - Einführung | 05.04.16
Seite 29
Registerkarten in einem Fenster
 Am oberen Rand der Registerkarte
wird der Name und die SchließenSchaltflä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.
C++ - Einführung | 05.04.16
Seite 30
„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.
C++ - Einführung | 05.04.16
Seite 31
Projekt-Explorer
 Die Registerkarte Projects zeigt die
Struktur der Projekte an. Im Ordner
Source Files befindet sich der
Programmcode. In diesem Ordner
werden die Quelldateien (*.cpp)
abgelegt.
 Die Registerkarte Files zeigt die
Ordnerstruktur des Projekts an. Im
Ordner build befinden sich die
Objektdateien (*.o).
C++ - Einführung | 05.04.16
Seite 32
Fenster „Classes“
 Die Registerkarte Classes zeigt die
verschiedenen Klassen in einem
Projekt an.
 Im Ordner Libraries werden die
Klassen aus den eingebundenen
Bibliotheken angezeigt.
C++ - Einführung | 05.04.16
Seite 33
Codefenster
 Die, im Projekt-Explorer ausgewählte Codedatei (.cpp) wird
angezeigt.
 Schlüsselwörter in C++ werden standardmäßig mit blauer
Schrift gekennzeichnet.
 Kommentare werden in grauer Schrift dargestellt.
 Benutzerdefinierte Bezeichner werden mit schwarzer Schrift
gekennzeichnet.
C++ - Einführung | 05.04.16
Seite 34
Projekt schließen
 File – Close Project (ProjectName).
C++ - Einführung | 05.04.16
Seite 35
Eigenschaften eines Projekts
 File – Project Properties
 Rechtsklick auf den Projektnamen. Properties im Kontextmenü.
C++ - Einführung | 05.04.16
Seite 36
Kategorie „General“
C++ - Einführung | 05.04.16
Seite 37
Hinweis
 Encoding. Einstellungen für das Codefenster.
 In welchen Zeichensatz wird der Code gespeichert?
 Um Fehler zu vermeiden, sollte dort UTF-8 eingestellt sein.
C++ - Einführung | 05.04.16
Seite 38
C++




Von der ISO genormte Programmiersprache.
Objektorientierte und generische Programmierung.
Komplexe, flexible Programmiersprache.
Hardware-nahe Programmierung.
C++ - Einführung | 05.04.16
Seite 39
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.
 1998 Veröffentlichung des ersten Standards als ISO/IEC
14882:1998 (C++98).
C++ - Einführung | 05.04.16
Seite 40
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++ - Einführung | 05.04.16
Seite 41
… in den Eigenschaften eines Projekts in NetBeans
C++ - Einführung | 05.04.16
Seite 42
… einstellen
 Rechter Mausklick auf den Namen des Projekts im ProjektExplorer.
 Klick auf das Menü Properties.
 Auswahl der Kategorie Build – C++ Compiler.
 Die Attribute in der Kategorie Basic Options werden auf der
rechten Seite des Dialogfensters angezeigt.
 Die Eigenschaft C++ Standard hat den Wert <default>.
Standardmäßig wird der Standard C++98 genutzt.
C++ - Einführung | 05.04.16
Seite 43
Einstellungen für die Version C++11
 Die Attribute in der Kategorie Basic Options werden auf der
rechten Seite des Dialogfensters angezeigt. Durch einen Klick
auf den Pfeil am rechten Rand der Eigenschaft C‑++ Standard
wird die Liste aller Möglichkeiten geöffnet. Aus der Liste wird
das Element C++11 ausgewählt.
 Die Attribute in der Kategorie Compilation Line werden auf der
rechten Seite des Dialogfensters angezeigt. Die Eigenschaft
Additional Options hat den Wert -std=c++11.
C++ - Einführung | 05.04.16
Seite 44
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.
C++ - Einführung | 05.04.16
Seite 45
Programmierkonzepte in C++




Prozedurale Programmierung.
Modulare Programmierung.
Objektorientierte Programmierung.
Generische Programmierung.
C++ - Einführung | 05.04.16
Seite 46
Prozedurale Programmierung
 Top-down Entwurf.
 Welche Aufgabe soll abgebildet werden?
 Wie kann die Aufgabe in kleine Teilaufgaben gegliedert
werden?
 Strukturierter Code, aber keine strukturierten Daten.
 Das Programmierkonzept wird von den Programmiersprachen
C und C++ unterstützt.
C++ - Einführung | 05.04.16
Seite 47
Modulare Programmierung
 Aufteilung von Quellcode in verschiedene Dateien. Quellcode
zu einem Thema wird in einer Datei zusammengefasst.
 Auslagerung von Funktionsdeklarationen, Strukturen in eine
Header-Datei. Die Deklaration und die Implementierung von
Funktionen werden getrennt.
 Module sind in sich abgeschlossen. Jedes Modul kann allein
getestet und ausgeführt werden.
 Das Programmierkonzept wird von den Programmiersprachen
C und C++ unterstützt.
C++ - Einführung | 05.04.16
Seite 48
Objektorientierte Programmierung
 Bottom-up Design.
 Welche Daten werden zur Beschreibung eines Objekt aus der
realen Welt benötigt?
 Welche Methoden werden zur Modifizierung eines Objektes
benötigt?
 Methoden und Daten zu einem bestimmten Objekttyp werden
gemeinsam in einer Klasse gekapselt. Die Klasse beschreibt
allgemein einen bestimmten Typ von Objekt (zum Beispiel ein
Würfel).
 Eltern können von Kindern erben. Ein Rechteck erbt
Eigenschaften von einem Würfel.
 Das Programmierkonzept wird von der Programmiersprache
C++ unterstützt.
C++ - Einführung | 05.04.16
Seite 49
Generische Programmierung




Nutzung von Schablonen zur Beschreibung eines Objekts.
Schreiben von Methoden unabhängig vom Typ des Objektes.
Nutzung von Templates.
Das Programmierkonzept wird von der Programmiersprache
C++ unterstützt.
C++ - Einführung | 05.04.16
Seite 50
C++-Programm
#include <iostream>
using namespace std;
Beispiele/_0101_HelloWorld...
int main ()
{
cout << "Hello World \n";
return 0;
}
C++ - Einführung | 05.04.16
Seite 51
Programm
 Ein in einem Texteditor eingegebener Text.
 Für den Menschen lesbarer Quellcode.
 Beschreibung von Aktionen mit Hilfe einer
Programmiersprache. Hier: Ausgabe des Textes „Hello
World“
 Nutzung der Syntax einer Programmiersprache. Hier: C++.
C++ - Einführung | 05.04.16
Seite 52
Kommentare ...
/*
* File: main.cpp
* Author: ...
*
* Created on 5. April 2016, 10:17
*/
 beginnen mit /* und enden mit */. Zwischen den Sternchen und
dem Schrägstrich steht kein Leerzeichen
 beschreiben am Anfang einer Datei den Zweck des Codes.
 geben Auskunft über deren Ersteller und dem
Erstellungszeitraum.
C++ - Einführung | 05.04.16
Seite 53
Aufbau eines C++-Programms
Präprozessor-Anweisung
using namespace std;
int main ()
{
Anweisung;
Anweisung;
return 0;
}
C++ - Einführung | 05.04.16
Seite 54
Präprozessor-Anweisungen ...
#include <iostream>




beginnen immer mit dem Hash (#).
enden automatisch mit dem Ende der Zeile
stehen immer am Anfang einer Quelldatei oder Header-Datei.
binden die verschiedenen Bibliotheken mit Hilfe des Befehls
#include ein.
C++ - Einführung | 05.04.16
Seite 55
Einbindung von Dateien
#include <iostream>
 Mit Hilfe des Befehls #include können sogenannte HeaderDateien eingebunden werden.
 Dateien werden immer am Anfang des Quellcodes
eingebunden.
 In diesem Beispiel wird die Bibliothek iostream eingebunden.
Der Bibliotheksname wird durch die spitzen Klammern
begrenzt. Die Bibliothek definiert Funktionen zur Ein- und
Ausgabe von Text.
C++ - Einführung | 05.04.16
Seite 56
C++ - Standardbibliothek
 „Werkzeugkasten“ auf Basis von Templates.
 Definition von Containern in Form von zum Beispiel Listen und
Vektoren.
 Funktionen zur Ein- und Ausgabe am Bildschirm.
 Mathematische Funktionen.
C++ - Einführung | 05.04.16
Seite 57
Namespace
using namespace std;
 Nutze den Namensraum „Standard“.
 Funktionen werden in „Paketen“ verpackt, um
Namenskonflikte zu vermeiden.
 Alle Standardkomponenten der Programmiersprache C++
liegen in dem Namensraum std. Mit Hilfe dieser Anweisung
sind alle Namen in dem angegeben „Paket“ nutzbar.
C++ - Einführung | 05.04.16
Seite 58
Funktion
int main()
{
return 0;
}
C++ - Einführung | 05.04.16
 Jede Funktion hat einen Kopf und einen
Rumpf.
 Der Funktionskopf beschreibt die
Funktion und legt die Startwerte fest.
 Der Funktionsrumpf wird durch die
geschweiften Klammern begrenzt. Die
Aufgabe der Funktion wird in einer
bestimmten Programmiersprache im
Rumpf definiert.
Seite 59
Funktionskopf
int
main()
()
Typ des Rückgabewertes
Name
Startparameter
 Deklaration der Funktion.
 Wie wird die Funktion gestartet?
C++ - Einführung | 05.04.16
Seite 60
Funktionskopf
int
main()
()
 Der Name der Funktion ist eindeutig. C++ beachtet die Großund Kleinschreibung bei benutzerdefinierten Bezeichnungen.
Der Name spiegelt die Aufgabe wieder.
 In den runden Klammern kann der Funktion ein oder mehrere
Startwerte übergeben werden. In diesem Beispiel sind die
runden Klammern leer. Der Funktion werden keine
Startparameter übergeben.
 Die Funktion gibt einen Wert an den Aufrufer zurück. In diesem
Beispiel wird eine Ganzzahl zurückgegeben.
C++ - Einführung | 05.04.16
Seite 61
Startpunkt für ein C++-Programm
int main()
{
return 0;
}
C++ - Einführung | 05.04.16
 Jedes C++-Programm hat einen
definierten Startpunkt: main().
 Mit dieser Funktion beginnt jedes
ausführbare Programm, welches in C++
geschrieben wurde.
 main ist der Name der Startprozedur.
Der Name muss klein geschrieben
werden.
 Beim Starten werden diesem Programm
keine Parameter übergeben.
 Dem Starter wird ein Wert
zurückgegeben.
Seite 62
Anweisungen in C++
{
cout << "Hello World \n";
return 0;
}
 Pro Zeile wird eine bestimmte Aktion mit Hilfe von
Schlüsselwörtern der Programmiersprache C++, Operatoren
und Variablen beschrieben.
 Anweisungen haben eine bestimmte Syntax.
 Anweisungen werden mit einem Semikolon beendet. Falls
nicht, wird ein Syntaxfehler angezeigt,
 Mit Hilfe der geschweiften Klammern werden Anweisungen zu
Blöcken zusammengefasst.
C++ - Einführung | 05.04.16
Seite 63
Schlüsselworte in C++
alignias
alignof
and
and_eq
asm
auto
bitand
bitor
bool
break
case
catch
char
C++ - Einführung | 05.04.16
char16_t
char32_t
class
compl
const
constexpr
const_cast
continue
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
Seite 64
Schlüsselworte in C++
int
long
mutalbe
namespace
new
noexcept
not
not_eq
nullptr
operator
or
or_eq
private
C++ - Einführung | 05.04.16
protected
public
register
reinterpret_cast
return
short
signed
sizeof
static
static_assert
static_cast
struct
switch
template
this
thread_local
throw
true
try
typedef
typeid
typename
union
using
virutal
void
voatile
wchar_t
while
xor
xor_eq
Seite 65
Ausgabe eines Textes
int main()
{
cout << "Hello World \n"
}
 cout ist ein Platzhalter für die Standardausgabe.
 Mit Hilfe des Umleitungsoperators << wird der angegebene
Text auf die Standardausgabe umgeleitet.
 Der Text wird durch die Anführungszeichen begrenzt. \n ist ein
Platzhalter für eine neue Zeile.
C++ - Einführung | 05.04.16
Seite 66
Weitere Hinweise
 Die Zeile #include <iostream> wird benötigt. Das Objekt cout ist
in der Bibliothek iostream definiert.
 Die Zeile using namespace std; muss am Anfang des Code
stehen. Andernfalls ist das Objekt cout im Programm nicht
sichtbar und kann nicht genutzt werden.
C++ - Einführung | 05.04.16
Seite 67
„Konsole“ in NetBeans
 Fenster Output meist am unteren rechten Rand der IDE.
 Falls eine Registerkarte die Bezeichnung (Run) besitzt, wurde
das Programm ausgeführt und die Ausgabe in der
Registerkarte angezeigt.
Java - Einführung | 06.05.15
Seite 68
Rückgabe eines Wertes
int main()
{
return 0;
}
 Der Befehl return gibt einen Wert an den Aufrufer der Prozedur
zurück. In diesem Beispiel gibt die Funktion main Null an den
Aufrufer zurückgegeben.
 Der Rückgabewert entspricht dem angegeben Typ für den
Rückgabewert im Funktionskopf. Die Funktion gibt einen Typ
int zurück. Die Zahl Null ist eine Ganzzahl (Integer).
C++ - Einführung | 05.04.16
Seite 69
Nutzung in der Funktion main()
 Der Rückgabewert ist immer eine Ganzzahl. Die Funktion gibt
ein Integer zurück.
 Mit Hilfe des Rückgabewertes 0 wird dem Aufrufer signalisiert,
„Das Programm ist ohne Fehler ausgeführt wurden“.
C++ - Einführung | 05.04.16
Seite 70
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.
C++ - Einführung | 05.04.16
Seite 71
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.
C++ - Einführung | 05.04.16
Seite 72
Style Guides
http://geosoft.no/development/cpppractice.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




C++ - Einführung | 05.04.16
Seite 73
Ausführbares Programm erstellen
Quelltext ([datei].cpp)
g++ -c helloWorld.cpp
Präprozessor
Compiler
Objektcode ([datei].o)
C++ - Einführung | 05.04.16
Seite 74
Präprozessor und Compiler
 Der Präprozessor ersetzt die mit einem Hash-Zeichen
gekennzeichneten Zeilen durch den entsprechenden Text.
 Der Compiler übersetzt den lesbaren Programmtext in
Maschinencode. Fehler in der Syntax führen zu einem
Abbruch.
C++ - Einführung | 05.04.16
Seite 75
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.
C++ - Einführung | 05.04.16
Seite 76
NetBeans: Quelldatei kompilieren
Quelltext ([datei].cpp)
Rechter Mausklick auf die Datei.
Compile File.
Präprozessor
Compiler
Objektcode ([datei].o)
C++ - Einführung | 05.04.16
Seite 77
NetBeans: Alle Quelldateien kompilieren
Quelltext ([datei].cpp)
Run – Build Project
Run – Clean and Build Project
Präprozessor
Compiler
Objektcode ([datei].o)
C++ - Einführung | 05.04.16
Seite 78
NetBeans: Ausführbares Programm erstellen
Objektcode ([datei].o)
Linker
Maschinencode ([datei].exe)
Run – Run Project
C++ - Einführung | 05.04.16
Seite 79
Konsole in NetBeans
 Ausgabe von Informationen an den Benutzer.
 Einlesen von Informationen durch das Programm.
 Window - Output oder <STRG>+<4> minimiert oder maximiert
die Konsole.
C++ - Einführung | 05.04.16
Seite 80
Starten des C++-Programms
 Mit Hilfe des grünen Pfeils am linken Rand wird das, in der
Titelleiste benannte Programm gestartet.
C++ - Einführung | 05.04.16
Seite 81
C++-Programm stoppen
 Mit Hilfe des roten Rechtecks am linken Rand wird das, in der
Titelleiste benannte laufende Programm angehalten.
 Das Programm wird nicht vollständig durchlaufen, sondern vom
Entwickler vorzeitig abgebrochen.
C++ - Einführung | 05.04.16
Seite 82
Herunterladen