2. Klasslar / obyektlar

C ++ - bu obyektga yo'naltirilgan dasturlash tili.

C ++ da hamma narsa attributlari va usullari bilan birga klasslar va obyektlar bilan bog'liq.

Masalan: Haqiqiy hayotda mashina - bu obyekt. Mashinada vazn va rang kabi xususiyatlar, haydash va tormoz kabi usullar mavjud.

Attributlar va usullar, asosan, sinfga tegishli bo'lgan o'zgaruvchilar va funksiyalardir. Ularni ko'pincha "sinf a'zolari" deb atashadi.

Sinf - bu dasturda foydalanishimiz mumkin bo'lgan foydalanuvchi tomonidan belgilanadigan ma'lumotlar turi va u obyekt tuzuvchi yoki obyektlarni yaratish uchun "reja" sifatida ishlaydi.

Klass yaratish

Klass yaratish uchun class kalit so'zidan foydalaning:

class MyClass {       // Bu Klass
  public:             // Kirish spetsifikatori
    int myNum;        // Atribut (int o'zgaruvchisi)
    string myString;  // Atribut (satr o'zgaruvchisi)
};
  • Class kalit so'zi MyClass deb nomlangan sinf yaratish uchun ishlatiladi.

  • Umumiy kalit so'z - bu klass a'zolari (atributlari va usullari) ga sinfdan tashqaridan kirish mumkinligini ko'rsatadigan kirish spetsifikatori.

  • Kirish spesifikatorlari haqida keyinroq bilib olasiz. Klass ichida myNum tamsayıli o'zgaruvchi va myString mag'lubiyatli o'zgaruvchi mavjud.

  • Agar o'zgaruvchilar klass ichida e'lon qilinsa, ular attributlar deb ataladi. Nihoyat, sinf ta'rifini nuqta -vergul bilan tugating ( ; ).

Obyekt yaratish

C ++ da obyekt klassdan yaratiladi. Biz allaqachon MyClass nomli klass yaratganmiz, shuning uchun endi biz bundan obyektlar yaratish uchun foydalanishimiz mumkin.

MyClass obyektini yaratish uchun klass nomini, so'ngra obyekt nomini ko'rsating. Klass attributlariga (myNum va myString) kirish uchun obyektdagi nuqta sintaksisidan ( . ) foydalaning:

Malasa: "MyObj" nomli obyekt yarating va attributlarga kiring:

class MyClass {       // Bu Klass
  public:             // Kirish spetsifikatori
    int myNum;        // Atribut (int o'zgaruvchisi)
    string myString;  // Atribut (satr o'zgaruvchisi)
};

int main() {
  MyClass myObj;  // MyClass ob'ektini yarating

  // Atributlarga kirish va qiymatlarni o'rnatish
  myObj.myNum = 15; 
  myObj.myString = "Some text";

  // Atribut qiymatlarini chop etish
  cout << myObj.myNum << "\n";
  cout << myObj.myString;
  return 0;
}

Bir nechta obyektlar

Siz bitta klassning bir nechta obyektlarini yaratishingiz mumkin:

// Ba'zi atributlarga ega avtomobil sinfini yarating
class Car {
  public:
    string brand;   
    string model;
    int year;
};

int main() {

  // Avtomobil ob'ektini yarating
  Car carObj1;
  carObj1.brand = "BMW";
  carObj1.model = "X5";
  carObj1.year = 1999;

  // Mashinaning boshqa ob'ektini yarating
  Car carObj2;
  carObj2.brand = "Ford";
  carObj2.model = "Mustang";
  carObj2.year = 1969;

  // Atribut qiymatlarini chop etish
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}

Last updated