Dost funksiyalar (Friend Functions)
C++ Dost funksiyalari
Odatda, sinfning private a'zolariga faqat getter va setter kabi public metodlar orqali kirish mumkin. Ammo ba'zi hollarda friend funksiya deb ataladigan maxsus funksiya yordamida ularga to'g'ridan-to'g'ri kirish mumkin.
friend funksiya sinfning a'zosi emas, lekin sinfning private ma'lumotlariga kirish huquqiga ega:
MISOL
cpp
class Employee {
private:
int salary;
public:
Employee(int s) {
salary = s;
}
// Dost funksiyani e'lon qilish
friend void displaySalary(Employee emp);
};
void displaySalary(Employee emp) {
cout << "Maosh: " << emp.salary;
}
int main() {
Employee myEmp(50000);
displaySalary(myEmp);
return 0;
}Tushuntirish
friendfunksiyadisplaySalary()Employeesinfi ichida e'lon qilingan, lekin sinfdan tashqarida aniqlangan.displaySalary()sinfning a'zosi bo'lmasa ham, u private a'zosalaryga kirish huquqiga ega.main()funksiyasidaEmployeeobyektini yaratamiz va dost funksiyani chaqirib uning maoshini chiqaramiz.
