return 0;
}
Ko‘rib turganimizdek, dastur librarian sinfining change_catalog funksiyasiga book obyektini adres orqali bermoqda. Bu funksiya sinfning book elementini o’zgartirgani uchun, dastur parametrni adres orqali uzatishi va undan so‘ng ushbu sinf elementiga murojaat uchun ko'rsatkich ishlatmog’i lozim. Misolda book sinfi aniqlanishidan friend operatori o‘chirib yuborilsa, C++ kompilyatori har gal book sinfi xususiy ma iumotlariga murojaatda sintaksik xato haqida xabar chiqaradi
Do‘stlar sonini chegaralash. Agarda bir nechta sinf funksiyalariga boshqa sinfning xususiy ma:Iumotlariga murojaat qilish kerak boisa, u
shu bilan u kompilatorga bunday sinf borligi haqida xabar beradi va keyin- roq o‘zi ham aniqlanadi. Quyida buni qanday amalga oshirish keltirilgan.
class book; // sinf elon kilinishi
Quyidagi dasturda librarian sinfming ayrim usullariga book sinfining xususiy elementlariga murojaat qilish imkoniyati berilgan. Sinflar tartibiga ahamiyat bering:
#include
#include
using namespace std; class book; class librarian {
public:
void change_catalog(book&, string); string get_catalog(book);
};
class book {
public:
book(string, string, string); void show_book (void);
friend string librarian::get_catalog(book);
friend void librarian::change_catalog(book&, string);
private:
string title;
string author;
string catalog;
};
Do'stlaringiz bilan baham: |