Kurs ishi mavzu: Turlarni almashtirish operatorlari. Toshkent-2023


Turlarni almashtirish operatorlari


Download 192.85 Kb.
bet2/8
Sana17.06.2023
Hajmi192.85 Kb.
#1548416
1   2   3   4   5   6   7   8
Bog'liq
Miraxmedov

Turlarni almashtirish operatorlari
C++ da, turlarni almashtirish operatorlari (overloading operators) turli amallarni bajarish uchun o'zgartirishlar kiritish imkonini beradi. Bu, C++ ni boshqa dasturlash tillaridan farq qiladi va obyektlarning turli operatorlar orqali qanday ishlashini aniqlashga imkon beradi.
Turlarni almashtirish operatorlari, operator kalit so`zi bilan boshlanadi va bir nechta operatorlarni o'z ichiga oladi, masalan +, -, *, /, %, ==, != va hokazo. Ushbu operatorlar ishlatilganda, C++ operatorning muvaffaqiyatli amalga oshirilishi uchun ularning yo'qolish holatida nima bo'lishi kerakligini biladi.
Operatorlar ko'p mashhur amallarni qayta ishlash uchun ishlatiladi, masalan, + operatori turli turdagi obyektlarni qo'shish uchun ishlatiladi, shuningdek, string turidagi obyektlarni yig'ish uchun ham ishlatiladi. C++ dasturlash tilida siz ham turingizni almashtirish operatorlarini qo'shishingiz mumkin, ya'ni bir obyektni boshqa bir obyektdan ayirish, ko'paytirish yoki boshqa qismlarga bo'lish uchun operatorlarni qo'shishingiz mumkin.
Operatorlarni almashtirishning umumiy sintaksi quyidagicha ko'rinadi:
return_type operator operator_symbol (parameter list) {
// function body
}
Bu sintaksisda return_type operator funksiyasining qaytarish turidir, operator operatorni bildiradigan kalit so'z, operator_symbol muvaffaqiyatli o'tkaziladigan operatorning belgisi, va parameter list muvaffaqiyatli amalga oshirilishi uchun kerakli parametrlar bilan ro'yxatdir.
Boshqacha ko'rsatmalar yordamida turli turdagi operatorlarni o'zgartirish mumkin:

  • Qo'shish operatori (+): ikki obyektni qo'shadi.

  • Ayirish operatori (-): ikki obyekt orasidagi farqni topadi.

  • Ko'paytirish operatori (*): ikki obyektni ko'paytiradi.

  • Bo'lish operatori (/): bir obyektni boshqa obyektdan bo'lishni olish.

  • Modul operatori (%): ikki obyektni modul bilan bo'ladiganini hisoblaydi.

  • Ta`minlash operatori (=): bir obyektni boshqa obyektdan nusxalash.

  • Oshirish operatori (++): obyektni birga birga oshiradi.

  • Kamaytirish operatori (--): obyektni birga birga kamaytiradi.

  • Taqqoslash operatorlari (<, >, <=, >=): ikki obyekt orasidagi taqqoslashni topadi.

  • Tenglik operatorlari (==, !=): ikki obyekt orasidagi tenglikni aniqlaydi.

  • And (&&) va or (||) operatorlari: bit toifalariga o'xshash operatorlar yordamida ishlaydi.

  • Indeks operatori ([ ]): obyektni indeksni olish uchun ishlatiladi.

Yuqoridagi operatorlar bilan bir nechta amallar qilinishi mumkin, ammo bu faqat boshlang'ich ko'rsatkichlar, chunki bir turdagi obyektlarga qo'shimcha operatorlar ham ishlatish mumkin, masalan, <<, >>, +=, -= kabi operatorlar.
C++ dasturlash tilida turingizni o'zgartirish operatorlarini qo'shish yordamida o'z o'zida ajoyib va oddiy syntax yaratishingiz mumkin.

Masalan, agar biz + operatorini Point klassining ikki obyektlarini qo'shish uchun almashtirishni xohlasak, biz quyidagi kodni ishlatamiz:


#include
using namespace std;
class Point {
public:
int x, y;
Point operator+(const Point& other) {
Point res;
res.x = x + other.x;
res.y = y + other.y;
return res;
}
};

int main() {


Point p1 = {2, 3};
Point p2 = {4, 5};
Point p3 = p1 + p2;
cout << p3.x << " " << p3.y << endl;
return 0;
}
Natija

Bu kod "Point" nomli sinfda "x" va "y" nomli ikkita butun tipdagi o'zgaruvchilar mavjud. Sinfdan obyekt yaratilgan holda uning qiymatlarini aniqlash va unga "+ operatori" yordamida boshqa "Point" obyektlari bilan yig'ish imkoniyatiga ega bo'lib, yangi "Point" obyekti qaytariladi.



Download 192.85 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




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