همانطور
که در مبحث قوانين حوزه ديديد تعريف متغيرهای محلی و عمومی با يک نام در برنامه
امکان پذير می باشد . زبان ++C
عملگر يگانی تفکيک دامنه (::) را برای امکان دستيابی
به متغير عمومی همنام با متغير محلی ، در اختيار ما قرار داده است . توجه داشته
باشيد که اين عملگر تنها قادر به دستيابی به متغير عمومی در حوزه فايل می باشد
. ضمناً متغير عمومی بدون نياز به اين عملگر نيز قابل دستيابی می باشد ؛ به شرط
آنکه متغيرمحلی همنام با متغير عمومی ، در برنامه به کار برده نشود . استفاده
از عملگر (::) همراه نام متغير عمومی ، در صورتی که نام متغير عمومی
برای متغير ديگری به کار برده نشده باشد ، اختياری است . اما توصيه می شود که
برای اينکه بدانيد از متغير عمومی استفاده می کنيد از اين عملگر همواره در کنار
نام متغير عمومی استفاده کنيد . برنامه زير نحوه کاربرد عملگر (::) را
نشان می دهد .
#include <iostream.h>
float pi=3.14159;
void main( )
{
int pi=::pi;
cout << "Local pi is : " << pi << endl;
cout << "Global pi is : " << ::pi << endl;
}
خروجی برنامه به صورت زير می باشد :
Local pi is : 3
Global pi is : 3.14159
در برنامه فوق متغير عمومی
pi
از نوع
float
تعريف شده است و در تابع متغير محلی
pi
از نوع
int
با مقدار اوليه
pi
عمومی مقدار دهی می شود . توجه داشته باشيد که برای دستيابی
به مقدار
pi
عمومی از عملگر يگانی تفکيک حوزه (::) استفاده شد .
پس از مقدار دهی به
pi
محلی ، توسط دستور
cout
، متغير
pi
محلی که حاوی عدد 3 است چاپ می گردد و در خط بعدی
متغير
pi
عمومی که حاوی 3.14159 می باشد چاپ خواهد شد .
|