Virtual bazaviy sinflar


C++ da virtual funksiyadan foydalanish


Download 143.71 Kb.
bet5/5
Sana09.04.2023
Hajmi143.71 Kb.
#1347011
1   2   3   4   5
Bog'liq
mustaqil Ish

C++ da virtual funksiyadan foydalanish


Endi siz C++ da virtual funktsiyaning asoslarini bilganingizdan so'ng, uni ishlatish misoliga o'tish vaqti keldi. Quyidagi misolda siz asosiy sinf va olingan sinf yaratasiz. Ikkala sinfda siz ikkita funktsiyani yaratasiz: Chiqish va Displey. Virtual funktsiya va oddiy funktsiya o'rtasidagi farqni ko'rish uchun siz faqat asosiy sinfning Chiqish funksiyasini virtual deb e'lon qilasiz va displey funksiyasini avvalgidek saqlaysiz.
#include
using namespace std;
class Base{
public:
virtual void Output(){
cout << "Output Base class" << endl;
}
void Display(){
cout << "Display Base class" << endl;
}
};
class Derived : public Base{
public:
void Output(){
cout << "Output Derived class" << endl;
}
void Display()
{
cout << "Display Derived class" << endl;
}
};
int main(){
Base* bpointr;
Derived dpointr;
bpointr = &dpointr;
// virtual funktsiyani bog'lash
bpointr->Output();
// Virtual bo'lmagan funktsiyani bog'lash
bpointr->Display();
}
NATIJA :



Chiqarishda ko'rib turganingizdek, chiqish funktsiyasi "Output Derived class" natijasini berdi va Derived funktsiyasi "Display Base Class" natijasini berdi. Buning sababi, asosiy sinf ko'rsatkichi olingan sinfning virtual chiqish funktsiyasiga va asosiy sinfning virtual bo'lmagan ko'rsatish funktsiyasiga ishora qiladi.


C++ da sof virtual funksiya nima?


C++ tilidagi sof virtual funksiya, shuningdek, hech narsa qilmaslik funksiyasi sifatida ham tanilgan, hech qanday vazifani bajarmaydigan virtual funksiyadir. U faqat to'ldiruvchi sifatida ishlatiladi va hech qanday funksiya ta'rifini o'z ichiga olmaydi (hech narsa qilmaslik funktsiyasi). U mavhum asosiy sinfda e'lon qilingan. Ushbu turdagi sinflar o'ziga xos ob'ektlarni e'lon qila olmaydi. Siz quyidagi sintaksis yordamida C++ da sof virtual funktsiyani olasiz:
#include
using namespace std;
class Base{
public:
virtual void Output() = 0;
};
class Derived : public Base{
public:
void Output()
{
std::cout << "Class derived from the Base class." << std::endl;
}
};
int main(){
Base *bpointr;
Derived dpointr;
bpointr = &dpointr;
bpointr->Output();
return 0;
}



Xulosa
Ushbu Mustaqil ishda siz oddiy misollar bilan birga C++ tilidagi virtual funksiyalarni o'rgandingiz. Siz C++ da sof virtual funksiya nima ekanligini ham ko'rdingiz. Endi siz o'zingizning virtual funktsiyalaringizni yaratishingiz va ularni asosiy sinf funktsiyalarining olingan versiyalarini bajarish uchun ishlatishingiz va u orqali ish vaqti polimorfizmiga erishishingiz mumkin.
Virtual funktsiyalar yordamida siz har doim asosiy sinfga ishora qiluvchi ko'rsatgich muammosini ham engishingiz mumkin. Agar siz C++ tilining bunday asosiy tushunchalari haqida koʻproq maʼlumotga ega boʻlishni istasangiz, bizning yangi boshlanuvchilar uchun C++ qoʻllanmasiga murojaat qilishingiz mumkin. O'quv qo'llanmalar C++ dasturlashning turli mavzulari va tushunchalarini tushunishga va C++ dasturini rivojlantirishda ustunlikka erishishga yordam berish uchun mo'ljallangan.

Download 143.71 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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