با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش ++C در خدمت شما دوستان هستیم . در بخش قبلی با وراثت چندگانه در ++C آشنا شدید، در این جلسه قصد داریم به مبحث کنترل دسترسی در وراثت در زبان ++C و دسترسی public در وراثت بپردازیم.
شما می توانید یک کلاس مشتق شده از کلاس پایه را با کنرل دسترسی های مختلفی تعریف کنید.
مانند public, private یا protected
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> using namespace std; class base { .... ... .... }; class derived : access_specifier base { .... ... .... }; |
هر سه کلمه کلیدی ذکر شده در مکان access_specifier در بالا قرار می گیرند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | class base { public: int x; protected: int y; private: int z; }; class publicDerived: public base { // x is public // y is protected // z is not accessible from publicDerived }; class protectedDerived: protected base { // x is protected // y is protected // z is not accessible from protectedDerived }; class privateDerived: private base { // x is private // y is private // z is not accessible from privateDerived } |
نوع دسترسی protected اجاره دسترسی به اعضا را فقط درون حود کلاس و کلاس های ارث بری شده می دهد.
متغیر های public | متغیر های protected | متغیر های private | دسترسی |
بله | بله | بله | خود کلاس |
بله | بله | خیر | کلاس های مشتق شده |
بله | بله | خیر | دومین کلاس مشتق شده (ارث بری چندگانه) |
متغیر های public | متغیر های protected | متغیر های private | دسترسی |
بله | بله | بله | خود کلاس |
بله (به عنوان protected) | بله | خیر | کلاس های مشتق شده |
بله | بله | خیر | دومین کلاس مشتق شده (ارث بری چندگانه) |
متغیر های public | متغیر های protected | متغیر های private | دسترسی |
بله | بله | بله | خود کلاس |
بله (به عنوان private) | بله (به عنوان private) | خیر | کلاس های مشتق شده |
خیر | خیر | خیر | دومین کلاس مشتق شده (ارث بری چندگانه) |
جلسه کنترل دسترسی در وراثت نیز به پایان رسید.
در جلسه بعد به آموزش بازنویسی توابع در وراثت خواهیم پرداخت. با ما همراه باشید