- Vorislik -sinflarda ierarxik ko’rinishdagi sinflanishni ta’minlaydi
- C++ terminologiyasida:
- Asos sinf (ya’ni voris olinadigan sinf ) base class (asos sinf) deb ataladi.
- Voris sinf (ya’ni voris olish orqali yaratiladigan yangi sinf) derived class (voris sinf) deb ataladi.
- Voris sinf boshqa bironta sinf uchun asos sinf bo’lishi mumkin.
- Demak, bu orqali ko’p sathli vorislik (multiple inheritance) vujudga keladi.
Vorislikdan foydalanish - Biron bir sinfdan voris olingandan keyin, ushbu asos sinf a’zolari voris sinfning ham a’zolari bo’lib hisoblanadi.
- C++ dasturlash tilida voris olish umumiy formasi quyidagicha:
class voris-sinf-nomi : access asos-sinf-nomi {
// voris sinf tanasi
};
Misol. 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"; } }; 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 private xususiyati orqali yaratilsa, bunda asos sinfning barcha public va protected a’zolari voris sinfning private a’zolari qatoriga o’tadi.
Do'stlaringiz bilan baham: |