13 – ma’ruza mavzu: polimorfizm va uning turlari. Virtual funksiya. Abstrakt sinf va funksiyalar


Download 378.34 Kb.
Pdf ko'rish
bet3/8
Sana15.12.2022
Hajmi378.34 Kb.
#1007526
1   2   3   4   5   6   7   8
Bog'liq
9y9byPXmkU5D8noFIWuv6TGva5udl9pc4QtcMYrC

Virtual va novirtual funksiyalar 
Quyidagi misol, ko‘rsatkich orqali chaqirilganda virtual va novirtual 
funksiyalar o‘zini qanday tutishi ko‘rsatilgan: 
#include  
class Tayanch 

 public: 
virtual void Virtual_Fun(){cout<<"Tayanch::Virtual_Fun()\n"; } 
void NoVirtual_Fun(){cout<<"Tayanch::NoVirtual_Fun()\n";} 
}; 
class Hosila: public Tayanch 



 public: 
virtual void Virtual_Fun(){ cout<<"Hosila::Virtual_Fun()\n";} 
void NoVirtual_Fun(){cout<<"Hosila::NoVirtual_Fun()\n";} 
}; 
int main() 

 Hosila hosila; 
 Hosila * pHosila = &hosila; 
 Tayanch * pTayanch = &hosila; 
// Hosila sinfidan Virtual_Fun() funksiyasini chaqirish 
 pTayanch->Virtual_Fun(); 
//Tayanch sinfidan NoVirtual_Fun() funksiyasini chaqirish 
 pTayanch->NoVirtual_Fun(); 
 // Hosila sinfidan Virtual_Fun() funksiyasini chaqirish
 pHosila->Virtual_Fun(); 
// Hosila sinfidan NoVirtual_Fun() funksiyasini chaqirish 
 pHosila->NoVirtual_Fun(); 
 return 0; 

Dastur bajarilishi natijasida ekranga 
Hosila::Virtual_Fun() 
Tayanch::NoVirtual_Fun() 


Hosila::Virtual_Fun() 
Hosila::NoVirtual_Fun() 
Shunga e’tibor berish kerakki, Virtual_Fun() funksiyasi qaysi sinfga -
Tayanch yoki Hosila ko‘rsatkich orqali chaqirilishidan qat’iy nazar Hosila sinfidan 
Virtual_Fun() funksiyasi chaqiriladi. Bunga sabab -Virtual_Fun() funksiyasi virtual 
va pTayanch hamda pHosila ko‘rsatkichlari Hosila turidagi obyektga ko‘rsatadi. 
Ikkinchi tomondan, tayanch sinfga ko‘rsatkichi pTayanch garchi novirtual 
funksiyalarga ega hosilaviy sinf obyektiga ko‘rsatsa ham, tayanch sinfdagi mos 
funksiyani chaqiradi.
Ko‘rish sohasiga ruxsat berish operatori vositasida kechiktirilgan 
bog‘lanishni man qilish mumkin:

Download 378.34 Kb.

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




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