Was genau meinst du mit "genau bei meiner Funktion"?
Also die Funktion in diesem Beispiel hat keinen Nutzen. Die Variable Punkte ist in der Main-Funktion definiert und gilt auch nur innerhalb dieser Funktion. Jetzt wird sie als Parameter der Funktion
erhoehePunkte() übergeben, dabei wird eine neue Variable Punkte, nur gültig innerhalb dieser Funktion
erhoehePunkte(), mit dem übergebenen Wert angelegt und diese wird dann um 100 Punkte erhöht. Das beeinflusst allerdings nicht die Variable Punkte in der Main-Funktion, die ausgegeben wird. Wenn du das möchtest, dann kannst du die Variable aus der Funktion
erhoehePunkte() mit Hilfe eines Rückgabewertes an die Main-Funktion zurückgeben und dort so die Variable ändern.
Es geht also darum zu erkennen, in welchen Bereichen eine Variable gültig ist und das zwei Variablen nicht umbedingt identisch sein müssen nur weil sie den gleichen Namen haben. Wenn sie sich nämlich in unterschiedlichen Bereichen (oder auch
Scopes) befinden, dann sie sind auch getrennt von einander zu betrachten.
So würde das Beispiel "funktionieren" - aber zum Thema Rückgabewerte schaust du dir einfach das Buch weiter an:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
using namespace std;
int erhoehePunkte (int Punkte);
int main(){
int Punkte = 1000;
cout << "Punkte vor Funktionsaufruf : " << Punkte << endl;
Punkte = erhoehePunkte (Punkte);
cout << "Punkte nach Funktionsaufruf : " << Punkte << endl;
int i;
cin >> i;
return 0;
}
int erhoehePunkte (int Punkte){
Punkte+=100;
return Punkte;
}
|
Gruß
SaRu_