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


Бошланғич берилган конструктор ва деструкторлар



Download 0,98 Mb.
bet43/91
Sana28.04.2022
Hajmi0,98 Mb.
#588113
1   ...   39   40   41   42   43   44   45   46   ...   91
Bog'liq
C

Бошланғич берилган конструктор ва деструкторлар


Агарда сиз конструктор ёки деструкторни аниқламасангиз, сиз учун бу ишни компиляторнинг ўзи бажаради. Стандарт конструктор ва деструкторлар бирорта аргумент қабул қилмайди ва ҳеч қандай амал бажармайди.
6.3. – листинг. Конструктор ва деструкторларни қўлланилиши

  1. # include


  2. class Mushuk

  3. {

  4. public:

  5. Mushuk(int BoshlYosh);

  6. ~Cat( );

  7. int GetYosh();

  8. void SetYosh(int yosh);

  9. void Miyovlash();

  10. private:

  11. int itsYosh;

  12. };


  13. // Mushuk синфи конструктори

  14. Mushuk::Mushuk(int BoshlYosh)

  15. {

  16. itsYosh= BoshlYosh;

  17. }


  18. Mushuk::~Mushuk( )

  19. {


  20. }

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

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

  23. int Mushuk:: GetYosh()

  24. {

  25. return itsYosh;

  26. }

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

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

  29. void Mushuk::SetYosh(int yosh)

  30. {

  31. itsYosh= yosh;

  32. }

  33. // Meow функцияси экранга Miyov ёзувини

  34. // чикариш учун ишлатилади.

  35. void Mushuk:: Meow()

  36. {

  37. cout << “Miyov.\n”;

  38. }


  1. int main()

  2. {

  3. Mushuk Frisky(5);

  4. Frisky.Meow();

  5. cout << “Frisky”<

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

  7. Frisky.Meow();

  8. Frisky.SetYosh(7);

  9. cout<< “Hozir Frisky ”<

  10. cout << “yoshda.\n”;

  11. return 0;

  12. }

НАТИЖА
Miyov.


Frisky 5 yoshda.
Miyov.
Hozir Frisky 7 yoshda.


const спецификатори орқали cинф функция аъзоларини эълон қилиш.


С++ тилида синф методларини шундай эълон қилиш мумкинки, улар орқали синфнинг ўзгарувчи – аъзоларининг қийматини ўзгартириш мумкин бўлмайди. Бундай аъзо – функцияларни эълон қилиш учун const калит сўзи ишлатилади. Масалан, ҳеч қандай аргумент қабул қилмай, void типидаги қиймат қайтарадиган SomeFunction() номли cинфнинг функция аъзосини шу тарзда эълон қиламиз:

void SomeFunction() const;


Синф аъзо – ўзгарувчиларига мурожаат қилувчи кўпгина функциялар худди шундай const калит сўзи орқали ифодаланиши лозим. Масалан, Mushuk синфида аъзо – ўзгарувчиларга мурожаат қилувчи иккита функция бор.


void SetYosh( int yosh );
int GetYosh ( );

SetYosh() функциясини эълон қилишда const спецификаторини ишлатиш мумкин эмас, чунки бу функция объект аъзо–ўзгарувчиси қийматини ўзгартиради. Лекин GetYosh() функциясини эълон қилишда албатта, const калитли сўзини ишлатишимиз лозим, чунки бу функция объектнинг ўзгарувчи аъзосининг қийматини ўзгартирмайди. Демак, Mushuk синфининг аъзо функцияларини қуйидагича эълон қилиш керак экан:


void SetYosh (int yosh);

int GetYosh() const;


Синфларни бошқа синфлардан ташкил топиши


Мураккаб синфларни ҳосил қилишда олдин уни ташкил этувчи оддийроқ синфларни эълон қилиб, кейин эса уларни бирлаштириш орқали синфни ҳосил қилиш мақсадга мувофиқдир. Масалан, ғилдирак синфи, мотор синфи, узатиш коробкаси синфи ва бошқа синфларни ҳосил қилиб, кейин эса уларни бирлаштириш орқали автомобил синфини қуриш олдимизга турган масалани ечишни анча осонлаштиради.
Иккинчи мисолни кўриб чиқамиз. Тўғри тўртбурчак чизиқлардан ташкил топган. Чизиқ эса икки нуқта орқали аниқланади. Ҳар бир нуқта х ва у координаталар ёрдамида аниқланади. 6.8. – листингда Turtburchak синфи кўрсатилган. Тўғри тўртбурчак тўртта нуқтани бирлаштирувчи тўртта чизиқ ёрдамида аниқланади. Бунда ҳар бир нуқта графикда координаталарга эга бўлади. Шунинг учун олдин ҳар бир нуқтанинг х, у координаталарини сақлаш учун Nuqta синфи эълон қилинган. 6.9.–листингда иккала синфнинг эълон қилиниши кўрсатилган.

Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   91




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish