C ++ లో స్కోప్

Scope C



C ++ లోని ఒక ఎంటిటీకి పేరు ఉంది, దానిని డిక్లేర్ చేయవచ్చు మరియు/లేదా నిర్వచించవచ్చు. ఒక ప్రకటన అనేది ఒక నిర్వచనం, కానీ ఒక నిర్వచనం తప్పనిసరిగా ఒక ప్రకటన కాదు. నిర్వచనం పేరు పెట్టబడిన ఎంటిటీకి మెమరీని కేటాయిస్తుంది, కానీ డిక్లరేషన్ పేరు పెట్టబడిన ఎంటిటీకి మెమరీని కేటాయించవచ్చు లేదా కేటాయించకపోవచ్చు. డిక్లరేటివ్ రీజియన్ అనేది ప్రోగ్రామ్‌లో అతిపెద్ద భాగం, దీనిలో ఎంటిటీ (వేరియబుల్) పేరు చెల్లుబాటు అవుతుంది. ఆ ప్రాంతాన్ని స్కోప్ లేదా సంభావ్య స్కోప్ అంటారు. ఈ వ్యాసం C ++ లో స్కోపింగ్ గురించి వివరిస్తుంది. ఇంకా, ఈ కథనాన్ని అర్థం చేసుకోవడానికి C ++ లో ప్రాథమిక జ్ఞానం అవసరం.

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

డిక్లరేటివ్ రీజియన్ మరియు స్కోప్

డిక్లరేటివ్ రీజియన్ అనేది ప్రోగ్రామ్ టెక్స్ట్‌లో అతిపెద్ద భాగం, దీనిలో ఒక సంస్థ పేరు చెల్లుబాటు అవుతుంది. ఇది ఒకే సంస్థను సూచించడానికి అనర్హమైన పేరును ఉపయోగించగల ప్రాంతం (చూడవచ్చు). కింది చిన్న ప్రోగ్రామ్‌ని పరిగణించండి:







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

శూన్యంfn()
{
intఎక్కడ= 3;
ఉంటే (1==1)
{
ఖరీదు<<ఎక్కడ<<' n';
}
}

intప్రధాన()
{
fn();
తిరిగి 0;
}

ఫంక్షన్ fn () లో రెండు బ్లాక్‌లు ఉన్నాయి: if- కండిషన్ కోసం ఇన్నర్ బ్లాక్ మరియు ఫంక్షన్ బాడీకి blockటర్ బ్లాక్. ఐడెంటిఫైయర్, var పరిచయం చేయబడింది మరియు బాహ్య బ్లాక్‌లో కనిపిస్తుంది. ఇది కౌట్ స్టేట్‌మెంట్‌తో లోపలి బ్లాక్‌లో కూడా కనిపిస్తుంది. బయటి మరియు లోపలి బ్లాక్స్ అనేవి పేరు, వర్.



ఏదేమైనా, పేరు, var, ఇన్నర్ బ్లాక్‌లో ఫ్లోట్ వంటి విభిన్న ఎంటిటీని ప్రకటించడానికి ఇప్పటికీ ఉపయోగించవచ్చు. కింది కోడ్ దీనిని వివరిస్తుంది:



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

శూన్యంfn()
{
intఎక్కడ= 3;
ఉంటే (1==1)
{
తేలుతాయిఎక్కడ= 7.5;
ఖరీదు<<ఎక్కడ<<' n';
}
}

intప్రధాన()
{
fn();
తిరిగి 0;
}

అవుట్‌పుట్ 7.5. ఈ సందర్భంలో, వెలుపలి బ్లాక్‌లో ప్రవేశపెట్టబడిన (ప్రకటించబడిన) విలువ 3 యొక్క పూర్ణాంకాన్ని సూచించడానికి ఇన్నర్ బ్లాక్‌లో పేరు, var, ఇకపై ఉపయోగించబడదు. ఇటువంటి లోపలి బ్లాకులను బాహ్య బ్లాక్‌లో ప్రకటించిన సంస్థలకు సంభావ్య పరిధిగా సూచిస్తారు.





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

ఇన్నర్ బ్లాక్‌లో ఒకే పేరు యొక్క డిక్లరేషన్ సాధారణంగా ఆ ఇన్నర్ బ్లాక్ వెలుపల అదే పేరు యొక్క డిక్లరేషన్‌ను భర్తీ చేస్తుంది. ఇన్నర్ బ్లాక్స్ ఇతర లోపలి బ్లాక్‌లను గూడు కట్టుకోగలవు.



గ్లోబల్ స్కోప్

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

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

తేలుతాయిఎక్కడ= 9.4;

intప్రధాన()
{
ఖరీదు <<ఎక్కడ<<' n';
ఖరీదు <<::ఎక్కడ<<' n';

తిరిగి 0;
}

అవుట్‌పుట్:
9.4
9.4

ఈ సందర్భంలో, var కోసం డిక్లరేషన్ పాయింట్ నుండి var కోసం డిక్లరేటివ్ రీజియన్ లేదా స్కోప్ ప్రారంభమవుతుంది, ఫైల్ (ట్రాన్స్‌లేషన్ యూనిట్) చివరి వరకు క్రిందికి కొనసాగుతుంది.

ప్రధాన () ఫంక్షన్ యొక్క బ్లాక్ వేరే స్కోప్; ఇది గ్లోబల్ స్కోప్ కోసం ఒక గూడు పరిధి. గ్లోబల్ స్కోప్ యొక్క ఒక ఎంటిటీని యాక్సెస్ చేయడానికి, వేరే స్కోప్ నుండి, ఐడెంటిఫైయర్ నేరుగా ఉపయోగించబడుతుంది లేదా స్కోప్ రిజల్యూషన్ ఆపరేటర్ ద్వారా ముందుగా, ::.

గమనిక: ఎంటిటీ, మెయిన్ () కూడా గ్లోబల్ స్కోప్‌లో ప్రకటించబడింది.

బ్లాక్ స్కోప్

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

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

intప్రధాన()
{
ఉంటే (1==1)
{
/*కొన్ని స్టేట్‌మెంట్‌లు*/
intగుర్తింపు= 5;
ఖరీదు<<గుర్తింపు<<' n';
/*కొన్ని స్టేట్‌మెంట్‌లు*/
}
తిరిగి 0;
}

బ్లాక్ స్కోప్‌లో ప్రకటించబడిన ఐడెంటి వంటి వేరియబుల్ ఒక స్థానిక వేరియబుల్.

బ్లాక్ స్కోప్ వెలుపల ప్రకటించబడిన వేరియబుల్ బ్లాక్ హెడర్‌లో (ఉదాహరణకు, if-block కోసం పరిస్థితి) మరియు బ్లాక్ లోపల కూడా చూడవచ్చు. వేరియబుల్, ఐడెంటిఫై కోసం కింది షార్ట్ ప్రోగ్రామ్ దీనిని వివరిస్తుంది:

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

intప్రధాన()
{
intగుర్తించండి= 8;

ఉంటే (గుర్తించండి== 8)
{
ఖరీదు<<గుర్తించండి<<' n';
}
తిరిగి 0;
}

అవుట్‌పుట్ 8. ఇక్కడ రెండు బ్లాక్ స్కోప్‌లు ఉన్నాయి: ప్రధాన () ఫంక్షన్ కోసం బ్లాక్ మరియు నెస్టెడ్ if- కాంపౌండ్ స్టేట్‌మెంట్. సమూహ బ్లాక్ అనేది ప్రధాన () ఫంక్షన్ బ్లాక్ యొక్క సంభావ్య పరిధి.

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

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

intప్రధాన()
{
ఉంటే (1 == 1)
{
intవేరియబ్= పదిహేను;
}
ఖరీదు<<వేరియబ్<<' n'; // లోపం: దాని పరిధికి వెలుపల యాక్సెస్ చేయబడింది.

తిరిగి 0;
}

కంపైలర్ variab కోసం ఒక దోష సందేశాన్ని ఉత్పత్తి చేస్తుంది.

సమ్మేళనం ఫంక్షన్ యొక్క హెడర్‌లో ప్రకటించబడిన ఒక ఎంటిటీ, కాంపౌండ్ స్టేట్‌మెంట్ వెలుపల (దిగువన) కనిపించదు. కింది ఫర్-లూప్ కోడ్ కంపైల్ చేయబడదు, ఫలితంగా లోపం సందేశం వస్తుంది:

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

intప్రధాన()
{
కోసం (inti=0;i<4; ++i)
{
ఖరీదు<<i<<'';
}
ఖరీదు<<i<<'';

తిరిగి 0;
}

పునరుక్తి వేరియబుల్, i, ఫర్-లూప్ బ్లాక్ లోపల కనిపిస్తుంది కానీ ఫర్-లూప్ బ్లాక్ వెలుపల కాదు.

ఫంక్షన్ స్కోప్

ఫంక్షన్ బ్లాక్‌లో ఫంక్షన్ పరామితి కనిపిస్తుంది. ఫంక్షన్ బ్లాక్‌లో ప్రకటించబడిన ఎంటిటీ డిక్లరేషన్ పాయింట్ నుండి ఫంక్షన్ బ్లాక్ ముగింపు వరకు కనిపిస్తుంది. కింది షార్ట్ ప్రోగ్రామ్ దీనిని వివరిస్తుంది:

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

స్ట్రింగ్ fn(స్ట్రింగ్ str)
{
చార్స్ట్రి[] = 'అరటి';
/*ఇతర ప్రకటనలు*/
మొత్తం స్ట్రింగ్=p+స్ట్రి;
తిరిగిమొత్తం;
}

intప్రధాన()
{
స్ట్రింగ్ totStr=fn('ఆహారపు ');
ఖరీదు<<చివరకు<<' n';

తిరిగి 0;
}

అవుట్‌పుట్:
అరటిపండ్లు తినడం

గమనిక: ఫంక్షన్ వెలుపల ప్రకటించబడిన ఎంటిటీ (దాని పైన) ఫంక్షన్ పరామితి జాబితాలో మరియు ఫంక్షన్ బ్లాక్‌లో కూడా చూడవచ్చు.

లేబుల్

లేబుల్ యొక్క పరిధి అనేది కనిపించే ఫంక్షన్. కింది కోడ్ దీనిని వివరిస్తుంది:

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

శూన్యంfn()
{
గోటోలేబుల్;
/*ఇతర ప్రకటనలు*/
లేబుల్: intకాదు= 2;
ఖరీదు<<కాదు<<' n';
}

intప్రధాన()
{
fn();

తిరిగి 0;
}

అవుట్‌పుట్ 2.

గణన పరిధి

గుర్తించబడని గణన
కింది if-block ని పరిగణించండి:

ఉంటే (1==1)
{
ఎనమ్ {a, b, c=బి+2};
ఖరీదు<<కు<<''<<బి<<''<<c<<' n';
}

అవుట్‌పుట్ 0 1 3.

బ్లాక్‌లోని మొదటి పంక్తి ఒక గణన, a, b మరియు c దాని గణకులు. ఎన్యూమరేటర్ యొక్క పరిధి డిక్లరేషన్ పాయింట్ నుండి ఎన్యూమరేషన్ యొక్క పరివేష్టిత బ్లాక్ ముగింపు వరకు ప్రారంభమవుతుంది.

కింది ప్రకటన కంపైల్ చేయబడదు ఎందుకంటే c డిక్లరేషన్ పాయింట్ ఒక దాని తర్వాత ఉంటుంది:

ఎనమ్ {కు=c+2, బి, సి};

కింది కోడ్ సెగ్మెంట్ కంపైల్ చేయబడదు ఎందుకంటే ఎన్యూమరేటర్‌ని ఎన్‌క్యుమరేషన్ బ్లాక్‌ తర్వాత యాక్సెస్ చేస్తారు:

ఉంటే (1==1)
{
ఎనమ్ {a, b, c=బి+2};
}
ఖరీదు<<కు<<''<<బి<<''<<c<<' n'; // లోపం: పరిధికి మించినది

పై గణనను అన్‌స్కోప్డ్ ఎన్యూమరేషన్‌గా వర్ణించారు, మరియు దాని ఎన్యూమరేటర్‌లను అన్‌స్కోప్డ్ ఎన్యూమరేటర్స్‌గా వర్ణించారు. ఎందుకంటే ఇది రిజర్వ్డ్-వర్డ్, ఎనమ్‌తో మాత్రమే ప్రారంభమవుతుంది. ఎనమ్ క్లాస్ లేదా ఎనమ్ స్ట్రక్ట్‌తో ప్రారంభమయ్యే ఎన్యూమరేషన్‌లు స్కోప్డ్ ఎన్యూమరేషన్స్‌గా వర్ణించబడ్డాయి. వారి గణకులు స్కోప్డ్ ఎన్యూమరేటర్లుగా వర్ణించబడ్డారు.

స్కోప్డ్ ఎన్యూమరేషన్
కింది ప్రకటన సరే:

ఎనమ్ తరగతిపురుషుడు{a, b, c=బి+2};

స్కోప్డ్ ఎన్యూమరేషన్‌కు ఇది ఒక ఉదాహరణ. తరగతి పేరు నామ్. ఇక్కడ, ఎన్యూమరేటర్ యొక్క పరిధి డిక్లరేషన్ పాయింట్ నుండి ఎన్యూమరేషన్ నిర్వచనం ముగింపు వరకు మొదలవుతుంది, మరియు ఎన్యుమరేషన్ కోసం ఎన్‌క్లోసింగ్ బ్లాక్ ముగింపు కాదు. కింది కోడ్ కంపైల్ చేయబడదు:

ఉంటే (1==1)
{
ఎనమ్ తరగతిపురుషుడు{a, b, c=బి+2};
ఖరీదు<<కు<<''<<బి<<''<<c<<' n'; // లోపం: ఎనమ్ క్లాస్ లేదా ఎనమ్ స్ట్రక్చర్ కోసం పరిధి లేదు
}

తరగతి పరిధి

సాధారణ స్కోపింగ్‌తో, డిక్లరేటివ్ ప్రాంతం ఒక పాయింట్ నుండి ప్రారంభమవుతుంది, తర్వాత కొనసాగుతుంది మరియు వేరే పాయింట్ వద్ద ఆగిపోతుంది. పరిధి ఒక నిరంతర ప్రాంతంలో ఉంది. తరగతితో, ఒక సంస్థ యొక్క పరిధి కలిసి చేరని వివిధ ప్రాంతాలలో ఉంటుంది. సమూహ బ్లాక్‌ల కోసం నియమాలు ఇప్పటికీ వర్తిస్తాయి. కింది కార్యక్రమం దీనిని వివరిస్తుంది:

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

// బేస్ క్లాస్
తరగతిక్లా
{
ప్రైవేట్:
intఎంపిపి= 5;
రక్షించబడింది:
intమెమ్‌ప్రో= 9;
ప్రజా:
శూన్యంfn()
{
ఖరీదు<<ఎంపిపి<<' n';
}
};

// ఉత్పన్నమైన తరగతి
తరగతిడెర్క్లా: ప్రజాక్లా
{
ప్రజా:
intడెర్మెమ్=మెమ్‌ప్రో;
};
intప్రధాన()
{
క్లా ఆబ్జెక్ట్;
ఆబ్జెక్ట్fn();
DerCla derObj;
ఖరీదు<<derObj.డెర్మెమ్<<' n';

తిరిగి 0;
}

అవుట్‌పుట్:
5
9

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

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

స్కోప్ రిజల్యూషన్ ఆపరేటర్
C ++ లో స్కోప్ రిజల్యూషన్ ఆపరేటర్ ::. క్లాస్‌లోని స్టాటిక్ మెంబర్‌ని యాక్సెస్ చేయడానికి ఇది ఉపయోగించబడుతుంది. కింది కార్యక్రమం దీనిని వివరిస్తుంది:

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

తరగతిక్లా
{
ప్రజా:
స్టాటిక్ int కానిస్టేట్మీమ్= 5;
ప్రజా:
స్టాటిక్ శూన్యంfn()
{
ఖరీదు<<మీమ్<<' n';
}
};
intప్రధాన()
{
ఖరీదు<<క్లా::మీమ్<<' n';
క్లా::fn();

తిరిగి 0;
}

అవుట్‌పుట్:
5
5

స్టాటిక్ సభ్యులు ప్రధాన () ఫంక్షన్ బ్లాక్‌లో కనిపిస్తారు, స్కోప్ రిజల్యూషన్ ఆపరేటర్‌ను ఉపయోగించి యాక్సెస్ చేయవచ్చు.

మూస పరామితి స్కోప్

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

టెంప్లేట్<ఇంటిపేరుT,ఇంటిపేరుయు> నిర్మాణాత్మకయుగాలు
{
టి జాన్= పదకొండు;
మీరు పీటర్= 12.3;
టి మేరీ= 13;
యు జాయ్= 14.6;
};

U మరియు T బ్లాక్ లోపల కనిపిస్తాయి.

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

టెంప్లేట్<ఇంటిపేరుT,ఇంటిపేరుయు> శూన్యంఫంక్షన్(నువ్వు కాదు, చ,కానిస్టేట్ చార్ *p);

అయితే, తరగతి వివరణ (నిర్వచనం) విషయానికి వస్తే, కింది కోడ్‌లో ఉన్నట్లుగా స్కోప్ వివిధ భాగాలలో కూడా ఉంటుంది:

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

టెంప్లేట్<తరగతిT,తరగతియు> తరగతిది క్లా
{
ప్రజా:
t నం;
స్టాటిక్యు చ;

శూన్యంఫంక్షన్(యు తండ్రి,కానిస్టేట్ చార్ *p)
{
ఖరీదు << 'ఉన్నాయి ' <<ఒకదానిపై<< 'విలువైన పుస్తకాలు' <<లేదు<<p<< 'స్టోర్‌లో.' << ' n';
}
స్టాటిక్ శూన్యంసరదాగా(యు చ)
{
ఉంటే (== 'కు')
ఖరీదు << 'అధికారిక స్టాటిక్ మెంబర్ ఫంక్షన్' << ' n';
}
};

intప్రధాన()
{
ది క్లా<int,చార్>ఆబ్జెక్ట్;
ఆబ్జెక్ట్ఒకదానిపై = 12;
ఆబ్జెక్ట్ఫంక్షన్('$','500');

తిరిగి 0;
}

పేరు దాచడం

ఒకే వస్తువు రకం పేరును ఒక సమూహ బ్లాక్‌లో తిరిగి ప్రకటించినప్పుడు పేరు దాచడానికి ఒక ఉదాహరణ వస్తుంది. కింది కార్యక్రమం దీనిని వివరిస్తుంది:

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

శూన్యంfn()
{
intఎక్కడ= 3;
ఉంటే (1==1)
{
intఎక్కడ= 4;
ఖరీదు<<ఎక్కడ<<' n';
}
ఖరీదు<<ఎక్కడ<<' n';
}

intప్రధాన()
{
fn();
తిరిగి 0;
}

అవుట్‌పుట్:
4
3

ఎందుకంటే సమూహ బ్లాక్‌లోని వర్ బాహ్య బ్లాక్‌లో వర్ దాచిపెట్టింది.

అదే పరిధిలో పునరావృత ప్రకటనకు అవకాశం

డిక్లరేషన్ యొక్క పాయింట్ పేరు దాని పరిధిలో (మొదటి సారి) ప్రవేశపెట్టబడింది.

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

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

శూన్యంfn(intఒకదానిపై);
శూన్యంfn(intఒకదానిపై);

శూన్యంfn(intఒకదానిపై)
{
ఖరీదు<<ఒకదానిపై<<' n';
}

intప్రధాన()
{
fn(5);

తిరిగి 0;
}

కార్యక్రమం పనిచేస్తుంది.

ఓవర్‌లోడ్ విధులు
ఓవర్‌లోడ్ ఫంక్షన్‌లు ఒకే పేరుతో ఉండే విధులు కానీ విభిన్న ఫంక్షన్ సంతకాలు. మరొక మినహాయింపుగా, ఒకే పేరుతో ఓవర్‌లోడ్ చేసిన ఫంక్షన్‌లను అదే పరిధిలో నిర్వచించవచ్చు. కింది కార్యక్రమం దీనిని వివరిస్తుంది:

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

శూన్యంfn(intఒకదానిపై)
{
ఖరీదు<<ఒకదానిపై<<' n';
}

శూన్యంfn(తేలుతాయిలేదు)
{
ఖరీదు<<లేదు<<' n';
}

intప్రధాన()
{
fn(5);
తేలుతాయిflt= 8.7;
fn(flt);

తిరిగి 0;
}

అవుట్‌పుట్:
5
8.7

ఓవర్‌లోడ్ ఫంక్షన్‌లు గ్లోబల్ స్కోప్‌లో నిర్వచించబడ్డాయి.

నేమ్‌స్పేస్ స్కోప్

నేమ్‌స్పేస్ స్కోప్ దాని స్వంత కథనానికి అర్హమైనది. ఈ వ్యాసం ఈ వెబ్‌సైట్, linuxhint.com కోసం వ్రాయబడింది. ఈ సైట్ (పేజీ) లోని సెర్చ్ బాక్స్‌లో నేమ్‌స్పేస్ స్కోప్ అనే సెర్చ్ పదాలను టైప్ చేసి, సరే క్లిక్ చేయండి, అప్పుడు మీరు కథనాన్ని పొందుతారు.

వివిధ భాగాలలో స్కోప్

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

ముగింపు

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