محدوده متغیر

متغیرها در ++C دارای محدوده هستند. محدوده یک متغیر به شما می گوید که در کجای برنامه می توان از متغیر استفاده کرد و یا متغیر قابل دسترسی است. به عنوان مثال متغیری که در داخل یک متد تعریف می شود فقط در داخل بدنه متد قابل دسترسی است. می توان دو متغیر با نام یکسان در دو متد مختلف تعریف کرد. برنامه زیر این ادعا را اثبات می کند :

   1: #include <iostream>
   2: using namespace std;
   3: 
   4: void DemonstrateScope()
   5: {
   6:     int number = 5;
   7: 
   8:     cout << "number inside method DemonstrateScope() =  " << number << endl;
   9: }
  10: 
  11: int main()
  12: {
  13:     int number = 10;
  14: 
  15:     DemonstrateScope();
  16: 
  17:     cout << "number inside the Main method = " << number << endl;
  18: }
number inside method DemonstrateScope() = 5
number inside the Main method = 10

مشاهده می کنید که حتی اگر ما دو متغیر با نام یکسان تعریف کنیم که دارای محدوده های متفاوتی هستند، می توان به هر کدام از آنها مقادیر مختلفی اختصاص داد. متغیر تعریف شده در داخل متد ()main هیچ ارتباطی به متغیر داخل متد ()DemonstrateScope ندارد. وقتی به مبحث کلاسها رسیدیم در این باره بیشتر توضیح خواهیم داد.