Dasturlash 1 swd 1316 sinf xususiyati va vorislik 12


Download 4.84 Mb.
bet2/3
Sana11.09.2023
Hajmi4.84 Mb.
#1676009
1   2   3
Bog'liq
1) 12-mavzu(Vorislik)

Voris olish turlari

  • Public vorislik: 
  • Protected vorislik: 
    • Bunda asos sinfning public va protected a’zolari voris sinf uchun protected a’zo bo’lib o’tadi.
  • Private vorislik: 
    • Bunda asos sinfning public va protected a’zolari voris sinfning private a’zosiga ayanadi.

Misol. Obyekt orqali jo’natilgan qiymatni qaytarish dasturi

  • class base {
  • int i, j;
  • public:
  • void set(int a, int b) { i=a; j=b; }
  • void show() { cout << i << " " << j << "\n"; }
  • };
  • class derived : public base {
  • int k;
  • public:
  • derived(int x) { k=x; }
  • void showk() { cout << k << "\n"; }
  • };

Davomi…

  • int main()
  • {
  • derived ob(3);
  • ob.set(1, 2); // asos sinf a’zosiga ruxsat ochiq
  • ob.show(); // asos sinf a’zosiga ruxsat ochiq
  • ob.showk(); // voris sinf a’zosidan foydalanish
  • }

Misol tahlili

  • Ushbu misolda asos sinfdan public murojaat turi orqali voris olindi.
  • class derived : public base {….}
  • Bunda asos sinfning barcha public a’zolari voris sinfning ham public a’zolari bo’ladi.
  • Asos sinfning barcha himoyalangan (protected) a’zolari voris sinfning protected a’zolari bo’ladi. Lekin, asos sinfning private a’zolari voris sinf uchun ham, boshqa sinflar uchun ham not accessible bo’ladi ya’ni asos sinfning private a’zolariga to’g’ridan to’g’ri murojaat yo’q.
  • Agar voris sinf asos sinfdan private asosida yaratilsa nima bo’ladi? Voris sinf a’zolari qanday xususiyatga ega bo’ladi?
  • Agar voris sinf private xususiyati orqali yaratilsa, bunda asos sinfning barcha public va protected a’zolari voris sinfning private a’zolari qatoriga o’tadi.

Download 4.84 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling