1. for va foreach sikllari
Operatorlarni qayta yuklash
Download 65.67 Kb.
|
дəстурлеу жуаплары100
- Bu sahifa navigatsiya:
- 26. Kiritish va chiqarish operatorlarini qayta yuklash
25. Operatorlarni qayta yuklash
Operatorlarni qayta yuklash (operator overloading) C++ dasturlash tilida obyektlar uchun operatorlar bilan ishlash imkoniyatini beradi. C++ tilida, operatorlar sinf obyektlariga ham ishlatilishi mumkin. Operatorlarni qayta yuklash, operatorlarning sinf obyektlari uchun mos funksiyalarni yaratish imkoniyatini beradi. Operatorlarni qayta yuklashda operatorlarga mos funksiyalar yaratiladi. Bunday funksiyalarning nomi operatorlarga mos keladi, lekin funksiyalarni yaratishda operator kalit so'zi qo'llaniladi. Misol uchun, + operatoriga mos funksiya quyidagicha yaratiladi: cpp class Vector { public: int x, y; Vector operator+(const Vector& v) { Vector res; res.x = x + v.x; res.y = y + v.y; return res; } }; Bu kodda Vector sinfiga + operatoriga mos funksiya qo'shilgan. + operatoriga mos funksiya operator+ nomi bilan yaratilgan. operator+ funksiyasi const Vector& tipidagi v argumentini qabul qiladi va Vector tipidagi obyekt qaytaradi. main funksiyasida esa + operatori yordamida ikki Vector obyekti qo'shiladi: cpp int main() { Vector v1, v2, v3; v1.x = 10; v1.y = 20; v2.x = 30; v2.y = 40; v3 = v1 + v2; cout << "v3.x = " << v3.x << ", v3.y = " << v3.y << endl; return 0; } Bu kodda main funksiyasida v1 va v2 obyektlari yaratildi. v1 va v2 obyektlari qiymatlarini o'zgartirish yordamlari orqali o'rnatildi. + operatori yordamida v1 va v2 obyektlari yig'ildi va natijaviy qiymat v3 obyektiga saqlandi. Konsolda v3.x va v3.y qiymatlari chiqarildi. Operatorlarni qayta yuklashda ko'p sonli operatorlarga mos funksiyalar ham yaratilishi mumkin. Qayta yuklashning uchun operatorlar orasida ko'p sonli operatorlar, indeks operatorlari, to'g'ri va yolg'izli operatorlar, tartiblash operatorlari, yonlendirmalar operatorlari va boshqa operatorlar kiritilishi mumkin. 26. Kiritish va chiqarish operatorlarini qayta yuklash Kiritish (>>) va chiqarish (<<) operatorlarini qayta yuklash (operator overloading) imkoniyati C++ dasturlash tilida mavjud. Bu operatorlar fayl, standart konsol va boshqa turdagi obyektlar bilan ishlashda ishlatiladi. Kiritish (>>) va chiqarish (<<) operatorlarini qayta yuklash uchun istream va ostream sinflari ishlatiladi. istream sinfi kiritish operatori (>>) uchun, ostream sinfi esa chiqarish operatori (<<) uchun mos funksiyalar yaratiladi. Misol uchun, quyidagi kodda Person sinfiga >> va << operatorlari qo'shilgan: cpp #include #include using namespace std; class Person { private: string name; int age; public: Person() {} Person(string n, int a) { name = n; age = a; } friend istream& operator>>(istream& is, Person& p) { is >> p.name >> p.age; return is; } friend ostream& operator<<(ostream& os, const Person& p) { os << "Name: " << p.name << ", Age: " << p.age; return os; } }; int main() { Person p; cout << "Enter name and age: "; cin >> p; cout << "Entered data: " << p << endl; return 0; } Bu kodda Person sinfiga >> va << operatorlari qo'shilgan. >> operatoriga mos funksiya operator>> nomi bilan yaratilgan. operator>> funksiyasi istream& tipidagi is argumentini va Person& tipidagi p argumentini qabul qiladi. << operatoriga mos funksiya esa operator<< nomi bilan yaratilgan. operator<< funksiyasi ostream& tipidagi os argumentini va const Person& tipidagi p argumentini qabul qiladi. main funksiyasida foydalanuvchi kiritgan ma'lumotlar >> operatori yordamida obyektga saqlanadi. Konsolda kiritilgan ma'lumotlar << operatori yordamida chiqariladi. Kiritish va chiqarish operatorlarini qayta yuklashda yaratiladigan funksiyalar friend kalit so'zi bilan yaratiladi. friend kalit so'zi orqali yaratilgan funksiyalar sinfning ichidagi maxsus funksiyalar bo'lishi mumkin va ular sinfning maxsus xususiyatlaridan foydalanishlari mumkin. Download 65.67 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling