బేసిక్స్ అర్థం చేసుకోవడం
C నుండి C++ ఫంక్షన్లను ప్రారంభించడం మరియు C++ ఆబ్జెక్ట్లను ఉపయోగించడం విషయానికి వస్తే, అనేక కీలక అంశాలను పరిగణనలోకి తీసుకోవడం అవసరం:
Cలో C++ తరగతులను సూచిస్తోంది
Cలోని C++ తరగతులను సూచించడానికి ఒక సాధారణ విధానం C మరియు C++ కోడ్ల మధ్య పాస్ చేయగల తరగతులకు పాయింటర్లను ఉపయోగించడం.
పేరు మాంగిల్
C లో గుర్తింపును ప్రభావితం చేసే పేరు మార్పులను నిరోధించడానికి, పేర్లను స్థిరంగా ఉంచడం చాలా ముఖ్యం. ఇది C విధులు మరియు వస్తువులను సరిగ్గా గుర్తించగలదని మరియు ఉపయోగించగలదని నిర్ధారిస్తుంది.
ద్వంద్వ ప్రయోజనం కోసం హెడర్ ఫైల్
హెడర్ ఫైల్ కీలక పాత్ర పోషిస్తుంది, ఇది C మరియు C++ రెండింటికీ ద్వంద్వ ప్రయోజనాన్ని అందిస్తుంది. ఇది C++ ద్వారా గుర్తించదగిన తరగతి నిర్వచనాలను కలిగి ఉంటుంది మరియు C కోసం యాక్సెసర్ ఫంక్షన్లను కలుపుతుంది.
C నుండి C++కి ఎలా కాల్ చేయాలి
C నుండి C++ ఫంక్షన్లను కాల్ చేయడానికి, బాహ్య “C” డిక్లరేషన్ కీలకం. C++ ఫంక్షన్లకు వర్తింపజేసినప్పుడు, కంపైలేషన్ ప్రక్రియలో ఫంక్షన్ పేర్లు C శైలిలో (C-లింకేజ్ని ఉపయోగించి) పరిగణించబడతాయని ఇది నిర్ధారిస్తుంది. C++ కంపైలేషన్ సమయంలో సంభవించే ఫంక్షన్ ఓవర్లోడింగ్ మరియు నేమ్ మ్యాంగ్లింగ్ వంటి C++ లక్షణాలను C గుర్తించలేదు. బాహ్య “C”ని ఉపయోగించి, C++ కంపైలర్ C సంప్రదాయాలకు కట్టుబడి ఉండే ఫంక్షన్ పేర్లను ఉత్పత్తి చేస్తుంది, ఇది అతుకులు లేని ఇంటర్ఆపరేబిలిటీని అనుమతిస్తుంది. ఈ డిక్లరేషన్ ప్రామాణికమైన ఇంటర్ఫేస్ను అందిస్తుంది, పేరు పెట్టే వైరుధ్యాలు లేదా అనుకూలత సమస్యలను ఎదుర్కోకుండా C++ ఫంక్షన్లను యాక్సెస్ చేయడానికి మరియు ఉపయోగించుకోవడానికి C కోడ్ని అనుమతిస్తుంది. C నుండి C++ని కాల్ చేయడానికి క్రింది ఉదాహరణలు ఉన్నాయి. ఈ కలయిక ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి, సందర్భాలను మరింత దగ్గరగా చూద్దాం.
ఆచరణాత్మక ఉదాహరణలు: C నుండి C++ కాల్ చేయడం ద్వారా సర్కిల్ యొక్క ప్రాంతాన్ని లెక్కించండి
ఈ సరళమైన ఉదాహరణలో, Cలో C++ ఫంక్షన్కి కాల్ చేయడం ద్వారా మీరు సర్కిల్ యొక్క వైశాల్యాన్ని ఎలా లెక్కించవచ్చో మేము మీకు మార్గనిర్దేశం చేస్తాము. ఈ కోడ్లో హెడర్ ఫైల్ (circle.h) మరియు ఇంప్లిమెంటేషన్ ఫైల్ (circle.cpp) ఉంటాయి. కోడ్ యొక్క మొదటి భాగం హెడర్ ఫైల్లో ఎక్స్టర్న్ సి డిక్లరేషన్ను కలిగి ఉంటుంది. క్రింది కోడ్ చూడండి. ఆపై, ఒక్కో లైన్లోని కోడ్ను ఒక్కొక్కటిగా విశదీకరిద్దాం:
#ifndef CIRCLE_AREA#సర్కిల్_ఏరియాని నిర్వచించండి
బాహ్య 'సి' {
రెట్టింపు గణించండి_CAప్రాంతం ( రెట్టింపు రాడ్ ) ;
}
#ఎండిఫ్
రెట్టింపు సర్కిల్_కేరియా ( రెట్టింపు రాడ్ ) {
తిరిగి 3.14159 * రాడ్ * రాడ్ ;
}
ప్రతి భాగాన్ని విచ్ఛిన్నం చేద్దాం:
#ifndef CIRCLE_AREA మరియు #CIRCLE_AREAని నిర్వచించండి
ఈ పంక్తులు సంకలన ప్రక్రియలో హెడర్ ఫైల్ యొక్క కంటెంట్లు ఒక్కసారి మాత్రమే చేర్చబడతాయని నిర్ధారిస్తూ ఉండే చేర్చబడిన గార్డ్లలో భాగం. CIRCLE_AREA నిర్వచించబడకపోతే, తదుపరి కోడ్ చేర్చబడుతుంది మరియు CIRCLE_AREA నిర్వచించబడుతుంది.
బాహ్య 'సి'ఈ సింటాక్స్ కింది ఫంక్షన్కి సి లింకేజ్ ఉందని ప్రకటించడానికి ఉపయోగించబడుతుంది. C మరియు C++ రెండింటి నుండి పిలవబడే కోడ్ను వ్రాసేటప్పుడు ఇది చాలా అవసరం.
రెట్టింపు గణించండి_CAప్రాంతం ( రెట్టింపు రాడ్ ) ;ఈ పంక్తి 'calculate_Carea' పేరుతో ఒక ఫంక్షన్ను ప్రకటిస్తుంది, అది డబుల్ ఆర్గ్యుమెంట్ (రాడ్) తీసుకొని డబుల్ను అందిస్తుంది.
హెడర్ ఫైల్లోని ఎక్స్టర్న్ “సి” డిక్లరేషన్ ఫంక్షన్ కోసం సి-స్టైల్ లింకేజీని ఉపయోగించమని కంపైలర్కు తెలియజేస్తుంది, ఇది సి కోడ్ నుండి కాల్ చేయదగినదిగా చేస్తుంది. 'circle.h' ఫైల్లో సేవ్ చేయడం ద్వారా సర్కిల్ యొక్క ప్రాంతాన్ని కనుగొనడానికి ఈ కోడ్ని ఉపయోగించండి. మీరు ఈ హెడర్ ఫైల్ను సేవ్ చేసిన తర్వాత, మీరు చేయాల్సిందల్లా దీన్ని C++ ప్రోగ్రామ్లో హెడర్ ఫైల్గా చేర్చి, కావలసిన ఫంక్షన్ను అమలు చేయండి. వృత్తం యొక్క వైశాల్యాన్ని లెక్కించే C కోడ్ క్రిందిది. “main.c” ఫైల్ C++ హెడర్ని కలిగి ఉంటుంది మరియు నేరుగా “Circle_Carea”కి కాల్ చేస్తుంది. కింది కోడ్ను చూడండి:
#'circle.h'ని చేర్చండిint ప్రధాన ( ) {
రెట్టింపు రాడ్లు = 5.0 ;
రెట్టింపు ప్రాంతం = సర్కిల్_కేరియా ( రాడ్లు ) ;
printf ( 'సర్కిల్ యొక్క ప్రాంతం: %.2f \n ' , ప్రాంతం ) ;
తిరిగి 0 ;
}
ఈ సాధారణ C ప్రోగ్రామ్ 'circle.h' అనే మునుపటి ఫైల్లో నిర్వచించబడిన ఫంక్షన్ని ఉపయోగించి సర్కిల్ యొక్క ప్రాంతాన్ని లెక్కిస్తుంది మరియు ప్రింట్ చేస్తుంది. కోడ్ను విచ్ఛిన్నం చేద్దాం:
#'circle.h'ని చేర్చండిఈ లైన్ ప్రోగ్రామ్లోని 'circle.h' హెడర్ ఫైల్ యొక్క కంటెంట్ను కలిగి ఉంటుంది. హెడర్ ఫైల్ సర్కిల్ లెక్కలకు సంబంధించిన ఫంక్షన్ డిక్లరేషన్లు లేదా మాక్రోలను కలిగి ఉండవచ్చు.
int ప్రధాన ( ) {ప్రోగ్రామ్ యొక్క ఎగ్జిక్యూషన్ ప్రధాన ఫంక్షన్, సి ప్రోగ్రామ్ల ఎంట్రీ పాయింట్తో ప్రారంభమవుతుంది.
రెట్టింపు రాడ్లు = 5.0 ;టైప్ డబుల్ యొక్క వేరియబుల్ రాడ్లు ప్రకటించబడ్డాయి మరియు 5.0 విలువతో కేటాయించబడతాయి. ఈ వేరియబుల్ వృత్తం యొక్క వ్యాసార్థాన్ని సూచిస్తుంది.
రెట్టింపు ప్రాంతం = సర్కిల్_కేరియా ( రాడ్లు ) ;'Circle_Carea' అనే ఫంక్షన్ని రేడియస్ రాడ్లతో ఆర్గ్యుమెంట్గా పిలుస్తారు మరియు ఫలితం వేరియబుల్ ఏరియాలో నిల్వ చేయబడుతుంది.
printf ( 'వృత్తం యొక్క వైశాల్యం: %.2f \n ' , ప్రాంతం ) ;ఫలితం “printf” ఉపయోగించి కన్సోల్కు ముద్రించబడుతుంది. 'వృత్తం యొక్క ప్రాంతం: %.2f\n' స్ట్రింగ్ అనేది ఏరియా విలువ కోసం '%f' ప్లేస్హోల్డర్తో కూడిన ఫార్మాట్ స్ట్రింగ్. “%.2f”లోని “.2” రెండు దశాంశ స్థానాలు మాత్రమే ప్రదర్శించబడాలని నిర్దేశిస్తుంది.
తిరిగి 0 ;ఆపరేటింగ్ సిస్టమ్కు విజయవంతమైన ప్రోగ్రామ్ అమలును సూచించే 0ని తిరిగి ఇవ్వడం ద్వారా ప్రధాన విధి ముగుస్తుంది.
సారాంశంలో, హెడర్ ఫైల్ C లింకేజ్తో ఒక ఫంక్షన్ను ప్రకటిస్తుంది మరియు ఇంప్లిమెంటేషన్ ఫైల్ సర్కిల్ యొక్క ప్రాంతాన్ని లెక్కించడానికి లాజిక్ను నిర్వచిస్తుంది. ఈ విభజన C మరియు C++ ప్రోగ్రామ్లలో కోడ్ని ఉపయోగించడానికి అనుమతిస్తుంది. కింది చిత్రంలో ఇవ్వబడిన కోడ్ అవుట్పుట్ను చూడండి:
మీరు అవుట్పుట్లో చూడగలిగినట్లుగా, సర్కిల్ యొక్క లెక్కించబడిన ప్రాంతం 78.54, ఇది ప్రాంతం = 3.14*5*5 = 78.54 యొక్క గణన. ప్రాంతాన్ని గణించే ఫంక్షన్ 'circle.h' హెడర్ ఫైల్లో నిర్వచించబడింది, ఇది బాహ్య 'C' సహాయంతో C++ ఫైల్లో పిలువబడుతుంది.
ముగింపు
మేము ఈ గైడ్లో మీ C ప్రోగ్రామ్లకు C++ని అనుసంధానించే ప్రక్రియ ద్వారా మీకు మార్గనిర్దేశం చేసాము. C++ ఫంక్షనాలిటీని C కోడ్బేస్లలోకి చేర్చడానికి పాయింటర్లు, నేమ్ మ్యాంగ్లింగ్ మరియు డ్యూయల్-పర్పస్ హెడర్ ఫైల్లను జాగ్రత్తగా పరిశీలించడం అవసరం. అందించిన ఉదాహరణలు ఈ ఏకీకరణను సాధించడానికి ఒక ఆచరణాత్మక విధానాన్ని వివరిస్తాయి. ఇప్పుడు మీరు ఈ రెండు ప్రోగ్రామింగ్ భాషలను ఎలా కనెక్ట్ చేయాలో చూసారు, మీకు మరిన్ని సాధనాలు ఉన్నాయి. Cతో పని చేస్తున్నప్పుడు C++ పవర్ను అన్లాక్ చేయడం వలన మీ ప్రాజెక్ట్లకు సరికొత్త స్థాయి కార్యాచరణను అందించవచ్చు.