Vorislik va sinfning himoyalangan (protected) a’zolari\
Protected kalit so’zi vorislik mexanizmini tashkil qilish uchun ishlatiladi va qulaylik vujudga keltiradi.
Asos sinfning private a’zolariga dasturning boshqa bir qismi (misol uchun boshqa sinf yoki main() funksiyasi) yoki voris sinf tomonidan to’g’ridan to’g’ri murojaat mavjud emas
Lekin asos sinfning protected a’zolari, boshqa sinf yoki main() funksiya uchun yopiq bo’ganiga qaramasdan, voris sinf tomonidan murojaat mavjuddir.
Asos sinfning protected a’zolari
class base {
protected:
int i, j; // asos sinf uchun private, lekin voris sinf uchun ochiq
public:
void set(int a, int b) { i=a; j=b; }
void show() { cout << i << " " << j << "\n"; }
};
class derived : public base {
int k;
public:
void setk() { k=i*j; } // i va j voris sinf uchun ochiq
void showk() { cout << k << "\n"; }
};
int main()
{
derived ob;
ob.set(2, 3); // OK, voris sinf uchun ochiq, chunki public
ob.show(); // OK, voris sinf uchun ochiq, chunki public
ob.setk(); ob.showk(); // voris sinf metodi, murojaat turi public, demak ochiq
return 0;
}
Do'stlaringiz bilan baham: |