p = &d1; p->vfunc(); // derived1 sinf vfunc() virtual funksiyasi // derived2 sinfga ko’rsatkich p = &d2; p->vfunc(); // derived2 sinf vfunc() virtual funksiyasi return 0; } Sinfning virtual atributlari vorisga o’tishi - Asos sinfdan voris olinganda ushbu sinfdagi virtual funksiya ham vorislik xususiyatiga ega bo’ladi.
- Bu shuni bildiradiki, asos sinf virtual funksiyasi voris sinf uchun mavjud bo’lgani bilan birga, ushbu voris sinfdan yana voris olingan holda ham ushbu virtuallik xususiyati saqlanib qoladi. Ya’ni ushbu funksiya ikkinchi voris sinf uchun ham override qilinadi.
- Bu xususiyat bir nechta vorislikda ham saqlanib qoladi.
- Asos sinfda virtual funksiya yaratilgan va bu voris sinf uchun override qilinishi mumkin.
- Agar voris sinfda mazkur virtual funksiya override qilinmagan bo’lsa , voris sinf obyekti virtual funksiyaga murojaat qiladi, ya’ni asos sinf virtual funksiyasiga.
- C++ tilida kamida bitta virtual funksiyaga ega bo’lgan sinf abstrakt sinf deyiladi.
- Abstrakt sinfning asosiy xususiyatidan biri shuki, ushbu turdagi sinfdan obyekt olib bo’lmaydi.
- Demak sinfni to’la abstractligini ta’minlash uchun quyidagi qonuniyatdan foydalanamiz:
class base{ public: virtual vfunc(args....) = 0; ..... } Xulosa Sinf – bu dasturchi tomonidan yaratilgan sun’iy tur hisoblanadi. Sinf orqali ob’yektlar hosil qilinadi. Ob’yektlar orqali esa sinf maydonlariga murojaat qilinadi. - Маълумотларни абстрактцияси деганда нима тушунилади?
- Класс нима ?
- Конструктор қандай ишни бажаради?
- Деконструктор вазифаси нима ?
- Sinf ichki berilganlariga murojaatni qanday cheklab qo‘yishi mumkin?
- friend funksiya ga ta’rif bering
- Inkapsulatsiya tushunchasini yoriting
- Merosho’rlik tushunchasiga ta’rif bering
- Polimorfizm tushunchasi nimani anglatadi
- Virtual funksiya ga ta’rif bering
Foydalanilgan adabiyotlar - Herbert Shield “C++ The complete references – fourth edition” 2003. Part -2, Chapter – 17.
- TutorialsPoint – simply easy learning programming: http://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm
- http://www.questionscompiled.com/answer/cpp/148/compile-time-polymorphism-and-run-time-polymorphism
Do'stlaringiz bilan baham: |