Virtual funksiya ilə funksiyanın üstünlüyü arasında fərq nədir?
Virtual funksiya ilə funksiyanın üstünlüyü arasında fərq nədir?

Video: Virtual funksiya ilə funksiyanın üstünlüyü arasında fərq nədir?

Video: Virtual funksiya ilə funksiyanın üstünlüyü arasında fərq nədir?
Video: Törəmə Dərs 1/3 Cəmin,Fərqin,Hasilin,Nisbətin və Mürəkkəb Funksiyanın Törəməsi Riyaziyyat RF 2024, Bilər
Anonim

Virtual funksiyalar statik ola bilməz və həm də dost ola bilməz funksiyası başqa sinifdən. Onlar həmişə əsas sinifdə müəyyən edilir və ləğv edildi törəmə sinifdə. Əldə edilmiş sinif üçün məcburi deyil üstələmək (və ya yenidən müəyyən edin virtual funksiya ), bu halda baza sinif versiyası funksiyası istifadə olunur.

Bundan əlavə, virtual funksiya ilə təmiz virtual funksiya arasındakı fərq nədir?

Əsas aralarındakı fərq ' virtual funksiya' və 'saf virtual funksiya ' Odur ' virtual funksiya ' tərifi var içində baza sinfi və həmçinin irsi törəmə siniflər onu yenidən müəyyən edir. The təmiz virtual funksiya tərifi yoxdur içində baza sinfi və bütün irsi törəmə siniflər onu yenidən təyin etməlidir.

Sonradan sual yaranır ki, C++-da funksiyanın üstünlüyü nədir? C++ funksiyasının ləğvi . Əgər törəmə sinif eynini təyin edir funksiyası əsas sinfində müəyyən edildiyi kimi, kimi tanınır funksiyanın üstünlüyü C++ dilində. İş vaxtı polimorfizminə nail olmaq üçün istifadə olunur. Bu, sizə xüsusi həyata keçirilməsini təmin etməyə imkan verir funksiyası bu, artıq onun baza sinfi tərəfindən təmin edilir.

Eynilə insanlar soruşurlar ki, biz niyə virtual funksiyalardan istifadə edirik?

Virtual funksiyalar var istifadə olunur "İş vaxtı Polimorfizmi"ni dəstəkləmək. Zaman virtual funksiya Baza Sinif Göstəricisindən istifadə etməklə çağırılırsa, Kompilyator Runtime-da hansı versiyasını təyin edir funksiyası yəni, Əsas Sinif versiyası və ya ləğv edilmiş Dərivi Sinif versiyası çağırılmalıdır. Buna Run Time Polimorfizmi deyilir.

C++ dilində virtual olmayan funksiyanı ləğv edə bilərsinizmi?

C++ dilində bütün sinif üzvləri funksiyaları var yox - virtual default olaraq. Onlar bacarmaq edilsin virtual istifadə edərək virtual açar söz funksiyası imza. Yuxarıda qeyd edildiyi kimi əgər the funksiyası baza sinfindən hazırlanır virtual sonra funksiyası törəmə və ya uşaq sinifinin funksiyası eyni adla üstələyə bilər Baza sinfi funksiyası.

Tövsiyə: