Тилига кириш услубий қўлланма


– листинг. Оддий синфнинг очиқ аъзосига мурожаат


Download 1.05 Mb.
bet42/86
Sana28.10.2023
Hajmi1.05 Mb.
#1730826
1   ...   38   39   40   41   42   43   44   45   ...   86
Bog'liq
C qo`llanma

6.1. – листинг. Оддий синфнинг очиқ аъзосига мурожаат.

  1. # include < iostream.h >;

  2. class Mushuk;

  3. {

  4. public:

  5. int itsYosh;

  6. int itsOgirlik;

  7. }

  8. int GetYosh(); // Inlizchada Get– olmoq

  9. void SetYosh (int Age); //Set – o`zgartirmoq

  10. void Miyovlash();

  11. рrivate:

  12. int itsYosh;


  13. int main()

  14. {

  15. Mushuk Frisky;

  16. Frisky.itsYosh= 5;

  17. // ўзгарувчи – аъзога киймат ўзлаштирилди.

  18. cout << “Frisky ” <

  19. cout <<“ yoshdagi mushuk.\n”;

  20. return 0;

}
НАТИЖА:

Frisky 5 yoshdagi mushuk

Cинф методларини аниқланиши


Синф методини аниқлаш учун биринчи синф номи, кейин иккита икки нуқта, функция номи ва параметрлари ёзилади. 6.3. – листингда Mushuk синфининг функция аъзосини аниқланиши кўрсатилган.
6.2. – листинг. Оддий синфнинг методини аниқланиши.

  1. #include


  2. class Mushuk

  3. {

  4. public:

  5. int GetYosh();

  6. void SetYosh(int yosh);

  7. void Miyovlash();

  8. private:

  9. int itsYosh;

  10. }


  11. // GetYosh функцияси itsYosh ёпик ўзгарувчи

  12. // аъзонинг кийматини кайтаради

  13. int Mushuk::GetYosh();

  14. {

  15. return itsYosh;

  16. }


  17. // SetYosh функцияси itsYosh ўзгарувчи –

  18. // аъзога киймат ўзлаштиради.

  19. void Mushuk:: SetYosh(int yosh)

  20. {

  21. // itsYosh ўзгарувчи – аъзосига yosh

  22. // киймати параметри ёрдамида берилади.

  23. itsYosh=yosh;

  24. }


  25. void Mushuk::Miyovlash()

  26. {

  27. cout << “Miyov,miyov,miyov.\n”;

  28. }


  29. int main( )

  30. {

  31. Mushuk Frisky;

  32. Frisky.SetYosh(5);

  33. Frisky.Miyovlash();

  34. cout << “Frisky” <

  35. cout << “ yoshdagi mushuk.\n”;

  36. Frisky.Miyovlash();

  37. return 0;

}
НАТИЖА:
Miyov, miyov, miyov
Frisky 5 yoshdagi mushuk
Miyov, miyov, miyov

Конструкторлар ва деструкторлар


Бутун сонли ўзгарувчини аниқлашнинг икки хил йўли бор. Биринчиси, олдин ўзгарувчини аниқлаш, кейин эса унга бирор бир қиймат ўзлаштиришдир. Масалан,
int Ogirlik; // ўзгарувчини аниклаш
........ // бу ерда бошка ифодалар бор
Ogirlik=7; // ўзгарувчига киймат ўзлаштирамиз.

Иккинчиси, ўзгарувчи аниқланиши билан бирга унга дарҳол қиймат ўзлаштирилади, масалан:


int Ogirlik=7; //ўзгарувчини эълон киламиз


//ва унга киймат ўзлаштирамиз.

Қиймат бериш амали ўзгарувчи аниқланиши билан унга бошланғич қиймат ўзлаштирилишини англатади. Кейинчалик, бу ўзлаштирилган қийматни ўзгартиришингиз ҳам мумкин.


Синфнинг ўзгарувчи–аъзосига қандай қиймат ўзлаштирилди? Бунинг учун синфда конструктор деб аталувчи махсус функция – аъзо ишлатилади. Зарурий вақтда конструктор бир нечта параметрни қабул қилади. Лекин ҳеч қандай типдаги қиймат қайтармайди. Конструктор – бу синф номи билан устма – уст тушадиган синф методидир.
Синфда конструкторни эълон қилиниши билан деструкторлар ҳам аниқланиши лозим. Агарда конструктор синф объектини тузиш ва унинг ўзгарувчи – аъзоларига қиймат бериш вазифасини бажарса, деструктор мавжуд объектнинг хотирадан ўчиради. Деструкторлар синф номи олдига тильда (~) белгисини қўйиш орқали аниқланади. Деструкторлар ҳеч қандай аргумент қабул қилмайди ва ҳеч қандай қиймат қайтармайди. Mushuk синфининг деструктори қуйидагича кўринишда аниқланади:
~Mushuk()

Download 1.05 Mb.

Do'stlaringiz bilan baham:
1   ...   38   39   40   41   42   43   44   45   ...   86




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