آموزش مقدماتی C++ | سطوح دسترسی
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
تا کنون با سطح دسترسی public آشنا شدید که در همه مثال های کلاس استفاده شده بود:
class MyClass {
public: // سطح دسترسی
// اعضای کلاس در این قسمت قرار می گیرند
};
کلمه public یک سطح دسترسی را مشخص می کند. این کلمه می گوید که متد ها و ویژگی های یک کلاس در چه جاهایی در دسترس هستند. در مثال بالا، اعضای کلاس public هستند، به این معنا که در هر جایی خارج از کلاس می توانند در دسترس قرار بگیرند و ویرایش شوند.
درC++ سه نوع سطح دسترسی وجود دارد :
- سطح دسترسی public : اعضا در خارج از کلاس در دسترس هستند
- سطح دسترسی private: اعضا در خارج از کلاس در دسترس نیستند
- سطح دسترسی protected: اعضا در خارج از کلاس در دسترسی نیستند، اما در کلاس های وارث در دسترس هستند (در مورد کلاس های فرزند در بخش وراثت توضیح داده می شود)
در مثال زیر تفاوت میان اعضای public و private نمایش داده شده است:
اگر تلاش کنیم که به یک ویژگی private دسترسی داشته باشیم، با خطای زیر رو برو خواهیم شد.
error: y is private
class MyClass {
public: // Public سطح دسترسی
int x; // Public ویژگی
private: // Private سطح دسترسی
int y; // Private ویژگی
};
int main() {
MyClass myObj;
myObj.x = 25; // مجاز (public)
myObj.y = 50; // غیر مجاز (private)
return 0;
}
نکته: می توان به اعضای private از یک کلاس با استفاده از یک متد public از همان کلاس دسترسی داشت. به این کار “کپسوله سازی” می گویند.
نکته: بهتر است که همیشه ویژگی های یک کلاس تا جای ممکن به صورت private تعریف شوند. با این کار احتمال خراب شدن کد توسط خودتان یا دیگران پایین می آید. همچنین مفهوم اصلی “کپسوله سازی” بر همین اساس است، که در بخش بعد یاد خواهید گرفت.
نکته: به صورت پیش فرض اگر هیچ سطح دسترسی مشخص نشود، همه ی اعضا private هستند.
class MyClass {
int x; // Private ویژگی
int y; // Private ویژگی
};
برای ثبت پرسش ابتدا در سایت وارد شوید.