hi,
keine sorge, ich denke der überwiegende teil der leute hier sind sehr hilfsbereit. Meine persönliche Meinung wäre anstelle von C++ eher C# zu lernen (da einfacher), aber wie jeder mag.
Zitat:
Kann man eigentlich so genannte Funktionen auch am Ende des Quelltextes deklarieren
|
In C++ ist das etwas blöd (was daran liegt, dass zu diesem Zeitpunkt die Compiler einfach noch nicht so fortschrittlich waren) - C# ist hier viel einfacher.
Bevor du eine Funktion aufrufen kannst, muss sie dem Compiler bekannt sein.
Reihenfolge: von oben nach unten.
Beispiel: In der Funktion fu2() möchtest du die Funktion fu1() aufrufen.
Hier gibt es nun 2 möglichkeiten:
1. schlechte/eingeschränkte Möglichkeit
fu1() MUSS vor fu2() definiert werden.
Das ist natürlich blöd und bei mehrere Funktionen, die sich gegenseitig aufrufen garnicht möglich.
2. korrekte/bessere Methode
Deshalb gibt es Headerdateien - also .h Files.
Eine Klasse besteht überlicherweise aus einer .cpp Datei und der zugehörigen .h Datei.
In der .h Datei werden alle Funktionen, die es später in der .cpp Datei geben wird deklariert. Quasi als Anweisung an den Compiler: schau, das sind meine Funktionen.
In der .h Datei stehen nur die Namen der Funktioen mit den Parametern, kein Programmcode.
int fu1(int par1);
int fu2(int par2);
In der zugehörigen .cpp Datei wird diese .h Datei inkludiert.
#include "meineklasse.h"
...ganz am Anfang der .cpp Datei.
Dadurch kenn der Compiler alle Funktionen, die es geben kann/wird.
Aufrufreihenfolge und Reihenfolge, in welcher man die Funktionen mit Code schreibt ist dann (und nur dann!) egal.
int fu1(int par1)
{
// tu was
fu2();
return ...
}
fg + schönes neues Jahr an alle hier im Forum!
hannes