కొన్ని ఆబ్జెక్ట్-బేస్డ్ ప్రోగ్రామింగ్ లాంగ్వేజ్లు 'సూపర్' కీవర్డ్ని కలిగి ఉంటాయి, ఇది బేస్ లేదా పేరెంట్ క్లాస్లోని ఫంక్షన్లు మరియు సభ్యులను ఇన్వోక్ చేయడానికి సబ్క్లాస్ని అనుమతిస్తుంది. కొన్ని ప్రోగ్రామింగ్ భాషలు 'సూపర్' కీవర్డ్ని ప్రత్యేకంగా ఎలా ఉపయోగించాలో నిర్ణయిస్తాయి. కానీ C++ విషయంలో, సూపర్ కీవర్డ్ను జావా మరియు పైథాన్ల మాదిరిగానే ఉపయోగించరు. ఈ ట్యుటోరియల్లో, మేము C++లో సూపర్ కీవర్డ్ల ఎమ్యులేషన్ని అధ్యయనం చేసి ప్రదర్శిస్తాము.
C++లో సూపర్ కీవర్డ్ను ఎలా అనుకరించాలి
'సూపర్' అని పిలువబడే కీవర్డ్ C++ కంపైలర్లో ముందే నిర్వచించబడలేదు. వారసత్వం మరియు ఫంక్షన్ ఓవర్రైడ్ దాని సూపర్క్లాస్ సభ్యులు మరియు పద్ధతులను తీసుకునే సబ్క్లాస్ను అభివృద్ధి చేయడానికి ఉపయోగించబడుతుంది. 'సూపర్ క్లాస్' యొక్క ఐడెంటిఫైయర్ మరియు మీరు ఆపరేటర్తో యాక్సెస్ చేయాలనుకుంటున్న సభ్యుడు లేదా పద్ధతిని అందించండి (::).
వాక్యనిర్మాణం
దిగువ చూపిన సింటాక్స్ని ఉపయోగించి సబ్క్లాస్లో “పేరెంట్_ఫంక్షన్()” వంటి పేరు ఉన్న “పేరెంట్_క్లాస్” అనే పేరు గల సూపర్క్లాస్లో మీరు పద్ధతిని యాక్సెస్ చేయవచ్చు:
parent_class::parent_function ( ) ;
ఉదాహరణ
పేరెంట్ క్లాస్ యొక్క లక్షణాలను యాక్సెస్ చేయడానికి సూపర్ కీవర్డ్ ఫంక్షనాలిటీని అనుకరించడానికి C++ని ఉపయోగించడం, స్కోప్ రిజల్యూషన్ ఆపరేటర్ (::)ని ఉపయోగించండి.
స్కోప్ రిజల్యూషన్ ఆపరేటర్ (::) మాతృ తరగతి నుండి ఒక తరగతి వారసత్వంగా పొందినప్పుడల్లా దాని సభ్యులను పొందేందుకు నియమించబడవచ్చు. కింది కోడ్ను ఉదాహరణగా పరిగణించండి:
#నేమ్స్పేస్ stdని ఉపయోగించడం;
తరగతి పునాది_తరగతి {
ప్రజా:
శూన్య బేస్ ఫంక్షన్ ( ) {
కోట్ << 'ఇది బేస్ క్లాస్ నుండి బేస్ ఫంక్షన్ అవుట్ అవుట్' << endl;
}
} ;
తరగతి ఉత్పన్నం_తరగతి: పబ్లిక్ బేస్_క్లాస్ {
ప్రజా:
శూన్యం dFunction ( ) {
బేస్_క్లాస్ :: బేస్ ఫంక్షన్ ( ) ;
కోట్ << 'ఇది బేస్ క్లాస్ నుండి బేస్ ఫంక్షన్ని యాక్సెస్ చేసే ఉత్పన్నమైన తరగతి' << endl;
}
} ;
పూర్ణాంక ప్రధాన ( ) {
ఉత్పన్నం_తరగతి డి;
d.dఫంక్షన్ ( ) ;
తిరిగి 0 ;
}
పై ప్రోగ్రామ్ బేస్ లేదా పేరెంట్ క్లాస్ బేస్ఫంక్షన్() నుండి ఫంక్షన్ను కలిగి ఉంది. మరొక ఉత్పన్నమైన తరగతి నిర్వచించబడింది, ఇది dFunction()లో బేస్ఫంక్షన్()ని యాక్సెస్ చేస్తుంది. ప్రధాన పద్ధతి మొదట derived_class యొక్క ఉదాహరణను సృష్టించడం మరియు బేస్ ఫంక్షన్() మరియు dFunction() రెండింటి అవుట్పుట్ను ప్రింట్ చేస్తున్న dFunction()ని కాల్ చేయడం.
ముగింపు
'సూపర్' కీవర్డ్ నేరుగా C++లో లేనప్పటికీ, వారసత్వం మరియు ఫంక్షన్ ఓవర్రైడ్లను కలపడం ద్వారా దాని ప్రవర్తనను అనుకరించవచ్చు. సబ్క్లాస్ అమలుకు వెళ్లే ముందు సూపర్క్లాస్ ఫంక్షన్లకు కాల్ చేయడం ద్వారా మేము సూపర్క్లాస్లోని మెథడ్స్ లేదా మెంబర్లను విజయవంతంగా కాల్ చేయవచ్చు మరియు ఉపయోగించవచ్చు. ఈ పోస్ట్ మీ మెరుగైన అవగాహన కోసం C++ కోడ్ యొక్క ఉదాహరణను కూడా అందించింది.