C ++ యాక్సెస్ స్పెసిఫైయర్‌లు

C Access Specifiers



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

యాక్సెస్ అనే పదానికి వేరియబుల్ విలువను చదవడం లేదా మార్చడం అని అర్ధం, మరియు ఫంక్షన్‌ను ఉపయోగించడం అని కూడా అర్థం. C ++ యాక్సెస్ స్పెసిఫైయర్‌లు పదాలు, ప్రైవేట్, రక్షిత మరియు పబ్లిక్. ఒక సభ్యుడు దాని తరగతిలోని ఇతర సభ్యులను యాక్సెస్ చేయవచ్చా లేదా తరగతికి వెలుపల ఉన్న ఫంక్షన్ లేదా ఆపరేటర్ క్లాస్‌లోని ఏ సభ్యుడిని యాక్సెస్ చేయవచ్చో వారు నిర్ణయిస్తారు. ఉత్పన్నమైన (పిల్లల) తరగతి సభ్యుడు మాతృ తరగతి సభ్యుడిని యాక్సెస్ చేయవచ్చో లేదో కూడా వారు నిర్ణయిస్తారు.







ఈ కథనాన్ని అర్థం చేసుకోవడానికి మరియు అందించిన కోడ్‌ను పరీక్షించడానికి C ++ గురించి ప్రాథమిక పరిజ్ఞానం అవసరం.



వ్యాసం కంటెంట్

పబ్లిక్ మరియు ప్రైవేట్ స్పెసిఫైయర్‌లు

తరగతి
తరగతిలోని ఏ సభ్యుడైనా అదే తరగతిలోని ఇతర సభ్యులను యాక్సెస్ చేయవచ్చు, దాని నుండి స్వతంత్రంగా పబ్లిక్ లేదా ప్రైవేట్ అని లేబుల్ చేయబడుతుంది. కింది ప్రోగ్రామ్‌ని పరిగణించండి:



#చేర్చండి
ఉపయోగించి నేమ్‌స్పేస్గంటలు;

తరగతిది క్లా
{
ప్రైవేట్:
intసంఖ్య 1;
intసంఖ్య 2;
ప్రజా:
ది క్లా(intn1,intn2)
{
సంఖ్య 1=n1;సంఖ్య 2=n2;
}
intపద్ధతి()
{
తిరిగిసంఖ్య 1;
}
};

intప్రధాన()
{
ది క్లా ఆబ్జెక్ట్(10,ఇరవై);
intనం 2=ఆబ్జెక్ట్పద్ధతి();
ఖరీదు<<నం 2<<' n';

// int no1 = object.num1;

తిరిగి 0;
}

అవుట్‌పుట్ 10. ప్రైవేట్ సభ్యులు num1 మరియు num2. ప్రజా సభ్యులు TheCla () మరియు పద్ధతి (). TheCla () అనేది కన్స్ట్రక్టర్ ఫంక్షన్, ఇది ఆసక్తి యొక్క వేరియబుల్స్ ప్రారంభిస్తుంది. యాక్సెస్ స్పెసిఫైయర్ యొక్క ప్రాంతం దాని లేబుల్ నుండి తరగతి వివరణ ముగింపు (నిర్వచనం) లేదా మరొక యాక్సెస్ స్పెసిఫైయర్ ప్రారంభం వరకు ప్రారంభమవుతుంది.





ప్రధాన () ఫంక్షన్‌లో, మొదటి స్టేట్‌మెంట్ అనేది కన్స్ట్రక్టర్ ఫంక్షన్‌తో కూడిన తక్షణం, ఇది num1 మరియు num2 లను ప్రారంభిస్తుంది. తదుపరి స్టేట్‌మెంట్ క్లాస్ యొక్క పబ్లిక్ మెంబర్, పద్ధతి () ని పిలుస్తుంది.

ఇప్పుడు, తరగతి వివరణ (నిర్వచనం) లో, పబ్లిక్ మెంబర్ ఫంక్షన్, TheCla (), ప్రైవేట్ సభ్యులను యాక్సెస్ చేస్తుంది, num1 మరియు num2. అలాగే, పబ్లిక్ మెంబర్ ఫంక్షన్, మెథడ్ (), ప్రైవేట్ మెంబర్‌ని యాక్సెస్ చేస్తుంది, num1. తరగతి వివరణలోని ఏ సభ్యుడైనా అదే తరగతి వివరణలోని ఇతర సభ్యుడిని యాక్సెస్ చేయవచ్చు; ఏ సభ్యుడు ప్రైవేట్ లేదా పబ్లిక్ అని పట్టింపు లేదు.



అయితే, తరగతి వర్ణనలో మరియు తరగతి వివరణ వెలుపల ప్రకటించబడని ఒక ఫంక్షన్ లేదా ఆపరేటర్ తరగతిలోని ప్రజా సభ్యులను మాత్రమే యాక్సెస్ చేయవచ్చు. ప్రధాన () ఫంక్షన్, ఉదాహరణకు, తరగతి వివరణ వెలుపల ప్రకటించబడిన ఫంక్షన్. ఇది పద్ధతి () మరియు TheCla () ప్రజా సభ్యులను మాత్రమే యాక్సెస్ చేయగలిగింది. ప్రధాన () ఫంక్షన్ లోపల, TheCla () ఫంక్షన్ ఆబ్జెక్ట్ (10, 20).

ప్రధాన () ఫంక్షన్ వంటి బయటి ఫంక్షన్ లేదా బయటి ఆపరేటర్, num1 లేదా num2 వంటి క్లాస్‌లోని ప్రైవేట్ మెంబర్‌లలో ఎవరినీ యాక్సెస్ చేయలేరు. ప్రధాన () లోని చివరి-కాని-ఒక ప్రకటన నుండి వ్యాఖ్య సూచిక, // ని తీసివేయండి. మీరు ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, ప్రోగ్రామ్ కంపైల్ చేయదని గమనించండి, దోష సందేశాన్ని ఇస్తుంది.

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

తరగతిది క్లా
{
intసంఖ్య 1;
intసంఖ్య 2;
ప్రజా:
ది క్లా(intn1,intn2)
{
సంఖ్య 1=n1;సంఖ్య 2=n2;
}
intపద్ధతి()
{
తిరిగిసంఖ్య 1;
}
};

గమనిక : యాక్సెస్ స్పెసిఫైయర్ లేబుల్ స్పెసిఫైయర్‌తో మొదలవుతుంది, తరువాత కోలన్ వస్తుంది.

రక్షిత స్పెసిఫైయర్

తరగతి వివరణ లోపల మరియు బయటి ఫంక్షన్ లేదా బయటి ఆపరేటర్ నుండి, రక్షిత స్పెసిఫైయర్ ప్రైవేట్ స్పెసిఫైయర్ వలె ఉంటుంది. ఇప్పుడు, పైన పేర్కొన్న ప్రోగ్రామ్‌లోని ప్రైవేట్ స్పెసిఫైయర్‌ని స్పెసిఫైయర్‌తో భర్తీ చేయండి, కామెంట్ ఇండికేటర్‌ని రక్షించండి మరియు తీసివేయండి, //, ప్రధాన () ఫంక్షన్‌లో చివరి-కాని-ఒక స్టేట్‌మెంట్ నుండి మీరు ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, ప్రోగ్రామ్ కంపైల్ చేయదని గమనించండి, దోష సందేశాన్ని ఇస్తుంది.

ఉత్పన్నమైన (వారసత్వంగా) తరగతి సభ్యులు తప్పనిసరిగా బేస్ (పేరెంట్) తరగతి సభ్యులను యాక్సెస్ చేసినప్పుడు రక్షిత స్పెసిఫైయర్ సమస్య వస్తుంది.

పబ్లిక్ ఉత్పన్నమైన తరగతి ప్రజా సభ్యులతో
కింది ప్రోగ్రామ్‌ని పరిగణించండి:

#చేర్చండి
ఉపయోగించి నేమ్‌స్పేస్గంటలు;

తరగతిది క్లా
{
ప్రజా:
intసంఖ్య 1= 10;
రక్షించబడింది:
intసంఖ్య 2= ఇరవై;
ప్రైవేట్:
intసంఖ్య 3= 30;
};

తరగతిచైల్డ్ క్లా: ప్రజాది క్లా
{
ప్రజా:
intపద్ధతి 1()
{
తిరిగిసంఖ్య 1;
}
intపద్ధతి 2()
{
తిరిగిసంఖ్య 2;
}
/*int పద్ధతి 3 ()
{
తిరిగి num3;
} * /

};

intప్రధాన()
{
చైల్డ్‌క్లా చైల్డ్ ఓబ్జె;
intసంఖ్య 1=చైల్డ్ Obj.పద్ధతి 1();
ఖరీదు<<సంఖ్య 1<<' n';

intనం 2=చైల్డ్ Obj.పద్ధతి 2();
ఖరీదు<<నం 2<<' n';

తిరిగి 0;
}

అవుట్‌పుట్ ఉంది:
10
ఇరవై

బేస్ క్లాస్‌లో, num1 పబ్లిక్, num2 రక్షించబడింది మరియు num3 ప్రైవేట్. ఉత్పన్నమైన తరగతిలో, సభ్యుల విధులన్నీ పబ్లిక్‌గా ఉంటాయి. మొదటి ఫంక్షన్, పద్ధతి 1 (), పబ్లిక్ డేటా సభ్యుడిని యాక్సెస్ చేస్తుంది, num1. రెండవ ఫంక్షన్, మెథడ్ 2 (), రక్షిత డేటా మెంబర్, num2 ని యాక్సెస్ చేస్తుంది. మూడవ ఫంక్షన్, పద్ధతి 3 (), ప్రస్తుతం వ్యాఖ్యానించినప్పటికీ, ప్రైవేట్ డేటా మెంబర్‌ని యాక్సెస్ చేయాలి, num3.

యాక్సెస్ స్పెసిఫైయర్ (పబ్లిక్, ప్రొటెక్టెడ్ లేదా ప్రైవేట్) లేకుండా ఉత్పన్నమైన క్లాస్ ప్రకటించబడదు. పైన, ఉత్పన్నమైన తరగతి పబ్లిక్ స్పెసిఫైయర్‌తో ప్రకటించబడింది, అంటే:

తరగతిచైల్డ్ క్లా: ప్రజాది క్లా{}

ఇప్పుడు ఉత్పన్నమైన తరగతిలో మూడవ సభ్యుల ఫంక్షన్ నిర్వచనాన్ని అన్-కామెంట్ చేయండి. మీరు ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, అది కంపైల్ చేయదని గమనించండి, దోష సందేశాన్ని ఇస్తుంది.

గమనిక : మొత్తం ఉత్పన్నమైన తరగతి పబ్లిక్‌గా ప్రకటించబడినప్పుడు, దాని సభ్యులు బేస్ క్లాస్ యొక్క ప్రైవేట్ సభ్యులను యాక్సెస్ చేయలేరు. అయితే, దాని సభ్యులు బేస్ క్లాస్ యొక్క పబ్లిక్ మరియు రక్షిత సభ్యులను యాక్సెస్ చేయవచ్చు. పై కార్యక్రమం దీనిని వివరిస్తుంది.

అయితే, పబ్లిక్ ఉత్పన్నమైన తరగతికి చెందిన పబ్లిక్ మెంబర్ బేస్ క్లాస్ యొక్క రక్షిత సభ్యుడిని యాక్సెస్ చేయగలరని గమనించండి.

ఉత్పన్నమైన తరగతి నిర్దేశకాలు మరియు సభ్యుల నిర్దేశకాలు

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

తరగతిచైల్డ్ క్లా: రక్షించబడిందిది క్లా{}

ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి మరియు ఫలితం మునుపటిలాగే ఉందని గమనించండి.

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

గమనిక : పబ్లిక్ ఉత్పన్న తరగతిలోని రక్షిత సభ్యుడు బేస్ క్లాస్ యొక్క రక్షిత సభ్యుడిని యాక్సెస్ చేయవచ్చు.

పబ్లిక్ సభ్యులతో ప్రైవేట్ డెరివ్డ్ క్లాస్
పైన పేర్కొన్న తరగతి యొక్క డిక్లరేషన్‌లో ఈ క్రింది విధంగా రక్షిత స్పెసిఫైయర్‌ని ప్రైవేట్‌గా భర్తీ చేయండి:

తరగతిచైల్డ్ క్లా: ప్రైవేట్ది క్లా{}

ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి మరియు ఫలితం మునుపటిలాగే ఉందని గమనించండి.

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

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

#చేర్చండి
ఉపయోగించి నేమ్‌స్పేస్గంటలు;

తరగతిది క్లా
{
ప్రజా:
intసంఖ్య 1= 10;
రక్షించబడింది:
intసంఖ్య 2= ఇరవై;
ప్రైవేట్:
intసంఖ్య 3= 30;
};

తరగతిచైల్డ్ క్లా: ప్రజాది క్లా
{
రక్షించబడింది:
intపద్ధతి 1()
{
తిరిగిసంఖ్య 1;
}
intపద్ధతి 2()
{
తిరిగిసంఖ్య 2;
}
/*int పద్ధతి 3 ()
{
తిరిగి num3;
} * /

};

intప్రధాన()
{
/*చైల్డ్‌క్లా చైల్డ్ ఓబ్జె;
int no1 = childObj.method1 ();
ఖరీదు<
/*int no2 = childObj.method2 ();
ఖరీదు<
తిరిగి 0;
}

కార్యక్రమం అలాగే పనిచేస్తుంది. అవుట్‌పుట్ లేదు మరియు ప్రోగ్రామ్ ఎలా టైప్ చేయబడిందనే దాని ఆధారంగా ఏదైనా అవుట్‌పుట్ ఉండకూడదు.

ఇప్పుడు, ఉత్పన్నమైన తరగతిలో, ఫంక్షన్ నిర్వచనం, పద్ధతి 3 () ను అన్-కామెంట్ చేయండి. మీరు ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, అది కంపైల్ చేయదని గమనించండి, దోష సందేశాన్ని ఇస్తుంది. దీని అర్థం బయటి ఫంక్షన్, బయటి ఆపరేటర్ లేదా ఉత్పన్నమైన తరగతి నుండి ప్రైవేట్ సభ్యుడిని యాక్సెస్ చేయలేము. ప్రైవేట్ సభ్యుని ప్రాప్యత గురించి పైన ముగించిన ముగింపు ఇదే.

గమనిక : రక్షిత ఉత్పన్న తరగతిలోని రక్షిత సభ్యుడు బేస్ క్లాస్ యొక్క రక్షిత సభ్యుడిని యాక్సెస్ చేయవచ్చు.

ఇప్పుడు, వ్యాఖ్యానాలను తిరిగి ఉత్పన్నమైన తరగతిలో ఉంచండి మరియు ప్రధాన () ఫంక్షన్‌లో మొదటి కోడ్ విభాగాన్ని వ్యాఖ్యానించవద్దు. మీరు ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, ప్రధాన () ఫంక్షన్‌లో మొదటి కోడ్ సెగ్మెంట్ కారణంగా ప్రోగ్రామ్ కంపైల్ చేయబడదని గమనించండి. ఈ ప్రభావం కొత్తది కాదు. ఉత్పన్నమైన తరగతి, వెలుపలి విధులు మరియు వెలుపల ఆపరేటర్లు కాకుండా, రక్షిత మరియు ప్రైవేట్ సభ్యులు (బేస్ లేదా ఉత్పన్నమైన) తరగతి ఒకే నిర్ధిష్టమైనది, ప్రైవేట్. ప్రధాన () ఫంక్షన్ ఏదైనా తరగతికి చెందిన రక్షిత సభ్యుడిని చూస్తుంది, అదే నిర్దిష్టంగా, ప్రైవేట్‌గా, ఆధారం లేదా ఉద్భవించి, దానిని యాక్సెస్ చేయడం నిషేధించబడింది.

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

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

తరగతిచైల్డ్ క్లా: రక్షించబడిందిది క్లా{}

కోడ్ సెగ్మెంట్‌ల వ్యాఖ్యను ప్రధాన () ఫంక్షన్‌లోకి తిరిగి పెట్టండి, ఇది ఇప్పటికే చేయకపోతే. ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి మరియు ఫలితం మునుపటిలాగే ఉందని గమనించండి.

రక్షిత సభ్యులతో ప్రైవేట్ ఉత్పన్న తరగతి
పైన పేర్కొన్న తరగతి యొక్క డిక్లరేషన్‌లో ఈ క్రింది విధంగా రక్షిత స్పెసిఫైయర్‌ని ప్రైవేట్‌గా భర్తీ చేయండి:

తరగతిచైల్డ్ క్లా: ప్రైవేట్ది క్లా

ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి మరియు ఫలితం మునుపటిలాగే ఉంటుందని గమనించండి.

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

తరగతిచైల్డ్ క్లా: ప్రజాది క్లా{}

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

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

తరగతిచైల్డ్ క్లా: రక్షించబడిందిది క్లా{}

ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి. ఈ ఫలితం రక్షిత సభ్యుల కేసుతో రక్షిత ఉత్పన్న తరగతికి భిన్నంగా లేదు.

ప్రైవేట్ సభ్యులతో ప్రైవేట్ డెరివ్డ్ క్లాస్
పైన పేర్కొన్న తరగతి యొక్క డిక్లరేషన్‌లో ఈ క్రింది విధంగా రక్షిత స్పెసిఫైయర్‌ని ప్రైవేట్‌గా భర్తీ చేయండి:

తరగతిచైల్డ్ క్లా: ప్రైవేట్ది క్లా{}

ప్రోగ్రామ్‌ను కంపైల్ చేసి అమలు చేయండి. ఈ ఫలితం ప్రైవేట్ డెరివ్డ్ క్లాస్ విత్ ప్రొటెక్టెడ్ మెంబర్స్ కేసుకి భిన్నంగా లేదు.

ముగింపు

C ++ యాక్సెస్ స్పెసిఫైయర్‌లు ప్రైవేట్, రక్షిత మరియు పబ్లిక్ అనే పదాలు. వారు ఒక తరగతి సభ్యుల కోసం ప్రాప్యతను నిర్ణయిస్తారు. యాక్సెస్ స్పెసిఫైయర్ యొక్క ప్రాంతం దాని లేబుల్ నుండి, క్లాస్ డిస్క్రిప్షన్ (డెఫినిషన్) ముగింపు వరకు లేదా మరొక యాక్సెస్ స్పెసిఫైయర్ ప్రారంభానికి మొదలవుతుంది. తరగతిలోని ఏ సభ్యుడైనా అదే తరగతిలోని ఇతర సభ్యుడిని యాక్సెస్ చేయవచ్చు. ఒక క్లాస్ యొక్క ప్రైవేట్ మెంబర్‌ని బయటి ఫంక్షన్, బయటి ఆపరేటర్ లేదా ఉత్పన్నమైన క్లాస్ ద్వారా యాక్సెస్ చేయలేరు.

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

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

తరగతిలో యాక్సెస్ స్పెసిఫైయర్ లేనప్పుడు, ప్రైవేట్ స్పెసిఫైయర్ భావించబడుతుంది. అంటే, డిఫాల్ట్ యాక్సెస్ స్పెసిఫైయర్ ప్రైవేట్.

ఈ పనిలో ఉపయోగించిన సూచనలు