فانکشن فرند ها
این فانکشن ها در واقع در کلاس ها به عنوان دوست کلاس معرفی میشوند و به دلیل اینکه در دنیای واقعی دوست ها به اطلاعات خصوصی دسترسی دارند اینجا هم همین طور است.یعنی بدون هیچ اجازه ای این فانکش میتواند از تمام اجزای کلاس دوست استفاده کند حتی به پرایویت ها هم دسترسی دارد!تعریف این فانکشن این طوری است:
;(friend void doost(string info
که در کلاس تعریف میشود و به اکسس اسیسی فایر هم ربطی ندارد(همان محیط های پابلیک و پرایویت و پروتکتد).
تعریف این فانکشن ها در Main source است و در قبل از شروع برنامه .
یک نمونه خوب از استفاده این فانکشن را میتوان در ATM که برنامه اش در قسمت Programs موجود است مشاهده کرد.چون این فانکشن به صورت مستقیم به اطلاعات کلاس دسترسی دارد.
به مانند فانکشن فرند ها ما کلاس فرند هم داریم!!!تعریف ان هم مثل فانکشن فرند های بالاست.
البته فرق اساسی این دوستی با دوستی های دنیای واقعی این است که وقتی مثلا ما فانکشن دوست را به عنوان فرند یه کلاس تعریف میکنیم فقط ،دوست فرند کلاس است، نه کلاس ،فرند دوست؟!!
یعنی کلاس نمیتواند از اطلاعات و متغیر های فانکشن دوست استفاده کند.
نظر یادتون نره!!!