سطح دسترسی

سطح دسترسی مشخص می کند که متدها یا فیلدهای یک کلاس در چه جای برنامه قابل دسترسی هستند. در این درس می خواهیم به سطح دسترسی private و public نگاهی بیندازیم. سطح دسترسی public زمانی مورد استفاده قرار می گیرد که شما بخواهید به یک متد یا فیلد در خارج از کلاس دسترسی یابید. به عنوان مثال به کد زیر توجه کنید :

   1: #include <iostream>
   2: #include <string>
   3: using namespace std;
   4: 
   5: class Test
   6: {
   7:     public:
   8:         int number1;
   9: };
  10: 
  11: int main()
  12: {
  13:     Test T1;
  14: 
  15:     T1.number = 10;
  16: }

در خط 7 کد بالا سطح دسترسی فیلدها را برابر public قرار داده ایم. در نتیجه می توانیم در خارج از کلاس بعد از ایجاد نمونه از کلاس به فیلد دسترسی داشته باشیم و آن را مقداردهی کنیم (خط 17). سطح دسترسی پیشفرض اعضا و متدهای یک کلاس در ++C به صورت private می باشد. در نتیجه اگر سطح دسترسی برای اعضای کلاس تعریف نکنیم نمی توانیم در خارج از کلاس به آنها دسترسی داشته باشیم :

   1: #include <iostream>
   2: #include <string>
   3: using namespace std;
   4: 
   5: class Test
   6: {
   7:     int number1;
   8: };
   9: 
  10: int main()
  11: {
  12:     Test T1;
  13: 
  14:     T1.number = 10;   //Error
  15: }

اعضای داده ای private فقط در داخل کلاس Test قابل دسترسی هستند. سطح دسترسی دیگری هم در ++C وجود دارد که بعد از مبحث وراثت در درسهای آینده در مورد آنها توضیح خواهیم داد.