8-ma'ruza. Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Meroshorlik. Polimorfizm. Virtual funksiyalar. Amallar va usullarni qayta ishlash va qayta aniqlash Reja


Virtual funksiyaning ierarxik xususiyati



Download 67,17 Kb.
bet6/7
Sana14.07.2022
Hajmi67,17 Kb.
#795298
1   2   3   4   5   6   7
Bog'liq
8-maruza

Virtual funksiyaning ierarxik xususiyati
Asos sinfda virtual funksiya yaratilgan va bu voris sinf uchun override qilinishi mumkin. Agar voris sinfda mazkur virtual funksiya override qilinmagan bo’lsa nima bo’ladi? Bunda voris sinf obyekti virtual funksiyaga murojaat qiladi, ya’ni asos sinf virtual funksiyasiga. Quyida misol keltirilgan:
class base {
public:
virtual void vfunc() {
cout << "This is base's vfunc().\n";
}
};
class derived1 : public base {
public:
void vfunc() {
cout << "This is derived1's vfunc().\n";
}
};
class derived2 : public base {
public:
// vfunc() override qilinmagan
};
int main()
{
base *p, b;
derived1 d1;
derived2 d2;
// base sinfga ko’rsatkich
p = &b;
p->vfunc(); // base sinf vfunc() virtual funksiyasi
// derived1 sinfga ko’rsatkich
p = &d1;
p->vfunc(); // derived1 sinf vfunc() virtual funksiyasi
// derived2 sinfga ko’rsatkich
p = &d2;
p->vfunc(); // derived2 sinf vfunc() virtual funksiyasi
return 0;
}

Dastur natijasi:





Abstrakt sinf tushunchasi
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;
.....
}
Abstrakt sinf
class Base
{
public:
virtual void display( int i)=0;
};
class Derv: public Base
{
public:
void display(int j)
{ cout<<"Derv::"<};
int main()
{
Base b; // xato, chunki Base sinf abstrakt
Base *ptr = new Derv;
ptr->display(10);
return 0;
}

Download 67,17 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish