• int getAge(){ return age;}
  • Do’stona funksiya va klasslar
  • Mavzu: Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Merosxo’rlik. Polimorfizm. Virtual funksiyalar. Ammallar va usullarni qayta ishlash va qayta aniqlash




    Download 0.68 Mb.
    bet3/5
    Sana07.01.2023
    Hajmi0.68 Mb.
    #37707
    1   2   3   4   5
    Bog'liq
    4-Mavzu sinflar va dostona funksiyalar
    elektr-energiya-sifatini-elektr-energiyasi-isrofiga-ta-siri, Elektrotexnika materiallari, 6-Mavzu Shablonlar va STL komponentlar, 2-Tajriba ishi topshiriqlari, 7 yosh inqirozi uning sabablari va alomatlari, Atestatsiya savollari (5-qism), Kompyuter arxitekturasi fanidan tayyorlagan mustaqil ish, 30g-45, 50B-21, Doc1, 2.2, 1, Risklarni boshqarish TEST.Kunduzgi 100, Cao Lina VKR

    • Namuna_1:
    • // cat.h

      // Cat sinfini e’lon qilish

      class Cat

      { private: int age; // Yoshi

      char name[20]; // nomi

      public:

      // getAge va setAge metodlarini aniqlash

      int getAge(){ return age;}

      void setAge(int Age){ age = Age;}

      void Meow(); // Meow() metodini aniqlash

      };

    // cat.cpp

    #include "cat.h"

    #include

    using namespace std;

    // определение метода Meow() класса Cat

    void Cat::Meow()

    { cout << name << ": ";

    for (int i = 1; i <= age; i++)

    cout << "Мяу ";

    cout << "\n" << "\n" ;

    }


    class date { // klass data
    int day, month, year; // kun, oy, yil)
    public: // Klassning ochiq ((interfeys qismi))
    void SetDate ( int, int, int ); // sanani o’rnatish
    void GetDate ( int&, int&, int& ); // sanani olish
    void NextDate ( int&, int&, int& ); // keying sanani olish (chiqarish)
    void PrintDate ( ); // sanani chop etish
    } ;
    class {
    [ private: ]

    public:

    };

    Do’stona funksiya va klasslar

    • Do’stona funksiyalar klasslar ichida e’lon qilinadi va friend kalit so’zi orqal amalga oshiriladi.
    • Do’stona funksiya oddiy f-ya bo’lishi mumkin yoki oldingi ayrim klasslarning metodi (uslubi) bo’lishi ham mumkin.
    • Bitta funksiya bir vaqtning o’zida bir nechta klasslar bilan do’stona bo’lishi mumkin

    class monstr;
    class hero{
    public:
    void kill(monstr );
    };
    class monstr{
    friend int steal_ammo(monstr );
    friend void hero::kill(monstr );
    };
    int steal_ammo(monstr M){return M.ammo;}
    void hero::kill(monstr M){
    M.health = 0; M.ammo = 0;
    }
    Do’stona funksiyaga oid misollar
    class hero{
    ...
    friend class mistress;
    }
    class mistress{
    ...
    void f1();
    void f2();
    }
    Дружественные классы - пример

    Download 0.68 Mb.
    1   2   3   4   5




    Download 0.68 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu: Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Merosxo’rlik. Polimorfizm. Virtual funksiyalar. Ammallar va usullarni qayta ishlash va qayta aniqlash

    Download 0.68 Mb.