సి ++ ఒక ప్రకృతిలో మరియు ఇది వివిధ లక్షణాలను కలిగి ఉంది. ఈ సెషన్లో సి ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఫంక్షన్ ఓవర్రైడింగ్ను ఎలా అమలు చేయాలో చర్చిస్తాము.
ఈ వ్యాసంలో క్రింది గమనికలు కవర్ చేయబడతాయి,
C ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్పై ఈ కథనంతో కదులుతోంది
మార్పిడి రకం ++
ఫంక్షన్ ఓవర్లోడింగ్
ఒకే పేరు కలిగిన విధులు కానీ వేర్వేరు పారామితులు C ++ లో అనుమతించబడతాయి మరియు దీనిని పిలుస్తారు ఫంక్షన్ ఓవర్లోడింగ్ . దీనిని కంపైల్-టైమ్ పాలిమార్ఫిజం అని కూడా అంటారు.
ఉదాహరణకి:
sum (int a, float b) sum (int a, int b) sum (int a, int b, int c)
ఇక్కడ, ఒకే పేరుతో మూడు విధులు ఉన్నాయి, కానీ వాటిని వేరుచేసే ఏకైక విషయం ఏమిటంటే, ప్రతి దానిపై పారామితులు భిన్నంగా ఉంటాయి. కాబట్టి, ఆమోదించిన పారామితులను బట్టి, ఒక ఫంక్షన్ అంటారు.
ఫంక్షన్ల రిటర్న్ రకాలు భిన్నంగా ఉంటే అది చెల్లదు.
C ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్పై ఈ కథనంతో కదులుతోంది
లోడ్ అవుతున్న ఫంక్షన్ కోసం నమూనా కోడ్
నేమ్స్పేస్ను ఉపయోగించడం చేర్చండి {పబ్లిక్: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {అదనంగా ఒక కోట్<అవుట్పుట్
వివరణ
పై ప్రోగ్రామ్లో, అదనంగా తరగతిలో మాకు రెండు విధులు ఉన్నాయి. రెండూ యాడ్. ఒకదానికి 2 పారామితులు, మరొకటి 3 పారామితులను కలిగి ఉంటాయి.
ప్రధాన ఫంక్షన్లో, మేము క్లాస్ చేరిక యొక్క ఒక వస్తువును సృష్టిస్తాము. మేము యాడ్ ఫంక్షన్లను వరుసగా 2 మరియు 3 పారామితులతో పిలుస్తాము మరియు యాడ్ ఫంక్షన్లను పిలుస్తారు మరియు అవి అదనంగా చేస్తాయి.
ఫంక్షన్ ఓవర్లోడింగ్ ఈ విధంగా జరుగుతుంది.
C ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్పై ఈ కథనంతో కదులుతోంది
ఫంక్షన్ ఓవర్రైడింగ్
ఉత్పన్నమైన తరగతికి బేస్ క్లాస్ యొక్క ఫంక్షన్ వలె అదే పేరుతో ఒక ఫంక్షన్ ఉన్నప్పుడు, దానిని అంటారు ఫంక్షన్ ఓవర్రైడింగ్. రెండు ఫంక్షన్లలో రెండు తరగతులలో ఒకే పారామితులు ఉండాలి.
ఫంక్షన్ ఓవర్రైడింగ్ కోసం నమూనా కోడ్
# నేమ్స్పేస్ను ఉపయోగించడం చేర్చండి తరగతి క్లాస్ బేస్ క్లాస్ {పబ్లిక్: శూన్యమైన డిస్ప్ () out కౌట్<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 }అవుట్పుట్:
వివరణ:
పై ప్రోగ్రామ్లో, మేము ప్రాథమిక ఫంక్షన్ను చూపిస్తాము, అదే పేరు ఉత్పన్నమైన మరియు బేస్ క్లాస్లో. ఇక్కడ ఆబ్జెక్ట్ ఉత్పన్నమైన క్లాస్ నుండి సృష్టించబడుతుంది కాబట్టి మనం డిస్ప్లే అని పిలిచినప్పుడు చైల్డ్ క్లాస్ ఆబ్జెక్ట్ మాత్రమే ప్రదర్శించబడుతుంది.
C ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్పై ఈ కథనంతో కదులుతోంది
ఓవర్రైడింగ్ చేయడానికి ఆర్డర్
కోడ్ను పరిగణించండి:
# నేమ్స్పేస్ను ఉపయోగించడం చేర్చండి తరగతి క్లాస్ బేస్ క్లాస్ {పబ్లిక్: శూన్యమైన డిస్ప్ () out కౌట్<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 }అవుట్పుట్:
వివరణ:
పై ప్రోగ్రామ్లో, మేము ప్రాథమిక ఫంక్షన్ను చూపిస్తాము, అదే పేరు ఉత్పన్నమైన మరియు బేస్ క్లాస్లో. ఇక్కడ, మునుపటి ప్రోగ్రామ్ నుండి ఉన్న తేడా ఏమిటంటే. మేము పిల్లల తరగతి యొక్క వస్తువును సృష్టిస్తాము. చైల్డ్ క్లాస్ ఆబ్జెక్ట్ బేస్ క్లాస్ యొక్క సూచన ఇవ్వబడుతుంది. మరొక పద్ధతిని ఉపయోగించడం ద్వారా కూడా ఇది చేయవచ్చు,
సింటాక్స్
పేరెంట్_క్లాస్_పేరు :: ఫంక్షన్ ()పై ఉదాహరణలో, మేము దీనిని ఇలా ఉపయోగిస్తాము,
బేస్ క్లాస్ :: disp ()ఇది అధిగమించడానికి మరొక మార్గం.
ఫంక్షన్ ఓవర్లోడింగ్ VS ఫంక్షన్ ఓవర్రైడింగ్
ఫంక్షన్ ఓవర్లోడ్ ఫంక్షన్ ఓవర్రైడ్ పరిధి ఒకటే పరిధి భిన్నంగా ఉంటుంది సంతకాలు భిన్నంగా ఉండాలి (ఉదా: పరామితి) సంతకాలు ఒకేలా ఉండాలి ఓవర్లోడింగ్ ఫంక్షన్ల సంఖ్య ఒకే ఓవర్రైడింగ్ ఫంక్షన్ సాధ్యమే వారసత్వం లేకుండా సంభవించవచ్చు ఇది ప్రధానంగా వారసత్వం కారణంగా సంభవిస్తుంది ఈ విధంగా ‘సి ++ లో ఫంక్షన్ ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్’ పై ఈ వ్యాసం ముగిసింది. మీరు మరింత తెలుసుకోవాలనుకుంటే, చూడండి విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు కోర్ మరియు అధునాతన జావా భావనలతో పాటు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్వర్క్ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.
మాకు ప్రశ్న ఉందా? దయచేసి ఈ బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో దీనిని ప్రస్తావించండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.