4.Dost funksiyalar
Enkapsulyasiyada sinifin private dəyişənlərini, sinifin yalnız özünün istifadə edə biləcəyini və yalnız sinifin üzvləri tərəfindən işlədilə biləcəyini qeyd etmişdik. Lakin dost funksiyalar sinifin üzvləri olmasalar da, həmin sinifin private və protected üzvlərinə daxil olmaq hüququna malikdirlər. Onlar sinifin xaricində təyin olunurlar. Bu əməliyyat üçün “friend” açar sözündən istifadə edirlər.Aşağıdakı nümunənəyə nəzər salaq:
#include
using namespace std;
class Heyvanlar {
private:
int say ;
string ad ;
public:
Heyvanlar(int say, string ad){
this -> say = say;
this -> ad = ad ;
}
friend void showinfo (Heyvanlar heyvanlar);
};
void showinfo(Heyvanlar heyvanlar){
cout << "heyvanin adi : " << heyvanlar.ad << endl;
cout <<"heyvanin sayi : " << heyvanlar.say << endl ;
};
int main(){
Heyvanlar heyvanlar (21, "aslanlar");
showinfo(heyvanlar) ;
}
Biz nümunədə ilk öncə heyvanlar sinifi yaratdıq və ona private və public özəlliklər verdik. Bu sinifin xaricində başqa funksiya (void showinfo) funskiyasını yaratdıq. Bu funksiyanın içində heyvanlar sinifinin private özəlliklərindən istifadə etdik. Əyər biz bu funksiyanı sinifin içində friend sözü ilə tanıtmasa idik, proqram səhv verəckdi. Göründüyü kimi friend funskiyalardan buna görə istifadə olunur.
Dostları ilə paylaş: |