Разлика између функције пријатеља и класе пријатеља
Садржај
Функција Фриенд и класа пријатеља су технике које се користе за приступ приватним члановима класе помоћу кључне речи фриенд. Уобичајена разлика између функције пријатеља и класе пријатеља је да када се користи функција пријатеља, члановима приватне класе може се приступити, али у пријатељској класи, приступају се само именима класе пријатеља, а не приватним члановима класе.
Тхе функција пријатеља било да се користи функцијом или класом може негативно утицати на објектно оријентисани оквир јер слаби енкапсулација што је против објектно оријентисана парадигма. То је разлог због којег се функција пријатеља мора мудро користити јер би се могла пауза тхе тхе сакривање података кода.
Ова функција пријатеља није ни једно ни друго комутативни и ни прелазни. Кс је И-ов пријатељ, не закључује да је И такође И-ов пријатељ. Ако је Кс И-ов пријатељ, а И је З-ов, не значи да је Кс пријатељ З-а.
-
- Упоредни графикон
- Дефиниција
- Кључне разлике
- Закључак
Упоредни графикон
Основе за поређење | Фриенд Фунцтион | Фриенд Цласс |
---|---|---|
Основни | То је функција која се користи с кључном речју пријатеља да би се омогућило приступ функцији нечлану приватним члановима класе. | То је класа која се користи с кључном речју пријатеља за приступ приватним члановима друге класе. |
Прослеђивање декларације | Мора се користити. | Није обавезно. |
Употреба | Пријатељска функција може се користити у неким случајевима преоптерећења оператера. | Пријатељска класа може се користити када се класа креира на врху друге класе. |
Дефиниција функције пријатеља
Тхе функција пријатеља користи се за приступ приватним и заштићеним члановима класе допуштајући функцији која није чланица да добије приступ. У овој врсти функције користи се кључна реч пријатељ пре имена функције у тренутку декларације. За функцију пријатеља примењују се неки рестриктивни услови. Први услов је да функција пријатеља не наслеђује дечија класа. Други је услов да спецификатор класе складишта можда није присутан у функцији пријатеља, што значи да се не може декларирати као статички и вањски.
Функција фриенд се не позива са позваним објектом класе. Примјери функције пријатеља су: глобална функција, функција члана класе, предложак функције може бити функција пријатеља. Схватимо то уз помоћ примера.
#инцлуде Функција пријатеља потребна је када функција треба да приступи двема или више независних класа, унутрашњим члановима. Са друге стране, пријатељска класа је потребна када класа захтева приступ припадницима друге класе. Када функција више чланова мора бити пријатељ те функције, у том случају је боље користити класу пријатеља.
Закључак