Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: C++ (auch C++0x und C++11) ::  Verständnissfrage     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
DomG.
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.08.2012
Beiträge: 2
Beitrag DomG. Mitglied 14:32:29 01.08.2012   Titel:   Verständnissfrage            Zitieren

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 :rolleyes:
LordTerra
Mitglied

Benutzerprofil
Anmeldungsdatum: 22.08.2007
Beiträge: 272
Beitrag LordTerra Mitglied 15:24:47 01.08.2012   Titel:              Zitieren

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
_matze
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.07.2007
Beiträge: 10650
Beitrag _matze Mitglied 16:12:53 01.08.2012   Titel:              Zitieren

Und ergänzend:

Variablen können den gleichen Namen haben, solange sie sich nicht im gleichen Scope (Gültigkeitsbereich) befinden:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
}

_________________
Wie viele atheistische Babys hat man schon aus Versehen - oder gar mit Absicht! - getauft?
C++ Forumbot
Forumbot

Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 17163
Beitrag C++ Forumbot Forumbot 08:23:05 02.08.2012   Titel:              Zitieren

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.

_________________
Besuchen Sie unsere Bücherecke.
http://www.c-plusplus.de/bucher.php
Mit jeder Bestellung unterstützen Sie das Forum.
DomG.
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.08.2012
Beiträge: 2
Beitrag DomG. Mitglied 12:01:09 03.08.2012   Titel:              Zitieren

Danke für eure Antworten, jetzt hab ich es verstanden :)
c++.de :: C++ (auch C++0x und C++11) ::  Verständnissfrage   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.