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


– листинг. Ўзгармас объектларга кўрсаткичлар


Download 1.05 Mb.
bet68/86
Sana28.10.2023
Hajmi1.05 Mb.
#1730826
1   ...   64   65   66   67   68   69   70   71   ...   86
Bog'liq
C qo`llanma

8.10. – листинг. Ўзгармас объектларга кўрсаткичлар.

  1. //8.10. – листинг

  2. //Кўрсаткичёрдамида константа методларини //чақирилиши

  3. # inсlude < iostream.h>


  4. class Turtburchak

  5. {

  6. public:

  7. Turtburchak();

  8. ~ Turtburchak();

  9. void SetLength(int Length){ itsLength = Length;}

  10. int GetLength() const {returu itsLength; }

  11. void SetWidth(int width) {itsWidth = width; }

  12. int GetWidth() const { return itsWidth}




  1. private:

  2. int itsLength;

  3. int itsWidth;

  4. };




  1. Turtburchak :: Turtburchak ( )

  2. {

  3. its Width = 5;

  4. its Length = 10;

  5. }




  1. Turtburchak :: ~Turtburchak ( )

  2. { }

  3. int main()

  4. {

  5. Turtburchak *pRect = new Turtburchak;

  6. const Turtburchak *pConstRect=new Turtburchak;

  7. Turtburchak* const pConstPtr = new Turtburchak;

  8. cout<<“pRect width:”<
    GetWidth()

  9. <<“meters \n”;

  10. cout<<“pConstRect width:”

  11. <
    GetWidth()

  12. cout <<” meters\n”;

  13. cout << “pConstPtr width:”

  14. <
    GetWidth()

  15. cout << “meters\n”;

  16. Prect–> SetWidth (10);

  17. //PconstRect –> SetWidth(10);

  18. PconstPtr –> SetWidth(10);

  19. cout<< “pRect width:”<
    GetWidth()

  20. cout<<“ meters\n”;

  21. cout<<“pConstRect width:”

  22. <<“pConstRect–>GetWidth()

  23. cout<< “meters\n”;

  24. cout<<“pConstPtr width:”<
    GetWidth()

  25. cout<< “meters \n”;

  26. return 0;

  27. }

HАТИЖА:


pRect width: 5 meters.
pConstRect width: 5 meters
pConstPtr width : 5 meters
pRect width: 10 meters
pConstRect width: 5 meters
pConstPtr width: 10 meters.

ТАҲЛИЛ
5 – 17 – сатрларда Turtburchak cинфининг тавсифи берилган. 13 – сатрда ёзилган, сonst спецификаторига эга бўлган GetWidth() методига эътиборимизни қаратамиз.


27 – сатрда Turtburchak cинфи объектига кўрсаткич эълон қилинаяпти. 28 – сатрда худди шу синфнинг ўзгармас объектига кўрсаткич эълон қилинаяпти. Ўзгармас кўрсаткич эса 29 – сатрда эълон қилинаяпти.
pRect кўрсаткичи томонидан чақирилган SetWidth() методи объектнинг кенглигини ўрнатаяпти. 39 – сатрда pConstRect кўрсаткичи орқали синф методи чақирилишига мисол келтирилган. Лекин pConstRect кўрсаткичи ўзгармас объектга кўрсаткич бўлиб, у орқали сonst спецификатори бўлмаган методларни чақириб бўлмайди. Шунинг учун бу сатр изоҳга айлантирилган. 40 – сатрда эса SetWidth() методи pConstPtr кўрсаткичи орқали чақирилаяпти. Бу кўрсаткич ўзгармас ва фақат хотиранинг бир соҳасига мурожаат қилиши мумкин. Лекин, у мурожаат қилаётган объект константа эмас, шунинг учун бу операция тўғридир.

Download 1.05 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   86




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