Stronę tą wyświetlono już: 2806 razy
Zmienne można podzielić pod względem dostępu do nich na globalne i lokalne. Globalne zmienne nie znajdują się ani w ciele żadnej funkcji, ani też metody klasy czy też w bloku instrukcji warunkowych i pętli, przez co tego typu zmienne są widoczne dla całego obszaru kodu programu, który znajduje się po deklaracji danej zmiennej. Zmienne lokalne mogą mieć taką samą nazwę co zmienne globalne i w takim przypadku mówi się, że zmienna lokalna przysłoniła zmienną globalną. Zmiennymi lokalnymi są również argumenty funkcji. Prosty przykład:
#include <iostream>
using namespace std;
void Function1(){
// cout<<x; // odkomentowanie tej linii spowoduje błąd podczas kompilacji, gdyż zmienna globalna x została zadeklarowana dopiero po deklaracji tej funkcji
}
int x = 100;
void Function2(){
cout<<x<<endl<<endl; // tutaj funkcja odwołuje się do zmiennej globalnej
}
void Function3(int x){
cout<<x<<endl<<endl; // tutaj zmienna globalna została przysłonięta przez zmienną z listy funkcji
}
void Function4(){
int x = 200; // ta deklaracja zmiennej lokalnej przysłania zmienną globalną
cout<<x<<endl<<endl; // wyświetli 200 a nie 100, bo odwołuje się do zmiennej lokalnej a nie globalnej x
}
int main(){
cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej globalnej x: ";
Function2();
cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej x, podanej jako argument funkcji: ";
Function3(10);
cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej lokalnej x: ";
Function4();
cout<<"Wcisnij dowolny przycisk, aby zamknac program...";
cin.get();
return 0;
}