Class’ning private va protected qismiga class ga tegishli bo’lmagan friend funksiya murojat qilishi mumkin. Friend funksiyalar klassning ichida friend kalit so’zi bilan yoziladi.
E’lon qilinishi quyidagicha:
class myclass {
…..
friend int sum(myclass x);
….
};
Misol. (Friend funksiya)
class myclass {
int a, b;
public:
friend int sum(myclass x);
void set_ab(int i, int j) { a = i; b = j; }
};
int sum(myclass x) {
return x.a + x.b; //sum() hech qaysi classga tegishli emas.
Yuqoridagi ikkita konsepsiyani amalga oshirish uchun C++ tilida sinflar ishlatiladi. Sinf termini bilan ob’ektlar turi aniqlanadi. Sinfning har bir vakili (nusxasi) ob’ekt deb nomlanadi. Har bir ob’yekt o‘zining alohida holatiga ega bo‘ladi. Ob’yekt holati uning berilganlar-a’zolarining ayni paytdagi qiymati bilan aniqlanadi. Sinf vazifasi uning funksiya-a’zolarining sinf ob’ektlari ustida bajaradigan amallar imkoniyati bilan aniqlanadi.