Mavzu: Ko’rsatkichlar, havolalar. Ularning avlod-ajdod sinfda qo’llanilishi


Download 463.91 Kb.
Pdf ko'rish
bet1/4
Sana11.02.2023
Hajmi463.91 Kb.
#1189856
  1   2   3   4
Bog'liq
1-ma\'ruza



Mavzu: 
Ko’rsatkichlar, havolalar. 
Ularning avlod-ajdod 
sinfda qo’llanilishi 
 
 


Koʻrsatkichlar, havolalar va avlod sinflari. Oldingi 
mavzulardan koʻrindiki, avlod sinfining obyektini yaratishda 
ushbu obyektni tashkil etuvchi ikkita qism qurilgan: ajdod va 
avlod 
(1-listing). 
1-listing 
class Parent 

protected: 
int m_value; 
public: 
Parent(int value) 

m_value = value; 



const char* getName() { return "Parent"; } 
int getValue() { return m_value; } 
}; 
class Child: public Parent 

public: 
Child(int value) 
: Parent(value) 


const char* getName() { return "Child"; } 
int getValueDoubled() { return m_value * 2; } 
}; 
int main() 

return 0; 



Child sinfining obyektini yaratishda avval ajdod qismi, keyin 
esa Child qismi quriladi. Child sinfining koʻrsatkichlari va 
havolalariga Child sinfining boshqa obyektlarini koʻrsatishini 
aytishimiz mumkin (2-listing). 
2-listing 
int main() 

Child child(7); 
cout << "Avlod " << child.getName() << " va u
" << child.getValue() << " qiymatiga ega"<<'\n'; 
Child &rChild = child; 
cout << "Avlod " << rChild.getName() << " va u 
" << rChild.getValue() << " qiymatiga ega"<<'\n'; 
Child *pChild = &child; 


cout << "Avlod " << pChild->getName() << " va 
u " << pChild->getValue() << " qiymatiga ega"<<'\n'; 
return 0; 

Muhim jihati shundaki, Childning ajdod qismi borligi 
sababli, Parent sinfning koʻrsatkichi yoki havolasiga Child 
sinfining obyektini koʻrsatishni aytish mumkinmi? Ma’lum 
boʻlishicha, bu vazifani bajarish imkoni mavjud (3-listing) 

Download 463.91 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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