Mavzu: Ko’rsatkichlar, havolalar. Ularning avlod-ajdod sinfda qo’llanilishi
Download 463.91 Kb. Pdf ko'rish
|
1-ma\'ruza
- Bu sahifa navigatsiya:
- Koʻrsatkichlar, havolalar va avlod sinflari.
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling