ఫ్రెండ్ ఫంక్షన్ మరియు ఫ్రెండ్ క్లాస్ మధ్య వ్యత్యాసం

రచయిత: Laura McKinney
సృష్టి తేదీ: 1 ఏప్రిల్ 2021
నవీకరణ తేదీ: 6 మే 2024
Anonim
క్లాస్ మెంబర్ ఫంక్షన్ మరియు ఫ్రెండ్ ఫంక్షన్ మధ్య వ్యత్యాసం | ఫ్రెండ్ ఫంక్షన్ మరియు క్లాస్ ఫంక్షన్
వీడియో: క్లాస్ మెంబర్ ఫంక్షన్ మరియు ఫ్రెండ్ ఫంక్షన్ మధ్య వ్యత్యాసం | ఫ్రెండ్ ఫంక్షన్ మరియు క్లాస్ ఫంక్షన్

విషయము


ఫ్రెండ్ ఫంక్షన్ మరియు ఫ్రెండ్ క్లాస్ ఫ్రెండ్ కీవర్డ్ ఉపయోగించి క్లాస్ యొక్క ప్రైవేట్ సభ్యులను యాక్సెస్ చేయడానికి ఉపయోగించే పద్ధతులు. ఫ్రెండ్ ఫంక్షన్ మరియు ఫ్రెండ్ క్లాస్ మధ్య ఉన్న సాధారణ వ్యత్యాసం ఏమిటంటే, ఫ్రెండ్ ఫంక్షన్ ఉపయోగించినప్పుడు ప్రైవేట్ క్లాస్ సభ్యులను యాక్సెస్ చేయవచ్చు కాని ఫ్రెండ్ క్లాస్ లో, ఫ్రెండ్ క్లాస్ పేర్లు మాత్రమే యాక్సెస్ చేయబడతాయి క్లాస్ యొక్క ప్రైవేట్ సభ్యులు కాదు.

ది ఫ్రెండ్ ఫీచర్ ఫంక్షన్ లేదా క్లాస్ ఉపయోగించినా అది బలహీనపడటంతో ఆబ్జెక్ట్-ఓరియెంటెడ్ ఫ్రేమ్‌వర్క్‌పై ప్రతికూల ప్రభావాన్ని చూపుతుంది తొడుగు ఇది వ్యతిరేకం ఆబ్జెక్ట్ ఓరియంటెడ్ రూపావళి. ఫ్రెండ్ ఫీచర్ తెలివిగా ఉపయోగించాల్సిన కారణం ఇది విరామం ది డేటా దాచడం కోడ్ యొక్క.

ఈ ఫ్రెండ్ ఫీచర్ కూడా లేదు స్వతంత్ర మరియు సకర్మక. X అనేది Y యొక్క స్నేహితుడు, Y కూడా X యొక్క స్నేహితుడు అని er హించలేదు. X Y యొక్క స్నేహితుడు మరియు Y Z యొక్క స్నేహితుడు అయితే, X Z యొక్క స్నేహితుడు అని సూచించదు.


    1. పోలిక చార్ట్
    2. నిర్వచనం
    3. కీ తేడాలు
    4. ముగింపు

పోలిక చార్ట్

పోలిక కోసం ఆధారంఫ్రెండ్ ఫంక్షన్ఫ్రెండ్ క్లాస్
ప్రాథమికఇది తరగతిలోని ప్రైవేట్ సభ్యులకు సభ్యత్వం లేని ఫంక్షన్ యాక్సెస్‌ను ఇవ్వడానికి ఫ్రెండ్ కీవర్డ్‌తో ఉపయోగించే ఫంక్షన్.ఇది మరొక తరగతి యొక్క ప్రైవేట్ సభ్యులను యాక్సెస్ చేయడానికి ఫ్రెండ్ కీవర్డ్‌తో ఉపయోగించే తరగతి.
ఫార్వర్డ్ డిక్లరేషన్తప్పక వాడాలి.తప్పనిసరి కాదు.
వా డుఆపరేటర్ ఓవర్లోడింగ్ యొక్క కొన్ని పరిస్థితులలో ఫ్రెండ్ ఫంక్షన్ ఉపయోగించవచ్చు.మరొక తరగతి పైన ఒక తరగతి సృష్టించబడినప్పుడు ఫ్రెండ్ క్లాస్ ఉపయోగించవచ్చు.

ఫ్రెండ్ ఫంక్షన్ యొక్క నిర్వచనం

ది స్నేహితుడి ఫంక్షన్ ప్రాప్యత పొందడానికి సభ్యులే కాని ఫంక్షన్‌ను అనుమతించడం ద్వారా తరగతి యొక్క ప్రైవేట్ మరియు రక్షిత సభ్యులను యాక్సెస్ చేయడానికి ఉపయోగించబడుతుంది. ఈ రకమైన ఫంక్షన్‌లో, డిక్లరేషన్ సమయంలో ఫంక్షన్ పేరుకు ముందు ఫ్రెండ్ కీవర్డ్ ఉపయోగించబడుతుంది. ఫ్రెండ్ ఫంక్షన్‌కు కొన్ని నిర్బంధ షరతులు వర్తింపజేయబడ్డాయి. మొదటి షరతు ఏమిటంటే ఫ్రెండ్ ఫంక్షన్ చైల్డ్ క్లాస్ ద్వారా వారసత్వంగా పొందదు. రెండవ షరతు ఏమిటంటే, ఫ్రెండ్ ఫంక్షన్‌లో స్టోరేజ్ క్లాస్ స్పెసిఫైయర్ ఉండకపోవచ్చు, అంటే ఇది స్టాటిక్ మరియు ఎక్స్‌టర్న్‌గా ప్రకటించబడదు.


ఫ్రెండ్ ఫంక్షన్ క్లాస్ యొక్క ఇన్వోకింగ్ వస్తువుతో పిలువబడదు. ఫ్రెండ్ ఫంక్షన్ యొక్క ఉదాహరణలు: గ్లోబల్ ఫంక్షన్, క్లాస్ యొక్క సభ్యుల ఫంక్షన్, ఫంక్షన్ టెంప్లేట్ ఫ్రెండ్ ఫంక్షన్. ఉదాహరణ సహాయంతో దాన్ని అర్థం చేసుకుందాం.

# ఉన్నాయి నేమ్‌స్పేస్ std ఉపయోగించి; తరగతి మొదటి {int డేటా; పబ్లిక్: మొదటి (పూర్ణాంకానికి i): డేటా (i)}} ఫ్రెండ్ శూన్య ప్రదర్శన (const first & a); }; శూన్య ప్రదర్శన (const first & a) {cout << "data =" <నేమ్‌స్పేస్ ఉపయోగించి std; క్లాస్ ఫస్ట్ {// ఫ్రెండ్ క్లాస్ ఫ్రెండ్ క్లాస్ సెకండ్ ప్రకటించండి; పబ్లిక్: మొదటి (): a (0) {oid శూన్య () {cout << "ఫలితం" << a << endl; } ప్రైవేట్: int a; }; తరగతి రెండవ {పబ్లిక్: శూన్య మార్పు (మొదటి & yclass, int x) {yclass.a = x; }}; int main () మొదటి obj1; రెండవ ఆబ్జెక్ట్ 2; obj1 (.); obj2.change (obj1, 5); obj1 (.); // అవుట్పుట్ ఫలితం 0 ఫలితం 5

  1. ఫ్రెండ్ ఫంక్షన్ అనేది ఒక తరగతి యొక్క ప్రైవేట్ మరియు రక్షిత సభ్యులను యాక్సెస్ చేయగల ఒక ఫంక్షన్. దీనికి విరుద్ధంగా, ఫ్రెండ్ క్లాస్ అనేది ఒక తరగతి యొక్క ప్రైవేట్ సభ్యులను యాక్సెస్ చేయడంలో సహాయపడే తరగతి.
  2. క్లాస్ లోపల దాని నమూనాను చేర్చడం ద్వారా ఫ్రెండ్ ఫంక్షన్ ప్రకటించబడుతుంది, దాన్ని కీవర్డ్ ఫ్రెండ్‌తో పూర్వం చేయండి. అదేవిధంగా, ఫ్రెండ్ క్లాస్ కూడా కీవర్డ్ ఫ్రెండ్ ఉపయోగించి నిర్వచించబడుతుంది.
  3. ఫ్రెండ్ ఫంక్షన్ విషయంలో ఫార్వర్డ్ డిక్లరేషన్ ఉపయోగించబడుతుంది, ఫ్రెండ్ క్లాస్‌లో ఉపయోగించాల్సిన అవసరం లేదు.

ముగింపు

ఒక ఫంక్షన్ రెండు లేదా అంతకంటే ఎక్కువ స్వతంత్ర తరగతులను, అంతర్గత సభ్యులను యాక్సెస్ చేయవలసి వచ్చినప్పుడు ఫ్రెండ్ ఫంక్షన్ అవసరం. మరోవైపు, ఒక తరగతికి మరొక తరగతి సభ్యులను యాక్సెస్ చేయాల్సిన అవసరం వచ్చినప్పుడు ఫ్రెండ్ క్లాస్ అవసరం. బహుళ సభ్యుల ఫంక్షన్ ఆ ఫంక్షన్‌కు స్నేహితుడిగా ఉండాల్సిన అవసరం వచ్చినప్పుడు, ఆ సందర్భంలో, ఫ్రెండ్ క్లాస్‌ని ఉపయోగించడం మంచిది.