> For the complete documentation index, see [llms.txt](https://isystem.gitbook.io/programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isystem.gitbook.io/programming/c++-classes/2.-klasslar-obektlar.md).

# 2. Klasslar / obyektlar

{% hint style="info" %}

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

{% endhint %}

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

***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:

```cpp
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.&#x20;
* Umumiy kalit so'z - bu klass a'zolari (atributlari va usullari) ga sinfdan tashqaridan kirish mumkinligini ko'rsatadigan kirish spetsifikatori.&#x20;
* Kirish spesifikatorlari haqida keyinroq bilib olasiz. Klass ichida **myNum** tamsayıli o'zgaruvchi va **myString** mag'lubiyatli o'zgaruvchi mavjud.&#x20;
* 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:

```cpp
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:

```cpp
// 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;
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://isystem.gitbook.io/programming/c++-classes/2.-klasslar-obektlar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
