Verständnissfrage
-
Hi,
ich bin ein ziemlicher Neueinsteiger in C++ und versuche es über die Sommerferiern anzueignen (einen groben Überblick zu bekommen).
Lernen tue ich mit dem Buch "C++ für Spieleprogrammierer" von heiko KALISTA.In dem Buch gibt es viele Beispiele die anschließend erklärt werden es gibt aber eine Sache, die ich nicht verstanden habe:
der Beispielcode
...
bool testeBereich (int Position, int Min, int Max);int main ()
{int Minimum = 0;
int Maximum = 800;
int xPosition;cout << "Spielerposition auf der x-Achse: ";
cin >> xPosition;if (testeBereich (xPosition, Minimum, Maximum) == true)
cout << ..............................
else
cout << ..........................return 0;
}bool testeBereich (int Position, int Min, int Max)
{
if ((Position >= Min) && (Position < Max))
return true;
else
return false;
}Ich verstehe einfach nicht wiso in der main-Funktion xPosition, Minimum und Maximum steht statt Position, Min und Max

-
int Position, int Min, int Max <- sind deklarationen der funktion: testeBereich
wie ich diese funktion ausrufe ist egal (also welche variablen ich übergebe, solange es die richtige anzahl und der richtige typ ist .
heist ich könnte in den aufruf im main auch schreiben:
testeBereich(1,2,3);
oder aber:
int a=1;
int b=2;
int c=3;testeBereich(a,b,c);
solange die anzahl der argumente (3 x int) und der richtige typ angegeben ist
ist es egal wie die variable heisst die ich übergebe.a , b , c wird beim aufruf an die variablen: int Position, int Min, int Max übergeben.
so als ob ich schreiben würde:
int Position = a;
int Min = b;
int Max = c;mfg LT
-
Und ergänzend:
Variablen können den gleichen Namen haben, solange sie sich nicht im gleichen Scope (Gültigkeitsbereich) befinden:
void Foo(int min) { min=5; //hier ist min eine funktionslokale Variable, die nur zufällig den gleichen Namen trägt. //Ihr wird der Wert 5 zugewiesen, aber unten in deiner main-Funktion ändert sich nichts an der Variable min } int main() { int min=0; //diese Variable min ist etwas völlig anderes als die da oben in Foo()! Foo(min); { //hier wird ein neuer Scope aufgemacht int min=4; //diese dritte Variable namens min hat ebenfalls nichts mit den anderen beiden zu tun } std::cout << min; //hier wird 0 ausgegeben, nicht 4 oder 5 }
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (auch C++0x und C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke für eure Antworten, jetzt hab ich es verstanden
