1. for va foreach sikllari


Solishtirish operatorlarini qayta yuklash


Download 65.67 Kb.
bet21/49
Sana19.06.2023
Hajmi65.67 Kb.
#1625730
1   ...   17   18   19   20   21   22   23   24   ...   49
Bog'liq
дəстурлеу жуаплары100

29. Solishtirish operatorlarini qayta yuklash
Solishtirish operatorlarini qayta yuklash (operator overloading) imkoniyati C++ dasturlash tilida mavjud. Bu operatorlar ikki obyektning solishtirilishi va natijaviy qiymatni qaytaradi.
Solishtirish operatorlarini qayta yuklash uchun ==, !=, >, <, >=, <= operatorlariga mos funksiyalar sinfning ichida yaratiladi.
Misol uchun, quyidagi kodda Person sinfiga == va != operatoriga mos funksiya yaratilgan:
cpp
#include
#include
using namespace std;
class Person {
private:
char *name;
int age;
public:
Person(const char *n, int a) {
name = new char[strlen(n) + 1];
strcpy(name, n);
age = a;
}
bool operator==(const Person &p) {
return (strcmp(name, p.name) == 0 && age == p.age);
}
bool operator!=(const Person &p) {
return !(strcmp(name, p.name) == 0 && age == p.age);
}
};
int main() {
Person p1("John", 25);
Person p2("Jane", 30);
Person p3("John", 25);
if (p1 == p2) {
cout << "p1 and p2 are equal" << endl;
} else {
cout << "p1 and p2 are not equal" << endl;
}
if (p1 == p3) {
cout << "p1 and p3 are equal" << endl;
} else {
cout << "p1 and p3 are not equal" << endl;
}
if (p1 != p2) {
cout << "p1 and p2 are not equal" << endl;
} else {
cout << "p1 and p2 are equal" << endl;
}
if (p1 != p3) {
cout << "p1 and p3 are not equal" << endl;
} else {
cout << "p1 and p3 are equal" << endl;
}
return 0;
}
Bu kodda Person sinfiga == va != operatoriga mos funksiya yaratilgan. == operatoriga mos funksiya operator== nomi bilan yaratilgan. operator== funksiyasi name va age o'zgaruvchilarini solishtiradi va true yoki false qiymatini qaytaradi. != operatoriga mos funksiya esa operator!= nomi bilan yaratilgan. operator!= funksiyasi name va age o'zgaruvchilarini solishtiradi va true yoki false qiymatini qaytaradi.
main funksiyasida p1, p2, p3 obyektlari yaratilgan, va == va != operatorlari yordamida obyektlar solishtirilgan. Konsolda solishtirilgan obyekt qiymatlari chiqariladi.

Download 65.67 Kb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   49




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