C++ friend funksiyalar


ULASHISH

C++ friend funksiyalar

Odatda sinfning private a’zolariga faqat getter va setterlar kabi public metodlar orqali murojaat qilish mumkin. Ammo ba’zi hollarda ularga to‘g‘ridan-to‘g‘ri murojaat qilish uchun friend funksiya deb ataladigan maxsus funksiyadan foydalanishingiz mumkin.

friend funksiya sinf a’zosi emas, lekin unga sinfning private ma’lumotlariga murojaat qilishga ruxsat beriladi:

Misol

class Employee {
  private:
    int salary;

  public:
    Employee(int s) {
      salary = s;
    }

    // Declare friend function
    friend void displaySalary(Employee emp);
};

void displaySalary(Employee emp) {
  cout << "Salary: " << emp.salary;
}

int main() {
  Employee myEmp(50000);
  displaySalary(myEmp);
  return 0;
}

O‘zingiz sinab ko‘ring »

Misol izohi

  • displaySalary() nomli friend funksiya Employee sinfi ichida e’lon qilingan, lekin undan tashqarida aniqlangan.
  • displaySalary() sinf a’zosi bo‘lmasa-da, u baribir salary private a’zosiga murojaat qila oladi.
  • main() funksiyasida Employee obyektini yaratamiz va uning maoshini chiqarish uchun friend funksiyani chaqiramiz.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!