• Konstruktor parametrlari.
  • Natija: BMW X5 1999 Ford Mustang 1969
  • Public
  • In function int main(): Line 8: error: int MyClass::y is private Line 14: error: within this context error: y is private
  • С++ da konstruktorlar va destruktorlar c ++ tilidagi konstruktor bu maxsus




    Download 25.91 Kb.
    Sana13.03.2024
    Hajmi25.91 Kb.
    #170555
    Bog'liq
    amaliy 6
    Документ Microsoft Word

    С++ da konstruktorlar va destruktorlar
    C ++ tilidagi konstruktor - bu maxsus ob'ekt bo'lib, u sinf ob'ekti yaratilganda avtomatik ravishda chaqiriladi. Konstruktor yaratish uchun sinf bilan bir xil nomdan foydalaning, so'ngra qavslar bilan yozing ():
    #include
    using namespace std;

    class MyClass { // bu class
    public: // Kirish spetsifikatori
    MyClass() { // Constructor
    cout << "Hello World!";
    }
    };

    int main() {
    MyClass myObj; // MyClass ob'ektini yarating (bu konstruktorni chaqiradi)
    return 0;
    }
    Eslatma: Konstruktor klass bilan bir xil nomga ega, u doimo bo'ladi public va u hech qanday qiymat qaytarmaydi.
    Konstruktor parametrlari.
    Konstruktorlar parametrlarni (odatdagi funktsiyalar kabi) ham olishi mumkin, bu esa atributlar uchun boshlang'ich qiymatlarni belgilashda foydali bo'lishi mumkin.
    #include
    using namespace std;

    class Car {
    public:
    string brand;
    string model;
    int year;
    Car(string x, string y, int z) {
    brand = x;
    model = y;
    year = z;
    }
    };

    int main() {
    Car carObj1("BMW", "X5", 1999);
    Car carObj2("Ford", "Mustang", 1969);

    // Print values
    cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
    cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
    return 0;
    }
    Natija:
    BMW X5 1999
    Ford Mustang 1969
    Vazifalar singari, konstruktorlarni ham sinfdan tashqari aniqlash mumkin. Birinchidan, sinf ichidagi konstruktorni e'lon qiling va keyin sinf nomini ko'rsatib, uni sinfdan tashqarida aniqlang, so'ngra o'lchamlarni aniqlash :: operatori, keyin konstruktorning nomi (sinf bilan bir xil):
    #include
    using namespace std;

    class Car {
    public:
    string brand;
    string model;
    int year;
    Car(string x, string y, int z);
    };

    Car::Car(string x, string y, int z) {
    brand = x;
    model = y;
    year = z;
    }

    int main() {
    Car carObj1("BMW", "X5", 1999);
    Car carObj2("Ford", "Mustang", 1969);

    cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
    cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
    return 0;
    }


    Destruktorlar
    Destruktorlar obyektlarni o'chirish jarayonida ishga tushadi. Bu obyekt yoki obyektlar o'chirilganda, bu funksiya ishga tushadi. Destruktorlar obyekt yaratilgan tartibda avtomatik ravishda ishga tushadi. Destruktorlarni klassning ichida o'zgarishlar yozish orqali yaratish mumkin.
    class Shaxs {
    public:
    Shaxs() {
    // Konstruktor kodlari}
    ~Shaxs() {
    // Destruktor kodlari
    Bu kodlar shaxs klassining konstruktor va destruktorini ko'rsatadi. Obyekt yaratilganda konstruktor ishga tushadi, obyekt o'chirilganda destruktor ishga tushadi.
    Hozirda, siz publicbizning barcha sinf misollarimizda paydo bo'lgan kalit so'z bilan juda yaxshi tanishsiz:
    #include
    using namespace std;

    class MyClass {
    public:
    int x;
    };

    int main() {
    MyClass myObj;

    myObj.x = 15;

    cout << myObj.x;
    return 0;
    }


    Public kalit so'z bir bo'lib kirish ma'lumoti. Kirish spetsifikatorlari sinf a'zolariga (atributlar va usullarga) qanday kirish mumkinligini belgilaydi. Yuqoridagi misolda, a'zolar public- bu kodni tashqaridan kirish va o'zgartirish mumkinligini anglatadi.
    Dasturlash xavfsizlik birinchi o'rinda turadi. Biz aynan tashqi kirishni to'xtatish kerak bo'lsa nima qilamiz? buning javobi quyidagi ma'lumot turlari bilan izohlanadi.
    C ++ da uchta kirish spetsifikatorlari mavjud:

    • public - A'zolarga sinfdan tashqari kirish mumkin.

    • private - A'zolarga sinfdan tashqarida kirish (yoki ko'rish) mumkin emas.

    • protected- A'zolarga sinfdan tashqariga kirish mumkin emas, ammo ularga meros qolgan sinflarda kirish mumkin. Keyinchalik merosxo'rlik haqida ko'proq bilib olasiz .

    Quyidagi misolda biz publicva privatea'zolar o'rtasidagi farqni ko'rsatamiz :
    #include
    using namespace std;
    class MyClass {
    public:
    int x;
    private:
    int y;
    };
    int main() {
    MyClass myObj;
    myObj.x = 25;
    myObj.y = 50;
    return 0;
    }
    In function 'int main()':
    Line 8: error: 'int MyClass::y' is private
    Line 14: error: within this context
    error: y is private

    Download 25.91 Kb.




    Download 25.91 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    С++ da konstruktorlar va destruktorlar c ++ tilidagi konstruktor bu maxsus

    Download 25.91 Kb.