Aufbau eines C++ Programms

Die main() Funktion

Jedes C++-Programm muss eine Funktion mit dem Namen main() enthalten, die den Programmstart definiert.

int main()   <-- hier beginnt jedes C++ Programm!
{
   ... hier stehen nachher die Anweisungen
}

Nach dem Funktionskopf int main() folgt ein Paar geschweifter Klammern und innerhalb des Klammerpaares stehen die auszuführenden Anweisungen.

C++ unterscheidet zwischen Klein- und Großschreibung! Main() ist nicht identisch mit main().
Es gibt eine zweite Form der main()-Funktion, die es erlaubt, dem Programm beim Start zusätzliche Angaben mitzugeben. Mehr dazu im Anhang A: 2. Form der main() Funktion.

Syntax einer Anweisung

Eine C++-Anweisung besteht (in der Regel) aus einem Ausdruck, der mit einem Semikolon abgeschlossen wird. Zeilenumbrüche bei der Eingabe des Programms sind für den Compiler nicht relevant.

#include <iostream>

int main()
{
	/* Zwei Anweisungen in einer Zeile */
	int ivar1 = 10; float fvar = 3.1416;
	/* Eine Anweisung ueber mehrere Zeilen */
	std::cout << "Die Werte sind " << ivar1
	           << " und " << fvar << '\n';
}

Die Werte sind 10 und 3.1416

Wird am Ende einer Anweisung das Semikolon aus Versehen vergessen, meldet der Compiler unter Umständen eine ganze Reihe von Fehler, da er das Ende der Anweisung nicht erkennt.

Quellcode-Formatierung

Der C++-Compiler lässt eine formatfreie Eingabe des Quellcodes zu. So lässt sich das nachfolgende Programm sich zwar übersetzen, ist aber unübersichtlich.

#include <iostream>
using namespace std;
short var1; void MyFunc();
int main() {
int var2 = 10, var1=0;
if (var2==10) { var1=1; }
cout << "var = " << var1 << endl;
} 

var = 1

Damit ein Programm lesbar ist, sollten folgende Regeln eingehalten werden:

#include <iostream>
using namespace std;

short var1;
void MyFunc();

int main()
{
    int var2 = 10;
    int var1 = 0;

    if (var2 == 10)
    {
       var1 = 1;
    }
    cout << "var = " << var1 << endl;
}

var = 1

Kommentare

Kommentare sind Passagen innerhalb eines Programms, die vom Compiler ignoriert werden. Sie dürfen an beliebiger Stelle stehen und (fast) beliebige Zeichen enthalten.

Mehrzeilen-Kommentar

Der Mehrzeilen-Kommentar wird eingeleitet durch die Zeichenfolge /* und durch die Zeichenfolge */ beendet. Zwischen den Zeichen darf kein Leerzeichen stehen.

/*
 Headerdateien einbinden
*/
#include <iostream>

/* Hier beginnt das Programm */
int main()
{

    int var = 10;
    std::cout << "var hat den Wert: " << var << std::endl;

    /* Begruessung ausgeben */
    std::cout << "Hallo, herzlich willkommen!\n";
}

var hat den Wert: 10
Hallo, herzlich willkommen!

Mithilfe dieses Kommentars ist es möglich, schnell mehrere Anweisungen, z.B. für Testzwecke, außer Kraft zu setzen.

/*
 Headerdateien einbinden
*/
#include <iostream>

/* Hier beginnt das Programm */
int main()
{
    /*
    int var = 10;
    std::cout << "var hat den Wert: " << var << std::endl;
    */
    /* Begruessung ausgeben */
    std::cout << "Hallo, herzlich willkommen!\n";
}

Hallo, herzlich willkommen!

Der Mehrzeilen-Kommentar darf laut C++-Standard keinen weiteren Mehrzeilen-Kommentar enthalten. Einige Compiler besitzen jedoch eine Option, um geschachtelte Mehrzeilen-Kommentare zuzulassen.

Einzeilen-Kommentar

Beim Einzeilen-Kommentar wird alles was nach der Zeichenfolge // bis zum Zeilenende folgt vom Compiler als Kommentar betrachtet. Und auch hier dürfen zwischen den Zeichen // keine Leerzeichen stehen. Die beiden Kommentartypen /*...*/ und // dürfen gemischt im Programm verwendet werden.

// Headerdateien einbinden
#include <iostream>

// Hier beginnt das Programm
int main()
{
   // int var = 10;
   int var = 20; // Datum initialisieren
   std::cout << "var hat den Wert: " << var << std::endl;
}

var hat den Wert: 20