diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/02. ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 25)-45uo_2It9dw.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/02. ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 25)-45uo_2It9dw.txt index 6395b19289ff6c96c4eb0d30463fac1d44e78483..c311c55c62d0e663582be6d3f73c6be0ad2a7490 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/02. ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 25)-45uo_2It9dw.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/02. ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 25)-45uo_2It9dw.txt @@ -1,433 +1,433 @@ - 1. ఈ మాడ్యూల్‌లో, మేము ఇప్పటికే వివిధ రకాల కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల ద్వారా ఆబ్జెక్ట్ కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల గురించి చర్చించాము. - 2. కంపైలర్(compiler) అందించే ఉచిత కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల గురించి మాట్లాడాం. - 3. వీటిలో అన్నింటికీ అమర్చారు, ఇప్పుడు మేము ఆబ్జెక్ట్ (object) జీవితకాలంగా పిలిచేపిలువబడే దానిపై లోతుగా ఆలోచిస్తాము. - 4. ఎక్కడ, ఒక వస్తువు ఎప్పుడు సిద్ధంగా ఉంది మరియు ఎంతసేపు ఉపయోగించబడుతుందనే ప్రాథమిక ప్రశ్నకు మేము సమాధానం ఇస్తాము. + ఈ మాడ్యూల్‌లో, మేము ఇప్పటికే వివిధ రకాల కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల ద్వారా ఆబ్జెక్ట్ కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల గురించి చర్చించాము. + కంపైలర్(compiler) అందించే ఉచిత కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్ల గురించి మాట్లాడాం. + వీటిలో అన్నింటికీ అమర్చారు, ఇప్పుడు మేము ఆబ్జెక్ట్ (object) జీవితకాలంగా పిలిచేపిలువబడే దానిపై లోతుగా ఆలోచిస్తాము. + ఎక్కడ, ఒక వస్తువు ఎప్పుడు సిద్ధంగా ఉంది మరియు ఎంతసేపు ఉపయోగించబడుతుందనే ప్రాథమిక ప్రశ్నకు మేము సమాధానం ఇస్తాము. - 5. అందువల్ల, నేను అప్లికేషన్ యొక్క ప్రాథమిక నైరూప్య చార్టుతో ప్రారంభిస్తాను. + అందువల్ల, నేను అప్లికేషన్ యొక్క ప్రాథమిక నైరూప్య చార్టుతో ప్రారంభిస్తాను. - 6. కాబట్టి, ఎడమ వైపున నా అప్లికేషన్ ఉంది, అనగా, ఒక ఫంక్షన్ (ఫంక్షన్) MyFunc అని చెప్పండి, ఇది అర్ధవంతమైనది కాదు. + కాబట్టి, ఎడమ వైపున నా అప్లికేషన్ ఉంది, అనగా, ఒక ఫంక్షన్ (ఫంక్షన్) MyFunc అని చెప్పండి, ఇది అర్ధవంతమైనది కాదు. - 7. ఇది కేవలం ఒక ఫంక్షన్ MyFunc మరియు నా సంక్లిష్ట తరగతి కోసం క్లాస్ కోడ్ యొక్క స్నిప్పెట్ యొక్క కుడి వైపున, అవి తప్పనిసరిగా మూడు సంకేతాలను కలిగి ఉంటాయి. - 8. నేను ఇక్కడ పెంచాను; కన్స్ట్రక్టర్ కోడ్, కట్టుబాటు () అని పిలువబడే సభ్యుల ఫంక్షన్, ఇది ప్రామాణిక సంఖ్య మరియు డిస్ట్రక్టర్ కోడ్‌ను కనుగొంటుంది. + ఇది కేవలం ఒక ఫంక్షన్ MyFunc మరియు నా సంక్లిష్ట తరగతి కోసం క్లాస్ కోడ్ యొక్క స్నిప్పెట్ యొక్క కుడి వైపున, అవి తప్పనిసరిగా మూడు సంకేతాలను కలిగి ఉంటాయి. + నేను ఇక్కడ పెంచాను; కన్స్ట్రక్టర్ కోడ్, కట్టుబాటు () అని పిలువబడే సభ్యుల ఫంక్షన్, ఇది ప్రామాణిక సంఖ్య మరియు డిస్ట్రక్టర్ కోడ్‌ను కనుగొంటుంది. - 9. కాబట్టి, ఏమి జరగబోతోందో పరిశీలిస్తే? తక్షణం నుండి, MyFunc ఫంక్షన్‌ను కొంతమంది కాలర్ పిలుస్తారు, MyFunc దాని అమలును పూర్తి చేసి, కాలర్‌కు నియంత్రణను తిరిగి ఇస్తుంది. + కాబట్టి, ఏమి జరగబోతోందో పరిశీలిస్తే? తక్షణం నుండి, MyFunc ఫంక్షన్‌ను కొంతమంది కాలర్ పిలుస్తారు, MyFunc దాని అమలును పూర్తి చేసి, కాలర్‌కు నియంత్రణను తిరిగి ఇస్తుంది. - 10. MyFunc యొక్క ఈ పరిధిలో నిర్వచించబడిన వస్తువులకు ఏమి జరుగుతుందో చూడటానికి ప్రయత్నిద్దాం. + MyFunc యొక్క ఈ పరిధిలో నిర్వచించబడిన వస్తువులకు ఏమి జరుగుతుందో చూడటానికి ప్రయత్నిద్దాం. - 11. ఇవి సంక్లిష్టమైన సి లాంటి వస్తువులు, ఈ ఫంక్షన్ పరిధిలో స్థానికంగా నిర్వచించబడతాయి. + ఇవి సంక్లిష్టమైన సి లాంటి వస్తువులు, ఈ ఫంక్షన్ పరిధిలో స్థానికంగా నిర్వచించబడతాయి. - 12. వీటిని సాధారణంగా ఆటోమేటెడ్ ఆబ్జెక్ట్స్ అంటారు. + వీటిని సాధారణంగా ఆటోమేటెడ్ ఆబ్జెక్ట్స్ అంటారు. - 13. ఇప్పుడు, జరుగుతున్న సంఘటనల క్రమాన్ని తెలుసుకోవడానికి. + ఇప్పుడు, జరుగుతున్న సంఘటనల క్రమాన్ని తెలుసుకోవడానికి. - 14. వ్యాఖ్యలలో, ఈవెంట్ నంబర్లు E1, E2 వంటి కొన్ని వ్యాఖ్యలను నేను అర్థం చేసుకున్నట్లు మీరు చూస్తారు. + వ్యాఖ్యలలో, ఈవెంట్ నంబర్లు E1, E2 వంటి కొన్ని వ్యాఖ్యలను నేను అర్థం చేసుకున్నట్లు మీరు చూస్తారు. - 15. ఈ సంఖ్యలు సంఘటనలు జరిగే క్రమాన్ని చూపుతాయి. - 16. కాబట్టి, మొదటి సంఘటన E1, ఇక్కడ ఫంక్షన్ అంటారు; అంటే ఫంక్షన్ అని పిలువబడిన వెంటనే, స్టాక్‌పై కేటాయింపు స్టాక్ ఫ్రేమ్. + ఈ సంఖ్యలు సంఘటనలు జరిగే క్రమాన్ని చూపుతాయి. + కాబట్టి, మొదటి సంఘటన E1, ఇక్కడ ఫంక్షన్ అంటారు; అంటే ఫంక్షన్ అని పిలువబడిన వెంటనే, స్టాక్‌పై కేటాయింపు స్టాక్ ఫ్రేమ్. - 17. ఈ ఫంక్షన్ మరియు ఈ లోకల్ వేరియబుల్ ప్రకారం, ఈ లోకల్ ఆబ్జెక్ట్ సి ఆ స్టాక్ ఫ్రేమ్‌లో కేటాయింపును కలిగి ఉంది, ఇది దాని మెమరీ స్థానాన్ని ఇస్తుంది, చివరికి ఇది ఈ పాయింటర్‌గా మారుతుంది. + ఈ ఫంక్షన్ మరియు ఈ లోకల్ వేరియబుల్ ప్రకారం, ఈ లోకల్ ఆబ్జెక్ట్ సి ఆ స్టాక్ ఫ్రేమ్‌లో కేటాయింపును కలిగి ఉంది, ఇది దాని మెమరీ స్థానాన్ని ఇస్తుంది, చివరికి ఇది ఈ పాయింటర్‌గా మారుతుంది. - 18. కాబట్టి, E1 లో ఇదే జరుగుతుంది మరియు తరువాత నియంత్రణ ఆన్ చేయబడుతుంది. + కాబట్టి, E1 లో ఇదే జరుగుతుంది మరియు తరువాత నియంత్రణ ఆన్ చేయబడుతుంది. - 19. మనం పట్టించుకోని మధ్యలో ఏదో ఉంది. + మనం పట్టించుకోని మధ్యలో ఏదో ఉంది. - 20. మరియు, రెండవ సంఘటన E2 అయినప్పుడు, నియంత్రణ C యొక్క ఇన్‌స్టాంటియేషన్‌ను దాటబోయే దశకు వస్తుంది; అంటే, ఈ తరగతికి కన్స్ట్రక్టర్‌ను పిలుస్తారు; అంటే స్టాక్ ఫ్రేమ్‌లోని కేటాయింపు సి ఆబ్జెక్ట్ చిరునామాతో నియంత్రణ ఇక్కడకు వెళుతుంది. + మరియు, రెండవ సంఘటన E2 అయినప్పుడు, నియంత్రణ C యొక్క ఇన్‌స్టాంటియేషన్‌ను దాటబోయే దశకు వస్తుంది; అంటే, ఈ తరగతికి కన్స్ట్రక్టర్‌ను పిలుస్తారు; అంటే స్టాక్ ఫ్రేమ్‌లోని కేటాయింపు సి ఆబ్జెక్ట్ చిరునామాతో నియంత్రణ ఇక్కడకు వెళుతుంది. - 21. ఇది కన్స్ట్రక్టర్ వద్దకు చేరుకున్నప్పుడు, ప్రారంభించడం మొదట జరగాలి; దీని అర్థం, కన్స్ట్రక్టర్ యొక్క శరీరం అమలు చేయడాన్ని ప్రారంభించడానికి ముందు, ప్రారంభ జాబితాలో జాబితా చేయబడిన అన్ని డేటా సభ్యులు ఒకదాని తరువాత ఒకటి పేర్కొన్న విలువతో ప్రారంభించబడతారు. + ఇది కన్స్ట్రక్టర్ వద్దకు చేరుకున్నప్పుడు, ప్రారంభించడం మొదట జరగాలి; దీని అర్థం, కన్స్ట్రక్టర్ యొక్క శరీరం అమలు చేయడాన్ని ప్రారంభించడానికి ముందు, ప్రారంభ జాబితాలో జాబితా చేయబడిన అన్ని డేటా సభ్యులు ఒకదాని తరువాత ఒకటి పేర్కొన్న విలువతో ప్రారంభించబడతారు. - 22. కాబట్టి, మొదట ప్రారంభాన్ని తిరిగి ప్రారంభిస్తారు, తరువాత im ప్రారంభిస్తుంది మరియు అది జరిగే మూడు సంఘటనలు, E3. + కాబట్టి, మొదట ప్రారంభాన్ని తిరిగి ప్రారంభిస్తారు, తరువాత im ప్రారంభిస్తుంది మరియు అది జరిగే మూడు సంఘటనలు, E3. - 23. ఈ ప్రారంభించడం పూర్తయిన తర్వాత, నియంత్రణ కన్స్ట్రక్టర్ల శరీరం యొక్క ప్రారంభానికి చేరుకుంటుంది. + ఈ ప్రారంభించడం పూర్తయిన తర్వాత, నియంత్రణ కన్స్ట్రక్టర్ల శరీరం యొక్క ప్రారంభానికి చేరుకుంటుంది. - 24. మరియు ఈ సమయంలో; ఈ సమయంలో, వస్తువు వాస్తవానికి అందుబాటులో ఉందని మేము చెప్తాము. + మరియు ఈ సమయంలో; ఈ సమయంలో, వస్తువు వాస్తవానికి అందుబాటులో ఉందని మేము చెప్తాము. - 25. దాని జీవితకాలం ప్రారంభమవుతుంది. + దాని జీవితకాలం ప్రారంభమవుతుంది. - 26. మరియు ఆ సంఘటన E4. + మరియు ఆ సంఘటన E4. - 27. కాబట్టి, మీరు క్రింది పట్టికలో చూస్తే, నేను చెబుతున్నదంతా క్రింద పట్టికలో వ్రాయబడింది. + కాబట్టి, మీరు క్రింది పట్టికలో చూస్తే, నేను చెబుతున్నదంతా క్రింద పట్టికలో వ్రాయబడింది. - 28. ఇది జీవితానికి నాంది. + ఇది జీవితానికి నాంది. - 29. అందువల్ల, దయచేసి వస్తువు ప్రారంభించబడదని లేదా దాని జీవితకాలం ప్రారంభం కాదని గుర్తుంచుకోండి, కన్స్ట్రక్టర్‌ను పిలిచినప్పుడు, తక్షణం జరుగుతుంది. + అందువల్ల, దయచేసి వస్తువు ప్రారంభించబడదని లేదా దాని జీవితకాలం ప్రారంభం కాదని గుర్తుంచుకోండి, కన్స్ట్రక్టర్‌ను పిలిచినప్పుడు, తక్షణం జరుగుతుంది. - 30. అయినప్పటికీ, బిల్డర్ పిలువబడినప్పుడు మరియు దాని ప్రారంభ భాగాన్ని పూర్తి చేసినప్పుడు ఇది మొదలవుతుంది. + అయినప్పటికీ, బిల్డర్ పిలువబడినప్పుడు మరియు దాని ప్రారంభ భాగాన్ని పూర్తి చేసినప్పుడు ఇది మొదలవుతుంది. - 31. అందువల్ల, ఒక వస్తువు యొక్క జీవితకాలం ప్రారంభమైనప్పుడు, ప్రాథమిక umption హ అనేది అన్ని డేటా సభ్యులను పూర్తిగా సిద్ధం చేసి, కన్స్ట్రక్టర్లలో ప్రారంభ విలువలుగా పేర్కొనబడిన వస్తువు. + అందువల్ల, ఒక వస్తువు యొక్క జీవితకాలం ప్రారంభమైనప్పుడు, ప్రాథమిక umption హ అనేది అన్ని డేటా సభ్యులను పూర్తిగా సిద్ధం చేసి, కన్స్ట్రక్టర్లలో ప్రారంభ విలువలుగా పేర్కొనబడిన వస్తువు. - 32. దీనికి ముందు, E2 ఆ సమయం నుండి మరియు E4 ఆ సమయంలో ఉంది, అంటే, E3 సమయంలో వస్తువు క్రమరహిత స్థితి అని పిలువబడుతుంది. + దీనికి ముందు, E2 ఆ సమయం నుండి మరియు E4 ఆ సమయంలో ఉంది, అంటే, E3 సమయంలో వస్తువు క్రమరహిత స్థితి అని పిలువబడుతుంది. - 33. ఇది డేటా సభ్యుల సరైన విలువలను కలిగి ఉండవచ్చు లేదా ఉండకపోవచ్చు. + ఇది డేటా సభ్యుల సరైన విలువలను కలిగి ఉండవచ్చు లేదా ఉండకపోవచ్చు. - 34. ఉదాహరణకు, ఈ సమయంలో నేను వస్తువును చూస్తే, తిరిగి ఇచ్చిన భాగాన్ని ఇచ్చిన విలువకు ప్రారంభించవచ్చు మరియు im భాగం ఇంకా ప్రారంభించబడలేదు. + ఉదాహరణకు, ఈ సమయంలో నేను వస్తువును చూస్తే, తిరిగి ఇచ్చిన భాగాన్ని ఇచ్చిన విలువకు ప్రారంభించవచ్చు మరియు im భాగం ఇంకా ప్రారంభించబడలేదు. - 35. అందువల్ల, ఆరంభం జరుగుతున్నంతవరకు ఆ వస్తువు అస్థిరమైన స్థితిలో ఉంటుందని చెబుతారు. + అందువల్ల, ఆరంభం జరుగుతున్నంతవరకు ఆ వస్తువు అస్థిరమైన స్థితిలో ఉంటుందని చెబుతారు. - 36. మరియు, అది పూర్తయిన తర్వాత మాత్రమే కంట్రోల్ కన్స్ట్రక్టర్ శరీరం యొక్క ప్రారంభానికి చేరుకుంటుంది. + మరియు, అది పూర్తయిన తర్వాత మాత్రమే కంట్రోల్ కన్స్ట్రక్టర్ శరీరం యొక్క ప్రారంభానికి చేరుకుంటుంది. - 37. ఈవెంట్ E4 గా గుర్తించబడింది, ఇక్కడ వస్తువు సిద్ధంగా ఉంది మరియు ఇప్పుడు ఉపయోగించవచ్చు. + ఈవెంట్ E4 గా గుర్తించబడింది, ఇక్కడ వస్తువు సిద్ధంగా ఉంది మరియు ఇప్పుడు ఉపయోగించవచ్చు. - 38. అందువల్ల, కన్స్ట్రక్టర్ యొక్క శరీరంలో, మీరు వాస్తవానికి ఏదైనా కోడ్ వ్రాస్తారు, ఆ వస్తువు ఇప్పటికే సరిగ్గా తయారు చేయబడిందని మరియు వెళుతుందని అనుకోవచ్చు. + అందువల్ల, కన్స్ట్రక్టర్ యొక్క శరీరంలో, మీరు వాస్తవానికి ఏదైనా కోడ్ వ్రాస్తారు, ఆ వస్తువు ఇప్పటికే సరిగ్గా తయారు చేయబడిందని మరియు వెళుతుందని అనుకోవచ్చు. - 39. అందువల్ల, కన్స్ట్రక్టర్లు పూర్తయిన తర్వాత, ఇది సృష్టించిన ఎంటిటీ, కంట్రోల్ రిటర్న్స్ ఇక్కడ. + అందువల్ల, కన్స్ట్రక్టర్లు పూర్తయిన తర్వాత, ఇది సృష్టించిన ఎంటిటీ, కంట్రోల్ రిటర్న్స్ ఇక్కడ. - 40. కొన్ని ఇతర విషయాలు జరుగుతాయి మరియు తరువాత, ఈ వస్తువు సంక్లిష్ట తరగతి యొక్క కొన్ని పద్ధతిని అమలు చేయడానికి ఉపయోగించబడుతుంది, ఇది E5; ఇది ఈ పద్ధతికి కాల్ ఇస్తుంది. + కొన్ని ఇతర విషయాలు జరుగుతాయి మరియు తరువాత, ఈ వస్తువు సంక్లిష్ట తరగతి యొక్క కొన్ని పద్ధతిని అమలు చేయడానికి ఉపయోగించబడుతుంది, ఇది E5; ఇది ఈ పద్ధతికి కాల్ ఇస్తుంది. - 41. ఇది అమలు ప్రారంభమవుతుంది; ఈవెంట్ E6 అయితే అది సంఖ్య యొక్క విలువను లెక్కిస్తుంది మరియు ఆ ప్రమాణాన్ని ఇక్కడ తిరిగి ఇస్తుంది మరియు తరువాత విషయాలు కొనసాగుతాయి. + ఇది అమలు ప్రారంభమవుతుంది; ఈవెంట్ E6 అయితే అది సంఖ్య యొక్క విలువను లెక్కిస్తుంది మరియు ఆ ప్రమాణాన్ని ఇక్కడ తిరిగి ఇస్తుంది మరియు తరువాత విషయాలు కొనసాగుతాయి. - 42. కాబట్టి, ప్రాథమికంగా, మీరు ఈ భాగాన్ని కన్స్ట్రక్టర్ల తర్వాత చూస్తే, మేము ఆబ్జెక్ట్ యొక్క అనేక విభిన్న ఉపయోగాలను కలిగి ఉండవచ్చు, ఇక్కడ ఆబ్జెక్ట్, డేటా (డేటా)) సభ్యులు ఉపయోగించబడుతున్నారు, డేటా సభ్యులు మార్చబడుతున్నారు, వివిధ పద్ధతులు మరియు మొదలైనవి మొదలగునవి. + కాబట్టి, ప్రాథమికంగా, మీరు ఈ భాగాన్ని కన్స్ట్రక్టర్ల తర్వాత చూస్తే, మేము ఆబ్జెక్ట్ యొక్క అనేక విభిన్న ఉపయోగాలను కలిగి ఉండవచ్చు, ఇక్కడ ఆబ్జెక్ట్, డేటా (డేటా)) సభ్యులు ఉపయోగించబడుతున్నారు, డేటా సభ్యులు మార్చబడుతున్నారు, వివిధ పద్ధతులు మరియు మొదలైనవి మొదలగునవి. - 43. అంశం సిద్ధంగా ఉంది మరియు ఉపయోగంలో ఉంది. + అంశం సిద్ధంగా ఉంది మరియు ఉపయోగంలో ఉంది. - 44. రిటర్న్ స్టేట్‌మెంట్‌కు చేరే వరకు ఇది దాని జీవితకాలంలో ప్రధానంగా ఉంటుంది. + రిటర్న్ స్టేట్‌మెంట్‌కు చేరే వరకు ఇది దాని జీవితకాలంలో ప్రధానంగా ఉంటుంది. - 45. ఇది రిటర్న్ స్టేట్‌మెంట్‌కు చేరుకున్నప్పుడు, ఈ రిటర్న్ స్టేట్‌మెంట్‌లో, ఈ రిటర్న్ స్టేట్‌మెంట్ అమలు అయిన వెంటనే నియంత్రణ MyFunc నుండి బయటకు వెళ్తుందని మీకు తెలుసు. + ఇది రిటర్న్ స్టేట్‌మెంట్‌కు చేరుకున్నప్పుడు, ఈ రిటర్న్ స్టేట్‌మెంట్‌లో, ఈ రిటర్న్ స్టేట్‌మెంట్ అమలు అయిన వెంటనే నియంత్రణ MyFunc నుండి బయటకు వెళ్తుందని మీకు తెలుసు. - 46. మరియు, నియంత్రణ MyFunc నుండి బయటకు వెళితే, ఈ వస్తువు c ఉన్న పరిధి ఇకపై అందుబాటులో ఉండదు. + మరియు, నియంత్రణ MyFunc నుండి బయటకు వెళితే, ఈ వస్తువు c ఉన్న పరిధి ఇకపై అందుబాటులో ఉండదు. - 47. నియంత్రణ MyFunc నుండి నిష్క్రమించినప్పుడు, స్టాక్‌లోని ఫ్రేమ్‌ల కేటాయింపు ఈ ఫంక్షన్‌కు మరింత చెల్లుబాటు కాదు. + నియంత్రణ MyFunc నుండి నిష్క్రమించినప్పుడు, స్టాక్‌లోని ఫ్రేమ్‌ల కేటాయింపు ఈ ఫంక్షన్‌కు మరింత చెల్లుబాటు కాదు. - 48. కాబట్టి, స్టాక్‌లోని సి చిరునామా మరింత చెల్లుబాటు కాదు. + కాబట్టి, స్టాక్‌లోని సి చిరునామా మరింత చెల్లుబాటు కాదు. - 49. కాబట్టి, ఇది ఇది. + కాబట్టి, ఇది ఇది. - 50. ఖచ్చితంగా, ఖచ్చితమైన పాయింట్ నిశ్శబ్ద సున్నితమైనది. - 51. ఇది తిరిగి రాకముందే, కానీ తిరిగి ఇది మునుపటి స్టేట్మెంట్ కాదు, తదుపరి స్టేట్మెంట్ కాదు. + ఖచ్చితంగా, ఖచ్చితమైన పాయింట్ నిశ్శబ్ద సున్నితమైనది. + ఇది తిరిగి రాకముందే, కానీ తిరిగి ఇది మునుపటి స్టేట్మెంట్ కాదు, తదుపరి స్టేట్మెంట్ కాదు. - 52. అయితే, ఈ సమయంలో సరైన డిస్ట్రక్టర్లను పిలవాలి. + అయితే, ఈ సమయంలో సరైన డిస్ట్రక్టర్లను పిలవాలి. - 53. కాబట్టి, ఇక్కడ కాల్ సి. ~ కాంప్లెక్స్ () అని పిలువబడుతుంది. + కాబట్టి, ఇక్కడ కాల్ సి. ~ కాంప్లెక్స్ () అని పిలువబడుతుంది. - 54. కాబట్టి, E7 న, నియంత్రణ డిస్ట్రక్టర్లకు వెళ్తుంది. + కాబట్టి, E7 న, నియంత్రణ డిస్ట్రక్టర్లకు వెళ్తుంది. - 55. డిస్ట్రక్టర్ల గుండా వెళుతుంది. + డిస్ట్రక్టర్ల గుండా వెళుతుంది. - 56. డిస్ట్రక్టర్స్ బాడీ వేర్వేరు డి-ఇనిషియేషన్ కార్యకలాపాలను చేయగలదు. + డిస్ట్రక్టర్స్ బాడీ వేర్వేరు డి-ఇనిషియేషన్ కార్యకలాపాలను చేయగలదు. - 57. కానీ, దయచేసి ఆ వస్తువు ఇప్పటికీ వాడుకలో ఉందని గుర్తుంచుకోండి. + కానీ, దయచేసి ఆ వస్తువు ఇప్పటికీ వాడుకలో ఉందని గుర్తుంచుకోండి. - 58. వస్తువు ఇప్పటికీ జీవితకాలం చెల్లుబాటు అయ్యేది, ఇది డిస్ట్రక్టర్స్ బాడీ చివరికి వచ్చే వరకు. + వస్తువు ఇప్పటికీ జీవితకాలం చెల్లుబాటు అయ్యేది, ఇది డిస్ట్రక్టర్స్ బాడీ చివరికి వచ్చే వరకు. - 59. E8 ఈవెంట్, వస్తువు యొక్క జీవితకాలం ముగిసిందని మరియు నియంత్రణ తిరిగి రావడానికి when హించినప్పుడు. + E8 ఈవెంట్, వస్తువు యొక్క జీవితకాలం ముగిసిందని మరియు నియంత్రణ తిరిగి రావడానికి when హించినప్పుడు. - 60. అందువల్ల, నియంత్రణ తిరిగి వచ్చినప్పుడు, ఆ సమయంలో వస్తువు చెల్లుబాటు కాదు. + అందువల్ల, నియంత్రణ తిరిగి వచ్చినప్పుడు, ఆ సమయంలో వస్తువు చెల్లుబాటు కాదు. - 61. ఆబ్జెక్ట్ జీవితకాలం ఇప్పటికే ముగిసింది మరియు తిరిగి వచ్చే ఉద్దేశ్యంతో ముందుకు సాగుతుంది, ఇది కాలర్‌కు నియంత్రణను తిరిగి ఇస్తుంది. + ఆబ్జెక్ట్ జీవితకాలం ఇప్పటికే ముగిసింది మరియు తిరిగి వచ్చే ఉద్దేశ్యంతో ముందుకు సాగుతుంది, ఇది కాలర్‌కు నియంత్రణను తిరిగి ఇస్తుంది. - 62. మరియు, ఇది ఈ ఫంక్షన్ కోసం స్టాక్ ఫ్రేమ్‌ను కూడా నిర్వహిస్తుంది. + మరియు, ఇది ఈ ఫంక్షన్ కోసం స్టాక్ ఫ్రేమ్‌ను కూడా నిర్వహిస్తుంది. - 63. అందులో కొంత భాగం ఆబ్జెక్ట్ సి, ఇది మేము జీవితకాలం ట్రాక్ చేస్తున్నాము. + అందులో కొంత భాగం ఆబ్జెక్ట్ సి, ఇది మేము జీవితకాలం ట్రాక్ చేస్తున్నాము. - 64. కాబట్టి, మేము సంగ్రహించినట్లయితే, ఇది కన్స్ట్రక్టర్లలోని పాయింట్ మరియు ఇది డిస్ట్రక్టర్లలోని పాయింట్. + కాబట్టి, మేము సంగ్రహించినట్లయితే, ఇది కన్స్ట్రక్టర్లలోని పాయింట్ మరియు ఇది డిస్ట్రక్టర్లలోని పాయింట్. - 65. ప్రోగ్రామ్ అమలు సమయంలో, ఇది ఒక నిర్దిష్ట సందర్భంలో ఒక వస్తువు యొక్క జీవితకాలం నిర్వచిస్తుంది, దీనిలో మేము వేర్వేరు జీవితకాల నిర్మాణాలను చూపుతామని చూపిస్తాము; జీవితకాలం ఎలా మారుతుందో మేము చూపుతాము. + ప్రోగ్రామ్ అమలు సమయంలో, ఇది ఒక నిర్దిష్ట సందర్భంలో ఒక వస్తువు యొక్క జీవితకాలం నిర్వచిస్తుంది, దీనిలో మేము వేర్వేరు జీవితకాల నిర్మాణాలను చూపుతామని చూపిస్తాము; జీవితకాలం ఎలా మారుతుందో మేము చూపుతాము. - 66. ఏదేమైనా, ఇది ఎల్లప్పుడూ విధ్వంసకుల శరీరం యొక్క ముగింపు మరియు విధ్వంసకుల శరీరం యొక్క ముగింపు మధ్య సంభవిస్తుంది; సంబంధిత వస్తువు సజీవంగా మరియు జీవితకాలంగా పరిగణించబడే సమయం ఉంది. + ఏదేమైనా, ఇది ఎల్లప్పుడూ విధ్వంసకుల శరీరం యొక్క ముగింపు మరియు విధ్వంసకుల శరీరం యొక్క ముగింపు మధ్య సంభవిస్తుంది; సంబంధిత వస్తువు సజీవంగా మరియు జీవితకాలంగా పరిగణించబడే సమయం ఉంది. - 67. వాస్తవానికి, ప్రారంభ జాబితా గురించి మరింత ప్రత్యేకంగా అర్థం చేసుకోవడానికి ఈ అవగాహన మాకు సహాయపడుతుంది. + వాస్తవానికి, ప్రారంభ జాబితా గురించి మరింత ప్రత్యేకంగా అర్థం చేసుకోవడానికి ఈ అవగాహన మాకు సహాయపడుతుంది. - 68. కన్స్ట్రక్టర్లను నేర్చుకోవడానికి ప్రయత్నిస్తున్న వ్యక్తుల నుండి నేను తరచూ ప్రశ్నలు వేస్తాను, కన్స్ట్రక్టర్లు ఈ ప్రక్రియను అర్థం చేసుకుంటారు నాకు జాబితా ఎందుకు అవసరం? నేను కన్స్ట్రక్టర్ యొక్క శరీరంలో re_ = re లేదా im_ = im వంటివి వ్రాయగలను. + కన్స్ట్రక్టర్లను నేర్చుకోవడానికి ప్రయత్నిస్తున్న వ్యక్తుల నుండి నేను తరచూ ప్రశ్నలు వేస్తాను, కన్స్ట్రక్టర్లు ఈ ప్రక్రియను అర్థం చేసుకుంటారు నాకు జాబితా ఎందుకు అవసరం? నేను కన్స్ట్రక్టర్ యొక్క శరీరంలో re_ = re లేదా im_ = im వంటివి వ్రాయగలను. - 69. నేను దానిని ప్రారంభించకుండా, కన్స్ట్రక్టర్ యొక్క శరీరంలో భాగంగా వ్రాయగలను. + నేను దానిని ప్రారంభించకుండా, కన్స్ట్రక్టర్ యొక్క శరీరంలో భాగంగా వ్రాయగలను. - 70. కాబట్టి, రెండు ప్రశ్నలు ఉన్నాయి; ప్రాథమిక జాబితా ఎందుకు అవసరం? మరియు, ప్రారంభ జాబితా అందించినప్పటికీ, దాన్ని ప్రారంభించడం అవసరమా? సమాధానం మీరు వస్తువును అర్థం చేసుకున్నారని, క్షణం నియంత్రణ ఈ దశకు చేరుకుంటుంది; వస్తువు ప్రత్యక్షంగా పరిగణించబడుతుంది; వస్తువు కోసం కన్స్ట్రక్టర్లను ఉపయోగిస్తారు. + కాబట్టి, రెండు ప్రశ్నలు ఉన్నాయి; ప్రాథమిక జాబితా ఎందుకు అవసరం? మరియు, ప్రారంభ జాబితా అందించినప్పటికీ, దాన్ని ప్రారంభించడం అవసరమా? సమాధానం మీరు వస్తువును అర్థం చేసుకున్నారని, క్షణం నియంత్రణ ఈ దశకు చేరుకుంటుంది; వస్తువు ప్రత్యక్షంగా పరిగణించబడుతుంది; వస్తువు కోసం కన్స్ట్రక్టర్లను ఉపయోగిస్తారు. - 71. కన్స్ట్రక్టర్లు పూర్తయ్యారు. + కన్స్ట్రక్టర్లు పూర్తయ్యారు. - 72. కాబట్టి, మీరు డేటా సభ్యుల విలువలను కన్స్ట్రక్టర్ యొక్క శరీరంలో చొప్పించినట్లయితే, ఈ సమయంలో జీవితకాలం ప్రారంభమైనప్పుడు, మీ డేటా సభ్యులకు అస్థిరమైన విలువలు ఉంటాయి. + కాబట్టి, మీరు డేటా సభ్యుల విలువలను కన్స్ట్రక్టర్ యొక్క శరీరంలో చొప్పించినట్లయితే, ఈ సమయంలో జీవితకాలం ప్రారంభమైనప్పుడు, మీ డేటా సభ్యులకు అస్థిరమైన విలువలు ఉంటాయి. - 73. ఇది సాధారణంగా చెత్త విలువలను కలిగి ఉంటుంది. + ఇది సాధారణంగా చెత్త విలువలను కలిగి ఉంటుంది. - 74. ఇప్పుడు, మీరు కేవలం రెండు డబుల్స్ ఉన్న సంక్లిష్ట తరగతి యొక్క ఉదాహరణను పరిశీలిస్తే, మీ ప్రోగ్రామ్ ఎగ్జిక్యూషన్‌లో మీరు నిజంగా, నిజంగా ప్రారంభించినా లేదా మీరు ప్రారంభించినా అది నిజంగా పట్టింపు లేదు. re మరియు im, వస్తువును ప్రారంభించండి, ఆపై కన్స్ట్రక్టర్ యొక్క శరీరం. + ఇప్పుడు, మీరు కేవలం రెండు డబుల్స్ ఉన్న సంక్లిష్ట తరగతి యొక్క ఉదాహరణను పరిశీలిస్తే, మీ ప్రోగ్రామ్ ఎగ్జిక్యూషన్‌లో మీరు నిజంగా, నిజంగా ప్రారంభించినా లేదా మీరు ప్రారంభించినా అది నిజంగా పట్టింపు లేదు. re మరియు im, వస్తువును ప్రారంభించండి, ఆపై కన్స్ట్రక్టర్ యొక్క శరీరం. - 75. మీరు క్రొత్త విలువలను మళ్లీ సెట్ చేసి ఆకట్టుకోండి. + మీరు క్రొత్త విలువలను మళ్లీ సెట్ చేసి ఆకట్టుకోండి. - 76. ఇది ఎటువంటి తేడాలు చూపడం లేదు, కానీ తరువాత మీరు ఈ దశకు చేరుకున్నప్పుడు మీకు సరైన వస్తువు ఉందా అనేది నిజంగా ముఖ్యమైన ఉదాహరణలను చూపిస్తాము; ఇది వస్తువు యొక్క ప్రారంభ స్థానం. + ఇది ఎటువంటి తేడాలు చూపడం లేదు, కానీ తరువాత మీరు ఈ దశకు చేరుకున్నప్పుడు మీకు సరైన వస్తువు ఉందా అనేది నిజంగా ముఖ్యమైన ఉదాహరణలను చూపిస్తాము; ఇది వస్తువు యొక్క ప్రారంభ స్థానం. - 77. మీరు ఈ దశకు వచ్చినప్పుడు, మీకు అనేక తరగతుల కోసం సరిగ్గా ప్రారంభించిన వస్తువు ఉందా లేదా అనే దానిపై మీకు తేడా ఉండవచ్చు. + మీరు ఈ దశకు వచ్చినప్పుడు, మీకు అనేక తరగతుల కోసం సరిగ్గా ప్రారంభించిన వస్తువు ఉందా లేదా అనే దానిపై మీకు తేడా ఉండవచ్చు. - 78. మరియు అది చేసినప్పుడు, మీకు నిజంగా సమస్య ఉంది ఎందుకంటే ప్రారంభ జాబితాను ఉపయోగించడం మినహా దాన్ని పరిష్కరించడానికి మార్గం లేదు. + మరియు అది చేసినప్పుడు, మీకు నిజంగా సమస్య ఉంది ఎందుకంటే ప్రారంభ జాబితాను ఉపయోగించడం మినహా దాన్ని పరిష్కరించడానికి మార్గం లేదు. - 79. ప్రారంభ జాబితాతో వ్యవహరించడానికి ఇది మరొక అంశం. + ప్రారంభ జాబితాతో వ్యవహరించడానికి ఇది మరొక అంశం. - 80. ఒక వస్తువులో ఎంత మంది డేటా సభ్యులు ఉన్నారో ఊహించుకోండి. + ఒక వస్తువులో ఎంత మంది డేటా సభ్యులు ఉన్నారో ఊహించుకోండి. - 81. మరియు, ప్రారంభ జాబితాలో లేదా ప్రారంభ ప్రక్రియలో, నేను ప్రారంభించగలను; నా ఉద్దేశ్యం ఏ ఆర్డర్ అయినా నాకు అవసరం. + మరియు, ప్రారంభ జాబితాలో లేదా ప్రారంభ ప్రక్రియలో, నేను ప్రారంభించగలను; నా ఉద్దేశ్యం ఏ ఆర్డర్ అయినా నాకు అవసరం. - 82. అందువల్ల, ఒక డేటా సభ్యుని ప్రారంభించడం మరొకటి ప్రారంభించడంపై ఆధారపడి ఉంటే, అది మొదట ఏ డేటా సభ్యుడిని ప్రారంభించి, తరువాత ప్రారంభించబడుతుందో దానిపై ఆధారపడి ఉంటుంది. + అందువల్ల, ఒక డేటా సభ్యుని ప్రారంభించడం మరొకటి ప్రారంభించడంపై ఆధారపడి ఉంటే, అది మొదట ఏ డేటా సభ్యుడిని ప్రారంభించి, తరువాత ప్రారంభించబడుతుందో దానిపై ఆధారపడి ఉంటుంది. - 83. ఇప్పుడు, నేను కన్స్ట్రక్టర్ యొక్క శరీరంలో ప్రారంభాన్ని అసైన్‌మెంట్‌గా వ్రాస్తే, అది జరగవచ్చు; వేర్వేరు డేటా సభ్యులు ఉంటే, డేటా సభ్యులను ప్రారంభించడానికి వివిధ మార్గాలు ఉండవచ్చు. + ఇప్పుడు, నేను కన్స్ట్రక్టర్ యొక్క శరీరంలో ప్రారంభాన్ని అసైన్‌మెంట్‌గా వ్రాస్తే, అది జరగవచ్చు; వేర్వేరు డేటా సభ్యులు ఉంటే, డేటా సభ్యులను ప్రారంభించడానికి వివిధ మార్గాలు ఉండవచ్చు. - 84. కానీ, నేను దీనిని ప్రారంభ జాబితాగా వ్రాస్తే, కంపైలర్ ఒక ప్రత్యేకమైన విధానాన్ని అనుసరిస్తుంది. + కానీ, నేను దీనిని ప్రారంభ జాబితాగా వ్రాస్తే, కంపైలర్ ఒక ప్రత్యేకమైన విధానాన్ని అనుసరిస్తుంది. - 85. కంపైలర్ వాటిని మీరు తరగతిలో వ్రాసే క్రమంలో ప్రారంభిస్తుంది, మీరు వాటిని ప్రారంభ జాబితాలో వ్రాసే క్రమంలో కాదు. + కంపైలర్ వాటిని మీరు తరగతిలో వ్రాసే క్రమంలో ప్రారంభిస్తుంది, మీరు వాటిని ప్రారంభ జాబితాలో వ్రాసే క్రమంలో కాదు. - 86. కాబట్టి, కాంప్లెక్స్ యొక్క ఈ ఉదాహరణ కోసం, మేము దీనిని రి మరియు ఇమ్ అని వ్రాసాము. + కాబట్టి, కాంప్లెక్స్ యొక్క ఈ ఉదాహరణ కోసం, మేము దీనిని రి మరియు ఇమ్ అని వ్రాసాము. - 87. మేము ఇలా వ్రాయగలము; మేము మొదట ప్రారంభించడం, తరువాత తిరిగి ప్రారంభించడం. + మేము ఇలా వ్రాయగలము; మేము మొదట ప్రారంభించడం, తరువాత తిరిగి ప్రారంభించడం. - 88. కానీ, నేను ఈ విధమైన ఇనిషియేజర్ జాబితాను వ్రాసినప్పటికీ, డేటా సభ్యుడు ముందు సభ్యుని తరగతి నిర్వచనంలో లేకుంటే తప్ప, ఈ ప్రారంభించడం ఈ ప్రారంభానికి ముందే ఉంటుంది. - 89. అందువల్ల, ప్రారంభ జాబితాను కలిగి ఉన్న ఫలితం ఏమిటంటే, వినియోగదారుడు ఎటువంటి ప్రయత్నం చేయకుండానే, ప్రారంభ ప్రక్రియ నిర్దిష్టంగా ఉంటుంది, డేటా సభ్యులు తప్పనిసరిగా పై నుండి క్రిందికి ప్రారంభించబడతారు, అటువంటి విధానం మీరు హామీ ఇవ్వలేరు. + కానీ, నేను ఈ విధమైన ఇనిషియేజర్ జాబితాను వ్రాసినప్పటికీ, డేటా సభ్యుడు ముందు సభ్యుని తరగతి నిర్వచనంలో లేకుంటే తప్ప, ఈ ప్రారంభించడం ఈ ప్రారంభానికి ముందే ఉంటుంది. + అందువల్ల, ప్రారంభ జాబితాను కలిగి ఉన్న ఫలితం ఏమిటంటే, వినియోగదారుడు ఎటువంటి ప్రయత్నం చేయకుండానే, ప్రారంభ ప్రక్రియ నిర్దిష్టంగా ఉంటుంది, డేటా సభ్యులు తప్పనిసరిగా పై నుండి క్రిందికి ప్రారంభించబడతారు, అటువంటి విధానం మీరు హామీ ఇవ్వలేరు. - 90. మీరు కన్స్ట్రక్టర్ యొక్క శరీరంలోకి ప్రారంభ విలువను చొప్పించినట్లయితే. + మీరు కన్స్ట్రక్టర్ యొక్క శరీరంలోకి ప్రారంభ విలువను చొప్పించినట్లయితే. - 91. కాబట్టి, అదే సమయంలో, ఈ జీవితకాలం ఏమిటో మేము అర్థం చేసుకున్నాము మరియు ఇక్కడ నుండి ఇది ప్రారంభమవుతుంది మరియు ఇక్కడ ముగుస్తుంది. + కాబట్టి, అదే సమయంలో, ఈ జీవితకాలం ఏమిటో మేము అర్థం చేసుకున్నాము మరియు ఇక్కడ నుండి ఇది ప్రారంభమవుతుంది మరియు ఇక్కడ ముగుస్తుంది. - 92. కింది స్లైడ్‌లలో, మేము జీవితంలోని వివిధ ఉదాహరణలను పరిశీలిస్తాము మరియు దానిని బాగా అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. + కింది స్లైడ్‌లలో, మేము జీవితంలోని వివిధ ఉదాహరణలను పరిశీలిస్తాము మరియు దానిని బాగా అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. - 93. మేము వెళ్ళే ముందు, ఆ దృష్టాంతంలో నేను ఇప్పటివరకు చర్చించిన వాటిని సంగ్రహించడం మాత్రమే. + మేము వెళ్ళే ముందు, ఆ దృష్టాంతంలో నేను ఇప్పటివరకు చర్చించిన వాటిని సంగ్రహించడం మాత్రమే. - 94. ఆ వస్తువును ఐదు వేర్వేరు అమలు దశలుగా భావించవచ్చు, ఎందుకంటే మొదట ఏమైనప్పటికీ కేటాయించాల్సిన వస్తువుకు జ్ఞాపకశక్తి ఉండాలి, స్వయంచాలకంగా స్టాక్‌లో ఉంటుంది. స్టాక్ నుండి లేదా ప్రపంచవ్యాప్తంగా లేదా డైనమిక్‌గా. + ఆ వస్తువును ఐదు వేర్వేరు అమలు దశలుగా భావించవచ్చు, ఎందుకంటే మొదట ఏమైనప్పటికీ కేటాయించాల్సిన వస్తువుకు జ్ఞాపకశక్తి ఉండాలి, స్వయంచాలకంగా స్టాక్‌లో ఉంటుంది. స్టాక్ నుండి లేదా ప్రపంచవ్యాప్తంగా లేదా డైనమిక్‌గా. - 95. కాబట్టి, కేటాయింపు అవసరం ఎందుకంటే కేటాయింపు లేకుండా నాకు వివిధ భాగాలు నిల్వ చేయవలసిన మెమరీ స్థానం లేదు. + కాబట్టి, కేటాయింపు అవసరం ఎందుకంటే కేటాయింపు లేకుండా నాకు వివిధ భాగాలు నిల్వ చేయవలసిన మెమరీ స్థానం లేదు. - 96. మరియు, నేను చేస్తున్నట్లు కేటాయింపు కోసం ఒక బంధం ఉండాలి. + మరియు, నేను చేస్తున్నట్లు కేటాయింపు కోసం ఒక బంధం ఉండాలి. - 97. దీని అర్థం, ఆ వస్తువు కోసం నేను మెమరీలో ఉపయోగిస్తున్న వస్తువు యొక్క పేరు మరియు చిరునామా మధ్య అనుబంధం ఉండాలి. + దీని అర్థం, ఆ వస్తువు కోసం నేను మెమరీలో ఉపయోగిస్తున్న వస్తువు యొక్క పేరు మరియు చిరునామా మధ్య అనుబంధం ఉండాలి. - 98. కాబట్టి, ఇది మొదటి అమలు స్థితి. + కాబట్టి, ఇది మొదటి అమలు స్థితి. - 99. మరియు, అన్ని రకాల వస్తువులకు ఇది అనేక రకాలుగా జరుగుతుంది. + మరియు, అన్ని రకాల వస్తువులకు ఇది అనేక రకాలుగా జరుగుతుంది. - 100. ఈ బైండింగ్ అంశం గురించి మీరు ప్రస్తుతం ఆందోళన చెందాల్సిన అవసరం లేదు. - 101. మేము C ++ లోకి లోతుగా వెళుతున్నప్పుడు, ఈ బైండింగ్ భావన మరింత స్పష్టంగా కనిపిస్తుంది. + ఈ బైండింగ్ అంశం గురించి మీరు ప్రస్తుతం ఆందోళన చెందాల్సిన అవసరం లేదు. + మేము C ++ లోకి లోతుగా వెళుతున్నప్పుడు, ఈ బైండింగ్ భావన మరింత స్పష్టంగా కనిపిస్తుంది. - 102. కానీ, బైండింగ్ పూర్తయిన తర్వాత, అంటే, వస్తువును సృష్టించడానికి నాకు జ్ఞాపకశక్తి ఉంది, ఆ జ్ఞాపకంతో మనం కన్స్ట్రక్టర్‌ను అవ్యక్తంగా పిలుస్తాము. + కానీ, బైండింగ్ పూర్తయిన తర్వాత, అంటే, వస్తువును సృష్టించడానికి నాకు జ్ఞాపకశక్తి ఉంది, ఆ జ్ఞాపకంతో మనం కన్స్ట్రక్టర్‌ను అవ్యక్తంగా పిలుస్తాము. - 103. మరియు మేము ఇప్పుడే చర్చించినట్లుగా, ఇది ప్రారంభ జాబితా ద్వారా అమలు అవుతుంది. + మరియు మేము ఇప్పుడే చర్చించినట్లుగా, ఇది ప్రారంభ జాబితా ద్వారా అమలు అవుతుంది. - 104. మరియు, వస్తువు కన్స్ట్రక్టర్లుగా మారుతుంది, తరువాత కన్స్ట్రక్టర్ ఎంటిటీ కోసం అమలు కొనసాగుతుంది. + మరియు, వస్తువు కన్స్ట్రక్టర్లుగా మారుతుంది, తరువాత కన్స్ట్రక్టర్ ఎంటిటీ కోసం అమలు కొనసాగుతుంది. - 105. మూడవ దశ వస్తువు యొక్క అన్ని విభిన్న ఉపయోగాలు, డిస్ట్రక్టర్లను పిలిచే వరకు. + మూడవ దశ వస్తువు యొక్క అన్ని విభిన్న ఉపయోగాలు, డిస్ట్రక్టర్లను పిలిచే వరకు. - 106. మరియు, డిస్ట్రక్టర్లు మళ్ళీ శరీరం గుండా వెళతారు, వాటిని నాశనం చేయడానికి ప్రత్యేకంగా అన్ని వివిధ భాగాలను అమలు చేస్తారు. + మరియు, డిస్ట్రక్టర్లు మళ్ళీ శరీరం గుండా వెళతారు, వాటిని నాశనం చేయడానికి ప్రత్యేకంగా అన్ని వివిధ భాగాలను అమలు చేస్తారు. - 107. మరియు, విధ్వంసక శరీరం చివరిలో మనకు డిస్ట్రక్టర్ల ప్రక్రియ ఉంటుంది. + మరియు, విధ్వంసక శరీరం చివరిలో మనకు డిస్ట్రక్టర్ల ప్రక్రియ ఉంటుంది. - 108. మరియు ఆ తరువాత, జ్ఞాపకశక్తిని రక్షించే సమయం ఇది. + మరియు ఆ తరువాత, జ్ఞాపకశక్తిని రక్షించే సమయం ఇది. - 109. మరియు, జ్ఞాపకశక్తిని పరిష్కరించిన తర్వాత, డీబిండింగ్ జరుగుతుంది. + మరియు, జ్ఞాపకశక్తిని పరిష్కరించిన తర్వాత, డీబిండింగ్ జరుగుతుంది. - 110. అంటే, చిరునామా మరియు పేరు మధ్య సంబంధం ఇక చెల్లదు. + అంటే, చిరునామా మరియు పేరు మధ్య సంబంధం ఇక చెల్లదు. - 111. కాబట్టి, మేము ఇక్కడ పేర్కొన్నది ఇదే. + కాబట్టి, మేము ఇక్కడ పేర్కొన్నది ఇదే. - 112. గమనించదగ్గ విషయం, ఇక్కడ ఈ అవ్యక్త లేదా ముందే నిర్వచించిన రకంలో, అన్ని రకాల కన్స్ట్రక్టర్లు లేదా డిస్ట్రక్టర్లను సి ++ లో పరిగణిస్తారని మీరు గమనించాలి. + గమనించదగ్గ విషయం, ఇక్కడ ఈ అవ్యక్త లేదా ముందే నిర్వచించిన రకంలో, అన్ని రకాల కన్స్ట్రక్టర్లు లేదా డిస్ట్రక్టర్లను సి ++ లో పరిగణిస్తారని మీరు గమనించాలి. - 113. కానీ, అంతర్లీన రకాలకు నిజంగా కన్స్ట్రక్టర్ లేదా డిస్ట్రక్టర్ లేదు. + కానీ, అంతర్లీన రకాలకు నిజంగా కన్స్ట్రక్టర్ లేదా డిస్ట్రక్టర్ లేదు. - 114. వారు ఏకరూపత కోసం అదే వాక్యనిర్మాణాన్ని అనుసరిస్తారు. + వారు ఏకరూపత కోసం అదే వాక్యనిర్మాణాన్ని అనుసరిస్తారు. - 115. వాస్తవానికి, అవి సంభవించే విలువల యొక్క సాధారణ బిట్‌విట్ అసైన్‌మెంట్‌లు లేదా సంభవించే విలువలు. + వాస్తవానికి, అవి సంభవించే విలువల యొక్క సాధారణ బిట్‌విట్ అసైన్‌మెంట్‌లు లేదా సంభవించే విలువలు. - 116. కాబట్టి అవ్యక్త రకం కోసం, జీవితకాలం ప్రాథమికంగా నిర్వచనం నుండి స్కోప్ చివరి వరకు విస్తరించి ఉంటుంది. + కాబట్టి అవ్యక్త రకం కోసం, జీవితకాలం ప్రాథమికంగా నిర్వచనం నుండి స్కోప్ చివరి వరకు విస్తరించి ఉంటుంది. - 117. కాబట్టి, స్వయంచాలక వస్తువుల జీవితకాలానికి ఇది పూర్తి ఉదాహరణ. + కాబట్టి, స్వయంచాలక వస్తువుల జీవితకాలానికి ఇది పూర్తి ఉదాహరణ. - 118. అంటే, ఫంక్షన్ బాడీ లేదా ఫంక్షన్ పరామితి మొదలైన వాటికి స్థానికంగా ఉండే వస్తువులు. + అంటే, ఫంక్షన్ బాడీ లేదా ఫంక్షన్ పరామితి మొదలైన వాటికి స్థానికంగా ఉండే వస్తువులు. - 119. కాబట్టి, ఇది, ఇవి రెండు విషయాలు. + కాబట్టి, ఇది, ఇవి రెండు విషయాలు. - 120. అందువల్ల, మేము జీవితకాలం చూస్తే, మొదట సి యొక్క కన్స్ట్రక్టర్లు ఖచ్చితంగా ఉంటారు. + అందువల్ల, మేము జీవితకాలం చూస్తే, మొదట సి యొక్క కన్స్ట్రక్టర్లు ఖచ్చితంగా ఉంటారు. - 121. కాబట్టి, సి యొక్క సృష్టికర్తను మొదట పిలుస్తారు. + కాబట్టి, సి యొక్క సృష్టికర్తను మొదట పిలుస్తారు. - 122. మరియు, అందుకే కన్స్ట్రక్టర్ అని పిలువబడినప్పుడు, రీ మరియు ఇమ్ (4.2,5.3) కు సెట్ చేయబడిన సందేశ వివరణలో మీరు చూసేది ఇదే. + మరియు, అందుకే కన్స్ట్రక్టర్ అని పిలువబడినప్పుడు, రీ మరియు ఇమ్ (4.2,5.3) కు సెట్ చేయబడిన సందేశ వివరణలో మీరు చూసేది ఇదే. - 123. కాబట్టి, ఇది సి యొక్క కన్స్ట్రక్టర్లు. + కాబట్టి, ఇది సి యొక్క కన్స్ట్రక్టర్లు. - 124. దీని తరువాత, d యొక్క కన్స్ట్రక్టర్ చేయబడుతుంది. + దీని తరువాత, d యొక్క కన్స్ట్రక్టర్ చేయబడుతుంది. - 125. ఇది D యొక్క కన్స్ట్రక్టర్లు, అప్పుడు వారు ముద్రించబడతారు. + ఇది D యొక్క కన్స్ట్రక్టర్లు, అప్పుడు వారు ముద్రించబడతారు. - 126. కాబట్టి, అది వస్తువుల ఉపయోగం. + కాబట్టి, అది వస్తువుల ఉపయోగం. - 127. చివరకు, ఈ సమయంలో, ఉపసంహరణ సమయంలో, డిస్ట్రాయర్లు పిలువబడతాయి. + చివరకు, ఈ సమయంలో, ఉపసంహరణ సమయంలో, డిస్ట్రాయర్లు పిలువబడతాయి. - 128. మరియు, డిస్ట్రక్టర్లను పిలుస్తారని మరియు అవి రెండు వస్తువులను నాశనం చేస్తాయని మీకు చూపించడానికి నేను దీన్ని తగ్గిస్తాను. + మరియు, డిస్ట్రక్టర్లను పిలుస్తారని మరియు అవి రెండు వస్తువులను నాశనం చేస్తాయని మీకు చూపించడానికి నేను దీన్ని తగ్గిస్తాను. - 129. ఇప్పుడు, ఏదో ఉంది. + ఇప్పుడు, ఏదో ఉంది. - 130. మీరు చాలా జాగ్రత్తగా శ్రద్ధ వహించాల్సిన ఒక పాయింట్‌ను కన్స్ట్రక్టర్ల రివర్స్ ఆర్డర్‌లో డిస్ట్రక్టర్స్ అంటారు. - 131. ఇది డిఫాల్ట్ ఆటోమేటిక్ ప్రవర్తన. + మీరు చాలా జాగ్రత్తగా శ్రద్ధ వహించాల్సిన ఒక పాయింట్‌ను కన్స్ట్రక్టర్ల రివర్స్ ఆర్డర్‌లో డిస్ట్రక్టర్స్ అంటారు. + ఇది డిఫాల్ట్ ఆటోమేటిక్ ప్రవర్తన. - 132. వస్తువులు కన్స్ట్రక్టర్లుగా ఉన్నప్పుడు, అవి ఒకదాని తరువాత ఒకటి కన్స్ట్రక్టర్లు. + వస్తువులు కన్స్ట్రక్టర్లుగా ఉన్నప్పుడు, అవి ఒకదాని తరువాత ఒకటి కన్స్ట్రక్టర్లు. - 133. కాబట్టి, సి యొక్క కన్స్ట్రక్టర్లను మొదట d యొక్క కన్స్ట్రక్టర్లు అనుసరిస్తారు. + కాబట్టి, సి యొక్క కన్స్ట్రక్టర్లను మొదట d యొక్క కన్స్ట్రక్టర్లు అనుసరిస్తారు. - 134. కానీ, మీరు డిస్ట్రక్టర్లను చూస్తే, D మొదట నాశనం అవుతుంది మరియు C తరువాత నాశనం అవుతుంది. + కానీ, మీరు డిస్ట్రక్టర్లను చూస్తే, D మొదట నాశనం అవుతుంది మరియు C తరువాత నాశనం అవుతుంది. - 135. కాబట్టి, కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్లు లేదా సాహిత్య కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్స్ అనేది ఒక LIFO ప్రక్రియ, ఇక్కడ వారి కన్స్ట్రక్టర్లు చేసిన క్రమం రివర్స్ ఆర్డర్. మీరు నాశనం అవుతారు. + కాబట్టి, కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్లు లేదా సాహిత్య కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్స్ అనేది ఒక LIFO ప్రక్రియ, ఇక్కడ వారి కన్స్ట్రక్టర్లు చేసిన క్రమం రివర్స్ ఆర్డర్. మీరు నాశనం అవుతారు. - 136. మీకు ఆటోమేటిక్ లేదా స్టాటిక్ ఆబ్జెక్ట్ ఉన్నంత వరకు, ఈ కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్స్ నియమాన్ని పాటించాలి. + మీకు ఆటోమేటిక్ లేదా స్టాటిక్ ఆబ్జెక్ట్ ఉన్నంత వరకు, ఈ కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్స్ నియమాన్ని పాటించాలి. - 137. కాబట్టి, ఆబ్జెక్ట్ d అనేది ఆబ్జెక్ట్ సిపై ఆధారపడటం అయితే, సి యొక్క కన్స్ట్రక్టర్లను నిర్మించడం తార్కికం మరియు తరువాత డి యొక్క కన్స్ట్రక్టర్లను నిర్మించడం. + కాబట్టి, ఆబ్జెక్ట్ d అనేది ఆబ్జెక్ట్ సిపై ఆధారపడటం అయితే, సి యొక్క కన్స్ట్రక్టర్లను నిర్మించడం తార్కికం మరియు తరువాత డి యొక్క కన్స్ట్రక్టర్లను నిర్మించడం. - 138. కానీ, d అదృశ్యమవుతుందని మీరు గుర్తుంచుకోవాలి; D యొక్క డిస్ట్రక్టర్లు మొదట c యొక్క డిస్ట్రక్టర్లుగా అదృశ్యం కావాలి. + కానీ, d అదృశ్యమవుతుందని మీరు గుర్తుంచుకోవాలి; D యొక్క డిస్ట్రక్టర్లు మొదట c యొక్క డిస్ట్రక్టర్లుగా అదృశ్యం కావాలి. - 139. మరొక ఉదాహరణ, ఇక్కడ మేము ప్రత్యేకంగా శ్రేణి వస్తువుల కన్స్ట్రక్టర్లను చూపిస్తాము. + మరొక ఉదాహరణ, ఇక్కడ మేము ప్రత్యేకంగా శ్రేణి వస్తువుల కన్స్ట్రక్టర్లను చూపిస్తాము. - 140. అందువల్ల, మేము కాంప్లెక్స్‌ను క్లాస్‌గా ఉపయోగించడం కొనసాగించాము. + అందువల్ల, మేము కాంప్లెక్స్‌ను క్లాస్‌గా ఉపయోగించడం కొనసాగించాము. - 141. అందువల్ల, మాకు మూడు సంక్లిష్ట వస్తువుల శ్రేణి ఉంది, మీరు వస్తువుల శ్రేణుల కన్స్ట్రక్టర్లను నిర్మించాలనుకుంటే, మీ తరగతి తప్పనిసరిగా డిఫాల్ట్ కన్స్ట్రక్టర్‌కు మద్దతు ఇవ్వాలి. + అందువల్ల, మాకు మూడు సంక్లిష్ట వస్తువుల శ్రేణి ఉంది, మీరు వస్తువుల శ్రేణుల కన్స్ట్రక్టర్లను నిర్మించాలనుకుంటే, మీ తరగతి తప్పనిసరిగా డిఫాల్ట్ కన్స్ట్రక్టర్‌కు మద్దతు ఇవ్వాలి. - 142. కారణం సులభం. + కారణం సులభం. - 143. కన్స్ట్రక్టర్ డిఫాల్ట్ కాకపోతే, దాని కాల్ కోసం పారామితులను తప్పక పాస్ చేయాలి. + కన్స్ట్రక్టర్ డిఫాల్ట్ కాకపోతే, దాని కాల్ కోసం పారామితులను తప్పక పాస్ చేయాలి. - 144. ఇప్పుడు, నేను సి [3] వలె శ్రేణిని కలిగి ఉంటే, అంటే అర్రే (అర్రే) సి యొక్క పేరు మరియు నాకు సి [0], సి [1] మరియు సి [2] ఉన్నాయి. మూడు విషయాలు ఉన్నాయి. + ఇప్పుడు, నేను సి [3] వలె శ్రేణిని కలిగి ఉంటే, అంటే అర్రే (అర్రే) సి యొక్క పేరు మరియు నాకు సి [0], సి [1] మరియు సి [2] ఉన్నాయి. మూడు విషయాలు ఉన్నాయి. - 145. అందువల్ల, సహజంగా మూడు వేర్వేరు కన్స్ట్రక్టర్లు ఉన్నారు, వారు కన్స్ట్రక్టర్ను మూడుసార్లు పిలవాలి లేదా పిలవాలి; ఈ వస్తువు కోసం ఒకసారి సి [0], ఒకసారి ఈ చిరునామా వద్ద సి [1] ఆపై చివరకు ఈ చిరునామా వద్ద సి [2]. + అందువల్ల, సహజంగా మూడు వేర్వేరు కన్స్ట్రక్టర్లు ఉన్నారు, వారు కన్స్ట్రక్టర్ను మూడుసార్లు పిలవాలి లేదా పిలవాలి; ఈ వస్తువు కోసం ఒకసారి సి [0], ఒకసారి ఈ చిరునామా వద్ద సి [1] ఆపై చివరకు ఈ చిరునామా వద్ద సి [2]. - 146. కాబట్టి, కన్స్ట్రక్టర్ మూడు కాల్స్ చేయాలి. + కాబట్టి, కన్స్ట్రక్టర్ మూడు కాల్స్ చేయాలి. - 147. మరియు, కన్స్ట్రక్టర్ ప్రింట్ చేసే సందేశాన్ని ట్రాక్ చేయడం ద్వారా మీరు చూడవచ్చు. + మరియు, కన్స్ట్రక్టర్ ప్రింట్ చేసే సందేశాన్ని ట్రాక్ చేయడం ద్వారా మీరు చూడవచ్చు. - 148. మరియు, ఈ మూడు కన్స్ట్రక్టర్ల యొక్క ఆరు పారామితులను అందించడం నిస్సందేహంగా లేదు కాబట్టి, మీరు ++ వస్తువుల శ్రేణిని నిర్మించినట్లయితే, కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) అప్రమేయంగా ఉండాలి. + మరియు, ఈ మూడు కన్స్ట్రక్టర్ల యొక్క ఆరు పారామితులను అందించడం నిస్సందేహంగా లేదు కాబట్టి, మీరు ++ వస్తువుల శ్రేణిని నిర్మించినట్లయితే, కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) అప్రమేయంగా ఉండాలి. - 149. అప్పుడు, మీరు ఈ శ్రేణితో ఏదో చేస్తున్నారు. + అప్పుడు, మీరు ఈ శ్రేణితో ఏదో చేస్తున్నారు. - 150. అందువల్ల, ఉదాహరణ ప్రయోజనం కోసం మాత్రమే, నేను సభ్యుల ఫంక్షన్ (ఫంక్షన్), opComplex () ని నిర్వచించాను, ఇది నేను ఏమీ చేయను కాని నేను డబుల్ విలువను తీసుకొని ఇద్దరి సభ్యులను చేర్చుకుంటాను. + అందువల్ల, ఉదాహరణ ప్రయోజనం కోసం మాత్రమే, నేను సభ్యుల ఫంక్షన్ (ఫంక్షన్), opComplex () ని నిర్వచించాను, ఇది నేను ఏమీ చేయను కాని నేను డబుల్ విలువను తీసుకొని ఇద్దరి సభ్యులను చేర్చుకుంటాను. - 151. కాబట్టి, దాని రకం సంక్లిష్ట విమానంలో సంక్లిష్ట సంఖ్యను వికర్ణంగా విభజిస్తుంది. + కాబట్టి, దాని రకం సంక్లిష్ట విమానంలో సంక్లిష్ట సంఖ్యను వికర్ణంగా విభజిస్తుంది. - 152. అందువల్ల, నేను అన్ని శ్రేణి వస్తువులపై ఒకదాని తరువాత ఒకటి చేస్తాను. + అందువల్ల, నేను అన్ని శ్రేణి వస్తువులపై ఒకదాని తరువాత ఒకటి చేస్తాను. - 153. ప్రతి సి [i] కోసం, ప్రతి శ్రేణి వస్తువు కోసం, నేను కాంప్లెక్స్‌ను దరఖాస్తు చేసి ముద్రించాను. + ప్రతి సి [i] కోసం, ప్రతి శ్రేణి వస్తువు కోసం, నేను కాంప్లెక్స్‌ను దరఖాస్తు చేసి ముద్రించాను. - 154. కాబట్టి, ఇవి ఇప్పుడు నేను కలిగి ఉన్న విభిన్న సంక్లిష్ట సంఖ్యలు; స్థానం 0 వద్ద, నాకు (0,0) ఉంది; 1 వ స్థానంలో, నాకు (1,1) ఉంది; రెండవ స్థానం, నాకు (2,2) ఉంది. + కాబట్టి, ఇవి ఇప్పుడు నేను కలిగి ఉన్న విభిన్న సంక్లిష్ట సంఖ్యలు; స్థానం 0 వద్ద, నాకు (0,0) ఉంది; 1 వ స్థానంలో, నాకు (1,1) ఉంది; రెండవ స్థానం, నాకు (2,2) ఉంది. - 155. విపత్తు సంఘటనలు ఏ క్రమంలో జరుగుతాయో వివరించడానికి మాత్రమే నేను దీన్ని చేసాను. - 156. అందువల్ల, తిరిగి వచ్చే సమయంలో స్కోప్ అయిపోయినప్పుడు, డిస్ట్రాయర్లను ఖచ్చితంగా పిలవాలి. + విపత్తు సంఘటనలు ఏ క్రమంలో జరుగుతాయో వివరించడానికి మాత్రమే నేను దీన్ని చేసాను. + అందువల్ల, తిరిగి వచ్చే సమయంలో స్కోప్ అయిపోయినప్పుడు, డిస్ట్రాయర్లను ఖచ్చితంగా పిలవాలి. - 157. మరియు నియమం ప్రకారం, ఇది కన్స్ట్రక్టర్లు సంభవించిన క్రమం కనుక, సహజంగా డిస్ట్రక్టర్లు రివర్స్ ఆర్డర్‌లో ఉండాలి. + మరియు నియమం ప్రకారం, ఇది కన్స్ట్రక్టర్లు సంభవించిన క్రమం కనుక, సహజంగా డిస్ట్రక్టర్లు రివర్స్ ఆర్డర్‌లో ఉండాలి. - 158. అంటే, సి [2] మొదట నాశనం అవుతుంది, తరువాత సి [1], తరువాత సి [0]. + అంటే, సి [2] మొదట నాశనం అవుతుంది, తరువాత సి [1], తరువాత సి [0]. - 159. మీరు ఇక్కడ చూడగలిగే ఒక వాస్తవం ఏమిటంటే, డిస్ట్రక్టర్లు మొదట సంక్లిష్ట సంఖ్యలకు (2,2), తరువాత సి [1], కాంప్లెక్స్ సంఖ్యలకు (1,1) మరియు చివరకు సి [0] కొరకు డిస్ట్రక్టర్లు. + మీరు ఇక్కడ చూడగలిగే ఒక వాస్తవం ఏమిటంటే, డిస్ట్రక్టర్లు మొదట సంక్లిష్ట సంఖ్యలకు (2,2), తరువాత సి [1], కాంప్లెక్స్ సంఖ్యలకు (1,1) మరియు చివరకు సి [0] కొరకు డిస్ట్రక్టర్లు. - 160. కాబట్టి, శ్రేణి వస్తువుల విషయంలో, వారి జీవితకాలం పరంగా ఏమి చేయాలో ఇది స్పష్టంగా చూపిస్తుంది. + కాబట్టి, శ్రేణి వస్తువుల విషయంలో, వారి జీవితకాలం పరంగా ఏమి చేయాలో ఇది స్పష్టంగా చూపిస్తుంది. - 161. కాబట్టి, మళ్ళీ ఈ కన్స్ట్రక్టర్ల నుండి డిస్ట్రక్టర్ల వరకు మనకు అన్ని శ్రేణి మూలకాల జీవితకాలం ఉంది. + కాబట్టి, మళ్ళీ ఈ కన్స్ట్రక్టర్ల నుండి డిస్ట్రక్టర్ల వరకు మనకు అన్ని శ్రేణి మూలకాల జీవితకాలం ఉంది. - 162. ఇప్పుడు, ఇక్కడ ఒక ప్రధాన ఫంక్షన్ ఉంది, కాని మేము ఇక్కడ ఒక వస్తువును గణాంకపరంగా నిర్వచించాము. + ఇప్పుడు, ఇక్కడ ఒక ప్రధాన ఫంక్షన్ ఉంది, కాని మేము ఇక్కడ ఒక వస్తువును గణాంకపరంగా నిర్వచించాము. - 163. స్టాటిక్ ఫీల్డ్‌లో గ్లోబల్ స్టాటిక్ ఆబ్జెక్ట్ ఉంది. + స్టాటిక్ ఫీల్డ్‌లో గ్లోబల్ స్టాటిక్ ఆబ్జెక్ట్ ఉంది. - 164. కాబట్టి, మిగతా తరగతి ఒకటే. + కాబట్టి, మిగతా తరగతి ఒకటే. - 165. మీరు అవుట్పుట్ ఎందుకు చూడగలరో ఇక్కడ ఉంది. + మీరు అవుట్పుట్ ఎందుకు చూడగలరో ఇక్కడ ఉంది. - 166. మరియు, ఏమి జరుగుతుందో అర్థం చేసుకోవడానికి ఇక్కడ అవుట్పుట్ ముఖ్యం. + మరియు, ఏమి జరుగుతుందో అర్థం చేసుకోవడానికి ఇక్కడ అవుట్పుట్ ముఖ్యం. - 167. మరియు, కన్స్ట్రక్టర్ అవుట్పుట్ సందేశాన్ని ట్రాక్ చేస్తుంది. + మరియు, కన్స్ట్రక్టర్ అవుట్పుట్ సందేశాన్ని ట్రాక్ చేస్తుంది. - 168. కాబట్టి, (4.2,5.3) కోసం నిర్మాత అవుట్పుట్ (అవుట్పుట్) సందేశం, మీరు చూసే ఈ గ్లోబల్ స్టాటిక్ ఆబ్జెక్ట్స్ మొదట ముద్రించబడతాయి, ప్రధానంగా ఇది మొదలయ్యే ముందు. + కాబట్టి, (4.2,5.3) కోసం నిర్మాత అవుట్పుట్ (అవుట్పుట్) సందేశం, మీరు చూసే ఈ గ్లోబల్ స్టాటిక్ ఆబ్జెక్ట్స్ మొదట ముద్రించబడతాయి, ప్రధానంగా ఇది మొదలయ్యే ముందు. - 169. కాబట్టి, ఇది అందమైన సమాచారం. + కాబట్టి, ఇది అందమైన సమాచారం. - 170. అతను ఒక అందమైన అవగాహన. + అతను ఒక అందమైన అవగాహన. - 171. సి విషయానికొస్తే, ప్రతిదీ ప్రధాన నుండి మొదలవుతుందని మేము ఎల్లప్పుడూ అర్థం చేసుకున్నాము. + సి విషయానికొస్తే, ప్రతిదీ ప్రధాన నుండి మొదలవుతుందని మేము ఎల్లప్పుడూ అర్థం చేసుకున్నాము. - 172. గణన ప్రధానంగా ప్రారంభమవుతుంది; యొక్క ప్రారంభం. + గణన ప్రధానంగా ప్రారంభమవుతుంది; యొక్క ప్రారంభం. - 173. C ++ లో, ప్రధానమైనది ఇప్పటికీ ఎంట్రీ పాయింట్ ఫంక్షన్; ప్రధానమైనది ఇప్పటికీ మీరు C ++ ఫంక్షన్‌లో అందించాల్సిన ఫంక్షన్. + C ++ లో, ప్రధానమైనది ఇప్పటికీ ఎంట్రీ పాయింట్ ఫంక్షన్; ప్రధానమైనది ఇప్పటికీ మీరు C ++ ఫంక్షన్‌లో అందించాల్సిన ఫంక్షన్. - 174. మరియు, ఇది సిస్టమ్ చేత పిలువబడే మొదటి ఫంక్షన్. + మరియు, ఇది సిస్టమ్ చేత పిలువబడే మొదటి ఫంక్షన్. - 175. కానీ, గణన ప్రధానంగా ప్రారంభం కాదు. + కానీ, గణన ప్రధానంగా ప్రారంభం కాదు. - 176. గణన ప్రధాన వస్తువుల కన్స్ట్రక్టర్లతో మొదలవుతుంది, ఇవి ప్రధాన కన్స్ట్రక్టర్ల ముందు ప్రారంభించాలి. + గణన ప్రధాన వస్తువుల కన్స్ట్రక్టర్లతో మొదలవుతుంది, ఇవి ప్రధాన కన్స్ట్రక్టర్ల ముందు ప్రారంభించాలి. - 177. అందువల్ల, కీ ప్రారంభమయ్యే ముందు అన్ని స్థిర వస్తువుల కన్స్ట్రక్టర్లు సంభవిస్తాయి. + అందువల్ల, కీ ప్రారంభమయ్యే ముందు అన్ని స్థిర వస్తువుల కన్స్ట్రక్టర్లు సంభవిస్తాయి. - 178. కాబట్టి, ఇక్కడ మిగిలినవి స్థానిక వస్తువు యొక్క కన్స్ట్రక్టర్లు. + కాబట్టి, ఇక్కడ మిగిలినవి స్థానిక వస్తువు యొక్క కన్స్ట్రక్టర్లు. - 179. మళ్ళీ, ఈ రెండు అంశాలను ఉపయోగించడం జీవితాంతం కొనసాగుతుంది. + మళ్ళీ, ఈ రెండు అంశాలను ఉపయోగించడం జీవితాంతం కొనసాగుతుంది. - 180. మరియు, d అనేది స్థానిక వస్తువు కాబట్టి, ఇది ప్రధాన డొమైన్ చివరికి చేరుకున్నప్పుడు, d ను డిస్ట్రక్టర్స్ అంటారు. + మరియు, d అనేది స్థానిక వస్తువు కాబట్టి, ఇది ప్రధాన డొమైన్ చివరికి చేరుకున్నప్పుడు, d ను డిస్ట్రక్టర్స్ అంటారు. - 181. మరియు, ఇక్కడ కనిపించనిది చీఫ్ వాస్తవానికి తిరిగి వచ్చినప్పుడు. + మరియు, ఇక్కడ కనిపించనిది చీఫ్ వాస్తవానికి తిరిగి వచ్చినప్పుడు. - 182. మరియు, ఈ స్టాటిక్ ఆబ్జెక్ట్ కోసం సి డిస్ట్రక్టర్లు ప్రధాన రిటర్న్‌ను అనుసరిస్తారు, ఇది సరిపోతుంది. LIFO స్ట్రాటజీతో డిస్ట్రక్టర్ల క్రమం కన్స్ట్రక్టర్ల క్రమానికి వ్యతిరేకం అని చెప్పింది. + మరియు, ఈ స్టాటిక్ ఆబ్జెక్ట్ కోసం సి డిస్ట్రక్టర్లు ప్రధాన రిటర్న్‌ను అనుసరిస్తారు, ఇది సరిపోతుంది. LIFO స్ట్రాటజీతో డిస్ట్రక్టర్ల క్రమం కన్స్ట్రక్టర్ల క్రమానికి వ్యతిరేకం అని చెప్పింది. - 183. కాబట్టి, నేను ఒక సాధారణ వస్తువు గురించి మాత్రమే మాట్లాడితే, అక్కడ ఒకే స్టాటిక్ ఆబ్జెక్ట్ మాత్రమే ఉంటే, కమాండ్ ఆ స్టాటిక్ ఆబ్జెక్ట్ యొక్క కన్స్ట్రక్టర్స్ (కన్స్ట్రక్టర్స్) ను ప్రధాన కాల్ చేస్తుంది. + కాబట్టి, నేను ఒక సాధారణ వస్తువు గురించి మాత్రమే మాట్లాడితే, అక్కడ ఒకే స్టాటిక్ ఆబ్జెక్ట్ మాత్రమే ఉంటే, కమాండ్ ఆ స్టాటిక్ ఆబ్జెక్ట్ యొక్క కన్స్ట్రక్టర్స్ (కన్స్ట్రక్టర్స్) ను ప్రధాన కాల్ చేస్తుంది. - 184. కన్స్ట్రక్టర్లు ప్రధాన స్థానిక వస్తువులను చేస్తారు; ప్రధాన ఉచ్చుల పరిధికి స్థిరమైన మరియు స్థానిక వస్తువులను ఉపయోగించండి. + కన్స్ట్రక్టర్లు ప్రధాన స్థానిక వస్తువులను చేస్తారు; ప్రధాన ఉచ్చుల పరిధికి స్థిరమైన మరియు స్థానిక వస్తువులను ఉపయోగించండి. - 185. మరియు, ప్రధాన పరిధి చివరిలో, స్థానిక వస్తువులను నాశనం చేయండి. + మరియు, ప్రధాన పరిధి చివరిలో, స్థానిక వస్తువులను నాశనం చేయండి. - 186. ప్రధాన రాబడి అప్పుడు సృష్టించిన స్టాటిక్ వస్తువును నాశనం చేస్తుంది. + ప్రధాన రాబడి అప్పుడు సృష్టించిన స్టాటిక్ వస్తువును నాశనం చేస్తుంది. - 187. మరియు ఇది ఇది; అందువల్ల, C ++ లో కోడ్‌ను అమలు చేయడానికి వాస్తవానికి స్కోప్ ఉంది, ప్రధాన ప్రారంభానికి ముందు మరియు ప్రధాన ముగింపు తర్వాత. + మరియు ఇది ఇది; అందువల్ల, C ++ లో కోడ్‌ను అమలు చేయడానికి వాస్తవానికి స్కోప్ ఉంది, ప్రధాన ప్రారంభానికి ముందు మరియు ప్రధాన ముగింపు తర్వాత. - 188. చివరి ఉదాహరణ డైనమిక్ కేటాయింపు సందర్భంలో. + చివరి ఉదాహరణ డైనమిక్ కేటాయింపు సందర్భంలో. - 189. ఎలా చూశాము; వివిధ డైనమిక్ కేటాయింపు ఆపరేటర్లు, ఆపరేటర్ కొత్త మరియు మొదలైనవి. + ఎలా చూశాము; వివిధ డైనమిక్ కేటాయింపు ఆపరేటర్లు, ఆపరేటర్ కొత్త మరియు మొదలైనవి. - 190. అందువల్ల, మేము మళ్ళీ వివరించడానికి కాంప్లెక్స్‌ను ఉపయోగిస్తాము. + అందువల్ల, మేము మళ్ళీ వివరించడానికి కాంప్లెక్స్‌ను ఉపయోగిస్తాము. - 191. ఈ ఆపరేటర్ కొత్త ప్రయోగం చేస్తున్నారు. + ఈ ఆపరేటర్ కొత్త ప్రయోగం చేస్తున్నారు. - 192. నేను సంక్లిష్టమైన వస్తువును చేయగలను. + నేను సంక్లిష్టమైన వస్తువును చేయగలను. - 193. నేను ఉపయోగించగలను; సంక్లిష్ట వస్తువుల శ్రేణిని సృష్టించడానికి ఆపరేటర్ కొత్త శ్రేణి రూపాన్ని సృష్టించండి. + నేను ఉపయోగించగలను; సంక్లిష్ట వస్తువుల శ్రేణిని సృష్టించడానికి ఆపరేటర్ కొత్త శ్రేణి రూపాన్ని సృష్టించండి. - 194. నేను ఆపరేటర్ ప్లేస్‌మెంట్ చేయగలను, ఒక వస్తువు కోసం ఇచ్చిన బఫర్‌లో కొత్త ప్లేస్‌మెంట్ చేయగలను. + నేను ఆపరేటర్ ప్లేస్‌మెంట్ చేయగలను, ఒక వస్తువు కోసం ఇచ్చిన బఫర్‌లో కొత్త ప్లేస్‌మెంట్ చేయగలను. - 195. ఇప్పుడు, కొత్తగా ఉన్నప్పుడు, అది మొదట కొత్త మెమరీని కేటాయిస్తుంది మరియు తరువాత కన్స్ట్రక్టర్లుగా ఉంటుంది. + ఇప్పుడు, కొత్తగా ఉన్నప్పుడు, అది మొదట కొత్త మెమరీని కేటాయిస్తుంది మరియు తరువాత కన్స్ట్రక్టర్లుగా ఉంటుంది. - 196. అందువల్ల, స్వయంచాలక లేదా స్థిర వస్తువుల మాదిరిగానే, కన్స్ట్రక్టర్లు అవ్యక్తంగా ఉన్నారు. + అందువల్ల, స్వయంచాలక లేదా స్థిర వస్తువుల మాదిరిగానే, కన్స్ట్రక్టర్లు అవ్యక్తంగా ఉన్నారు. - 197. అదేవిధంగా, క్రొత్తది కన్స్ట్రక్టర్లను కూడా కలిగి ఉంది. + అదేవిధంగా, క్రొత్తది కన్స్ట్రక్టర్లను కూడా కలిగి ఉంది. - 198. ఒకే తేడా ఏమిటంటే, కన్స్ట్రక్టర్ల ముందు, క్రొత్తది వాస్తవానికి డైనమిక్‌గా మెమరీని కేటాయిస్తుంది. + ఒకే తేడా ఏమిటంటే, కన్స్ట్రక్టర్ల ముందు, క్రొత్తది వాస్తవానికి డైనమిక్‌గా మెమరీని కేటాయిస్తుంది. - 199. కాబట్టి, క్రొత్త మరియు ఈ శ్రేణి యొక్క రెండు రూపాలు మెమరీని కేటాయించి, ఆపై అవసరమైన కన్స్ట్రక్టర్‌ను పిలుస్తాయి. + కాబట్టి, క్రొత్త మరియు ఈ శ్రేణి యొక్క రెండు రూపాలు మెమరీని కేటాయించి, ఆపై అవసరమైన కన్స్ట్రక్టర్‌ను పిలుస్తాయి. - 200. కాబట్టి, ఇవి విడుదలైనప్పుడు, నేను PC ని తొలగించినట్లు, అంటే, నేను ఈ వస్తువును విడుదల చేయడానికి ప్రయత్నిస్తున్నాను. - 201. అప్పుడు, ఇది డిలీట్ డిస్ట్రక్టర్ అని పిలుస్తుంది, ఇది కన్స్ట్రక్టర్ కాల్ ప్రకారం ఉంటుంది మరియు అది మెమరీని విడుదల చేస్తుంది. + కాబట్టి, ఇవి విడుదలైనప్పుడు, నేను PC ని తొలగించినట్లు, అంటే, నేను ఈ వస్తువును విడుదల చేయడానికి ప్రయత్నిస్తున్నాను. + అప్పుడు, ఇది డిలీట్ డిస్ట్రక్టర్ అని పిలుస్తుంది, ఇది కన్స్ట్రక్టర్ కాల్ ప్రకారం ఉంటుంది మరియు అది మెమరీని విడుదల చేస్తుంది. - 202. కాబట్టి, క్రొత్తదాన్ని తీసివేయవద్దు మరియు; క్రొత్త మరియు తొలగించడం మాలోక్ మరియు ఉచితం అని మేము ముందే చెప్పాము. + కాబట్టి, క్రొత్తదాన్ని తీసివేయవద్దు మరియు; క్రొత్త మరియు తొలగించడం మాలోక్ మరియు ఉచితం అని మేము ముందే చెప్పాము. - 203. అయినప్పటికీ, అవి వాస్తవానికి మాలోక్ మరియు ఉచితం కాదు ఎందుకంటే మల్లోక్ మెమరీని మాత్రమే కేటాయిస్తుంది, కానీ కొత్త మెమరీని కేటాయిస్తుంది మరియు కన్స్ట్రక్టర్‌ను ఉచితంగా పిలుస్తుంది. + అయినప్పటికీ, అవి వాస్తవానికి మాలోక్ మరియు ఉచితం కాదు ఎందుకంటే మల్లోక్ మెమరీని మాత్రమే కేటాయిస్తుంది, కానీ కొత్త మెమరీని కేటాయిస్తుంది మరియు కన్స్ట్రక్టర్‌ను ఉచితంగా పిలుస్తుంది. - 204. కాబట్టి, ఈ వ్యత్యాసాన్ని గుర్తుంచుకోవాలి. + కాబట్టి, ఈ వ్యత్యాసాన్ని గుర్తుంచుకోవాలి. - 205. ఈ ప్రోగ్రామ్ యొక్క మొత్తం అవుట్పుట్ ఇక్కడ చూపబడింది. + ఈ ప్రోగ్రామ్ యొక్క మొత్తం అవుట్పుట్ ఇక్కడ చూపబడింది. - 206. మీరు దీన్ని చేయవచ్చు; ఏమి జరుగుతుందో మీరు జాగ్రత్తగా అర్థం చేసుకోవాలి. + మీరు దీన్ని చేయవచ్చు; ఏమి జరుగుతుందో మీరు జాగ్రత్తగా అర్థం చేసుకోవాలి. - 207. ఇక్కడ, ఇది డైనమిక్ కేటాయింపు కనుక, కేటాయింపు చేసినప్పుడు వినియోగదారుకు పూర్తి స్వేచ్ఛ ఉంటుంది; ఒక వస్తువును ఎప్పుడు సృష్టించాలి మరియు దానిని నాశనం చేయడం ద్వారా తొలగించండి. + ఇక్కడ, ఇది డైనమిక్ కేటాయింపు కనుక, కేటాయింపు చేసినప్పుడు వినియోగదారుకు పూర్తి స్వేచ్ఛ ఉంటుంది; ఒక వస్తువును ఎప్పుడు సృష్టించాలి మరియు దానిని నాశనం చేయడం ద్వారా తొలగించండి. - 208. మరియు, వారి మధ్య జీవితకాలం పరిమితం. + మరియు, వారి మధ్య జీవితకాలం పరిమితం. - 209. మీరు గుర్తుంచుకోవలసిన ఏకైక మినహాయింపు ఏమిటంటే, మీరు ప్లేస్‌మెంట్‌ను పునరుద్ధరిస్తుంటే, మేము ఇంతకుముందు చెప్పినట్లుగా, మెమరీ కేటాయింపు చేయకూడదు. + మీరు గుర్తుంచుకోవలసిన ఏకైక మినహాయింపు ఏమిటంటే, మీరు ప్లేస్‌మెంట్‌ను పునరుద్ధరిస్తుంటే, మేము ఇంతకుముందు చెప్పినట్లుగా, మెమరీ కేటాయింపు చేయకూడదు. - 210. బఫర్ విషయంలో ఇది వినియోగదారుచే అందించబడుతుంది. + బఫర్ విషయంలో ఇది వినియోగదారుచే అందించబడుతుంది. - 211. అందువల్ల, క్రొత్త ప్లేస్‌మెంట్ ద్వారా సృష్టించబడిన పాయింటర్‌పై మీరు పాయింటర్‌ను తొలగించలేరు. + అందువల్ల, క్రొత్త ప్లేస్‌మెంట్ ద్వారా సృష్టించబడిన పాయింటర్‌పై మీరు పాయింటర్‌ను తొలగించలేరు. - 212. కాబట్టి, ప్లేస్‌మెంట్ కొత్తగా సృష్టించబడిన ఈ ఆబ్జెక్ట్ కోసం, మీరు స్పష్టమైన డిస్ట్రక్టర్లుగా ఏదైనా చేయాలి. + కాబట్టి, ప్లేస్‌మెంట్ కొత్తగా సృష్టించబడిన ఈ ఆబ్జెక్ట్ కోసం, మీరు స్పష్టమైన డిస్ట్రక్టర్లుగా ఏదైనా చేయాలి. - 213. అంటే, ఆ పాయింటర్‌లో మీరు నిజంగా కాంప్లెక్స్ యొక్క డిస్ట్రక్టర్లను పిలవాలి. + అంటే, ఆ పాయింటర్‌లో మీరు నిజంగా కాంప్లెక్స్ యొక్క డిస్ట్రక్టర్లను పిలవాలి. - 214. కాబట్టి, మీరు డిస్ట్రక్టర్లను స్పష్టంగా పిలిచే చాలా అరుదైన సందర్భాలలో ఇది ఒకటి, ఎందుకంటే ఇక్కడ తొలగించే ఆపరేషన్‌లో ప్యాక్ చేయలేము ఎందుకంటే తొలగించాల్సిన మెమరీ తొలగించబడుతుంది.) జారీ చేయవలసి ఉంటుంది, ఇది మీకు ఇక్కడ లేదు. + కాబట్టి, మీరు డిస్ట్రక్టర్లను స్పష్టంగా పిలిచే చాలా అరుదైన సందర్భాలలో ఇది ఒకటి, ఎందుకంటే ఇక్కడ తొలగించే ఆపరేషన్‌లో ప్యాక్ చేయలేము ఎందుకంటే తొలగించాల్సిన మెమరీ తొలగించబడుతుంది.) జారీ చేయవలసి ఉంటుంది, ఇది మీకు ఇక్కడ లేదు. - 215. మరియు, ఇది సూచించబడదు ఎందుకంటే ఇది మీరే నిర్వహించాలనుకునే డైనమిక్ ప్రక్రియ. + మరియు, ఇది సూచించబడదు ఎందుకంటే ఇది మీరే నిర్వహించాలనుకునే డైనమిక్ ప్రక్రియ. - 216. కాబట్టి, ఇది మొత్తం జీవితకాల ప్రక్రియ. + కాబట్టి, ఇది మొత్తం జీవితకాల ప్రక్రియ. - 217. దయచేసి, ఈ జాగ్రత్తగా జతచేయడం ద్వారా వెళ్ళండి, ఎందుకంటే కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్లు మరియు సంబంధిత వస్తువులు చాలా కాలం జీవితకాలం కలిగివుంటాయి, ఇది సి ++ లోని ఆబ్జెక్ట్ మేనేజ్‌మెంట్ యొక్క ప్రధాన భావనలలో ఒకటి. + దయచేసి, ఈ జాగ్రత్తగా జతచేయడం ద్వారా వెళ్ళండి, ఎందుకంటే కన్స్ట్రక్టర్లు, డిస్ట్రక్టర్లు మరియు సంబంధిత వస్తువులు చాలా కాలం జీవితకాలం కలిగివుంటాయి, ఇది సి ++ లోని ఆబ్జెక్ట్ మేనేజ్‌మెంట్ యొక్క ప్రధాన భావనలలో ఒకటి. - 218. మరియు, తరువాతి వారాల్లో మేము తదుపరి మాడ్యూళ్ళలో ఏమి చేస్తాము అనేది కన్స్ట్రక్టర్లు మరియు కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్లపై మీ అవగాహనపై పూర్తిగా ఆధారపడి ఉంటుంది. + మరియు, తరువాతి వారాల్లో మేము తదుపరి మాడ్యూళ్ళలో ఏమి చేస్తాము అనేది కన్స్ట్రక్టర్లు మరియు కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్లపై మీ అవగాహనపై పూర్తిగా ఆధారపడి ఉంటుంది. - 219. ఈ మాడ్యూల్‌లో మనం చర్చించినవన్నీ ఈ సారాంశంలో ఇవ్వబడ్డాయి. + ఈ మాడ్యూల్‌లో మనం చర్చించినవన్నీ ఈ సారాంశంలో ఇవ్వబడ్డాయి. - 220. కాబట్టి, మీరు ఈ పాయింట్లన్నింటినీ అర్థం చేసుకున్నారని మీరు ఇప్పుడు తనిఖీ చేయవచ్చు. + కాబట్టి, మీరు ఈ పాయింట్లన్నింటినీ అర్థం చేసుకున్నారని మీరు ఇప్పుడు తనిఖీ చేయవచ్చు. - 221. మరియు చాలా ధన్యవాదాలు. - 222. + మరియు చాలా ధన్యవాదాలు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/03. ProgramminginCplusplus_Classes and Objects (Lecture 19)-1puaGnJ9pyA.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/03. ProgramminginCplusplus_Classes and Objects (Lecture 19)-1puaGnJ9pyA.txt index eb0be420899ba54f3742d0ee75ba9c038eaac12c..e2a08ce7be93aa3d50ad7466fa21eb3b674e3549 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/03. ProgramminginCplusplus_Classes and Objects (Lecture 19)-1puaGnJ9pyA.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/03. ProgramminginCplusplus_Classes and Objects (Lecture 19)-1puaGnJ9pyA.txt @@ -1,269 +1,269 @@ - 1. మాడ్యూల్ 11 కు ప్రోగ్రామింగ్ C ++ లో స్వాగతం. - 2. మేము ఇప్పటికే C ++ యొక్క ప్రొసీజరల్ ఎక్స్టెన్షన్స్(procedural extensions) లూప్ను(loop) తీసుకున్నాము, మాడ్యూల్ 5, 6 నుండి 10 వరకు. మరియు మేము విభిన్న ఉత్తమ సి ఫీచర్లను(features) చూసాం. - 3. ఇప్పుడు ఈ మాడ్యూల్ నుండి, మేము C ++, క్లాస్ మరియు ఆబ్జెక్ట్(objects) ల భావన యొక్క ప్రధాన ఆబ్జెక్ట్ ఓరియంటెడ్ ఫీచర్లను(object-oriented features) చర్చించడాన్ని ప్రారంభిస్తాము. - 4. కాబట్టి, ఈ మాడ్యూల్ యొక్క ఉద్దేశ్యం C ++ లో క్లాస్ మరియు ఆబ్జెక్ట్ల ఫీచర్లను అర్థం చేసుకోవడం. - 5. కాబట్టి, ఇవి మనము చూసే అంశాలు. - 6. ఇప్పుడు, ముందుగా మీరు ఒక క్లాస్, మరియు ఒక ఆబ్జెక్ట్ ఏమిటో మౌలిక వివరణను ఇస్తాను. - 7. మేము నెమ్మదిగా ప్రదర్శిస్తాము, ఉదాహరణ ద్వారా ఈ ఉదాహరణను ఉదహరించండి, తద్వారా ప్రతి పాయింట్ స్పష్టంగా మారుతుంది. - 8. మేము చెప్పినట్లుగా, ఒక క్లాస్ ఒక రకమైన అమలు. - 9. ఇప్పటివరకు ఎందుకంటే మీరు పూర్తిగా క్రొత్తగా కనిపించే లేదా ధ్వనించే ఒక ప్రకటన; C కు సంబంధించినంతవరకు, మేము బిల్ట్ ఇన్ టైప్స్(built in types) లేదా డిరైవ్డ్ టైప్స్ (derived types) బట్టి స్ట్రక్చర్(structure) లేదా పాయింటర్ వంటి అర్రే(array) వంటి టైప్స్. - 10. కానీ, మనము ఇప్పుడు మనము యుజర్ డిఫైన్డ్ (user defined ) డాటా టైపును అమలు చేయగల స్థితిలో ఉండి, ప్రస్తుత మాడ్యూల్ మరియు మాడ్యూల్స్ యొక్క తదుపరి జంట నుండి తీసుకోబోయే ప్రధాన పాఠాల్లో ఒకటిగా ఉంటుంది. - 11. ఒక క్లాస్ డేటా మెంబర్లను లేదా గుణాలను(attributes) కలిగి ఉంటుందని మేము గమనిస్తే, క్లాస్(class) కి ఆపరేషన్స్(operations), మెంబర్ ఫంక్షన్స్ (member functions) లేదా మెతడ్స్(methods) ఉంటాయి; ఇవి ఇదే ప్రత్యామ్నాయ పేర్లు. - 12. ఒక క్లాస్ నేమ్ను నేను నిర్వచించిన ఒక నేమ్ స్పేస్(name space) నిర్వచించే క్లాస్ ని మేము చూస్తాము, ఇది అన్ని డేటా మెంబర్లకు మరియు దాని యొక్క మెతడ్ల నేమ్స్(methods names) కు పరిసర ప్రొపర్టీ(property) అవుతుంది. - 13. ఆ విధంగా, ఒక క్లాస్ డేటా అబ్స్టాక్షన్(data abstraction) లేదా ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్(object-oriented programming) యొక్క అని పిలవబడే అని పిలుస్తారు. - 14. C ప్రోగ్రామింగ్తో సమాంతరంగా, క్లాస్ తార్కికంగా డేటాను సమీకరించే స్ట్రక్చర్(structures) మాదిరిగానే ఉంటుందని మీరు చెప్పవచ్చు, కానీ క్లాస్ లు ఎలా విభిన్నంగా ఉంటుందో మేము చూపిస్తాము. - 15. క్లాస్ డిఫైన్ చేయటానికి, C ++ నేమ్ క్లాస్(name class) ద్వారా కొత్త కీవర్డ్ ను ప్రవేశపెట్టింది, మరియు క్లాస్ లకు ప్రత్యేకమైన ప్రాప్తి ఉంది; చివరకు, ఒక క్లాస్ blue print మరియు ఆబ్జెక్ట్ ల కోసం తక్షణం చేయవచ్చు. - 16. కాబట్టి, ఆబ్జెక్ట్ ప్రాథమికంగా క్లాస్ యొక్క ఉదాహరణలు; కాబట్టి, ఒక క్లాస్ ఇచ్చినప్పుడు, నేను ఆ క్లాస్ కి చెందిన అనేక చోట్ల ఉండవచ్చు, ఒక క్లాస్ మాకు blue print చెబుతుంది, డేటాను మరియు మెతడ్ ని ఒక ఆబ్జెక్ట్ కోసం నిర్వహించాల్సిన ఫార్మాట్ మాకు చెబుతుంది. - 17. మరియు ప్రతి ఆబ్జెక్ట్ ప్రత్యేక గుర్తింపును కలిగి ఉంటుంది; అది దాని స్వంత విలువలను కలిగి ఉంటుంది, ఇది ఆ ఆబ్జెక్ట్ ను కలిగి ఉన్న స్తితి ని నిర్దేశిస్తుంది. - 18. మెంబర్ ఫంక్షన్స్(member functions) మద్దతు ఇస్తుంది, ఇది అందించే ప్రవర్తనను నిర్వచించే; ఒక ఆబ్జెక్ట్ ఇచ్చిన మేము డాట్ ఆపరేటర్ను ఉపయోగించగలము, స్ట్రక్చర్(structures) యొక్క భాగాలను యాక్సెస్ చేసేటప్పుడు మేము చూసినట్లుగా, అదే ఆపరేటర్ను డేటా మెంబర్ లను అలాగే ఆబ్జెక్ట్ యొక్క మెతడ్లను ప్రాప్తి చేయడానికి ఉపయోగించవచ్చు. - 19. అంతేకాకుండా, ఒక వస్తువు ఒక నిర్దిష్ట పాయింటర్ ను ఈ పాయింటర్ గా తెలుసుకుంటుంది; ఈ సూచిక ప్రతి విధానాన్ని స్పష్టంగా పాస్ చేస్తుంది. - 20. ఇది ఏ తరగతి (తరగతి) మరియు ఆబ్జెక్ట్ యొక్క క్లుప్త వివరణ. - 21. నేను ప్రారంభంలో ఖచ్చితంగా ఖచ్చితంగా వద్ద అది మీ అందరికీ పెద్దగా పట్టింపు లేదు. - 22. అందువల్ల, మనం ఒక ఉదాహరణతో ప్రారంభిస్తాం, మరియు తరువాత స్లైడ్ ల్లో ఈ ప్రతి పాయింట్ ని క్రమేపీ చిత్రిస్తాం. - 23. కాబట్టి, ఒక సంక్లిష్ట సంఖ్య యొక్క సరళమైన నిర్వచనాన్ని మనం ఇప్పుడు చూద్దాం. - 24. మేము ఈ ఉదాహరణను కూడా ఇంతకు ముందు తీసుకున్నాము, ఇక్కడ మేము వాస్తవానికి రెండు డేటా సభ్యులను కలిగి ఉన్న ఒక నిర్మాణాన్ని ఉపయోగించవచ్చు, రెండు సభ్యులు ఒక సంక్లిష్ట సంఖ్య యొక్క రెండు భాగాలను తిరిగి అమలు చేయవచ్చు మరియు ఇది ఒక నిర్మాణం గా నిర్వచించబడుతుంది మరియు మేము దానిని టైప్ చేస్తాము, ఇది పేరు సముదాయం. - 25. అందువల్ల, మనం ఆ విధంగా చేసిన తరువాత, ఆ నిర్మాణం యొక్క వేరియబుల్స్ ని మనం నిర్వచించవచ్చు మరియు స్ట్రక్చర్ యొక్క ఈ కాంపోనెంట్ కొరకు కొన్ని ప్రారంభ విలువలను ఉంచవచ్చు. - 26. కాబట్టి, మళ్ళీ అది 4.2 అవుతుంది, మరియు 5.3. - 27. కాబట్టి, ఈ సంక్లిష్ట సంఖ్య యొక్క రెండు భాగాలను మనం ఇప్పుడు ఒకదానిలో ప్రింట్ చేసినట్లయితే, అది 4.2 మరియు 5.3గా ప్రింట్ చేయబడుతుంది. - 28. ఇది మీకు ఇప్పటికే తెలిసినవిషయం; ఇది సిలో లభ్యమవుతుంది. - 29. నేను సి++లో సమానంగా రాయాలనుకుంటే దాన్ని క్లాస్ గా మార్చి రాస్తాను. - 30. సో, మేము ఒక స్ట్రక్ట్ కాంప్లెక్స్ మరియు తరువాత మేము టైప్డెఫ్ తో aliasing, ఇప్పుడు నేను ఒక తరగతి కాంప్లెక్స్ వ్రాస్తాను మరియు దాని లోపల సభ్యుడి నిర్వచనాలు చాలు. - 31. మరియు మిగిలిన కోడ్ చాలా ఒకే విధంగా రాయవచ్చు, ఇక్కడ తేడా ఉన్నప్పుడు మాత్రమే, మేము printf ఉపయోగిస్తున్నాము మరియు ఇక్కడ మేము C++ విషయంలో చూసిన విధంగా మేము cout ను ఉపయోగిస్తున్నాము, మేము స్ట్రీమింగ్ ఆపరేటర్లను ఆ విధంగా చేయడానికి ఉపయోగిస్తాము. - 32. ఇప్పుడు, ఖచ్చితంగా ఏమి చేయాలో చూద్దాం. - 33. అందువల్ల, స్ట్రక్చర్ సిలో కీవర్డ్ ఉంది, సి++ లో క్లాస్ అనేది కొత్త కీవర్డ్. - 34. మనం చేసిన మిగిలిన భాగం, వాస్తవ అనుఘటకం యొక్క రెండు భాగాలను నిర్వచించడం మరియు సేకరించడం, Cలో ఒక నిర్మాణం ద్వారా లేదా C++ లోని ఒక తరగతి ద్వారా సంక్లిష్ట సంఖ్య యొక్క ఊహాజనిత భాగం రెండింటిమధ్య చాలా సారూప్యంగా ఉంటుంది. - 35. అందువల్ల, ఇప్పుడు మనం క్రమేపీ బయటకు తీసుకొచ్చే ఒకే ఒక్క వ్యత్యాసాన్ని, నిర్మాణం మాత్రమే సేకరించడానికి అనుమతిస్తుంది, రెండు భాగాలను కలిపి ఉంచు, మనం N1ను రెండు డబుల్ నెంబర్లు 4.2 మరియు 5.3 గా పేర్కొందాం. - 36. ఒక సంక్లిష్ట తరగతిని డిజైన్ చేయడం కూడా అదే పని. - 37. కానీ మనం చూసే క్లాస్ లో స్ట్రక్చర్ ఇంకా చాలా పనులు చేస్తుంది. - 38. కాబట్టి మనం కొన్ని భిన్నమైన మరియు పెద్ద ఉదాహరణ తీసుకుందాం. + మాడ్యూల్ 11 కు ప్రోగ్రామింగ్ C ++ లో స్వాగతం. + మేము ఇప్పటికే C ++ యొక్క ప్రొసీజరల్ ఎక్స్టెన్షన్స్(procedural extensions) లూప్ను(loop) తీసుకున్నాము, మాడ్యూల్ 5, 6 నుండి 10 వరకు. మరియు మేము విభిన్న ఉత్తమ సి ఫీచర్లను(features) చూసాం. + ఇప్పుడు ఈ మాడ్యూల్ నుండి, మేము C ++, క్లాస్ మరియు ఆబ్జెక్ట్(objects) ల భావన యొక్క ప్రధాన ఆబ్జెక్ట్ ఓరియంటెడ్ ఫీచర్లను(object-oriented features) చర్చించడాన్ని ప్రారంభిస్తాము. + కాబట్టి, ఈ మాడ్యూల్ యొక్క ఉద్దేశ్యం C ++ లో క్లాస్ మరియు ఆబ్జెక్ట్ల ఫీచర్లను అర్థం చేసుకోవడం. + కాబట్టి, ఇవి మనము చూసే అంశాలు. + ఇప్పుడు, ముందుగా మీరు ఒక క్లాస్, మరియు ఒక ఆబ్జెక్ట్ ఏమిటో మౌలిక వివరణను ఇస్తాను. + మేము నెమ్మదిగా ప్రదర్శిస్తాము, ఉదాహరణ ద్వారా ఈ ఉదాహరణను ఉదహరించండి, తద్వారా ప్రతి పాయింట్ స్పష్టంగా మారుతుంది. + మేము చెప్పినట్లుగా, ఒక క్లాస్ ఒక రకమైన అమలు. + ఇప్పటివరకు ఎందుకంటే మీరు పూర్తిగా క్రొత్తగా కనిపించే లేదా ధ్వనించే ఒక ప్రకటన; C కు సంబంధించినంతవరకు, మేము బిల్ట్ ఇన్ టైప్స్(built in types) లేదా డిరైవ్డ్ టైప్స్ (derived types) బట్టి స్ట్రక్చర్(structure) లేదా పాయింటర్ వంటి అర్రే(array) వంటి టైప్స్. + కానీ, మనము ఇప్పుడు మనము యుజర్ డిఫైన్డ్ (user defined ) డాటా టైపును అమలు చేయగల స్థితిలో ఉండి, ప్రస్తుత మాడ్యూల్ మరియు మాడ్యూల్స్ యొక్క తదుపరి జంట నుండి తీసుకోబోయే ప్రధాన పాఠాల్లో ఒకటిగా ఉంటుంది. + ఒక క్లాస్ డేటా మెంబర్లను లేదా గుణాలను(attributes) కలిగి ఉంటుందని మేము గమనిస్తే, క్లాస్(class) కి ఆపరేషన్స్(operations), మెంబర్ ఫంక్షన్స్ (member functions) లేదా మెతడ్స్(methods) ఉంటాయి; ఇవి ఇదే ప్రత్యామ్నాయ పేర్లు. + ఒక క్లాస్ నేమ్ను నేను నిర్వచించిన ఒక నేమ్ స్పేస్(name space) నిర్వచించే క్లాస్ ని మేము చూస్తాము, ఇది అన్ని డేటా మెంబర్లకు మరియు దాని యొక్క మెతడ్ల నేమ్స్(methods names) కు పరిసర ప్రొపర్టీ(property) అవుతుంది. + ఆ విధంగా, ఒక క్లాస్ డేటా అబ్స్టాక్షన్(data abstraction) లేదా ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్(object-oriented programming) యొక్క అని పిలవబడే అని పిలుస్తారు. + C ప్రోగ్రామింగ్తో సమాంతరంగా, క్లాస్ తార్కికంగా డేటాను సమీకరించే స్ట్రక్చర్(structures) మాదిరిగానే ఉంటుందని మీరు చెప్పవచ్చు, కానీ క్లాస్ లు ఎలా విభిన్నంగా ఉంటుందో మేము చూపిస్తాము. + క్లాస్ డిఫైన్ చేయటానికి, C ++ నేమ్ క్లాస్(name class) ద్వారా కొత్త కీవర్డ్ ను ప్రవేశపెట్టింది, మరియు క్లాస్ లకు ప్రత్యేకమైన ప్రాప్తి ఉంది; చివరకు, ఒక క్లాస్ blue print మరియు ఆబ్జెక్ట్ ల కోసం తక్షణం చేయవచ్చు. + కాబట్టి, ఆబ్జెక్ట్ ప్రాథమికంగా క్లాస్ యొక్క ఉదాహరణలు; కాబట్టి, ఒక క్లాస్ ఇచ్చినప్పుడు, నేను ఆ క్లాస్ కి చెందిన అనేక చోట్ల ఉండవచ్చు, ఒక క్లాస్ మాకు blue print చెబుతుంది, డేటాను మరియు మెతడ్ ని ఒక ఆబ్జెక్ట్ కోసం నిర్వహించాల్సిన ఫార్మాట్ మాకు చెబుతుంది. + మరియు ప్రతి ఆబ్జెక్ట్ ప్రత్యేక గుర్తింపును కలిగి ఉంటుంది; అది దాని స్వంత విలువలను కలిగి ఉంటుంది, ఇది ఆ ఆబ్జెక్ట్ ను కలిగి ఉన్న స్తితి ని నిర్దేశిస్తుంది. + మెంబర్ ఫంక్షన్స్(member functions) మద్దతు ఇస్తుంది, ఇది అందించే ప్రవర్తనను నిర్వచించే; ఒక ఆబ్జెక్ట్ ఇచ్చిన మేము డాట్ ఆపరేటర్ను ఉపయోగించగలము, స్ట్రక్చర్(structures) యొక్క భాగాలను యాక్సెస్ చేసేటప్పుడు మేము చూసినట్లుగా, అదే ఆపరేటర్ను డేటా మెంబర్ లను అలాగే ఆబ్జెక్ట్ యొక్క మెతడ్లను ప్రాప్తి చేయడానికి ఉపయోగించవచ్చు. + అంతేకాకుండా, ఒక వస్తువు ఒక నిర్దిష్ట పాయింటర్ ను ఈ పాయింటర్ గా తెలుసుకుంటుంది; ఈ సూచిక ప్రతి విధానాన్ని స్పష్టంగా పాస్ చేస్తుంది. + ఇది ఏ తరగతి (తరగతి) మరియు ఆబ్జెక్ట్ యొక్క క్లుప్త వివరణ. + నేను ప్రారంభంలో ఖచ్చితంగా ఖచ్చితంగా వద్ద అది మీ అందరికీ పెద్దగా పట్టింపు లేదు. + అందువల్ల, మనం ఒక ఉదాహరణతో ప్రారంభిస్తాం, మరియు తరువాత స్లైడ్ ల్లో ఈ ప్రతి పాయింట్ ని క్రమేపీ చిత్రిస్తాం. + కాబట్టి, ఒక సంక్లిష్ట సంఖ్య యొక్క సరళమైన నిర్వచనాన్ని మనం ఇప్పుడు చూద్దాం. + మేము ఈ ఉదాహరణను కూడా ఇంతకు ముందు తీసుకున్నాము, ఇక్కడ మేము వాస్తవానికి రెండు డేటా సభ్యులను కలిగి ఉన్న ఒక నిర్మాణాన్ని ఉపయోగించవచ్చు, రెండు సభ్యులు ఒక సంక్లిష్ట సంఖ్య యొక్క రెండు భాగాలను తిరిగి అమలు చేయవచ్చు మరియు ఇది ఒక నిర్మాణం గా నిర్వచించబడుతుంది మరియు మేము దానిని టైప్ చేస్తాము, ఇది పేరు సముదాయం. + అందువల్ల, మనం ఆ విధంగా చేసిన తరువాత, ఆ నిర్మాణం యొక్క వేరియబుల్స్ ని మనం నిర్వచించవచ్చు మరియు స్ట్రక్చర్ యొక్క ఈ కాంపోనెంట్ కొరకు కొన్ని ప్రారంభ విలువలను ఉంచవచ్చు. + కాబట్టి, మళ్ళీ అది 4.2 అవుతుంది, మరియు 5.3. + కాబట్టి, ఈ సంక్లిష్ట సంఖ్య యొక్క రెండు భాగాలను మనం ఇప్పుడు ఒకదానిలో ప్రింట్ చేసినట్లయితే, అది 4.2 మరియు 5.3గా ప్రింట్ చేయబడుతుంది. + ఇది మీకు ఇప్పటికే తెలిసినవిషయం; ఇది సిలో లభ్యమవుతుంది. + నేను సి++లో సమానంగా రాయాలనుకుంటే దాన్ని క్లాస్ గా మార్చి రాస్తాను. + సో, మేము ఒక స్ట్రక్ట్ కాంప్లెక్స్ మరియు తరువాత మేము టైప్డెఫ్ తో aliasing, ఇప్పుడు నేను ఒక తరగతి కాంప్లెక్స్ వ్రాస్తాను మరియు దాని లోపల సభ్యుడి నిర్వచనాలు చాలు. + మరియు మిగిలిన కోడ్ చాలా ఒకే విధంగా రాయవచ్చు, ఇక్కడ తేడా ఉన్నప్పుడు మాత్రమే, మేము printf ఉపయోగిస్తున్నాము మరియు ఇక్కడ మేము C++ విషయంలో చూసిన విధంగా మేము cout ను ఉపయోగిస్తున్నాము, మేము స్ట్రీమింగ్ ఆపరేటర్లను ఆ విధంగా చేయడానికి ఉపయోగిస్తాము. + ఇప్పుడు, ఖచ్చితంగా ఏమి చేయాలో చూద్దాం. + అందువల్ల, స్ట్రక్చర్ సిలో కీవర్డ్ ఉంది, సి++ లో క్లాస్ అనేది కొత్త కీవర్డ్. + మనం చేసిన మిగిలిన భాగం, వాస్తవ అనుఘటకం యొక్క రెండు భాగాలను నిర్వచించడం మరియు సేకరించడం, Cలో ఒక నిర్మాణం ద్వారా లేదా C++ లోని ఒక తరగతి ద్వారా సంక్లిష్ట సంఖ్య యొక్క ఊహాజనిత భాగం రెండింటిమధ్య చాలా సారూప్యంగా ఉంటుంది. + అందువల్ల, ఇప్పుడు మనం క్రమేపీ బయటకు తీసుకొచ్చే ఒకే ఒక్క వ్యత్యాసాన్ని, నిర్మాణం మాత్రమే సేకరించడానికి అనుమతిస్తుంది, రెండు భాగాలను కలిపి ఉంచు, మనం N1ను రెండు డబుల్ నెంబర్లు 4.2 మరియు 5.3 గా పేర్కొందాం. + ఒక సంక్లిష్ట తరగతిని డిజైన్ చేయడం కూడా అదే పని. + కానీ మనం చూసే క్లాస్ లో స్ట్రక్చర్ ఇంకా చాలా పనులు చేస్తుంది. + కాబట్టి మనం కొన్ని భిన్నమైన మరియు పెద్ద ఉదాహరణ తీసుకుందాం. - 39. ఇక్కడ మనం ఒక దీర్ఘచతురస్రాన్ని నిర్వచించటానికి ప్రయత్నిస్తున్నాము మరియు ఇది ఒక ప్రత్యేక రకం దీర్ఘచతురస్రం, ఈ దీర్ఘచతురస్రంలోని దీర్ఘచతురస్రం ఈ దీర్ఘచతురస్రం దీర్ఘచతురస్రం అని చెబుతుంది. దీని అక్షం x మరియు y- అక్షానికి సమాంతరంగా ఉంటుంది. + ఇక్కడ మనం ఒక దీర్ఘచతురస్రాన్ని నిర్వచించటానికి ప్రయత్నిస్తున్నాము మరియు ఇది ఒక ప్రత్యేక రకం దీర్ఘచతురస్రం, ఈ దీర్ఘచతురస్రంలోని దీర్ఘచతురస్రం ఈ దీర్ఘచతురస్రం దీర్ఘచతురస్రం అని చెబుతుంది. దీని అక్షం x మరియు y- అక్షానికి సమాంతరంగా ఉంటుంది. - 40. కాబట్టి, నేను కేవలం రెండు మూలలతో, వికర్ణంగా వ్యతిరేక మూలలో, ఎగువ ఎడమ మరియు దీర్ఘచతురస్రం యొక్క కుడి దిగువ మూలలో పేర్కొంటే, అప్పుడు దీర్ఘచతురస్రం పూర్తిగా పేర్కొనబడింది. + కాబట్టి, నేను కేవలం రెండు మూలలతో, వికర్ణంగా వ్యతిరేక మూలలో, ఎగువ ఎడమ మరియు దీర్ఘచతురస్రం యొక్క కుడి దిగువ మూలలో పేర్కొంటే, అప్పుడు దీర్ఘచతురస్రం పూర్తిగా పేర్కొనబడింది. - 41. ఇది చేయుటకు, మొదట x మరియు y అనే రెండు కోఆర్డినేట్ల అగ్రిగేషన్ రూపంలో పాయింట్లను ఇచ్చే ఒక నిర్మాణాన్ని మేము నిర్వచించాము మరియు తరువాత మేము రెండు పాయింట్లను తీసుకొని వాటిని దీర్ఘచతురస్రానికి వికర్ణంగా రెండు వ్యతిరేక బిందువులుగా పేర్కొంటాము. ఇవ్వండి. + ఇది చేయుటకు, మొదట x మరియు y అనే రెండు కోఆర్డినేట్ల అగ్రిగేషన్ రూపంలో పాయింట్లను ఇచ్చే ఒక నిర్మాణాన్ని మేము నిర్వచించాము మరియు తరువాత మేము రెండు పాయింట్లను తీసుకొని వాటిని దీర్ఘచతురస్రానికి వికర్ణంగా రెండు వ్యతిరేక బిందువులుగా పేర్కొంటాము. ఇవ్వండి. - 42. ఇది పూర్తయిన తర్వాత, నేను ఇక్కడ ఒక దీర్ఘచతురస్రాన్ని నిర్వచించగలను, దీర్ఘచతురస్రం r. + ఇది పూర్తయిన తర్వాత, నేను ఇక్కడ ఒక దీర్ఘచతురస్రాన్ని నిర్వచించగలను, దీర్ఘచతురస్రం r. - 43. మీరు ఇక్కడ మొదటి {0, 2} సంజ్ఞామానాన్ని చూడవచ్చు, మొదటి జత వంకర కలుపులలో ఎడమ ఎగువ పాయింట్, {5, 7} అంటే పాయింట్ దిగువ కుడి. + మీరు ఇక్కడ మొదటి {0, 2} సంజ్ఞామానాన్ని చూడవచ్చు, మొదటి జత వంకర కలుపులలో ఎడమ ఎగువ పాయింట్, {5, 7} అంటే పాయింట్ దిగువ కుడి. - 44. మరియు రెండూ కలిసి మొత్తం దీర్ఘచతురస్రం అని అర్థం. + మరియు రెండూ కలిసి మొత్తం దీర్ఘచతురస్రం అని అర్థం. - 45. కాబట్టి, వ్యాఖ్యలలో, నేను 0, 2 ను మొదటి బిందువుగా పేర్కొంటే, నేను నిజంగా R ని దీర్ఘచతురస్రం (దీర్ఘచతురస్రం) యొక్క పేరు అని సూచిస్తున్నాను r. TL ఒక ఎగువ ఎడమ బిందువు, డాట్ x ( .x) అనేది 0 కోఆర్డినేట్. + కాబట్టి, వ్యాఖ్యలలో, నేను 0, 2 ను మొదటి బిందువుగా పేర్కొంటే, నేను నిజంగా R ని దీర్ఘచతురస్రం (దీర్ఘచతురస్రం) యొక్క పేరు అని సూచిస్తున్నాను r. TL ఒక ఎగువ ఎడమ బిందువు, డాట్ x ( .x) అనేది 0 కోఆర్డినేట్. - 46. అదేవిధంగా, ఎగువ ఎడమ బిందువు యొక్క భాగం అయిన r.TL.y విలువ 2 ను పొందుతుంది. + అదేవిధంగా, ఎగువ ఎడమ బిందువు యొక్క భాగం అయిన r.TL.y విలువ 2 ను పొందుతుంది. - 47. కాబట్టి, ఈ ప్రారంభించడం ద్వారా ఈ విలువలు అన్నీ సెట్ చేయబడుతున్నాయి, ఆపై నేను వాటిని ప్రింట్ చేయగలను. + కాబట్టి, ఈ ప్రారంభించడం ద్వారా ఈ విలువలు అన్నీ సెట్ చేయబడుతున్నాయి, ఆపై నేను వాటిని ప్రింట్ చేయగలను. - 48. బయట. + బయట. - 49. అదేవిధంగా, నేను క్లాస్ ఉపయోగించి మొత్తం విషయం వ్రాయగలను. + అదేవిధంగా, నేను క్లాస్ ఉపయోగించి మొత్తం విషయం వ్రాయగలను. - 50. మునుపటిలాగే తేడా జరుగుతోంది. - 51. నేను దీన్ని ఈ విధంగా ప్రారంభించగలను మరియు నేను కౌట్ ఉపయోగించి ప్రింట్ చేయగలను. + మునుపటిలాగే తేడా జరుగుతోంది. + నేను దీన్ని ఈ విధంగా ప్రారంభించగలను మరియు నేను కౌట్ ఉపయోగించి ప్రింట్ చేయగలను. - 52. కాబట్టి, ఇది తరగతిని ఉపయోగించటానికి మరొక ఉదాహరణను చూపుతోంది. + కాబట్టి, ఇది తరగతిని ఉపయోగించటానికి మరొక ఉదాహరణను చూపుతోంది. - 53. ఇక్కడ దీర్ఘచతురస్రం - దీర్ఘచతురస్రంలోని డేటా సభ్యులు వాస్తవానికి ఏ మూల రకానికి చెందినవారు కాదు, కానీ అవి వినియోగదారు నిర్వచించిన డేటా రకాలు, అవి తరగతి వస్తువు, అవి ఆ దశను సూచిస్తాయి. నేను ఇప్పటికే నిర్వచించిన తరగతుల ఉదాహరణలు ఉన్నాయి. + ఇక్కడ దీర్ఘచతురస్రం - దీర్ఘచతురస్రంలోని డేటా సభ్యులు వాస్తవానికి ఏ మూల రకానికి చెందినవారు కాదు, కానీ అవి వినియోగదారు నిర్వచించిన డేటా రకాలు, అవి తరగతి వస్తువు, అవి ఆ దశను సూచిస్తాయి. నేను ఇప్పటికే నిర్వచించిన తరగతుల ఉదాహరణలు ఉన్నాయి. - 54. మనం ఇంతకుముందు చర్చించిన స్టాక్ యొక్క మూడవ ఉదాహరణ తీసుకుందాం. + మనం ఇంతకుముందు చర్చించిన స్టాక్ యొక్క మూడవ ఉదాహరణ తీసుకుందాం. - 55. కాబట్టి, స్టాక్‌లో, మనకు మిశ్రమ డేటా రకాల కలయిక ఉంది, స్టాక్ యొక్క మూలకాలను పట్టుకోవటానికి మనకు అక్షర శ్రేణి ఉంది, ఇది అక్షరాల స్టాక్, మనకు హెడర్ మార్కర్ ఉంది, ఇది స్టాక్‌లోని సూచిక, ఇది శీర్షం ఎక్కడ ఉందో చూపిస్తుంది వాస్తవానికి ఉనికిలో ఉంది. + కాబట్టి, స్టాక్‌లో, మనకు మిశ్రమ డేటా రకాల కలయిక ఉంది, స్టాక్ యొక్క మూలకాలను పట్టుకోవటానికి మనకు అక్షర శ్రేణి ఉంది, ఇది అక్షరాల స్టాక్, మనకు హెడర్ మార్కర్ ఉంది, ఇది స్టాక్‌లోని సూచిక, ఇది శీర్షం ఎక్కడ ఉందో చూపిస్తుంది వాస్తవానికి ఉనికిలో ఉంది. - 56. కాబట్టి, నేను ఇక్కడ లేదా ఇక్కడ స్టాక్ వేరియబుల్‌ను నిర్వచించగలను; మరియు స్పష్టంగా, నేను స్టాక్‌ను ఉపయోగించడం ప్రారంభించే ముందు, స్టాక్ (స్టాక్) ఖాళీగా ఉందని నిర్ధారించుకోవాలి, ఇది టాప్ ఇండెక్స్ మైనస్ 1 (-1) ద్వారా పేర్కొనబడింది. + కాబట్టి, నేను ఇక్కడ లేదా ఇక్కడ స్టాక్ వేరియబుల్‌ను నిర్వచించగలను; మరియు స్పష్టంగా, నేను స్టాక్‌ను ఉపయోగించడం ప్రారంభించే ముందు, స్టాక్ (స్టాక్) ఖాళీగా ఉందని నిర్ధారించుకోవాలి, ఇది టాప్ ఇండెక్స్ మైనస్ 1 (-1) ద్వారా పేర్కొనబడింది. - 57. కాబట్టి, నేను టాప్ ఇండెక్స్ -1 ను ప్రారంభిస్తాను, ఆపై నేను దానిని స్టాక్ ద్వారా ఉపయోగించగలను, అది నిర్మాణం ద్వారా నిర్వచించబడినా లేదా వేర్వేరు అల్గోరిథంలను వేర్వేరు సమస్యలను పరిష్కరించడానికి ఉపయోగిస్తున్నా. తరగతి ద్వారా నిర్వచించండి. + కాబట్టి, నేను టాప్ ఇండెక్స్ -1 ను ప్రారంభిస్తాను, ఆపై నేను దానిని స్టాక్ ద్వారా ఉపయోగించగలను, అది నిర్మాణం ద్వారా నిర్వచించబడినా లేదా వేర్వేరు అల్గోరిథంలను వేర్వేరు సమస్యలను పరిష్కరించడానికి ఉపయోగిస్తున్నా. తరగతి ద్వారా నిర్వచించండి. - 58. కాబట్టి, ఇవి మీరు చూడగలిగే విభిన్న ఉదాహరణలు, ఒక తరగతి యొక్క మూల భాగం ఒక కీవర్డ్ వలె ఒక తరగతి అని మేము చూపిస్తాము, దానికి ఒక పేరు. ఒక పేరు మరియు ఐడెంటిఫైయర్, దీనికి చాలా మంది డేటా సభ్యులు ఉన్నారు. + కాబట్టి, ఇవి మీరు చూడగలిగే విభిన్న ఉదాహరణలు, ఒక తరగతి యొక్క మూల భాగం ఒక కీవర్డ్ వలె ఒక తరగతి అని మేము చూపిస్తాము, దానికి ఒక పేరు. ఒక పేరు మరియు ఐడెంటిఫైయర్, దీనికి చాలా మంది డేటా సభ్యులు ఉన్నారు. - 59. ప్రతి డేటా సభ్యుడు నిర్మాణంలో వేరియబుల్ డిక్లరేషన్ స్టైల్‌గా నిర్వచించబడతాడు మరియు క్లాస్ పేరును ఉపయోగించి, ఉదా. గోస్ అని పిలువబడే క్లాస్ రకాలను వేరియబుల్స్‌గా ప్రకటించవచ్చు. + ప్రతి డేటా సభ్యుడు నిర్మాణంలో వేరియబుల్ డిక్లరేషన్ స్టైల్‌గా నిర్వచించబడతాడు మరియు క్లాస్ పేరును ఉపయోగించి, ఉదా. గోస్ అని పిలువబడే క్లాస్ రకాలను వేరియబుల్స్‌గా ప్రకటించవచ్చు. - 60. కాబట్టి, ఇది ఒక ఉదాహరణ లేదా దానిని ఒక వస్తువు అంటారు. + కాబట్టి, ఇది ఒక ఉదాహరణ లేదా దానిని ఒక వస్తువు అంటారు. - 61. కాబట్టి, s తరగతి అనేది స్టాక్ యొక్క వస్తువు. + కాబట్టి, s తరగతి అనేది స్టాక్ యొక్క వస్తువు. - 62. మరియు మనకు ఆ వస్తువు ఉన్న తర్వాత, మేము డేటా సభ్యుడిని ఉపయోగించవచ్చు, ఇక్కడ డేటా సభ్యుడు డాట్ సభ్యుల సంజ్ఞామానాన్ని ఉపయోగించి పైభాగంలో ఉంటుంది. + మరియు మనకు ఆ వస్తువు ఉన్న తర్వాత, మేము డేటా సభ్యుడిని ఉపయోగించవచ్చు, ఇక్కడ డేటా సభ్యుడు డాట్ సభ్యుల సంజ్ఞామానాన్ని ఉపయోగించి పైభాగంలో ఉంటుంది. - 63. కాబట్టి, తరగతి అనేది ఒకటి లేదా అంతకంటే ఎక్కువ డేటా సభ్యులను కలిసి ఉంచగల సమితి అని మేము మొదట చూపిస్తాము మరియు ఆ తరగతి యొక్క వస్తువు (ల) ను వెంటనే నింపండి లేదా సి ++ ఆ రకమైన వేరియబుల్స్ ను యంత్రాంగాలను ఉపయోగించి నిర్వచించటానికి అనుమతిస్తుంది. + కాబట్టి, తరగతి అనేది ఒకటి లేదా అంతకంటే ఎక్కువ డేటా సభ్యులను కలిసి ఉంచగల సమితి అని మేము మొదట చూపిస్తాము మరియు ఆ తరగతి యొక్క వస్తువు (ల) ను వెంటనే నింపండి లేదా సి ++ ఆ రకమైన వేరియబుల్స్ ను యంత్రాంగాలను ఉపయోగించి నిర్వచించటానికి అనుమతిస్తుంది. - 64. కాబట్టి, మళ్ళించడానికి, తరగతి అనేది ఒక రకమైన అమలు అని మేము చూశాము, దానిలో ఎక్కువ భాగం చూస్తాము. + కాబట్టి, మళ్ళించడానికి, తరగతి అనేది ఒక రకమైన అమలు అని మేము చూశాము, దానిలో ఎక్కువ భాగం చూస్తాము. - 65. మూడు రకాలను సంక్లిష్ట రకం, దీర్ఘచతురస్రం మరియు పాయింట్ రకం మరియు స్టాక్ రకంగా చేయడానికి మూడు ప్రయత్నాలు చూశాము. + మూడు రకాలను సంక్లిష్ట రకం, దీర్ఘచతురస్రం మరియు పాయింట్ రకం మరియు స్టాక్ రకంగా చేయడానికి మూడు ప్రయత్నాలు చూశాము. - 66. తరగతి డేటా సభ్యులను కలిగి ఉంటుందని మేము చూపించాము, ఇది నేమ్‌స్పేస్‌ను నిర్వచిస్తుంది, నేను ఒక కాంప్లెక్స్‌ను నిర్వచిస్తున్నానని చెప్పినప్పుడు, నా ప్రాంగణంలోని డేటా సభ్యులందరికీ వాస్తవానికి ఒక పేరు ఉంది, ఇది సంక్లిష్టమైన, తరగతి పేరు ద్వారా అర్హత పొందింది. + తరగతి డేటా సభ్యులను కలిగి ఉంటుందని మేము చూపించాము, ఇది నేమ్‌స్పేస్‌ను నిర్వచిస్తుంది, నేను ఒక కాంప్లెక్స్‌ను నిర్వచిస్తున్నానని చెప్పినప్పుడు, నా ప్రాంగణంలోని డేటా సభ్యులందరికీ వాస్తవానికి ఒక పేరు ఉంది, ఇది సంక్లిష్టమైన, తరగతి పేరు ద్వారా అర్హత పొందింది. - 67. మరియు ఇది తార్కికంగా డేటాను సేకరిస్తోంది. + మరియు ఇది తార్కికంగా డేటాను సేకరిస్తోంది. - 68. వస్తువుల ఉదాహరణల పరంగా, ప్రతి రకం తరగతికి, మేము నిర్వచించిన ప్రతి మూడు తరగతులకు, మేము ఆ వస్తువులను లేదా వస్తువులను వేర్వేరు సందర్భాల్లో నిర్వచించాము మరియు డేటా సభ్యులకు ప్రాప్యత "." డాట్ ఆపరేషన్ ద్వారా జరుగుతుంది. + వస్తువుల ఉదాహరణల పరంగా, ప్రతి రకం తరగతికి, మేము నిర్వచించిన ప్రతి మూడు తరగతులకు, మేము ఆ వస్తువులను లేదా వస్తువులను వేర్వేరు సందర్భాల్లో నిర్వచించాము మరియు డేటా సభ్యులకు ప్రాప్యత "." డాట్ ఆపరేషన్ ద్వారా జరుగుతుంది. - 69. ఇప్పటివరకు, మనం చూసినవి మనం నిర్మాణాలుగా చేయగల విషయం. + ఇప్పటివరకు, మనం చూసినవి మనం నిర్మాణాలుగా చేయగల విషయం. - 70. ఇప్పుడు మనం క్లాస్ డెఫినిషన్ ద్వారా నిర్మాణంలో ఏమి చేయగలమో దాని నుండి దూరంగా వెళ్ళడానికి మొదటి పెద్ద తేడా లేదా మొదటి పెద్ద అడుగు చేయబోతున్నాం. + ఇప్పుడు మనం క్లాస్ డెఫినిషన్ ద్వారా నిర్మాణంలో ఏమి చేయగలమో దాని నుండి దూరంగా వెళ్ళడానికి మొదటి పెద్ద తేడా లేదా మొదటి పెద్ద అడుగు చేయబోతున్నాం. - 71. కాబట్టి, దయచేసి దీన్ని చాలా జాగ్రత్తగా అనుసరించండి. + కాబట్టి, దయచేసి దీన్ని చాలా జాగ్రత్తగా అనుసరించండి. - 72. మేము సంక్లిష్టమైన ఉదాహరణలకు తిరిగి వస్తున్నాము. + మేము సంక్లిష్టమైన ఉదాహరణలకు తిరిగి వస్తున్నాము. - 73. కాబట్టి, ఈ భాగం సాధారణం, నిర్మాణం యొక్క నిర్వచనం ప్రకారం మీకు ఇక్కడ డేటా సభ్యులు ఉన్నారు, డేటా సభ్యుల తరగతి యొక్క నిర్వచనం వలె మాకు అదే డేటా ఉంది. + కాబట్టి, ఈ భాగం సాధారణం, నిర్మాణం యొక్క నిర్వచనం ప్రకారం మీకు ఇక్కడ డేటా సభ్యులు ఉన్నారు, డేటా సభ్యుల తరగతి యొక్క నిర్వచనం వలె మాకు అదే డేటా ఉంది. - 74. ఇప్పుడు, నేను సి లో ఇంత క్లిష్టమైన సంఖ్యను కలిగి ఉంటే, నేను స్లైడ్ యొక్క ఎడమ వైపు చూస్తున్నాను, అప్పుడు నేను చాలా రకాల ఫంక్షన్లను నిర్వచించగలను, నేను ఒక ఫంక్షన్ (ఫంక్షన్) అని చెప్తాను) ప్రమాణాన్ని నిర్వచిస్తుంది, ఇది మరింత నిర్వచించగలదు అటువంటి సంక్లిష్ట సంఖ్య ఇక్కడ సి. + ఇప్పుడు, నేను సి లో ఇంత క్లిష్టమైన సంఖ్యను కలిగి ఉంటే, నేను స్లైడ్ యొక్క ఎడమ వైపు చూస్తున్నాను, అప్పుడు నేను చాలా రకాల ఫంక్షన్లను నిర్వచించగలను, నేను ఒక ఫంక్షన్ (ఫంక్షన్) అని చెప్తాను) ప్రమాణాన్ని నిర్వచిస్తుంది, ఇది మరింత నిర్వచించగలదు అటువంటి సంక్లిష్ట సంఖ్య ఇక్కడ సి. - 75. దాని ఆదర్శం - 76. తరగతి యొక్క నిజమైన మరియు inary హాత్మక భాగాల యొక్క ఈ మొత్తాన్ని ఆదర్శం ఎలా లెక్కిస్తుందో మీ అందరికీ తెలుసు. + దాని ఆదర్శం + తరగతి యొక్క నిజమైన మరియు inary హాత్మక భాగాల యొక్క ఈ మొత్తాన్ని ఆదర్శం ఎలా లెక్కిస్తుందో మీ అందరికీ తెలుసు. - 77. ఆపై వారు ఆ మొత్తంలో ఒక వర్గమూలాన్ని తీసుకుంటారు, మీరు సంక్లిష్ట సంఖ్య యొక్క విలువను పొందుతారు లేదా మేము సంక్లిష్ట సంఖ్యను నిజమైన ప్లస్ j imag హాత్మక భాగం రకం సంజ్ఞామానం ముద్రణలో ముద్రించవచ్చు.ఈ విలువకు మరొక ఫంక్షన్ వ్రాయగల విలువ మరియు మొదలైనవి. + ఆపై వారు ఆ మొత్తంలో ఒక వర్గమూలాన్ని తీసుకుంటారు, మీరు సంక్లిష్ట సంఖ్య యొక్క విలువను పొందుతారు లేదా మేము సంక్లిష్ట సంఖ్యను నిజమైన ప్లస్ j imag హాత్మక భాగం రకం సంజ్ఞామానం ముద్రణలో ముద్రించవచ్చు.ఈ విలువకు మరొక ఫంక్షన్ వ్రాయగల విలువ మరియు మొదలైనవి. - 78. కాబట్టి, ఈ ఫంక్షన్లను నేను ఇప్పటికే సి లో నిర్వచించిన నిర్మాణాత్మక సంక్లిష్ట రకములతో వ్రాయవచ్చు మరియు ఇవన్నీ సి ఫంక్షన్లు సాధారణంగా గ్లోబల్ ఫంక్షన్లు అని మనకు తెలుసు., ఆపై నేను దానిని ప్రింట్ చేయడానికి ఉపయోగించవచ్చు మరియు నేను దీన్ని చేస్తే కాంప్లెక్స్ సంఖ్య ముద్రించబడుతుంది. + కాబట్టి, ఈ ఫంక్షన్లను నేను ఇప్పటికే సి లో నిర్వచించిన నిర్మాణాత్మక సంక్లిష్ట రకములతో వ్రాయవచ్చు మరియు ఇవన్నీ సి ఫంక్షన్లు సాధారణంగా గ్లోబల్ ఫంక్షన్లు అని మనకు తెలుసు., ఆపై నేను దానిని ప్రింట్ చేయడానికి ఉపయోగించవచ్చు మరియు నేను దీన్ని చేస్తే కాంప్లెక్స్ సంఖ్య ముద్రించబడుతుంది. - 79. కాబట్టి, ఇది ఎలా ముద్రించబడుతుందో మీరు చూడాలనుకుంటే, ఇది ప్రింట్ చేస్తుంది. కాబట్టి, సంక్లిష్ట సంఖ్య 4.2, 5.3, ఇది 4.2+ j 5.3 యొక్క ప్రమాణం 6.7624 అని ముద్రిస్తుంది. + కాబట్టి, ఇది ఎలా ముద్రించబడుతుందో మీరు చూడాలనుకుంటే, ఇది ప్రింట్ చేస్తుంది. కాబట్టి, సంక్లిష్ట సంఖ్య 4.2, 5.3, ఇది 4.2+ j 5.3 యొక్క ప్రమాణం 6.7624 అని ముద్రిస్తుంది. - 80. ఇప్పుడు, సి ++ ని జాగ్రత్తగా చూద్దాం. + ఇప్పుడు, సి ++ ని జాగ్రత్తగా చూద్దాం. - 81. ఇక్కడ నేను ప్రామాణిక ఫంక్షన్‌ను కూడా నిర్వచిస్తున్నాను, కానీ తేడాతో. + ఇక్కడ నేను ప్రామాణిక ఫంక్షన్‌ను కూడా నిర్వచిస్తున్నాను, కానీ తేడాతో. - 82. నిర్మాణంలో, నిర్మాణం పరంగా, నిర్మాణం యొక్క నిర్వచనం భిన్నంగా ఉంటుంది, నా ఫంక్షన్ నిర్వచనం భిన్నంగా ఉంటుంది, కానీ ఇక్కడ తరగతి యొక్క నా నిర్వచనం, ఇది సంక్లిష్టతకు నా మొత్తం తరగతి నిర్వచనం, మరియు నా ఫంక్షన్ తరగతి. యొక్క నిర్వచనంలో ఒక భాగం ( తరగతి). + నిర్మాణంలో, నిర్మాణం పరంగా, నిర్మాణం యొక్క నిర్వచనం భిన్నంగా ఉంటుంది, నా ఫంక్షన్ నిర్వచనం భిన్నంగా ఉంటుంది, కానీ ఇక్కడ తరగతి యొక్క నా నిర్వచనం, ఇది సంక్లిష్టతకు నా మొత్తం తరగతి నిర్వచనం, మరియు నా ఫంక్షన్ తరగతి. యొక్క నిర్వచనంలో ఒక భాగం ( తరగతి). - 83. అటువంటి ఫంక్షన్లను పిలుస్తారు, చాలా సహజంగా సభ్యుల ఫంక్షన్లు క్లాస్ క్లాస్ కాంప్లెక్స్‌లో సభ్యురాలిగా పిలువబడతాయి, ఇది డేటా సభ్యుడు అని మేము చెప్తాము, అదేవిధంగా "డబుల్ కట్టుబాటు ()" ఈ ఫంక్షన్ కూడా ఒక సభ్యుడు తరగతి పరిధి. + అటువంటి ఫంక్షన్లను పిలుస్తారు, చాలా సహజంగా సభ్యుల ఫంక్షన్లు క్లాస్ క్లాస్ కాంప్లెక్స్‌లో సభ్యురాలిగా పిలువబడతాయి, ఇది డేటా సభ్యుడు అని మేము చెప్తాము, అదేవిధంగా "డబుల్ కట్టుబాటు ()" ఈ ఫంక్షన్ కూడా ఒక సభ్యుడు తరగతి పరిధి. - 84. మరియు దీనిని సభ్యుల ఫంక్షన్ లేదా పద్ధతి అంటారు. + మరియు దీనిని సభ్యుల ఫంక్షన్ లేదా పద్ధతి అంటారు. - 85. క్లాస్ యొక్క నిర్వచనంలో ఇతర ఫంక్షన్ ప్రింట్ కూడా ఉందని మీరు చూడవచ్చు మరియు ప్రింట్ మరొక సభ్యుల ఫంక్షన్. + క్లాస్ యొక్క నిర్వచనంలో ఇతర ఫంక్షన్ ప్రింట్ కూడా ఉందని మీరు చూడవచ్చు మరియు ప్రింట్ మరొక సభ్యుల ఫంక్షన్. - 86. కాబట్టి, ఇది కొన్ని సభ్యుల ఫంక్షన్ సి ++ కోసం పూర్తిగా క్రొత్త భావన, దీనికి సి లో సమాంతరంగా లేదు. + కాబట్టి, ఇది కొన్ని సభ్యుల ఫంక్షన్ సి ++ కోసం పూర్తిగా క్రొత్త భావన, దీనికి సి లో సమాంతరంగా లేదు. - 87. మరియు ఈ సభ్యుల ఫంక్షన్‌తో, క్లాస్ కాంప్లెక్స్ ఇచ్చిన నా ఆబ్జెక్ట్ ఉదాహరణ ఈ తరగతికి ఒక ఉదాహరణ, ఇప్పుడు నా ఆబ్జెక్ట్ ఉదాహరణ, చెప్పండి ఈ ఉదాహరణ సి ఈ సంజ్ఞామానం లోని పద్ధతిని ఉపయోగించవచ్చు. + మరియు ఈ సభ్యుల ఫంక్షన్‌తో, క్లాస్ కాంప్లెక్స్ ఇచ్చిన నా ఆబ్జెక్ట్ ఉదాహరణ ఈ తరగతికి ఒక ఉదాహరణ, ఇప్పుడు నా ఆబ్జెక్ట్ ఉదాహరణ, చెప్పండి ఈ ఉదాహరణ సి ఈ సంజ్ఞామానం లోని పద్ధతిని ఉపయోగించవచ్చు. - 88. ఇంతకుముందు, మీరు డేటా సభ్యుని సూచనతో మాత్రమే సంజ్ఞామానాన్ని చూశారు, ఇది మేము చూసిన "c.re" విషయం, అంటే సంక్లిష్ట సంఖ్య మళ్ళీ సి యొక్క డేటా అని అర్ధం. సభ్యుడిని సూచిస్తూ ఇప్పుడు నేను "సి ". + ఇంతకుముందు, మీరు డేటా సభ్యుని సూచనతో మాత్రమే సంజ్ఞామానాన్ని చూశారు, ఇది మేము చూసిన "c.re" విషయం, అంటే సంక్లిష్ట సంఖ్య మళ్ళీ సి యొక్క డేటా అని అర్ధం. సభ్యుడిని సూచిస్తూ ఇప్పుడు నేను "సి ". - 89. ప్రింట్ "" అంటే ఆబ్జెక్ట్ సి కోసం, ఉదాహరణకు సి, నేను ఉపయోగిస్తున్నాను లేదా నేను పద్ధతి ప్రింట్ () ను ప్రారంభిస్తున్నాను. + ప్రింట్ "" అంటే ఆబ్జెక్ట్ సి కోసం, ఉదాహరణకు సి, నేను ఉపయోగిస్తున్నాను లేదా నేను పద్ధతి ప్రింట్ () ను ప్రారంభిస్తున్నాను. - 90. ఈ పద్దతి దీన్ని చేయాల్సిన ముద్రణ, ఈ డేటా సభ్యులకు సి ఆబ్జెక్ట్‌లో విలువలు ఉన్నాయని మరియు తదనుగుణంగా పని చేస్తాయని ఊహిస్తూ, ఈ ముద్రణ అయిపోతుంది. + ఈ పద్దతి దీన్ని చేయాల్సిన ముద్రణ, ఈ డేటా సభ్యులకు సి ఆబ్జెక్ట్‌లో విలువలు ఉన్నాయని మరియు తదనుగుణంగా పని చేస్తాయని ఊహిస్తూ, ఈ ముద్రణ అయిపోతుంది. - 91. అదేవిధంగా, నేను c.norm () ను వ్రాసి, ఇన్వోక్ చేస్తే, అది ఇతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) కట్టుబాటు () ను అమలు చేస్తుంది, మరియు విలువ సి విలువ నుండి వచ్చే నిజమైన మరియు ఊహాత్మక భాగాలతో కూడా వ్యవహరిస్తుంది. + అదేవిధంగా, నేను c.norm () ను వ్రాసి, ఇన్వోక్ చేస్తే, అది ఇతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) కట్టుబాటు () ను అమలు చేస్తుంది, మరియు విలువ సి విలువ నుండి వచ్చే నిజమైన మరియు ఊహాత్మక భాగాలతో కూడా వ్యవహరిస్తుంది. - 92. ఇది పూర్తిగా కొత్త కాన్సెప్ట్ మరియు ఈ సభ్యులు పని చేస్తారు. + ఇది పూర్తిగా కొత్త కాన్సెప్ట్ మరియు ఈ సభ్యులు పని చేస్తారు. - 93. అందువల్ల, సి వలె మనం ఏదో ఒక నిర్మాణంగా నిర్వచించినట్లయితే, దానితో మనం చేయవలసిన ప్రతి ఆపరేషన్, కొన్ని గ్లోబల్ ఫంక్షన్ల ద్వారా చేయవలసి ఉంటుంది. + అందువల్ల, సి వలె మనం ఏదో ఒక నిర్మాణంగా నిర్వచించినట్లయితే, దానితో మనం చేయవలసిన ప్రతి ఆపరేషన్, కొన్ని గ్లోబల్ ఫంక్షన్ల ద్వారా చేయవలసి ఉంటుంది. - 94. ఎవరైనా మరియు ప్రతి ఒక్కరూ చూడవచ్చు మరియు ఉపయోగించవచ్చు. + ఎవరైనా మరియు ప్రతి ఒక్కరూ చూడవచ్చు మరియు ఉపయోగించవచ్చు. - 95. C ++ లో, తరగతి స్వయంగా, అనేక సభ్యుల విధులు లేదా పద్ధతులను నిర్వచించగలదు, ఇది కొన్ని విధులను నిర్వహించడానికి వస్తువును అవసరమైన విధంగా అమలు చేయగలదు మరియు ఇది క్రమంగా మనం చూసేటప్పుడు వస్తువు యొక్క ప్రవర్తన అని పిలుస్తారు. + C ++ లో, తరగతి స్వయంగా, అనేక సభ్యుల విధులు లేదా పద్ధతులను నిర్వచించగలదు, ఇది కొన్ని విధులను నిర్వహించడానికి వస్తువును అవసరమైన విధంగా అమలు చేయగలదు మరియు ఇది క్రమంగా మనం చూసేటప్పుడు వస్తువు యొక్క ప్రవర్తన అని పిలుస్తారు. - 96. + - 97. కాబట్టి, మరికొన్ని ఉదాహరణలు చూద్దాం. + కాబట్టి, మరికొన్ని ఉదాహరణలు చూద్దాం. - 98. దీర్ఘచతురస్ర పాయింట్ భాగాన్ని తిరిగి తీసుకుందాం, మీరు ఇప్పటికే ఈ భాగాన్ని చూశారు. + దీర్ఘచతురస్ర పాయింట్ భాగాన్ని తిరిగి తీసుకుందాం, మీరు ఇప్పటికే ఈ భాగాన్ని చూశారు. - 99. ఇక్కడ మనం నిర్మాణాన్ని ఉపయోగించి సి కొరకు ఒక ఫంక్షన్ వ్రాస్తున్నాము, ఇది ఒక దీర్ఘచతురస్రం యొక్క వైశాల్యాన్ని లెక్కించే గ్లోబల్ ఫంక్షన్. + ఇక్కడ మనం నిర్మాణాన్ని ఉపయోగించి సి కొరకు ఒక ఫంక్షన్ వ్రాస్తున్నాము, ఇది ఒక దీర్ఘచతురస్రం యొక్క వైశాల్యాన్ని లెక్కించే గ్లోబల్ ఫంక్షన్. - 100. ప్రాంతాన్ని లెక్కించడానికి సూత్రం సూటిగా ఉంటుంది, నేను దానిలోకి లోతుగా వెళ్ళను, కానీ ఇది గ్లోబల్ ఫంక్షన్ కౌంట్ (), ఇది ఒక దీర్ఘచతురస్రాన్ని పరామితిగా తీసుకొని ఆ ప్రాంతాన్ని లెక్కిస్తుంది మరియు ఇది ఎలా పనిచేస్తుంది. - 101. దీనికి విరుద్ధంగా, సి ++ తరగతిలో, ఇది నా దీర్ఘచతురస్ర తరగతి, ఇదే నా పద్ధతి, నా కంప్యూట్ ఏరియా () పద్ధతి సభ్యుల ఫంక్షన్. ఇది తరగతిలో ఒక భాగం. + ప్రాంతాన్ని లెక్కించడానికి సూత్రం సూటిగా ఉంటుంది, నేను దానిలోకి లోతుగా వెళ్ళను, కానీ ఇది గ్లోబల్ ఫంక్షన్ కౌంట్ (), ఇది ఒక దీర్ఘచతురస్రాన్ని పరామితిగా తీసుకొని ఆ ప్రాంతాన్ని లెక్కిస్తుంది మరియు ఇది ఎలా పనిచేస్తుంది. + దీనికి విరుద్ధంగా, సి ++ తరగతిలో, ఇది నా దీర్ఘచతురస్ర తరగతి, ఇదే నా పద్ధతి, నా కంప్యూట్ ఏరియా () పద్ధతి సభ్యుల ఫంక్షన్. ఇది తరగతిలో ఒక భాగం. - 102. కాబట్టి, నాకు దీర్ఘచతురస్రం R ఆబ్జెక్ట్ ఉన్నప్పుడు, నేను అదే డాట్ సంజ్ఞామానాన్ని ఉపయోగించి పద్ధతి లేదా సభ్యుల పనితీరును అమలు చేస్తాను, మరియు దీని అర్థం లెక్కించిన ఫీల్డ్ పని చేస్తుంది, ఇక్కడ R తక్షణం పనిచేస్తుందని అనుకుంటాను. + కాబట్టి, నాకు దీర్ఘచతురస్రం R ఆబ్జెక్ట్ ఉన్నప్పుడు, నేను అదే డాట్ సంజ్ఞామానాన్ని ఉపయోగించి పద్ధతి లేదా సభ్యుల పనితీరును అమలు చేస్తాను, మరియు దీని అర్థం లెక్కించిన ఫీల్డ్ పని చేస్తుంది, ఇక్కడ R తక్షణం పనిచేస్తుందని అనుకుంటాను. - 103. ఇది పనిచేస్తోంది. + ఇది పనిచేస్తోంది. - 104. కాబట్టి, ఇది TL.x ను సూచించినప్పుడు, ఇది వాస్తవానికి r వస్తువు యొక్క TL.x ను సూచిస్తుంది, ఇది ఈ ప్రత్యేక పద్ధతిని అమలు చేసింది. + కాబట్టి, ఇది TL.x ను సూచించినప్పుడు, ఇది వాస్తవానికి r వస్తువు యొక్క TL.x ను సూచిస్తుంది, ఇది ఈ ప్రత్యేక పద్ధతిని అమలు చేసింది. - 105. ఇది సి లో ఎక్కువ, ఇది ఫంక్షన్ కాల్ అని మేము చెప్తున్నాము, ఇది సి ++ లో కూడా ఫంక్షన్ కాల్ అని మేము చెబుతూనే ఉన్నాము, కాని మీరు వేర్వేరు వస్తువుల (ఫంక్షన్) సభ్యుల ఫంక్షన్ అని పిలిచినప్పుడు, మీరు తరచూ మీరు అని చెబుతారు ఒక వస్తువు యొక్క పద్ధతిని ప్రారంభిస్తున్నారు. + ఇది సి లో ఎక్కువ, ఇది ఫంక్షన్ కాల్ అని మేము చెప్తున్నాము, ఇది సి ++ లో కూడా ఫంక్షన్ కాల్ అని మేము చెబుతూనే ఉన్నాము, కాని మీరు వేర్వేరు వస్తువుల (ఫంక్షన్) సభ్యుల ఫంక్షన్ అని పిలిచినప్పుడు, మీరు తరచూ మీరు అని చెబుతారు ఒక వస్తువు యొక్క పద్ధతిని ప్రారంభిస్తున్నారు. - 106. ఒక తరగతి నిర్వచనంలో భాగంగా లభించే ఒక పద్ధతి లేదా సభ్యుల ఫంక్షన్, కాబట్టి C ++ లోని పద్ధతుల యొక్క ప్రాథమిక ఆలోచన. + ఒక తరగతి నిర్వచనంలో భాగంగా లభించే ఒక పద్ధతి లేదా సభ్యుల ఫంక్షన్, కాబట్టి C ++ లోని పద్ధతుల యొక్క ప్రాథమిక ఆలోచన. - 107. మీరు చూడగలరు. + మీరు చూడగలరు. - 108. మీరు మరింత అధ్యయనం చేసినప్పుడు మీ సమయాన్ని, ఈ ప్రెజెంటేషన్‌ను ఎక్కువగా తీసుకోవచ్చని మేము చాలా వివరంగా చెప్పలేము. + మీరు మరింత అధ్యయనం చేసినప్పుడు మీ సమయాన్ని, ఈ ప్రెజెంటేషన్‌ను ఎక్కువగా తీసుకోవచ్చని మేము చాలా వివరంగా చెప్పలేము. - 109. ఇది డేటాను కలిగి ఉన్న స్టాక్‌కు పూర్తి ఉదాహరణ అని మీరు చూడవచ్చు. + ఇది డేటాను కలిగి ఉన్న స్టాక్‌కు పూర్తి ఉదాహరణ అని మీరు చూడవచ్చు. - 110. ఇవి స్టాక్ యొక్క నాలుగు ఆపరేషన్లు: ఖాళీ, టాప్, పుష్ మరియు పాప్, సి లో గ్లోబల్ ఫంక్షన్లుగా ఇవ్వబడ్డాయి. + ఇవి స్టాక్ యొక్క నాలుగు ఆపరేషన్లు: ఖాళీ, టాప్, పుష్ మరియు పాప్, సి లో గ్లోబల్ ఫంక్షన్లుగా ఇవ్వబడ్డాయి. - 111. మేము ఇక్కడ ఒక స్టాక్ యొక్క ఉదాహరణను ఉపయోగిస్తాము, దానిని టాప్ మార్కర్‌గా ప్రారంభించండి, దాన్ని వాడండి మరియు ఇచ్చిన స్ట్రింగ్ కోసం, మేము ఆ స్ట్రింగ్ యొక్క ప్రతి అక్షరాన్ని ప్రతిదానికి కేటాయించవచ్చు, అప్పుడు మేము వాటిని స్టాక్‌లోకి నెట్టివేసి, ఆపై వాటిని పాపింగ్ చేస్తూనే ఉంటాము స్టాక్ ఖాళీ అవుతుంది. + మేము ఇక్కడ ఒక స్టాక్ యొక్క ఉదాహరణను ఉపయోగిస్తాము, దానిని టాప్ మార్కర్‌గా ప్రారంభించండి, దాన్ని వాడండి మరియు ఇచ్చిన స్ట్రింగ్ కోసం, మేము ఆ స్ట్రింగ్ యొక్క ప్రతి అక్షరాన్ని ప్రతిదానికి కేటాయించవచ్చు, అప్పుడు మేము వాటిని స్టాక్‌లోకి నెట్టివేసి, ఆపై వాటిని పాపింగ్ చేస్తూనే ఉంటాము స్టాక్ ఖాళీ అవుతుంది. - 112. మీకు తెలిసినట్లుగా ఇది స్ట్రింగ్‌ను రివర్స్ చేసే ప్రామాణిక అల్గోరిథం. + మీకు తెలిసినట్లుగా ఇది స్ట్రింగ్‌ను రివర్స్ చేసే ప్రామాణిక అల్గోరిథం. - 113. కాబట్టి, ఈ కోడ్ ఈ గ్లోబల్ ఫంక్షన్‌ను ఉపయోగించి స్ట్రింగ్‌ను రివర్స్ చేస్తుంది. + కాబట్టి, ఈ కోడ్ ఈ గ్లోబల్ ఫంక్షన్‌ను ఉపయోగించి స్ట్రింగ్‌ను రివర్స్ చేస్తుంది. - 114. ఇప్పుడు మేము క్లాస్ కాంప్లెక్స్ ఉపయోగించి చూపిన విధంగా చేయగలమని చూపిస్తాము, క్లాస్ దీర్ఘచతురస్రాన్ని ఉపయోగించి మేము చూపించినట్లు. + ఇప్పుడు మేము క్లాస్ కాంప్లెక్స్ ఉపయోగించి చూపిన విధంగా చేయగలమని చూపిస్తాము, క్లాస్ దీర్ఘచతురస్రాన్ని ఉపయోగించి మేము చూపించినట్లు. - 115. క్లాస్ స్టాక్ విషయంలో, నేను డేటాను కలిగి ఉంటాను, మరియు నేను ఈ స్టాక్ ఆపరేషన్లన్నింటినీ సృష్టించగలను ఎందుకంటే మేము వాటిని సభ్యుల ఫంక్షన్లలో చేయవలసి ఉంటుంది మరియు పద్ధతి (క్లాస్)) పద్ధతిలో కొంత భాగాన్ని నిర్వహించడానికి అవసరం. + క్లాస్ స్టాక్ విషయంలో, నేను డేటాను కలిగి ఉంటాను, మరియు నేను ఈ స్టాక్ ఆపరేషన్లన్నింటినీ సృష్టించగలను ఎందుకంటే మేము వాటిని సభ్యుల ఫంక్షన్లలో చేయవలసి ఉంటుంది మరియు పద్ధతి (క్లాస్)) పద్ధతిలో కొంత భాగాన్ని నిర్వహించడానికి అవసరం. - 116. మరియు మేము వారిని తరగతిలో భాగమైన వెంటనే, తేడాను చూడటానికి వాటిని ఉపయోగిస్తాము. + మరియు మేము వారిని తరగతిలో భాగమైన వెంటనే, తేడాను చూడటానికి వాటిని ఉపయోగిస్తాము. - 117. మీరు ఇక్కడ నెట్టివేస్తే, స్టాక్ అంటే ఏమిటో మీరు చెప్పాలి, ఆపై మీరు ఇక్కడ ఏమి నెట్టివేస్తున్నారో, మీరు స్టాక్ s అని చెప్తారు. + మీరు ఇక్కడ నెట్టివేస్తే, స్టాక్ అంటే ఏమిటో మీరు చెప్పాలి, ఆపై మీరు ఇక్కడ ఏమి నెట్టివేస్తున్నారో, మీరు స్టాక్ s అని చెప్తారు. - 118. కాబట్టి, మీరు స్టాక్ ఆబ్జెక్ట్ కోసం పుష్ పద్ధతిని అమలు చేస్తున్నారు మరియు మీరు ఇక్కడ ఏమి నెట్టివేస్తున్నారో చెబుతున్నారు. + కాబట్టి, మీరు స్టాక్ ఆబ్జెక్ట్ కోసం పుష్ పద్ధతిని అమలు చేస్తున్నారు మరియు మీరు ఇక్కడ ఏమి నెట్టివేస్తున్నారో చెబుతున్నారు. - 119. అదేవిధంగా, ఖాళీగా తనిఖీ చేయడానికి, మీరు స్టాక్ ఫంక్షన్లను గ్లోబల్ ఫంక్షన్‌కు పాస్ చేస్తారు, ఖాళీ సభ్యుల ఫంక్షన్ ఉంది. + అదేవిధంగా, ఖాళీగా తనిఖీ చేయడానికి, మీరు స్టాక్ ఫంక్షన్లను గ్లోబల్ ఫంక్షన్‌కు పాస్ చేస్తారు, ఖాళీ సభ్యుల ఫంక్షన్ ఉంది. - 120. కాబట్టి, మీరు స్టాక్ (స్టాక్) కి వెళతారు. మీరు ఈ పద్ధతిని ఖాళీగా తీసుకోండి, ఇది స్టాక్ (స్టాక్) S కు మైనస్ 1 కి సమానమైన శీర్షం ఉందో లేదో తెలుసుకోవడానికి మాకు పద్ధతి ఇస్తుంది. + కాబట్టి, మీరు స్టాక్ (స్టాక్) కి వెళతారు. మీరు ఈ పద్ధతిని ఖాళీగా తీసుకోండి, ఇది స్టాక్ (స్టాక్) S కు మైనస్ 1 కి సమానమైన శీర్షం ఉందో లేదో తెలుసుకోవడానికి మాకు పద్ధతి ఇస్తుంది. - 121. అదేవిధంగా, ఇక్కడ టాప్ లు s.top (); అని ఆహ్వానించబడ్డారు. + అదేవిధంగా, ఇక్కడ టాప్ లు s.top (); అని ఆహ్వానించబడ్డారు. - 122. పాప్ లు ఇక్కడ s.pop () గా చేర్చబడ్డాయి. + పాప్ లు ఇక్కడ s.pop () గా చేర్చబడ్డాయి. - 123. కాబట్టి, ఇది గ్లోబల్ ఫంక్షన్లను ఉపయోగించటానికి వ్యతిరేకం అని మీరు చూడవచ్చు, ఇప్పుడు ఈ పద్ధతి ఇన్వొకేషన్ లేదా సభ్యుల ఫంక్షన్ డేటా ఆపరేషన్లను ఏకకాలంలో చేయడానికి అనుమతిస్తుంది, అలాగే ఆ పద్ధతులు లేదా సభ్యులను అనుమతించండి నేను వాటిని ఇవ్వడానికి నేను ఏమి చేయాలో నన్ను అనుమతిస్తుంది కలిసి ఏకీకృత కట్టలో. + కాబట్టి, ఇది గ్లోబల్ ఫంక్షన్లను ఉపయోగించటానికి వ్యతిరేకం అని మీరు చూడవచ్చు, ఇప్పుడు ఈ పద్ధతి ఇన్వొకేషన్ లేదా సభ్యుల ఫంక్షన్ డేటా ఆపరేషన్లను ఏకకాలంలో చేయడానికి అనుమతిస్తుంది, అలాగే ఆ పద్ధతులు లేదా సభ్యులను అనుమతించండి నేను వాటిని ఇవ్వడానికి నేను ఏమి చేయాలో నన్ను అనుమతిస్తుంది కలిసి ఏకీకృత కట్టలో. - 124. మరియు ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ రూపంలో మరింత సరైన, మరింత ఖచ్చితమైన ఎన్కప్సులేషన్ లేదా అగ్రిగేషన్ ఇస్తుంది. + మరియు ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ రూపంలో మరింత సరైన, మరింత ఖచ్చితమైన ఎన్కప్సులేషన్ లేదా అగ్రిగేషన్ ఇస్తుంది. - 125. కాబట్టి, దీనితో, మేము సాధించేది ఆ తరగతిలో కార్యకలాపాలు మరియు సభ్యుల ఫంక్షన్ పద్ధతులు మరియు ఇది OOP రూపంలో డేటా సంగ్రహణ లేదా ఎన్కప్సులేషన్‌ను అందిస్తుంది, మనం దీన్ని స్పష్టంగా అర్థం చేసుకోవచ్చు. - 126. మరియు వస్తువు యొక్క సందర్భంలో సభ్యుల విధులు దాని ప్రవర్తనను నిర్వచించాయని మనకు తెలుసు; మేము చూసినట్లుగా, స్టాక్‌లోని సభ్యుడు ఫంక్షన్లైన పుష్, పాప్, ఖాళీ, టాప్ స్టాక్ ప్రదర్శించాల్సిన అన్ని LIFO ప్రవర్తనను నిర్వచిస్తుంది. + కాబట్టి, దీనితో, మేము సాధించేది ఆ తరగతిలో కార్యకలాపాలు మరియు సభ్యుల ఫంక్షన్ పద్ధతులు మరియు ఇది OOP రూపంలో డేటా సంగ్రహణ లేదా ఎన్కప్సులేషన్‌ను అందిస్తుంది, మనం దీన్ని స్పష్టంగా అర్థం చేసుకోవచ్చు. + మరియు వస్తువు యొక్క సందర్భంలో సభ్యుల విధులు దాని ప్రవర్తనను నిర్వచించాయని మనకు తెలుసు; మేము చూసినట్లుగా, స్టాక్‌లోని సభ్యుడు ఫంక్షన్లైన పుష్, పాప్, ఖాళీ, టాప్ స్టాక్ ప్రదర్శించాల్సిన అన్ని LIFO ప్రవర్తనను నిర్వచిస్తుంది. - 127. ప్రయోజనం ఏమిటంటే, మేము సి ఉపయోగిస్తున్నప్పుడు మరియు గ్లోబల్ ఫంక్షన్లను ఉపయోగిస్తున్నప్పుడు, గ్లోబల్ ఫంక్షన్లకు స్టాక్ స్ట్రక్చర్ గురించి తెలియదు, స్టాక్ స్ట్రక్చర్ అంటారు గ్లోబల్ ఫంక్షన్లు ఏమిటో తెలియదు, నేను దీన్ని పాస్ చేయగలను. + ప్రయోజనం ఏమిటంటే, మేము సి ఉపయోగిస్తున్నప్పుడు మరియు గ్లోబల్ ఫంక్షన్లను ఉపయోగిస్తున్నప్పుడు, గ్లోబల్ ఫంక్షన్లకు స్టాక్ స్ట్రక్చర్ గురించి తెలియదు, స్టాక్ స్ట్రక్చర్ అంటారు గ్లోబల్ ఫంక్షన్లు ఏమిటో తెలియదు, నేను దీన్ని పాస్ చేయగలను. - 128. కానీ నేను ఒక తరగతి చేసి, వాటిని డేటా సభ్యుడితో అనుబంధించినప్పుడు మరియు డేటా సభ్యుడితో పనిచేసే పద్ధతులు పూర్తిగా కలిసిపోయినప్పుడు, మీరు వాటిని అవసరమైన విధంగా పరిగణిస్తారు మరియు అవి పూర్తిగా ఎలా కట్టుబడి ఉన్నాయో చూడటానికి మేము యాక్సెస్ స్పెసిఫికేషన్ తర్వాత ప్రత్యేకంగా చూస్తాము C ++ లో మాకు మరింత పూర్తి డేటా రకాలను ఇవ్వడానికి. + కానీ నేను ఒక తరగతి చేసి, వాటిని డేటా సభ్యుడితో అనుబంధించినప్పుడు మరియు డేటా సభ్యుడితో పనిచేసే పద్ధతులు పూర్తిగా కలిసిపోయినప్పుడు, మీరు వాటిని అవసరమైన విధంగా పరిగణిస్తారు మరియు అవి పూర్తిగా ఎలా కట్టుబడి ఉన్నాయో చూడటానికి మేము యాక్సెస్ స్పెసిఫికేషన్ తర్వాత ప్రత్యేకంగా చూస్తాము C ++ లో మాకు మరింత పూర్తి డేటా రకాలను ఇవ్వడానికి. - 129. ఇప్పుడు, మనం అర్థం చేసుకోవలసిన తదుపరి భావనలు, ఇక్కడ పరిచయం ఈ సంకేతం యొక్క భావన. + ఇప్పుడు, మనం అర్థం చేసుకోవలసిన తదుపరి భావనలు, ఇక్కడ పరిచయం ఈ సంకేతం యొక్క భావన. - 130. ఈ పాయింటర్, "ఇది" వాస్తవానికి C ++ లో ఒక కీవర్డ్, మరియు ఇది ఒక పేరు. + ఈ పాయింటర్, "ఇది" వాస్తవానికి C ++ లో ఒక కీవర్డ్, మరియు ఇది ఒక పేరు. - 131. మరియు ఇది ఒక వస్తువు యొక్క చిరునామాను కలిగి ఉన్న అంతర్నిర్మిత పాయింటర్. + మరియు ఇది ఒక వస్తువు యొక్క చిరునామాను కలిగి ఉన్న అంతర్నిర్మిత పాయింటర్. - 132. అందువల్ల, నేను ఒక వస్తువు గురించి మాట్లాడుతుంటే, ఆ వస్తువు దాని స్వంత గుర్తింపును, దాని స్వంత గుర్తింపును, వస్తువు యొక్క పద్ధతుల్లో దాని స్వంత చిరునామాను సూచించవచ్చు. + అందువల్ల, నేను ఒక వస్తువు గురించి మాట్లాడుతుంటే, ఆ వస్తువు దాని స్వంత గుర్తింపును, దాని స్వంత గుర్తింపును, వస్తువు యొక్క పద్ధతుల్లో దాని స్వంత చిరునామాను సూచించవచ్చు. - 133. మరియు ఈ సూచికలో ఆసక్తికరమైన సంతకం ఉంది. + మరియు ఈ సూచికలో ఆసక్తికరమైన సంతకం ఉంది. - 134. కాబట్టి, మీరు ఇప్పటికే const పాయింటర్‌ను చూశారు, కాబట్టి ఈ పాయింటర్ ఎలా నిర్వచించబడిందో చూడటానికి మీరు ఈ సిగ్నల్‌ను సులభంగా చదవవచ్చు. + కాబట్టి, మీరు ఇప్పటికే const పాయింటర్‌ను చూశారు, కాబట్టి ఈ పాయింటర్ ఎలా నిర్వచించబడిందో చూడటానికి మీరు ఈ సిగ్నల్‌ను సులభంగా చదవవచ్చు. - 135. కాబట్టి, పదవ తరగతి కోసం, దాని వస్తువు యొక్క "ఈ" పాయింటర్ "x * const" గా ఉంటుంది, ఇది "x *" ఇది ఒక తరగతి (రకం) వస్తువు (వస్తువు) అని సూచిస్తుంది మరియు ఇది ఒక పాయింటర్, ఈ నక్షత్రం తరువాత పాయింటర్ రకం ఈ పాయింటర్ యొక్క విలువను మీరు మార్చలేరని ఇది స్థిరమైన పాయింటర్ అని మాకు చెబుతుంది, ఇది అర్ధమే. ఎందుకంటే ఇది ఒక వస్తువు యొక్క చిరునామా అని మేము చెబుతున్నాము. + కాబట్టి, పదవ తరగతి కోసం, దాని వస్తువు యొక్క "ఈ" పాయింటర్ "x * const" గా ఉంటుంది, ఇది "x *" ఇది ఒక తరగతి (రకం) వస్తువు (వస్తువు) అని సూచిస్తుంది మరియు ఇది ఒక పాయింటర్, ఈ నక్షత్రం తరువాత పాయింటర్ రకం ఈ పాయింటర్ యొక్క విలువను మీరు మార్చలేరని ఇది స్థిరమైన పాయింటర్ అని మాకు చెబుతుంది, ఇది అర్ధమే. ఎందుకంటే ఇది ఒక వస్తువు యొక్క చిరునామా అని మేము చెబుతున్నాము. - 136. కాబట్టి, ఇది వివిధ మార్గాల పరంగా అందుబాటులో ఉంటుంది. + కాబట్టి, ఇది వివిధ మార్గాల పరంగా అందుబాటులో ఉంటుంది. - 137. అందువల్ల, ఇక్కడ నేను కొన్ని ఉదాహరణలు మాత్రమే చూపిస్తాను. + అందువల్ల, ఇక్కడ నేను కొన్ని ఉదాహరణలు మాత్రమే చూపిస్తాను. - 138. ఇది నిష్పాక్షికంగా అర్ధవంతమైనది ఏమీ చేయదు, కానీ ఇది కేవలం ఉదాహరణ కోసం మాత్రమే; X ఒక తరగతి, దీనికి ఇద్దరు సభ్యులు ఉన్నారు. + ఇది నిష్పాక్షికంగా అర్ధవంతమైనది ఏమీ చేయదు, కానీ ఇది కేవలం ఉదాహరణ కోసం మాత్రమే; X ఒక తరగతి, దీనికి ఇద్దరు సభ్యులు ఉన్నారు. - 139. మరియు f అనేది రెండు పారామితులను తీసుకొని వాటిని ఆబ్జెక్ట్ యొక్క రెండు డేటా సభ్యుల కోసం సెట్ చేస్తుంది. + మరియు f అనేది రెండు పారామితులను తీసుకొని వాటిని ఆబ్జెక్ట్ యొక్క రెండు డేటా సభ్యుల కోసం సెట్ చేస్తుంది. - 140. మరియు మేము డేటా సభ్యుడిని నేరుగా M1 గా సూచించవచ్చు లేదా నేను ఈ పాయింటర్ M2 ద్వారా సూచించగలను, ఎందుకంటే ఇది ఒక వస్తువు గురించి మాట్లాడితే, ఈ వస్తువుకు పాయింటర్ అయిన పాయింటర్ నాకు ఉంది. + మరియు మేము డేటా సభ్యుడిని నేరుగా M1 గా సూచించవచ్చు లేదా నేను ఈ పాయింటర్ M2 ద్వారా సూచించగలను, ఎందుకంటే ఇది ఒక వస్తువు గురించి మాట్లాడితే, ఈ వస్తువుకు పాయింటర్ అయిన పాయింటర్ నాకు ఉంది. - 141. కాబట్టి, నేను F లో ఉన్నప్పుడు, నాకు అలాంటిది, ఈ పాయింటర్ యొక్క విలువ నాకు ఉంది, దీని ద్వారా నేను ఈ వస్తువులో M1 మరియు M2 ని సూచించగలను. + కాబట్టి, నేను F లో ఉన్నప్పుడు, నాకు అలాంటిది, ఈ పాయింటర్ యొక్క విలువ నాకు ఉంది, దీని ద్వారా నేను ఈ వస్తువులో M1 మరియు M2 ని సూచించగలను. - 142. కాబట్టి, మీరు ఈ కోడ్ ద్వారా వెళితే, ఈ పాయింటర్ వాస్తవానికి చిరునామాను తీసుకుంటుందని మీరు చూడగలరు. + కాబట్టి, మీరు ఈ కోడ్ ద్వారా వెళితే, ఈ పాయింటర్ వాస్తవానికి చిరునామాను తీసుకుంటుందని మీరు చూడగలరు. - 143. అందువల్ల, ప్రధాన కోడ్‌లో, మేము చిరునామాను ముద్రించాము; మరియు ఫంక్షన్ f లో, మేము ఈ పాయింటర్ యొక్క విలువను ముద్రించాము మరియు అవి ఒకేలా ఉన్నాయని మీరు చూడవచ్చు. + అందువల్ల, ప్రధాన కోడ్‌లో, మేము చిరునామాను ముద్రించాము; మరియు ఫంక్షన్ f లో, మేము ఈ పాయింటర్ యొక్క విలువను ముద్రించాము మరియు అవి ఒకేలా ఉన్నాయని మీరు చూడవచ్చు. - 144. కాబట్టి, ఈ పాయింటర్ వాస్తవానికి వస్తువు యొక్క చిరునామాను కలిగి ఉంటుంది. + కాబట్టి, ఈ పాయింటర్ వాస్తవానికి వస్తువు యొక్క చిరునామాను కలిగి ఉంటుంది. - 145. కాబట్టి, ఇక్కడ, నేను, మీరు వేర్వేరు డేటా సభ్యులను లేదా తరగతి యొక్క పద్ధతులను ఉపయోగిస్తున్నప్పుడు ఈ పాయింటర్‌ను ఉపయోగించడం సాధారణంగా ఐచ్ఛికం, కానీ మీరు డేటా సభ్యుని k1, k2 వంటి ఇతర వేరియబుల్స్ నుండి వేరు చేయడానికి వాటిని ఉపయోగించవచ్చు. + కాబట్టి, ఇక్కడ, నేను, మీరు వేర్వేరు డేటా సభ్యులను లేదా తరగతి యొక్క పద్ధతులను ఉపయోగిస్తున్నప్పుడు ఈ పాయింటర్‌ను ఉపయోగించడం సాధారణంగా ఐచ్ఛికం, కానీ మీరు డేటా సభ్యుని k1, k2 వంటి ఇతర వేరియబుల్స్ నుండి వేరు చేయడానికి వాటిని ఉపయోగించవచ్చు. - 146. కానీ కొన్ని ఉదాహరణలు ఉన్నాయి, కొన్ని పరిస్థితులు చాలా అవసరం అయినప్పుడు మరియు మేము ఇక్కడ రెండు ఉదాహరణలు మాత్రమే ఉంచాము. + కానీ కొన్ని ఉదాహరణలు ఉన్నాయి, కొన్ని పరిస్థితులు చాలా అవసరం అయినప్పుడు మరియు మేము ఇక్కడ రెండు ఉదాహరణలు మాత్రమే ఉంచాము. - 147. ఉదాహరణకు, మీరు డ్యూయల్ లింక్డ్ జాబితాను కలిగి ఉంటే మరియు మీరు ఇచ్చిన నోడ్ తర్వాత నోడ్‌ను చొప్పించే నోడ్‌లోకి చొప్పించాలనుకుంటే, అది లింక్‌ను తదుపరి నోడ్‌కు మరియు మునుపటి నోడ్‌కు వెనుకకు లింక్‌కు ఫార్వార్డ్ చేస్తుంది, మీరు తప్పక చిరునామాను ఉపయోగించాలి మీరు నోడ్లో ఉంచారు. + ఉదాహరణకు, మీరు డ్యూయల్ లింక్డ్ జాబితాను కలిగి ఉంటే మరియు మీరు ఇచ్చిన నోడ్ తర్వాత నోడ్‌ను చొప్పించే నోడ్‌లోకి చొప్పించాలనుకుంటే, అది లింక్‌ను తదుపరి నోడ్‌కు మరియు మునుపటి నోడ్‌కు వెనుకకు లింక్‌కు ఫార్వార్డ్ చేస్తుంది, మీరు తప్పక చిరునామాను ఉపయోగించాలి మీరు నోడ్లో ఉంచారు. - 148. లేదా మీరు ఒక వస్తువును తిరిగి ఇస్తుంటే, మీరు మీరే తిరిగి వస్తున్న వస్తువును సూచించాలి, వీటికి మరిన్ని ఉదాహరణలు తరువాత చూస్తాము. + లేదా మీరు ఒక వస్తువును తిరిగి ఇస్తుంటే, మీరు మీరే తిరిగి వస్తున్న వస్తువును సూచించాలి, వీటికి మరిన్ని ఉదాహరణలు తరువాత చూస్తాము. - 149. కాబట్టి, మీరు దీనిని ఒకసారి ప్రయత్నించాలని నేను కోరుకుంటున్నాను, కాని దీనిపై మేము మరిన్ని ఉదాహరణలు ఇచ్చినప్పుడు, మేము దానిని మరింత విస్తరిస్తాము. కాబట్టి, దీనితో తరగతి యొక్క భావన మరియు దాని సంబంధిత వస్తువు ఏమిటో నేర్చుకున్నాము. + కాబట్టి, మీరు దీనిని ఒకసారి ప్రయత్నించాలని నేను కోరుకుంటున్నాను, కాని దీనిపై మేము మరిన్ని ఉదాహరణలు ఇచ్చినప్పుడు, మేము దానిని మరింత విస్తరిస్తాము. కాబట్టి, దీనితో తరగతి యొక్క భావన మరియు దాని సంబంధిత వస్తువు ఏమిటో నేర్చుకున్నాము. - 150. మేము ఒక తరగతి యొక్క డేటా సభ్యుల గురించి మరియు అదే వస్తువు యొక్క వస్తువు గురించి కూడా నేర్చుకున్నాము. + మేము ఒక తరగతి యొక్క డేటా సభ్యుల గురించి మరియు అదే వస్తువు యొక్క వస్తువు గురించి కూడా నేర్చుకున్నాము. - 151. తరగతి కోసం నిర్వచించబడే మరియు ఒక వస్తువుకు వర్తించే పద్ధతుల గురించి మేము నేర్చుకున్నాము. + తరగతి కోసం నిర్వచించబడే మరియు ఒక వస్తువుకు వర్తించే పద్ధతుల గురించి మేము నేర్చుకున్నాము. - 152. మరియు ప్రతి వస్తువుకు ఒక గుర్తింపు ఉందని మేము చూశాము, అది "ఈ" పాయింటర్‌లో ఆ వస్తువు యొక్క పద్ధతులకు సంగ్రహించబడవచ్చు మరియు ఇది వస్తువుకు తెలిసిన చిరునామాను కనుగొంటుంది. + మరియు ప్రతి వస్తువుకు ఒక గుర్తింపు ఉందని మేము చూశాము, అది "ఈ" పాయింటర్‌లో ఆ వస్తువు యొక్క పద్ధతులకు సంగ్రహించబడవచ్చు మరియు ఇది వస్తువుకు తెలిసిన చిరునామాను కనుగొంటుంది. - 153. ఈ సమయంలో, C ++ లో, వస్తువు (ల) యొక్క ప్రత్యేక గుర్తింపు లేదని నేను కూడా చెప్పాలనుకుంటున్నాను. + ఈ సమయంలో, C ++ లో, వస్తువు (ల) యొక్క ప్రత్యేక గుర్తింపు లేదని నేను కూడా చెప్పాలనుకుంటున్నాను. - 154. కాబట్టి, ఈ పాయింటర్ లేదా ఆబ్జెక్ట్ చిరునామా ప్రతిచోటా చిరునామాగా తీసుకోబడుతుంది, ఇది కొన్ని ఇతర వస్తువు-ఆధారిత వాటికి భిన్నంగా ఉంటుంది. - 155. + కాబట్టి, ఈ పాయింటర్ లేదా ఆబ్జెక్ట్ చిరునామా ప్రతిచోటా చిరునామాగా తీసుకోబడుతుంది, ఇది కొన్ని ఇతర వస్తువు-ఆధారిత వాటికి భిన్నంగా ఉంటుంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/04. ProgramminginCplusplus_Template (Function Template) Part II (Lecture 55)-MNoPTVrsXZs.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/04. ProgramminginCplusplus_Template (Function Template) Part II (Lecture 55)-MNoPTVrsXZs.txt index 3186e4d1529a7a400296e5468fe28f9cbf8bf429..0aff13ecec52e24a14529b05c9bea1b758a744ad 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/04. ProgramminginCplusplus_Template (Function Template) Part II (Lecture 55)-MNoPTVrsXZs.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/04. ProgramminginCplusplus_Template (Function Template) Part II (Lecture 55)-MNoPTVrsXZs.txt @@ -1,249 +1,249 @@ - 1.  ప్రోగ్రామింగ్ C ++ లో మాడ్యూల్ 39 కు స్వాగతం. - 2. మేము టెంప్లేట్లు(templates) లేదా జెనరిక్(generic) ప్రోగ్రామింగ్, C ++ లో మెటా ప్రోగ్రామింగ్ గురించి చర్చించాము, ఇక్కడ మేము కొన్ని విధులు, టెంప్లేట్ చేయబడిన ఫంక్షన్లు, ఒకటి లేదా అంతకంటే ఎక్కువ రకం వేరియబుల్స్తో(variables) పారామీటర్డ్(parameterized) ఫంక్షన్లను వ్రాయవచ్చు. - 3. తదనుగుణంగా వివిధ పారామిరైజ్డ్ రకాలను ఎక్ష్ప్లిసిట్(explicit) లేదా ఇంప్లిసిట్ వేర్వేరు ఫంక్షన్ పొందవచ్చు ఓవర్లోడ్(overload) గా ఉత్పత్తి మరియు పొందవచ్చు. - 4. మేము మునుపటి మాడ్యూల్‌లో లోతును చూశాము. +  ప్రోగ్రామింగ్ C ++ లో మాడ్యూల్ 39 కు స్వాగతం. + మేము టెంప్లేట్లు(templates) లేదా జెనరిక్(generic) ప్రోగ్రామింగ్, C ++ లో మెటా ప్రోగ్రామింగ్ గురించి చర్చించాము, ఇక్కడ మేము కొన్ని విధులు, టెంప్లేట్ చేయబడిన ఫంక్షన్లు, ఒకటి లేదా అంతకంటే ఎక్కువ రకం వేరియబుల్స్తో(variables) పారామీటర్డ్(parameterized) ఫంక్షన్లను వ్రాయవచ్చు. + తదనుగుణంగా వివిధ పారామిరైజ్డ్ రకాలను ఎక్ష్ప్లిసిట్(explicit) లేదా ఇంప్లిసిట్ వేర్వేరు ఫంక్షన్ పొందవచ్చు ఓవర్లోడ్(overload) గా ఉత్పత్తి మరియు పొందవచ్చు. + మేము మునుపటి మాడ్యూల్‌లో లోతును చూశాము. - 5. మేము ఇంతకుముందు టెంప్లేట్ చేసిన రూపంలో వ్రాసిన మాక్స్ ఫంక్షన్ (ఫంక్షన్) యొక్క ఉదాహరణను లోతుగా చూశాము, దానిని పూర్ణాంకం మరియు డబుల్ కోసం ఉపయోగించాము మరియు తరువాత మేము దానిని సి తీగలకు ప్రత్యేకత చేసాము మరియు తరువాత ఈ వినియోగదారు కోసం కూడా నిర్వచించమని చూపించాము కాంప్లెక్స్ వంటి రకాలు. + మేము ఇంతకుముందు టెంప్లేట్ చేసిన రూపంలో వ్రాసిన మాక్స్ ఫంక్షన్ (ఫంక్షన్) యొక్క ఉదాహరణను లోతుగా చూశాము, దానిని పూర్ణాంకం మరియు డబుల్ కోసం ఉపయోగించాము మరియు తరువాత మేము దానిని సి తీగలకు ప్రత్యేకత చేసాము మరియు తరువాత ఈ వినియోగదారు కోసం కూడా నిర్వచించమని చూపించాము కాంప్లెక్స్ వంటి రకాలు. - 6. ప్రస్తుత మాడ్యూల్‌లో, మేము దానిపై కొనసాగుతాము మరియు మా దృష్టి C ++ లోని ఇతర రకాల టెంప్లేట్‌లపై ఉంటుంది, వీటిని క్లాస్ టెంప్లేట్లు అంటారు. + ప్రస్తుత మాడ్యూల్‌లో, మేము దానిపై కొనసాగుతాము మరియు మా దృష్టి C ++ లోని ఇతర రకాల టెంప్లేట్‌లపై ఉంటుంది, వీటిని క్లాస్ టెంప్లేట్లు అంటారు. - 7. ఇది రూపురేఖలు మరియు మేము చర్చించే నీలం విభాగం మీ స్క్రీన్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. + ఇది రూపురేఖలు మరియు మేము చర్చించే నీలం విభాగం మీ స్క్రీన్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. - 8. ఇది శీఘ్ర పునరావృతం కోసం మాత్రమే, ఒక టెంప్లేట్ అంటే ఏమిటో మనం చూస్తాము మరియు దానిలో కొంత భాగాన్ని చూశాము. + ఇది శీఘ్ర పునరావృతం కోసం మాత్రమే, ఒక టెంప్లేట్ అంటే ఏమిటో మనం చూస్తాము మరియు దానిలో కొంత భాగాన్ని చూశాము. - 9. మరియు ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ సందర్భంలో, ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) ప్రాథమికంగా అల్గోరిథంలో కోడ్ పునర్వినియోగం అని మేము చూశాము. + మరియు ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ సందర్భంలో, ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) ప్రాథమికంగా అల్గోరిథంలో కోడ్ పునర్వినియోగం అని మేము చూశాము. - 10. కాబట్టి, మీకు సెర్చ్ అల్గోరిథం ఉంది, మాకు సార్టింగ్ అల్గోరిథం ఉంది, మాకు కనీస అల్గోరిథం ఉంది, మాకు సగటు అల్గోరిథం ఉంది. + కాబట్టి, మీకు సెర్చ్ అల్గోరిథం ఉంది, మాకు సార్టింగ్ అల్గోరిథం ఉంది, మాకు కనీస అల్గోరిథం ఉంది, మాకు సగటు అల్గోరిథం ఉంది. - 11. C ++ లో, దీని కోసం కోడ్ ప్రత్యేకంగా మూలకం రకం ఆధారంగా తిరిగి ఇవ్వబడుతుంది. + C ++ లో, దీని కోసం కోడ్ ప్రత్యేకంగా మూలకం రకం ఆధారంగా తిరిగి ఇవ్వబడుతుంది. - 12. ఏదేమైనా, సాధారణంగా అల్గోరిథం మూలకం రకాలను బట్టి మారదు, కాబట్టి టెంప్లేట్‌ను ఉపయోగించడం ద్వారా, ఈ ఫంక్షన్ (ఫంక్షన్) కోడ్ (కోడ్), శోధనలు, కనిష్ట, సగటును క్రమబద్ధీకరించే ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) ను వ్రాయవచ్చు.  వాటన్నింటినీ సాధారణ రూపంలో వ్రాయవచ్చు మరియు వెంటనే ఆ రకాన్ని బట్టి ఉంటుంది. + ఏదేమైనా, సాధారణంగా అల్గోరిథం మూలకం రకాలను బట్టి మారదు, కాబట్టి టెంప్లేట్‌ను ఉపయోగించడం ద్వారా, ఈ ఫంక్షన్ (ఫంక్షన్) కోడ్ (కోడ్), శోధనలు, కనిష్ట, సగటును క్రమబద్ధీకరించే ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) ను వ్రాయవచ్చు.  వాటన్నింటినీ సాధారణ రూపంలో వ్రాయవచ్చు మరియు వెంటనే ఆ రకాన్ని బట్టి ఉంటుంది. - 13. ఇప్పుడు, డేటా స్ట్రక్చర్ పరంగా కోడ్ పునర్వినియోగాన్ని పరిశీలిస్తే మనం ఎక్కువ చేయవచ్చు. + ఇప్పుడు, డేటా స్ట్రక్చర్ పరంగా కోడ్ పునర్వినియోగాన్ని పరిశీలిస్తే మనం ఎక్కువ చేయవచ్చు. - 14. ఉదాహరణకు, ఒక స్టాక్‌ను పరిగణించండి, మొదటిది చివరిది. + ఉదాహరణకు, ఒక స్టాక్‌ను పరిగణించండి, మొదటిది చివరిది. - 15. ఉదాహరణకు మీరు పేర్చే అనేక సమస్యలు ఉన్నాయి, శీర్షాన్ని బ్యాక్‌ట్రాక్ చేయడానికి అక్షరాల స్టాక్ అవసరం. + ఉదాహరణకు మీరు పేర్చే అనేక సమస్యలు ఉన్నాయి, శీర్షాన్ని బ్యాక్‌ట్రాక్ చేయడానికి అక్షరాల స్టాక్ అవసరం. - 16. పోస్ట్‌ఫిక్స్‌లోని వ్యక్తీకరణ మరియు ఇన్ఫిక్స్ వ్యక్తీకరణకు మళ్ళీ అక్షరాల స్టాక్ అవసరం. + పోస్ట్‌ఫిక్స్‌లోని వ్యక్తీకరణ మరియు ఇన్ఫిక్స్ వ్యక్తీకరణకు మళ్ళీ అక్షరాల స్టాక్ అవసరం. - 17. ఉపసర్గ వ్యక్తీకరణల మూల్యాంకనానికి మనం అంచనా వేయదలిచిన పూర్ణాంక, డబుల్, సంక్లిష్టమైన వివిధ రకాల రకాలు అవసరం. + ఉపసర్గ వ్యక్తీకరణల మూల్యాంకనానికి మనం అంచనా వేయదలిచిన పూర్ణాంక, డబుల్, సంక్లిష్టమైన వివిధ రకాల రకాలు అవసరం. - 18. మూడు లోతుకు మొదటి మూడు నోడ్‌ల యొక్క నోడ్ పాయింటర్ (రకం) స్టాక్ అవసరం. + మూడు లోతుకు మొదటి మూడు నోడ్‌ల యొక్క నోడ్ పాయింటర్ (రకం) స్టాక్ అవసరం. - 19. అనేక సమస్యలు ఉండవచ్చు, దీనికి ఒక నిర్దిష్ట సమస్య పరిష్కారం కోసం వివిధ రకాల స్టాక్‌లు అవసరం. + అనేక సమస్యలు ఉండవచ్చు, దీనికి ఒక నిర్దిష్ట సమస్య పరిష్కారం కోసం వివిధ రకాల స్టాక్‌లు అవసరం. - 20. ఇప్పుడు, మనకు అవసరమైనప్పుడు ఈ రకానికి ఒక స్టాక్ క్లాస్ రాయడం ఒక ఎంపిక, కాని మనం చూస్తున్నది కోడ్ యొక్క స్టాక్, దీనిని ఉదారంగా పిలుస్తారు, మనకు కావలసిన నిర్దిష్ట రకాన్ని వెంటనే ఇవ్వవచ్చు, ఎందుకంటే, పుష్, పాప్, టాప్, ఖాళీ మరియు మొదలైన ఇంటర్‌ఫేస్‌ల సమితితో స్టాక్ రూపంలో ఒక భావన మొదటిది., స్టాక్ ఉపయోగిస్తున్న నిర్దిష్ట మూలకం రకాన్ని బట్టి ఇది మారదు. - 21. మీరు మరింత చూస్తే క్యూలో అదే సారూప్యతను మీరు కనుగొంటారు. ప్రాసెస్ షెడ్యూలింగ్ ఉపయోగించి టాస్క్ షెడ్యూలింగ్. క్యూ యూజర్కు చాలా సమస్యలు అవసరం, దీనికి స్టాక్ (స్టాక్) క్యూ అమలు చేయడం వంటి జాబితా అవసరం, అప్పుడు ఏదైనా వస్తువుల సేకరణలు మరియు మొదలైనవి. + ఇప్పుడు, మనకు అవసరమైనప్పుడు ఈ రకానికి ఒక స్టాక్ క్లాస్ రాయడం ఒక ఎంపిక, కాని మనం చూస్తున్నది కోడ్ యొక్క స్టాక్, దీనిని ఉదారంగా పిలుస్తారు, మనకు కావలసిన నిర్దిష్ట రకాన్ని వెంటనే ఇవ్వవచ్చు, ఎందుకంటే, పుష్, పాప్, టాప్, ఖాళీ మరియు మొదలైన ఇంటర్‌ఫేస్‌ల సమితితో స్టాక్ రూపంలో ఒక భావన మొదటిది., స్టాక్ ఉపయోగిస్తున్న నిర్దిష్ట మూలకం రకాన్ని బట్టి ఇది మారదు. + మీరు మరింత చూస్తే క్యూలో అదే సారూప్యతను మీరు కనుగొంటారు. ప్రాసెస్ షెడ్యూలింగ్ ఉపయోగించి టాస్క్ షెడ్యూలింగ్. క్యూ యూజర్కు చాలా సమస్యలు అవసరం, దీనికి స్టాక్ (స్టాక్) క్యూ అమలు చేయడం వంటి జాబితా అవసరం, అప్పుడు ఏదైనా వస్తువుల సేకరణలు మరియు మొదలైనవి. - 22. క్లాస్ టెంప్లేట్లు కోడ్ పునర్వినియోగానికి ఒక పరిష్కారం, ఇక్కడ మీకు ఒకే ఇంటర్ఫేస్ మరియు అదే లేదా చాలా దగ్గరి అల్గోరిథంలు, సారూప్య అల్గోరిథంలు ఉన్న డేటా స్ట్రక్చర్ యొక్క సాధారణ భాగాన్ని మేము గుర్తిస్తాము, కాని మూలకం రకాలు కారణంగా అమలు భిన్నంగా ఉండాలి, వాటిని కలపడం సాధారణ సాధారణ తరగతి టెంప్లేట్ యొక్క సందర్భం. + క్లాస్ టెంప్లేట్లు కోడ్ పునర్వినియోగానికి ఒక పరిష్కారం, ఇక్కడ మీకు ఒకే ఇంటర్ఫేస్ మరియు అదే లేదా చాలా దగ్గరి అల్గోరిథంలు, సారూప్య అల్గోరిథంలు ఉన్న డేటా స్ట్రక్చర్ యొక్క సాధారణ భాగాన్ని మేము గుర్తిస్తాము, కాని మూలకం రకాలు కారణంగా అమలు భిన్నంగా ఉండాలి, వాటిని కలపడం సాధారణ సాధారణ తరగతి టెంప్లేట్ యొక్క సందర్భం. - 23. కాబట్టి, స్పష్టంగా చెప్పాలంటే, ఇది ఎడమ మరియు కుడి, మీరు ఇక్కడ చూస్తే అది అక్షరాల స్టాక్, ఇది పాత్ర. - 24. ఇవి ప్రత్యేకమైన కోడ్ పంక్తుల ఉల్లేఖనాలుగా చూపించబడతాయి, ఇవి రకం పరిజ్ఞానం అవసరం మరియు పూర్ణాంకాల స్టాక్, కాబట్టి ఇవి మీకు అవసరమైన పంక్తులు. - 25. కాబట్టి మీరు ఇక్కడ పూర్ణాంకం, ఇక్కడ నాలుగు, మీరు ఇక్కడ నాలుగు, మీరు ఇక్కడ నాలుగు, మరియు ఇక్కడ పూర్ణాంకం. - 26. ఇది కాకుండా, మిగిలిన కోడ్ కూడా ఒక ఫంక్షన్ (ఫంక్షన్) విషయంలో మాదిరిగానే టైప్ వేరియబుల్‌తో భర్తీ చేయకపోతే అదే విధంగా ఉంటుంది. - 27. ఇది తరగతి టెంప్లేట్‌ను రకంతో ప్రామాణీకరించిన మరియు సభ్యుల విధులను కలిగి ఉంటుంది. + కాబట్టి, స్పష్టంగా చెప్పాలంటే, ఇది ఎడమ మరియు కుడి, మీరు ఇక్కడ చూస్తే అది అక్షరాల స్టాక్, ఇది పాత్ర. + ఇవి ప్రత్యేకమైన కోడ్ పంక్తుల ఉల్లేఖనాలుగా చూపించబడతాయి, ఇవి రకం పరిజ్ఞానం అవసరం మరియు పూర్ణాంకాల స్టాక్, కాబట్టి ఇవి మీకు అవసరమైన పంక్తులు. + కాబట్టి మీరు ఇక్కడ పూర్ణాంకం, ఇక్కడ నాలుగు, మీరు ఇక్కడ నాలుగు, మీరు ఇక్కడ నాలుగు, మరియు ఇక్కడ పూర్ణాంకం. + ఇది కాకుండా, మిగిలిన కోడ్ కూడా ఒక ఫంక్షన్ (ఫంక్షన్) విషయంలో మాదిరిగానే టైప్ వేరియబుల్‌తో భర్తీ చేయకపోతే అదే విధంగా ఉంటుంది. + ఇది తరగతి టెంప్లేట్‌ను రకంతో ప్రామాణీకరించిన మరియు సభ్యుల విధులను కలిగి ఉంటుంది. - 28. మిగిలిన నిర్వచనం వివరాల కోసం మరియు ఉదాహరణను పరిశీలిస్తుంది. + మిగిలిన నిర్వచనం వివరాల కోసం మరియు ఉదాహరణను పరిశీలిస్తుంది. - 29. కాబట్టి మనం చేసే స్టాక్ కోసం, మేము ఈ రకమైన మూలకం రకాన్ని T గా పారామితి చేస్తాము. + కాబట్టి మనం చేసే స్టాక్ కోసం, మేము ఈ రకమైన మూలకం రకాన్ని T గా పారామితి చేస్తాము. - 30. మీరు చేసేటప్పుడు మీకు అవసరమైన స్థలాలను మీరు చూడవచ్చు కాబట్టి నేను టి అని ఎలిమెంట్ రకాన్ని తెలుసుకోవాలి. నేను అగ్రస్థానంలో ఉన్నప్పుడు ఎలిమెంట్ రకాన్ని తెలుసుకోవాలి, పాప్ చేయండి. తెలుసుకోవలసిన అవసరం లేదు, ఖలీ అవసరం లేదు తెలుసు. + మీరు చేసేటప్పుడు మీకు అవసరమైన స్థలాలను మీరు చూడవచ్చు కాబట్టి నేను టి అని ఎలిమెంట్ రకాన్ని తెలుసుకోవాలి. నేను అగ్రస్థానంలో ఉన్నప్పుడు ఎలిమెంట్ రకాన్ని తెలుసుకోవాలి, పాప్ చేయండి. తెలుసుకోవలసిన అవసరం లేదు, ఖలీ అవసరం లేదు తెలుసు. - 31. ఇది T రకం కాబట్టి, నేను దానిని ప్రామాణీకరించాను మరియు ఒక ఫంక్షన్ (ఫంక్షన్) విషయంలో నేను చేసినట్లుగానే, టెంప్లేట్ క్లాస్ T సందర్భంలో ఇది ఒక టెంప్లేట్ (టెంప్లేట్) అని చెప్పాను.  ఒక వేరియబుల్. + ఇది T రకం కాబట్టి, నేను దానిని ప్రామాణీకరించాను మరియు ఒక ఫంక్షన్ (ఫంక్షన్) విషయంలో నేను చేసినట్లుగానే, టెంప్లేట్ క్లాస్ T సందర్భంలో ఇది ఒక టెంప్లేట్ (టెంప్లేట్) అని చెప్పాను.  ఒక వేరియబుల్. - 32. మరియు ఈ సభ్యుల విధులను సూచించడానికి ఆ టెంప్లేట్ వేరియబుల్ ఉపయోగించబడుతుంది. + మరియు ఈ సభ్యుల విధులను సూచించడానికి ఆ టెంప్లేట్ వేరియబుల్ ఉపయోగించబడుతుంది. - 33. కాబట్టి, ఇది టెంప్లేట్ చేయబడిన స్టాక్‌ను చేస్తుంది, ఇది దేనికైనా వెంటనే చేయవచ్చు. + కాబట్టి, ఇది టెంప్లేట్ చేయబడిన స్టాక్‌ను చేస్తుంది, ఇది దేనికైనా వెంటనే చేయవచ్చు. - 34. వాస్తవానికి, ఈ స్టాక్ టెంప్లేట్ పని చేయడానికి, మనకు కొన్ని లక్షణాలను సంతృప్తి పరచడానికి టైప్ టి, టైప్ వేరియబుల్ టి అవసరం. + వాస్తవానికి, ఈ స్టాక్ టెంప్లేట్ పని చేయడానికి, మనకు కొన్ని లక్షణాలను సంతృప్తి పరచడానికి టైప్ టి, టైప్ వేరియబుల్ టి అవసరం. - 35. ఉదాహరణకు, అంశం T రకం మరియు డేటా I రకం T మరియు డేటా మూలకం. + ఉదాహరణకు, అంశం T రకం మరియు డేటా I రకం T మరియు డేటా మూలకం. - 36. అందువల్ల ఇక్కడ ఒక నియామకం సాధ్యమేనని మేము చూస్తాము. + అందువల్ల ఇక్కడ ఒక నియామకం సాధ్యమేనని మేము చూస్తాము. - 37. కాపీ అసైన్‌మెంట్ ఆపరేటర్ ఈ ప్రదేశంలో సాధ్యమవుతుంది, అది లేకుండా మీరు వెంటనే ఒక నిర్దిష్ట రకం స్టాక్‌ను పంపలేరు. + కాపీ అసైన్‌మెంట్ ఆపరేటర్ ఈ ప్రదేశంలో సాధ్యమవుతుంది, అది లేకుండా మీరు వెంటనే ఒక నిర్దిష్ట రకం స్టాక్‌ను పంపలేరు. - 38. ఇది స్టాక్ డాట్ హెడర్‌లోకి వెళుతుందని uming హిస్తూ, దీన్ని ఉపయోగించడం మనం చూస్తే, మనం ఫంక్షన్ (ఫంక్షన్) ను వేగవంతం చేసే విధంగానే నాకు వెంటనే ఇష్టం. మేము దానిని పాత్ర కోసం పిలుస్తాము. + ఇది స్టాక్ డాట్ హెడర్‌లోకి వెళుతుందని uming హిస్తూ, దీన్ని ఉపయోగించడం మనం చూస్తే, మనం ఫంక్షన్ (ఫంక్షన్) ను వేగవంతం చేసే విధంగానే నాకు వెంటనే ఇష్టం. మేము దానిని పాత్ర కోసం పిలుస్తాము. - 39. ఇది ఇప్పుడు నేను ఉపయోగించగల అక్షరాల స్టాక్‌ను ఇస్తుంది. + ఇది ఇప్పుడు నేను ఉపయోగించగల అక్షరాల స్టాక్‌ను ఇస్తుంది. - 40. నేను ఈ కోడ్‌ను వివరించడానికి వెళ్ళను. మేము ఈ కోడ్‌ను చాలాసార్లు చూశాము, ఒత్తిడిని తిప్పికొట్టడానికి మేము ఆ స్టాక్‌ను ఉపయోగించవచ్చు. + నేను ఈ కోడ్‌ను వివరించడానికి వెళ్ళను. మేము ఈ కోడ్‌ను చాలాసార్లు చూశాము, ఒత్తిడిని తిప్పికొట్టడానికి మేము ఆ స్టాక్‌ను ఉపయోగించవచ్చు. - 41. అదే శీర్షికతో డాట్ h ని స్టాక్ చేయండి. + అదే శీర్షికతో డాట్ h ని స్టాక్ చేయండి. - 42. ఇప్పుడు నేను ప్రత్యేక అప్లికేషన్ రాయగలను. + ఇప్పుడు నేను ప్రత్యేక అప్లికేషన్ రాయగలను. - 43. కాబట్టి, పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలను అంచనా వేయడానికి నేను వేరే అప్లికేషన్‌ను వ్రాయగలిగే అదే టెంప్లేట్ చేయబడిన స్టాక్ కోడ్ వలె ఇదే శీర్షిక. + కాబట్టి, పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలను అంచనా వేయడానికి నేను వేరే అప్లికేషన్‌ను వ్రాయగలిగే అదే టెంప్లేట్ చేయబడిన స్టాక్ కోడ్ వలె ఇదే శీర్షిక. - 44. ఇక్కడ వ్యక్తీకరణలు పూర్ణాంకాలు కాబట్టి, నాకు పూర్ణాంకం యొక్క వ్యక్తీకరణ విలువను కలిగి ఉండే స్టాక్ అవసరం, కనుక ఇది విలీనం చేయబడింది. + ఇక్కడ వ్యక్తీకరణలు పూర్ణాంకాలు కాబట్టి, నాకు పూర్ణాంకం యొక్క వ్యక్తీకరణ విలువను కలిగి ఉండే స్టాక్ అవసరం, కనుక ఇది విలీనం చేయబడింది. - 45. నేను సి తో చేస్తే, నాకు రెండు వేర్వేరు స్టాక్ ఇంప్లిమెంటేషన్లు, రివర్స్ స్ట్రింగ్ కోసం నాలుగు బేస్ ఇంప్లిమెంటేషన్లు మరియు ఈ ప్రత్యేకమైన పోస్ట్ ఫిక్స్ మూల్యాంకన సమస్య కోసం ఒక ఇంటెంట్ రివర్స్ రివర్స్ ఇంప్లిమెంటేషన్ అవసరం, కానీ నేను అదే టెంప్లేట్ (స్టాక్) ని నిర్వచించాను రెండు వేర్వేరు రకాలతో త్వరగా. + నేను సి తో చేస్తే, నాకు రెండు వేర్వేరు స్టాక్ ఇంప్లిమెంటేషన్లు, రివర్స్ స్ట్రింగ్ కోసం నాలుగు బేస్ ఇంప్లిమెంటేషన్లు మరియు ఈ ప్రత్యేకమైన పోస్ట్ ఫిక్స్ మూల్యాంకన సమస్య కోసం ఒక ఇంటెంట్ రివర్స్ రివర్స్ ఇంప్లిమెంటేషన్ అవసరం, కానీ నేను అదే టెంప్లేట్ (స్టాక్) ని నిర్వచించాను రెండు వేర్వేరు రకాలతో త్వరగా. - 46. ఇది తరగతి టెంప్లేట్ యొక్క ప్రధాన బలం మరియు ఇది డేటా స్ట్రక్చర్ల పరంగా ప్రత్యేకంగా మరియు వేర్వేరు యుటిలిటీ క్లాసులలో మాకు చాలా సాధారణీకరణను ఇస్తుంది. + ఇది తరగతి టెంప్లేట్ యొక్క ప్రధాన బలం మరియు ఇది డేటా స్ట్రక్చర్ల పరంగా ప్రత్యేకంగా మరియు వేర్వేరు యుటిలిటీ క్లాసులలో మాకు చాలా సాధారణీకరణను ఇస్తుంది. - 47. ఇప్పుడు, సహజంగా నేను ఈ ఆవశ్యకత చేసినప్పుడు నేను చెప్పినట్లు. + ఇప్పుడు, సహజంగా నేను ఈ ఆవశ్యకత చేసినప్పుడు నేను చెప్పినట్లు. - 48. ఇంతకుముందు మేము దీనిని ఫంక్షన్ టెంప్లేట్ల కోసం చూశాము, ఇప్పుడు మీరు దీన్ని క్లాస్ టెంప్లేట్ కోసం చూస్తున్నారు, పరామితి రకం టెంప్లేట్‌లో ఉపయోగించబడిందని మేము నిర్ధారించుకోవాలి, అవి ఏ రకమైనవి అయినా కొన్ని లక్షణాలను సంతృప్తిపరుస్తాయి. + ఇంతకుముందు మేము దీనిని ఫంక్షన్ టెంప్లేట్ల కోసం చూశాము, ఇప్పుడు మీరు దీన్ని క్లాస్ టెంప్లేట్ కోసం చూస్తున్నారు, పరామితి రకం టెంప్లేట్‌లో ఉపయోగించబడిందని మేము నిర్ధారించుకోవాలి, అవి ఏ రకమైనవి అయినా కొన్ని లక్షణాలను సంతృప్తిపరుస్తాయి. - 49. ఇతర పారామీటర్ చేయబడిన రకాలు కూడా ఉండవచ్చు, అవి సొంతంగా టైప్ చేయవచ్చు, కాని తరగతి అమలు యొక్క ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) అమలుకు అవసరమైన పద్ధతులకు అవి మద్దతు ఇవ్వడం ముఖ్యం. + ఇతర పారామీటర్ చేయబడిన రకాలు కూడా ఉండవచ్చు, అవి సొంతంగా టైప్ చేయవచ్చు, కాని తరగతి అమలు యొక్క ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) అమలుకు అవసరమైన పద్ధతులకు అవి మద్దతు ఇవ్వడం ముఖ్యం. - 50. కాబట్టి, లక్షణాలు ఉన్నందున, వారు కన్స్ట్రక్టర్కు మద్దతు ఇవ్వవలసి ఉంటుంది, వారు వేర్వేరు ఆపరేటర్లకు మద్దతు ఇవ్వవలసి ఉంటుంది మరియు మేము దాని ఉదాహరణలను చూశాము. - 51. అవి ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) అలాగే క్లాస్ టెంప్లేట్ (టెంప్లేట్) రెండింటినీ అనుసరించాల్సిన ప్రాథమిక రకం లక్షణాలు. - 52. కాబట్టి, ఫంక్షన్ టెంప్లేట్ విషయంలో మీరు చూసినది ఇదే, ఇది మీ రీక్యాప్ కోసం మాత్రమే. - 53. తరగతి టెంప్లేట్ సందర్భంలో, ఆవశ్యకతను సాధారణంగా స్పష్టంగా తీర్చాల్సిన అవసరం ఉంది మరియు ఇది ఒక తరగతి కనుక, తరగతిని వాస్తవంగా అందించకుండానే ఫార్వార్డ్ చేయడం చాలా సాధ్యమే. వాస్తవానికి నేను పిలువబడేదాన్ని వ్రాయగలను అసంపూర్ణ స్టాక్ రకం. - 54. టైప్ టి ద్వారా ప్రామాణికమైన స్టాక్ అని పిలువబడే తరగతి ఉందని వ్యవస్థకు చెప్పడం మరింత ప్రకటన అని ఇది చెప్పింది, అయితే ఇది పద్ధతులు ఏమిటో చెప్పలేదు మరియు మొదలైనవి. + కాబట్టి, లక్షణాలు ఉన్నందున, వారు కన్స్ట్రక్టర్కు మద్దతు ఇవ్వవలసి ఉంటుంది, వారు వేర్వేరు ఆపరేటర్లకు మద్దతు ఇవ్వవలసి ఉంటుంది మరియు మేము దాని ఉదాహరణలను చూశాము. + అవి ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్ (టెంప్లేట్) అలాగే క్లాస్ టెంప్లేట్ (టెంప్లేట్) రెండింటినీ అనుసరించాల్సిన ప్రాథమిక రకం లక్షణాలు. + కాబట్టి, ఫంక్షన్ టెంప్లేట్ విషయంలో మీరు చూసినది ఇదే, ఇది మీ రీక్యాప్ కోసం మాత్రమే. + తరగతి టెంప్లేట్ సందర్భంలో, ఆవశ్యకతను సాధారణంగా స్పష్టంగా తీర్చాల్సిన అవసరం ఉంది మరియు ఇది ఒక తరగతి కనుక, తరగతిని వాస్తవంగా అందించకుండానే ఫార్వార్డ్ చేయడం చాలా సాధ్యమే. వాస్తవానికి నేను పిలువబడేదాన్ని వ్రాయగలను అసంపూర్ణ స్టాక్ రకం. + టైప్ టి ద్వారా ప్రామాణికమైన స్టాక్ అని పిలువబడే తరగతి ఉందని వ్యవస్థకు చెప్పడం మరింత ప్రకటన అని ఇది చెప్పింది, అయితే ఇది పద్ధతులు ఏమిటో చెప్పలేదు మరియు మొదలైనవి. - 55. కాబట్టి, దానితో. - 56. నేను వస్తువును తక్షణం చేయడానికి ప్రయత్నిస్తే, నేను లోపం పొందుతాను, ఎందుకంటే కన్స్ట్రక్టర్, డిస్ట్రాయర్, ఇతర ఆపరేటర్లు మరియు సభ్యులను నాకు తెలియకపోతే ఆ వస్తువును తక్షణం చేయలేము. + కాబట్టి, దానితో. + నేను వస్తువును తక్షణం చేయడానికి ప్రయత్నిస్తే, నేను లోపం పొందుతాను, ఎందుకంటే కన్స్ట్రక్టర్, డిస్ట్రాయర్, ఇతర ఆపరేటర్లు మరియు సభ్యులను నాకు తెలియకపోతే ఆ వస్తువును తక్షణం చేయలేము. - 57. కానీ నేను ఇప్పటికీ ఈ రకానికి పాయింటర్‌ను నిర్వచించగలను; నేను ఈ రకమైన సూచనను నిర్వచించగలను. కాబట్టి రివర్స్ స్ట్రింగ్ ఫంక్షన్ (ఫంక్షన్) ను నేను నిర్వచించగలను, + కానీ నేను ఇప్పటికీ ఈ రకానికి పాయింటర్‌ను నిర్వచించగలను; నేను ఈ రకమైన సూచనను నిర్వచించగలను. కాబట్టి రివర్స్ స్ట్రింగ్ ఫంక్షన్ (ఫంక్షన్) ను నేను నిర్వచించగలను, - 58. అది నిజంగా ఏమిటో నాకు తెలియనప్పుడు ఈ రకాన్ని సూచనగా తీసుకుంటుంది. - 59. నేను స్టాక్ (స్టాక్) ఆపరేషన్లను ఉపయోగించాలనుకున్నప్పుడు రివర్స్ స్ట్రింగ్ ఫంక్షన్ (ఫంక్షన్) యొక్క బాడీని అమలు చేయాలనుకుంటే సహజంగానే నేను స్టాక్ (స్టాక్) అంటే ఏమిటో తెలుసుకోవాలి. - 60. ఆవశ్యకత పరంగా, సోమరితనం అత్యవసరం అనేది చాలా ఉపయోగకరంగా ఉంటుందని మీకు తెలుసు. - 61. కాబట్టి, నేను అదే విలోమ స్ట్రింగ్ కోడ్‌ను కొద్దిగా భిన్నమైన రీతిలో చూపిస్తున్నాను, అంతకుముందు ఈ మొత్తం స్టాక్ క్లాస్‌ను స్టాక్ డాట్ హెచ్ ఎంటర్లలో చేర్చారు, తద్వారా మొత్తం ఆలోచన అక్కడ జరుగుతున్నట్లుగా. - 62. కొన్ని విషయాలు ఉంటే, ఇప్పుడు నేను ఇక్కడ చేర్చుతున్నాను, ఉదాహరణకు, ఇక్కడ మనం ఫార్వర్డ్ డిక్లరేషన్, కాబట్టి ఆ ఫార్వర్డ్ డిక్లరేషన్‌లో నేను రివర్స్ స్ట్రింగ్ ఫంక్షన్ యొక్క సంతకాన్ని కలిగి ఉండగలను, ఇది ఇక్కడ ఉంచిన స్ట్రింగ్ దీనికి విరుద్ధంగా చేస్తుంది మరియు ఎందుకంటే t ద్వారా టెంప్లేట్ (టెంప్లేట్) అనే స్టాక్‌ను ఉపయోగిస్తున్నారని ప్రతి ఒక్కరూ తెలుసుకోవలసిన సూచన ఈ సందర్భంలో చార్ (చార్) ఉదాహరణ. - 63. కానీ ఆ రకం ఏమిటో తెలియదు, రకం ఎలా అమలు చేయబడిందో తెలియదు మరియు పట్టించుకోదు ఎందుకంటే ఇది కేవలం సూచనను చూస్తోంది. - 64. నేను ఈ మెయిన్ కలిగి ఉంటే, నేను నిజంగా ఈ ఫంక్షన్‌ను ప్రారంభించగలను, ఎందుకంటే నేను తెలుసుకోవలసినది శరీరం తరువాత రాగల ఫంక్షన్ (ఫంక్షన్) యొక్క సంతకం, కాబట్టి నేను ఉద్దేశపూర్వకంగా శరీరానికి తరువాతి సమయం ఇచ్చాను. ప్రధాన శరీరాన్ని తెలుసుకోవలసిన అవసరం లేదని మీరు చూపిస్తారు. - 65. అయితే, నేను ఇక్కడ స్టాక్ యొక్క ఉదాహరణను రిఫరెన్స్ పరామితిగా ఇవ్వడం అవసరం. + అది నిజంగా ఏమిటో నాకు తెలియనప్పుడు ఈ రకాన్ని సూచనగా తీసుకుంటుంది. + నేను స్టాక్ (స్టాక్) ఆపరేషన్లను ఉపయోగించాలనుకున్నప్పుడు రివర్స్ స్ట్రింగ్ ఫంక్షన్ (ఫంక్షన్) యొక్క బాడీని అమలు చేయాలనుకుంటే సహజంగానే నేను స్టాక్ (స్టాక్) అంటే ఏమిటో తెలుసుకోవాలి. + ఆవశ్యకత పరంగా, సోమరితనం అత్యవసరం అనేది చాలా ఉపయోగకరంగా ఉంటుందని మీకు తెలుసు. + కాబట్టి, నేను అదే విలోమ స్ట్రింగ్ కోడ్‌ను కొద్దిగా భిన్నమైన రీతిలో చూపిస్తున్నాను, అంతకుముందు ఈ మొత్తం స్టాక్ క్లాస్‌ను స్టాక్ డాట్ హెచ్ ఎంటర్లలో చేర్చారు, తద్వారా మొత్తం ఆలోచన అక్కడ జరుగుతున్నట్లుగా. + కొన్ని విషయాలు ఉంటే, ఇప్పుడు నేను ఇక్కడ చేర్చుతున్నాను, ఉదాహరణకు, ఇక్కడ మనం ఫార్వర్డ్ డిక్లరేషన్, కాబట్టి ఆ ఫార్వర్డ్ డిక్లరేషన్‌లో నేను రివర్స్ స్ట్రింగ్ ఫంక్షన్ యొక్క సంతకాన్ని కలిగి ఉండగలను, ఇది ఇక్కడ ఉంచిన స్ట్రింగ్ దీనికి విరుద్ధంగా చేస్తుంది మరియు ఎందుకంటే t ద్వారా టెంప్లేట్ (టెంప్లేట్) అనే స్టాక్‌ను ఉపయోగిస్తున్నారని ప్రతి ఒక్కరూ తెలుసుకోవలసిన సూచన ఈ సందర్భంలో చార్ (చార్) ఉదాహరణ. + కానీ ఆ రకం ఏమిటో తెలియదు, రకం ఎలా అమలు చేయబడిందో తెలియదు మరియు పట్టించుకోదు ఎందుకంటే ఇది కేవలం సూచనను చూస్తోంది. + నేను ఈ మెయిన్ కలిగి ఉంటే, నేను నిజంగా ఈ ఫంక్షన్‌ను ప్రారంభించగలను, ఎందుకంటే నేను తెలుసుకోవలసినది శరీరం తరువాత రాగల ఫంక్షన్ (ఫంక్షన్) యొక్క సంతకం, కాబట్టి నేను ఉద్దేశపూర్వకంగా శరీరానికి తరువాతి సమయం ఇచ్చాను. ప్రధాన శరీరాన్ని తెలుసుకోవలసిన అవసరం లేదని మీరు చూపిస్తారు. + అయితే, నేను ఇక్కడ స్టాక్ యొక్క ఉదాహరణను రిఫరెన్స్ పరామితిగా ఇవ్వడం అవసరం. - 66. కాబట్టి, ఈ స్టాక్‌ను వెంటనే చేయాల్సిన అవసరం ఉంది. + కాబట్టి, ఈ స్టాక్‌ను వెంటనే చేయాల్సిన అవసరం ఉంది. - 67. స్టాక్ (స్టాక్) యొక్క నిర్వచనం తెలియకుండా మీరు రివర్స్ స్ట్రింగ్ యొక్క సంతకాన్ని నిర్వచించగలిగినప్పుడు, మీరు ప్రధాన ఫంక్షన్ (ఫంక్షన్) ను వ్రాయలేరు, ఎందుకంటే మీకు స్టాక్ (స్టాక్) యొక్క నిర్వచనం తెలియదు. + స్టాక్ (స్టాక్) యొక్క నిర్వచనం తెలియకుండా మీరు రివర్స్ స్ట్రింగ్ యొక్క సంతకాన్ని నిర్వచించగలిగినప్పుడు, మీరు ప్రధాన ఫంక్షన్ (ఫంక్షన్) ను వ్రాయలేరు, ఎందుకంటే మీకు స్టాక్ (స్టాక్) యొక్క నిర్వచనం తెలియదు. - 68. కాబట్టి స్టాక్ యొక్క నిర్వచనం స్టాక్ యొక్క తక్షణానికి ముందు ఉండాలి. + కాబట్టి స్టాక్ యొక్క నిర్వచనం స్టాక్ యొక్క తక్షణానికి ముందు ఉండాలి. - 69. ఎందుకంటే ఇప్పుడు మీకు ఆబ్జెక్ట్ ఉదాహరణ ఉంటే, మేము నిర్మించగలగాలి, అది విధ్వంసం చేయగల సామర్థ్యం ఉండాలి, అది అన్ని వివిధ విధులను అమలు చేయగలగాలి. + ఎందుకంటే ఇప్పుడు మీకు ఆబ్జెక్ట్ ఉదాహరణ ఉంటే, మేము నిర్మించగలగాలి, అది విధ్వంసం చేయగల సామర్థ్యం ఉండాలి, అది అన్ని వివిధ విధులను అమలు చేయగలగాలి. - 70. కాబట్టి ఇది ఇలా ఉంది, క్లాస్ టెంప్లేట్ యొక్క ఆవశ్యకత మీరు ఎల్లప్పుడూ అన్నింటినీ ఒకేసారి చేయాల్సిన అవసరం లేదని నేను హైలైట్ చేయాలనుకుంటున్నాను. + కాబట్టి ఇది ఇలా ఉంది, క్లాస్ టెంప్లేట్ యొక్క ఆవశ్యకత మీరు ఎల్లప్పుడూ అన్నింటినీ ఒకేసారి చేయాల్సిన అవసరం లేదని నేను హైలైట్ చేయాలనుకుంటున్నాను. - 71. మీరు క్లాస్ రిఫరెన్స్ లేదా తాత్కాలిక క్లాస్‌ని సూచిస్తుంటే, మీరు క్లాస్ యొక్క పూర్తి నిర్వచనాన్ని తెలుసుకోవలసిన అవసరం లేకపోవచ్చు, మీరు క్లాస్ డిక్లరేషన్‌ను తదుపరి డిక్లరేషన్‌తో మాత్రమే నిర్వహించవచ్చు, ఇది తాత్కాలికమేమిటి, ఏమిటి వివిధ రకాలు మొదలైనవి. + మీరు క్లాస్ రిఫరెన్స్ లేదా తాత్కాలిక క్లాస్‌ని సూచిస్తుంటే, మీరు క్లాస్ యొక్క పూర్తి నిర్వచనాన్ని తెలుసుకోవలసిన అవసరం లేకపోవచ్చు, మీరు క్లాస్ డిక్లరేషన్‌ను తదుపరి డిక్లరేషన్‌తో మాత్రమే నిర్వహించవచ్చు, ఇది తాత్కాలికమేమిటి, ఏమిటి వివిధ రకాలు మొదలైనవి. - 72. ఇది ప్రాథమిక తరగతి యొక్క టెంప్లేట్. + ఇది ప్రాథమిక తరగతి యొక్క టెంప్లేట్. - 73. తరువాత మేము ఏదో చూపిస్తాము, ఇది మీ పరిపూర్ణతపై అవగాహన కోసం, నేను లోతుగా వెళ్ళకూడదు. + తరువాత మేము ఏదో చూపిస్తాము, ఇది మీ పరిపూర్ణతపై అవగాహన కోసం, నేను లోతుగా వెళ్ళకూడదు. - 74. టెంప్లేట్ (టెంప్లేట్) పరంగా ఈ ఫంక్షన్ (ఫంక్షన్) ఎలా ఉంటుందో చూపించడానికి ఇది మాత్రమే. గరిష్ట ఫంక్షన్ (ఫంక్షన్) లో ఒక రకమైన పారామితి (పరామితి) టి ఉంటే మరియు నాలుగు నక్షత్రాలకు మనకు వేరే ప్రవర్తన ఉందని మేము చూశాము. కావాలనుకుంటే, అతను ప్రత్యేకత కలిగి ఉన్నాడు మరియు టీని కేవలం నాలుగు నక్షత్రాలకు మరియు మరొకదానికి మార్చాడు; దాని కోసం ఫంక్షన్ యొక్క నిర్వచనం. + టెంప్లేట్ (టెంప్లేట్) పరంగా ఈ ఫంక్షన్ (ఫంక్షన్) ఎలా ఉంటుందో చూపించడానికి ఇది మాత్రమే. గరిష్ట ఫంక్షన్ (ఫంక్షన్) లో ఒక రకమైన పారామితి (పరామితి) టి ఉంటే మరియు నాలుగు నక్షత్రాలకు మనకు వేరే ప్రవర్తన ఉందని మేము చూశాము. కావాలనుకుంటే, అతను ప్రత్యేకత కలిగి ఉన్నాడు మరియు టీని కేవలం నాలుగు నక్షత్రాలకు మరియు మరొకదానికి మార్చాడు; దాని కోసం ఫంక్షన్ యొక్క నిర్వచనం. - 75. ఇది తరగతికి కూడా సాధ్యమే మరియు నేను ఒకటి కంటే ఎక్కువ పారామితులను కలిగి ఉంటే నేను ఆ పారామితులను పాక్షికంగా స్పెషలైజ్ చేయగలుగుతున్నాను, కాబట్టి నేను ఇక్కడ వివరించడానికి ప్రయత్నిస్తున్నాను. - 76. కాబట్టి, ఇక్కడ విద్యార్థి తరగతి T1 మరియు T2 అనే రెండు రకాలుగా టెంప్లేట్ చేయబడిన ఒక టెంప్లేట్ ఉంది. + ఇది తరగతికి కూడా సాధ్యమే మరియు నేను ఒకటి కంటే ఎక్కువ పారామితులను కలిగి ఉంటే నేను ఆ పారామితులను పాక్షికంగా స్పెషలైజ్ చేయగలుగుతున్నాను, కాబట్టి నేను ఇక్కడ వివరించడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, ఇక్కడ విద్యార్థి తరగతి T1 మరియు T2 అనే రెండు రకాలుగా టెంప్లేట్ చేయబడిన ఒక టెంప్లేట్ ఉంది. - 77. T1 అనేది ఒక రకమైన పాత్ర, T2 పేరు యొక్క రకం. + T1 అనేది ఒక రకమైన పాత్ర, T2 పేరు యొక్క రకం. - 78. ఒక పాత్ర పూర్ణాంకం అయ్యే అవకాశం ఉంది, అది స్ట్రింగ్ కావచ్చు. + ఒక పాత్ర పూర్ణాంకం అయ్యే అవకాశం ఉంది, అది స్ట్రింగ్ కావచ్చు. - 79. పేరు C ++ లో స్ట్రింగ్ రకం కావచ్చు లేదా ఇది నాలుగు నక్షత్రాలు, సి స్ట్రింగ్ రకం మరియు మొదలైనవి కావచ్చు. + పేరు C ++ లో స్ట్రింగ్ రకం కావచ్చు లేదా ఇది నాలుగు నక్షత్రాలు, సి స్ట్రింగ్ రకం మరియు మొదలైనవి కావచ్చు. - 80. ఇవి మన వద్ద ఉన్న రెండు వేర్వేరు రకాలు. + ఇవి మన వద్ద ఉన్న రెండు వేర్వేరు రకాలు. - 81. కాబట్టి, మీరు చేసేది ప్రాథమికంగా, నేను ఇచ్చిన కార్యాచరణ చాలా లేదు, మీరు ఒకదాన్ని సృష్టించి, ఈ రెండు ఫీల్డ్‌లను ప్రింట్ చేయగల ముద్రణను కలిగి ఉన్నారు, కాబట్టి ఉదాహరణ కోసం మాత్రమే. + కాబట్టి, మీరు చేసేది ప్రాథమికంగా, నేను ఇచ్చిన కార్యాచరణ చాలా లేదు, మీరు ఒకదాన్ని సృష్టించి, ఈ రెండు ఫీల్డ్‌లను ప్రింట్ చేయగల ముద్రణను కలిగి ఉన్నారు, కాబట్టి ఉదాహరణ కోసం మాత్రమే. - 82. ఇప్పుడు, ఆసక్తికరమైనది ఏమిటంటే, ఈ నిపుణుడు మనం ఎక్కడ పాక్షికంగా ఉన్నాము? T1 మరియు T2 రెండు పారామితులు మరియు నేను పాక్షికంగా ప్రత్యేకత కలిగి ఉన్నాను, నాకు ఇప్పటికీ T1 పరామితి అయిన ఒక టెంప్లేట్ ఉంది, కానీ T2 స్పష్టంగా నాలుగు నక్షత్రాలను కలిగి ఉంది మరియు తరువాత నేను దానిని ఉపయోగించాను. + ఇప్పుడు, ఆసక్తికరమైనది ఏమిటంటే, ఈ నిపుణుడు మనం ఎక్కడ పాక్షికంగా ఉన్నాము? T1 మరియు T2 రెండు పారామితులు మరియు నేను పాక్షికంగా ప్రత్యేకత కలిగి ఉన్నాను, నాకు ఇప్పటికీ T1 పరామితి అయిన ఒక టెంప్లేట్ ఉంది, కానీ T2 స్పష్టంగా నాలుగు నక్షత్రాలను కలిగి ఉంది మరియు తరువాత నేను దానిని ఉపయోగించాను. - 83. టి 2 విషయంలో, నేను నాలుగు నక్షత్రాలను ఉపయోగిస్తున్నాను. ఆ నాలుగు నక్షత్రాలను నేను స్పష్టంగా ఉంచాను. + టి 2 విషయంలో, నేను నాలుగు నక్షత్రాలను ఉపయోగిస్తున్నాను. ఆ నాలుగు నక్షత్రాలను నేను స్పష్టంగా ఉంచాను. - 84. అప్పుడు అది టెంప్లేట్ యొక్క పాక్షిక ఉదాహరణ అవుతుంది. + అప్పుడు అది టెంప్లేట్ యొక్క పాక్షిక ఉదాహరణ అవుతుంది. - 85. ఇంతకుముందు విద్యార్థి తరగతి యొక్క ఈ టెంప్లేట్కు T1 మరియు T2 ని పేర్కొనడానికి రెండు రకాలు అవసరమయ్యాయి, దీని కోసం ఒక రకాన్ని మాత్రమే T1 అని పేర్కొనవలసి ఉంది, మరొకటి ఇప్పటికే నిర్దిష్టంగా ఉంది. + ఇంతకుముందు విద్యార్థి తరగతి యొక్క ఈ టెంప్లేట్కు T1 మరియు T2 ని పేర్కొనడానికి రెండు రకాలు అవసరమయ్యాయి, దీని కోసం ఒక రకాన్ని మాత్రమే T1 అని పేర్కొనవలసి ఉంది, మరొకటి ఇప్పటికే నిర్దిష్టంగా ఉంది. - 86. టెంప్లేట్ నిర్వచనంలో, మీరు అన్ని రకాల పారామితులను పేర్కొన్నప్పుడు, టెంప్లేట్ పూర్తిగా ప్రత్యేకమైనదని మీరు చెప్తారు, లేకపోతే అది పాక్షికంగా ప్రత్యేకమైనదని మీరు చెబుతారు. + టెంప్లేట్ నిర్వచనంలో, మీరు అన్ని రకాల పారామితులను పేర్కొన్నప్పుడు, టెంప్లేట్ పూర్తిగా ప్రత్యేకమైనదని మీరు చెప్తారు, లేకపోతే అది పాక్షికంగా ప్రత్యేకమైనదని మీరు చెబుతారు. - 87. మేము దీన్ని కొన్ని తరగతి ఉదంతాలతో చూస్తే, మనం సహజంగా స్ట్రింగ్‌లో రెండింటినీ నిర్దేశించే ఒక ఉదాహరణను సృష్టించాము. + మేము దీన్ని కొన్ని తరగతి ఉదంతాలతో చూస్తే, మనం సహజంగా స్ట్రింగ్‌లో రెండింటినీ నిర్దేశించే ఒక ఉదాహరణను సృష్టించాము. - 88. కాబట్టి ఈ టెంప్లేట్ T1 int మరియు T2 స్ట్రింగ్ గురించి మాట్లాడటానికి ప్రయత్నిస్తోంది. + కాబట్టి ఈ టెంప్లేట్ T1 int మరియు T2 స్ట్రింగ్ గురించి మాట్లాడటానికి ప్రయత్నిస్తోంది. - 89. మీరు అవుట్పుట్ నుండి సులభంగా సృష్టించవచ్చు, మీరు S1 చుక్కలు కలిగి ఉన్నారు; S1 ఈ టెంప్లేట్ సంస్కరణ కోసం సృష్టించబడిన ఒక వస్తువు మరియు మేము S1 డాట్‌ను ప్రింట్ చేస్తున్నాము, ఇది ఉపయోగించబడుతున్న సంస్కరణ. + మీరు అవుట్పుట్ నుండి సులభంగా సృష్టించవచ్చు, మీరు S1 చుక్కలు కలిగి ఉన్నారు; S1 ఈ టెంప్లేట్ సంస్కరణ కోసం సృష్టించబడిన ఒక వస్తువు మరియు మేము S1 డాట్‌ను ప్రింట్ చేస్తున్నాము, ఇది ఉపయోగించబడుతున్న సంస్కరణ. - 90. మరొకటి, మేము ఏమి ఉపయోగించాము? రెండవదానిలో, మేము ఆసక్తికరమైనదాన్ని ఉపయోగించాము. + మరొకటి, మేము ఏమి ఉపయోగించాము? రెండవదానిలో, మేము ఆసక్తికరమైనదాన్ని ఉపయోగించాము. - 91. సెకనులో మీరు ఏమి చెబుతున్నారో గమనించండి, దీనిలో మేము T1 int సమానమైన లేదా T2 స్ట్రింగ్ సమానమైనదాన్ని కూడా పేర్కొన్నాము. + సెకనులో మీరు ఏమి చెబుతున్నారో గమనించండి, దీనిలో మేము T1 int సమానమైన లేదా T2 స్ట్రింగ్ సమానమైనదాన్ని కూడా పేర్కొన్నాము. - 92. ఒక ఫంక్షన్ (ఫంక్షన్) సందర్భంలో మనం విలువల ఫంక్షన్ల యొక్క డిఫాల్ట్ పారామితిని (పరామితి) కలిగి ఉండవచ్చని గుర్తుంచుకోండి, మనం 5 తో ప్రారంభించటానికి సమానంగా int x ను వ్రాయగలము, తద్వారా నేను ఆ పరామితిని పాస్ చేయకపోతే (పరామితి) ) నేను చేస్తే, అది 5 గా తీసుకోబడుతుంది. + ఒక ఫంక్షన్ (ఫంక్షన్) సందర్భంలో మనం విలువల ఫంక్షన్ల యొక్క డిఫాల్ట్ పారామితిని (పరామితి) కలిగి ఉండవచ్చని గుర్తుంచుకోండి, మనం 5 తో ప్రారంభించటానికి సమానంగా int x ను వ్రాయగలము, తద్వారా నేను ఆ పరామితిని పాస్ చేయకపోతే (పరామితి) ) నేను చేస్తే, అది 5 గా తీసుకోబడుతుంది. - 93. అదేవిధంగా, మీరు డిఫాల్ట్ రకం పరామితి కావచ్చు. + అదేవిధంగా, మీరు డిఫాల్ట్ రకం పరామితి కావచ్చు. - 94. నేను దానిని పేర్కొనకపోతే అది అలా తీసుకోబడుతుంది. + నేను దానిని పేర్కొనకపోతే అది అలా తీసుకోబడుతుంది. - 95. నేను స్ట్రింగ్ స్టూడెంట్ ఇంట్ అని చెప్తుంటే, నేను స్టూడెంట్ ఇంట్ అని చెబితే నేను తీసుకుంటున్నాను. + నేను స్ట్రింగ్ స్టూడెంట్ ఇంట్ అని చెప్తుంటే, నేను స్టూడెంట్ ఇంట్ అని చెబితే నేను తీసుకుంటున్నాను. - 96. మరియు నేను T2 ను డిఫాల్ట్‌గా స్ట్రింగ్‌గా తీసుకోలేదు. + మరియు నేను T2 ను డిఫాల్ట్‌గా స్ట్రింగ్‌గా తీసుకోలేదు. - 97. కనుక ఇది అప్రమేయంగా స్ట్రింగ్ గా తీసుకోబడుతుంది. + కనుక ఇది అప్రమేయంగా స్ట్రింగ్ గా తీసుకోబడుతుంది. - 98. నేను దీన్ని చేయగలను, ఇది మళ్ళీ అర్ధం, ఇక్కడ రెండూ డిఫాల్ట్ పరామితిని med హించాయి. + నేను దీన్ని చేయగలను, ఇది మళ్ళీ అర్ధం, ఇక్కడ రెండూ డిఫాల్ట్ పరామితిని med హించాయి. - 99. డిఫాల్ట్ T1 int, డిఫాల్ట్ T2 int. + డిఫాల్ట్ T1 int, డిఫాల్ట్ T2 int. - 100. నేను ఒక విద్యార్థిని స్ట్రింగ్ చేయగలను, అప్పుడు నేను స్టూడెంట్ స్ట్రింగ్ చేస్తాను. అంటే నేను T1 కు స్ట్రింగ్ చేశాను మరియు T2 డిఫాల్ట్, ఇది కూడా స్ట్రింగ్. - 101. మీరు ఉత్పత్తి చేసే అవుట్‌పుట్‌ను నేను చూపించానని మీరు చూడవచ్చు. + నేను ఒక విద్యార్థిని స్ట్రింగ్ చేయగలను, అప్పుడు నేను స్టూడెంట్ స్ట్రింగ్ చేస్తాను. అంటే నేను T1 కు స్ట్రింగ్ చేశాను మరియు T2 డిఫాల్ట్, ఇది కూడా స్ట్రింగ్. + మీరు ఉత్పత్తి చేసే అవుట్‌పుట్‌ను నేను చూపించానని మీరు చూడవచ్చు. - 102. చివరగా, మేము ఇక్కడ ఏమి చేసామో నేను చెబితే? రెండవ పరామితి నాలుగు నక్షత్రాలకు పాక్షికంగా నిర్దిష్టంగా ఉందని మేము చెప్పాము. + చివరగా, మేము ఇక్కడ ఏమి చేసామో నేను చెబితే? రెండవ పరామితి నాలుగు నక్షత్రాలకు పాక్షికంగా నిర్దిష్టంగా ఉందని మేము చెప్పాము. - 103. నేను Int చార్ స్టార్‌ను ఉంచినట్లయితే అది టెంప్లేట్ అని అర్ధం కాదు ఎందుకంటే రెండవ పరామితి పాక్షికంగా పేర్కొనబడింది, కనుక ఇది టెంప్లేట్ అని అర్ధం అని మీరు చెబితే మరియు మేము S5 కోసం ప్రింట్ చేస్తున్నామని చూస్తే. మేము S5 డాట్‌ను ప్రింట్ చేసినప్పుడు, మీరు చూడవచ్చు ఆ సంస్కరణ రెండు ముద్రించబడుతోంది, ఇది మీరు ఒక నిర్దిష్ట టెంప్లేట్ సంస్కరణను పాక్షికంగా ఉపయోగిస్తున్నట్లు చూపిస్తుంది. ఉపయోగిస్తున్నారు. + నేను Int చార్ స్టార్‌ను ఉంచినట్లయితే అది టెంప్లేట్ అని అర్ధం కాదు ఎందుకంటే రెండవ పరామితి పాక్షికంగా పేర్కొనబడింది, కనుక ఇది టెంప్లేట్ అని అర్ధం అని మీరు చెబితే మరియు మేము S5 కోసం ప్రింట్ చేస్తున్నామని చూస్తే. మేము S5 డాట్‌ను ప్రింట్ చేసినప్పుడు, మీరు చూడవచ్చు ఆ సంస్కరణ రెండు ముద్రించబడుతోంది, ఇది మీరు ఒక నిర్దిష్ట టెంప్లేట్ సంస్కరణను పాక్షికంగా ఉపయోగిస్తున్నట్లు చూపిస్తుంది. ఉపయోగిస్తున్నారు. - 104. ఇది మీరు బహుళ పారామితులతో ఈ రకమైన పనులను చేయగలరని మరియు వాటిని పాక్షికంగా నిపుణులుగా చేయగలరని మీకు చూపించడమే ఎందుకంటే మీరు ఒకదాని నుండి మరొకదానికి వెళతారు మరియు మీరు డిఫాల్ట్ పారామితులను కూడా కలిగి ఉంటారు. + ఇది మీరు బహుళ పారామితులతో ఈ రకమైన పనులను చేయగలరని మరియు వాటిని పాక్షికంగా నిపుణులుగా చేయగలరని మీకు చూపించడమే ఎందుకంటే మీరు ఒకదాని నుండి మరొకదానికి వెళతారు మరియు మీరు డిఫాల్ట్ పారామితులను కూడా కలిగి ఉంటారు. - 105. చివరగా, నేను పూర్తి చేయడానికి ముందు, తరగతి వారసత్వంతో మాత్రమే ఒక టెంప్లేట్‌ను ఉపయోగించటానికి ఒక ఉదాహరణను మీకు చూపిస్తాను, కాబట్టి ఇది బౌండ్ సెట్ రకం యొక్క డేటా నిర్మాణాన్ని సృష్టించే ప్రయత్నం. + చివరగా, నేను పూర్తి చేయడానికి ముందు, తరగతి వారసత్వంతో మాత్రమే ఒక టెంప్లేట్‌ను ఉపయోగించటానికి ఒక ఉదాహరణను మీకు చూపిస్తాను, కాబట్టి ఇది బౌండ్ సెట్ రకం యొక్క డేటా నిర్మాణాన్ని సృష్టించే ప్రయత్నం. - 106. ఒక జాబితా ఉంది, జాబితా గురించి ప్రత్యేకంగా ఆసక్తికరంగా ఏమీ లేదు, ఇది యాడ్ ఫంక్షన్ (ఫంక్షన్) కలిగి ఉన్న జాబితా, దీనిలో పొడవు ఫంక్షన్ (ఫంక్షన్), ఒక నిర్దిష్ట మూలకాన్ని (ఫంక్షన్) కనుగొనే ఫంక్షన్, వెక్టర్‌ను అంతర్గతంగా ఉపయోగిస్తుంది మూలకాలను పట్టుకోవటానికి. + ఒక జాబితా ఉంది, జాబితా గురించి ప్రత్యేకంగా ఆసక్తికరంగా ఏమీ లేదు, ఇది యాడ్ ఫంక్షన్ (ఫంక్షన్) కలిగి ఉన్న జాబితా, దీనిలో పొడవు ఫంక్షన్ (ఫంక్షన్), ఒక నిర్దిష్ట మూలకాన్ని (ఫంక్షన్) కనుగొనే ఫంక్షన్, వెక్టర్‌ను అంతర్గతంగా ఉపయోగిస్తుంది మూలకాలను పట్టుకోవటానికి. - 107. కాబట్టి ఇది సహాయక డేటా నిర్మాణం లాంటిది. + కాబట్టి ఇది సహాయక డేటా నిర్మాణం లాంటిది. - 108. అప్పుడు మీరు ఈ జాబితాను ఉపయోగించి సమితిని నిర్వచించండి. + అప్పుడు మీరు ఈ జాబితాను ఉపయోగించి సమితిని నిర్వచించండి. - 109. ఒక సమితి తరగతి t యొక్క అంశాల జాబితాను కలిగి ఉంటుంది. + ఒక సమితి తరగతి t యొక్క అంశాల జాబితాను కలిగి ఉంటుంది. - 110. ఇది వర్చువల్ ఫంక్షన్ (ఫంక్షన్) ను కలిగి ఉంటుంది, ఇది మూలకాలకు పొడవును జోడించగలదు. + ఇది వర్చువల్ ఫంక్షన్ (ఫంక్షన్) ను కలిగి ఉంటుంది, ఇది మూలకాలకు పొడవును జోడించగలదు. - 111. కాబట్టి ప్రాథమికంగా మీరు ఒక మూలకాన్ని జోడిస్తే అది జాబితాలోకి వెళుతుంది, అది ఐటెమ్‌కు వెళ్లి పుట్ చేస్తుంది. + కాబట్టి ప్రాథమికంగా మీరు ఒక మూలకాన్ని జోడిస్తే అది జాబితాలోకి వెళుతుంది, అది ఐటెమ్‌కు వెళ్లి పుట్ చేస్తుంది. - 112. మీరు ఇక్కడ ఒక పుట్ చేయాలనుకుంటే, నేను ఏదైనా కోల్పోయానా? లేదు. + మీరు ఇక్కడ ఒక పుట్ చేయాలనుకుంటే, నేను ఏదైనా కోల్పోయానా? లేదు. - 113. ఇది దీన్ని జోడిస్తుంది, వాస్తవానికి జోడిస్తుంది. మీరు ఒక సెట్‌కు జోడించాలనుకుంటే, ఇప్పుడు అది ఒక సెట్, ఇది ఆసక్తికరంగా ఉంది, ఇది ఒక సెట్ కాబట్టి ప్రతి మూలకం ప్రత్యేకంగా ఉండాలి, సెట్ ప్రత్యేకతను కలిగి ఉంటుంది. - 114.  నేను దీన్ని చేస్తున్న విధానం, నేను మొదట ఈ జాబితాలోని విలువను తీసుకుంటాను. మూలకం ఈ జాబితాకు చెందినదా అని నేను కనుగొన్నాను. అది ఉంటే అది ఇప్పటికే సెట్‌లో ఉంది కాబట్టి మీరు ఇప్పుడే తిరిగి రండి. + ఇది దీన్ని జోడిస్తుంది, వాస్తవానికి జోడిస్తుంది. మీరు ఒక సెట్‌కు జోడించాలనుకుంటే, ఇప్పుడు అది ఒక సెట్, ఇది ఆసక్తికరంగా ఉంది, ఇది ఒక సెట్ కాబట్టి ప్రతి మూలకం ప్రత్యేకంగా ఉండాలి, సెట్ ప్రత్యేకతను కలిగి ఉంటుంది. +  నేను దీన్ని చేస్తున్న విధానం, నేను మొదట ఈ జాబితాలోని విలువను తీసుకుంటాను. మూలకం ఈ జాబితాకు చెందినదా అని నేను కనుగొన్నాను. అది ఉంటే అది ఇప్పటికే సెట్‌లో ఉంది కాబట్టి మీరు ఇప్పుడే తిరిగి రండి. - 115. నాకు ఆందోళన లేకపోతే నియంత్రణ ఇక్కడ వస్తుంది, కాబట్టి మీరు దాన్ని జాబితాకు చేర్చండి, కనుక ఇది అదే. + నాకు ఆందోళన లేకపోతే నియంత్రణ ఇక్కడ వస్తుంది, కాబట్టి మీరు దాన్ని జాబితాకు చేర్చండి, కనుక ఇది అదే. - 116. పొడవు జాబితా యొక్క పొడవులో కేవలం ఒక రేపర్ ఉంది, కానీ ఒక రేపర్ను కనుగొనండి. + పొడవు జాబితా యొక్క పొడవులో కేవలం ఒక రేపర్ ఉంది, కానీ ఒక రేపర్ను కనుగొనండి. - 117. ఏదైనా మూలకం రకానికి సెట్ చేయవలసిన రకాన్ని ఇది మీకు ఇస్తుంది. + ఏదైనా మూలకం రకానికి సెట్ చేయవలసిన రకాన్ని ఇది మీకు ఇస్తుంది. - 118. ఇప్పుడు, నాకు డిఫాల్ట్ సెట్ కావాలి అనుకుందాం. + ఇప్పుడు, నాకు డిఫాల్ట్ సెట్ కావాలి అనుకుందాం. - 119. ఇక్కడ పేరు పెట్టబడిన సెట్, ఇది రెండు సరిహద్దులతో కూడిన సమితి; ఎలిమెంట్స్ ఆ పరిమితిలో ఉండాలి, నిర్వచించిన సెట్‌లో కనీస మరియు గరిష్ట విలువల్లో ఉన్న సభ్యులు మాత్రమే ఉంటారు. + ఇక్కడ పేరు పెట్టబడిన సెట్, ఇది రెండు సరిహద్దులతో కూడిన సమితి; ఎలిమెంట్స్ ఆ పరిమితిలో ఉండాలి, నిర్వచించిన సెట్‌లో కనీస మరియు గరిష్ట విలువల్లో ఉన్న సభ్యులు మాత్రమే ఉంటారు. - 120. కాబట్టి ఇది సెట్ నుండి ఒక స్పెషలైజేషన్. + కాబట్టి ఇది సెట్ నుండి ఒక స్పెషలైజేషన్. - 121. మీరు నైపుణ్యాన్ని ఎలా వ్రాస్తారో మీరు చూడవచ్చు. + మీరు నైపుణ్యాన్ని ఎలా వ్రాస్తారో మీరు చూడవచ్చు. - 122. బౌండ్ సెట్ కూడా టెంప్లేట్ ఎందుకంటే దీనికి మూలకం రకం అయిన టెంప్లేట్ పరామితి ఉంది, అయితే ఇది సెట్ t లో ప్రత్యేకత కలిగి ఉంది. + బౌండ్ సెట్ కూడా టెంప్లేట్ ఎందుకంటే దీనికి మూలకం రకం అయిన టెంప్లేట్ పరామితి ఉంది, అయితే ఇది సెట్ t లో ప్రత్యేకత కలిగి ఉంది. - 123. అప్పుడు దానికి బౌండ్ సెట్‌లో కన్స్ట్రక్టర్ ఉంటుంది, దీనికి యాడ్ ఉంటుంది. + అప్పుడు దానికి బౌండ్ సెట్‌లో కన్స్ట్రక్టర్ ఉంటుంది, దీనికి యాడ్ ఉంటుంది. - 124. మరియు, మీరు జోడించడానికి ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, అది ఇప్పటికే ఉంటే, అది తిరిగి వస్తుంది, ఇది సమితి యొక్క ప్రవర్తన. + మరియు, మీరు జోడించడానికి ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, అది ఇప్పటికే ఉంటే, అది తిరిగి వస్తుంది, ఇది సమితి యొక్క ప్రవర్తన. - 125. కానీ, విలువ కనిష్ట మరియు గరిష్టంగా ఉంటే అది బేస్ క్లాస్ ఆబ్జెక్ట్ అయిన అసలు సెట్ క్లాస్ ఆబ్జెక్ట్‌కు వెళ్లి దాన్ని జోడిస్తుంది. + కానీ, విలువ కనిష్ట మరియు గరిష్టంగా ఉంటే అది బేస్ క్లాస్ ఆబ్జెక్ట్ అయిన అసలు సెట్ క్లాస్ ఆబ్జెక్ట్‌కు వెళ్లి దాన్ని జోడిస్తుంది. - 126. అది కాకపోతే, అది ఏమీ చేయదు, ఇది ఇక్కడ మినహాయింపు ద్వారా మిమ్మల్ని విస్మరిస్తుంది మరియు కొన్ని ఇతర ప్రవర్తనలను కూడా చేస్తుంది. + అది కాకపోతే, అది ఏమీ చేయదు, ఇది ఇక్కడ మినహాయింపు ద్వారా మిమ్మల్ని విస్మరిస్తుంది మరియు కొన్ని ఇతర ప్రవర్తనలను కూడా చేస్తుంది. - 127. కానీ నేను చూపించడానికి ప్రయత్నిస్తున్నది ఇక్కడ ఉంది, ఇది సెట్ యొక్క ప్రత్యేకత అయిన ఒక బౌండ్ సెట్‌ను కలిగి ఉంది, ఇది టెంప్లేట్ చేయబడింది, ఇది కూడా టెంప్లేట్ చేయబడింది మరియు దానిలో కొంత భాగం ఎందుకంటే దానిలో ఒకటి అయిన భాగాల జాబితా ఉంది ఒక వెక్టర్ భాగంగా. + కానీ నేను చూపించడానికి ప్రయత్నిస్తున్నది ఇక్కడ ఉంది, ఇది సెట్ యొక్క ప్రత్యేకత అయిన ఒక బౌండ్ సెట్‌ను కలిగి ఉంది, ఇది టెంప్లేట్ చేయబడింది, ఇది కూడా టెంప్లేట్ చేయబడింది మరియు దానిలో కొంత భాగం ఎందుకంటే దానిలో ఒకటి అయిన భాగాల జాబితా ఉంది ఒక వెక్టర్ భాగంగా. - 128. ఇవన్నీ టెంప్లేట్ చేయబడ్డాయి, చివరికి నేను ఈ టెంప్లేటెడ్ క్లాస్‌లో ఈ టెంప్లేటెడ్ క్లాసులు మరియు వారసత్వాన్ని ఉపయోగించి ఏ రకమైన బౌండ్ సెట్‌ను పొందుతాను. + ఇవన్నీ టెంప్లేట్ చేయబడ్డాయి, చివరికి నేను ఈ టెంప్లేటెడ్ క్లాస్‌లో ఈ టెంప్లేటెడ్ క్లాసులు మరియు వారసత్వాన్ని ఉపయోగించి ఏ రకమైన బౌండ్ సెట్‌ను పొందుతాను. - 129. కాబట్టి, వారసత్వ లక్షణంతో టెంప్లేట్‌ను ఈ విధంగా కలపవచ్చు. + కాబట్టి, వారసత్వ లక్షణంతో టెంప్లేట్‌ను ఈ విధంగా కలపవచ్చు. - 130. ఇది తుది బౌండ్ సెట్ అప్లికేషన్, మీరు ఇప్పుడే పూర్తి చేసి, అప్లికేషన్‌ను తనిఖీ చేసి, దీన్ని అమలు చేయవచ్చు, తద్వారా మీరు ఈ సెట్‌కు కొన్ని సంఖ్యలను జోడించారు, ఆపై మీరు కనుగొనే నాలుగు ఆశలను కనుగొనడానికి ప్రయత్నిస్తారు. + ఇది తుది బౌండ్ సెట్ అప్లికేషన్, మీరు ఇప్పుడే పూర్తి చేసి, అప్లికేషన్‌ను తనిఖీ చేసి, దీన్ని అమలు చేయవచ్చు, తద్వారా మీరు ఈ సెట్‌కు కొన్ని సంఖ్యలను జోడించారు, ఆపై మీరు కనుగొనే నాలుగు ఆశలను కనుగొనడానికి ప్రయత్నిస్తారు. - 131. మీ జాబితాలో 0 లేదా 25 వంటివి ఉన్నాయా అని మీరు తనిఖీ చేస్తారు, ఎందుకంటే మీ జాబితా 3 మరియు 21 మధ్య ఉంటుంది. + మీ జాబితాలో 0 లేదా 25 వంటివి ఉన్నాయా అని మీరు తనిఖీ చేస్తారు, ఎందుకంటే మీ జాబితా 3 మరియు 21 మధ్య ఉంటుంది. - 132. అందువల్ల మీరు unexpected ఊహించని విలువ లేదని చెప్పారు. + అందువల్ల మీరు unexpected ఊహించని విలువ లేదని చెప్పారు. - 133. ఇది మీ నిర్బంధ సెట్ డేటా రకం ఎలా పనిచేస్తుందో ఉదాహరణతో చూపిస్తుంది. + ఇది మీ నిర్బంధ సెట్ డేటా రకం ఎలా పనిచేస్తుందో ఉదాహరణతో చూపిస్తుంది. - 134. సంక్షిప్తంగా, మేము C ++ లో టెంప్లేట్‌లను పరిచయం చేసాము మరియు క్లాస్ మూస డేటా నిర్మాణానికి ఒక సాధారణ పరిష్కారం అని చర్చించాము. + సంక్షిప్తంగా, మేము C ++ లో టెంప్లేట్‌లను పరిచయం చేసాము మరియు క్లాస్ మూస డేటా నిర్మాణానికి ఒక సాధారణ పరిష్కారం అని చర్చించాము. - 135. ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్‌తో కలిపి, జెనరిక్ ప్రోగ్రామింగ్, ప్రోగ్రామింగ్ కోడ్ మరియు ప్రామాణిక టెంప్లేట్ లైబ్రరీ లేదా సి ++ వ్రాయగలిగే విషయంలో ఇది మాకు ఒక ప్రధాన ప్రయోజనాన్ని ఇస్తుంది. STL అని పిలవబడే వాటికి పునాది ఇస్తుంది. - 136. + ఫంక్షన్ (ఫంక్షన్) టెంప్లేట్‌తో కలిపి, జెనరిక్ ప్రోగ్రామింగ్, ప్రోగ్రామింగ్ కోడ్ మరియు ప్రామాణిక టెంప్లేట్ లైబ్రరీ లేదా సి ++ వ్రాయగలిగే విషయంలో ఇది మాకు ఒక ప్రధాన ప్రయోజనాన్ని ఇస్తుంది. STL అని పిలవబడే వాటికి పునాది ఇస్తుంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/05. ProgramminginCplusplus_Multiple Inheritance (Contd.) (Lecture 51)-1HE5dACnRZs.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/05. ProgramminginCplusplus_Multiple Inheritance (Contd.) (Lecture 51)-1HE5dACnRZs.txt index 327e3afd78150a40469076e27c1ceaab51d6a513..5562311a3718c1f2f1151374260be9c649f3025d 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/05. ProgramminginCplusplus_Multiple Inheritance (Contd.) (Lecture 51)-1HE5dACnRZs.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/05. ProgramminginCplusplus_Multiple Inheritance (Contd.) (Lecture 51)-1HE5dACnRZs.txt @@ -1,115 +1,115 @@ - 1. C ++ లో ప్రోగ్రామింగ్ లో మాడ్యూల్ 35 కు స్వాగతం. - 2. మేము అనేక వారసత్వం గురించి చర్చించాము మరియు నిర్మాణం, నాశనం, లేఅవుట్, డేటా సభ్యులు, సభ్యుల విధులు మరియు బహుళ బేస్ తరగతులు మధ్య, డేటా సభ్యుడు లేదా సభ్యుడు విధులు ఒకే పేర్లు నకిలీ ఉంటే, మేము ఏమి జరుగుతుంది. - 3. ఇప్పుడు, మేము మరికొన్ని ఇంటిగ్రేటెడ్ వినియోగ దృశ్యాలను పరిశీలిస్తాము మరియు మనకు విద్యార్థి ఉపాధ్యాయుడు టిఎ దృష్టాంతం ఉందని చూపిస్తాము, ఇక్కడ టిఎ విద్యార్థి, టిఎ ఒక ఉపాధ్యాయుడు మరియు ఇద్దరూ వ్యక్తులు. - 4. అందువల్ల, మనకు వజ్రం లాంటి పరిస్థితి ఉంది మరియు మేము దీనిని డైమండ్ సమస్య అని పిలవండి, దాన్ని ఎందుకు డైమండ్ సమస్య అని పిలుస్తామో చూద్దాం. - 5. బహుళ వారసత్వంలో కనిపించే తరగతి యొక్క ప్రాథమిక తరగతుల కోసం మీకు సాధారణ బేస్ క్లాస్ ఉండడం చాలా సాధారణమని నేను ఇప్పటికే వివరించాను. - 6. కాబట్టి, కోడ్ వ్యక్తిని చూడటానికి ప్రయత్నిద్దాం, ఇది ఒక తరగతి, ఇక్కడ నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, ఉదాహరణలో నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, అంటే ఉపాధ్యాయుడు ఒక తరగతి విద్యార్థి అని అర్ధం.) కాబట్టి వారు వారసత్వంగా ఒక వ్యక్తిని కలుస్తారు . - 7. కాబట్టి, ఆపై TA అధ్యాపకులు మరియు విద్యార్థి రెండింటి నుండి వారసత్వంగా పొందారు, కాబట్టి ఇది దృష్టాంతం. + C ++ లో ప్రోగ్రామింగ్ లో మాడ్యూల్ 35 కు స్వాగతం. + మేము అనేక వారసత్వం గురించి చర్చించాము మరియు నిర్మాణం, నాశనం, లేఅవుట్, డేటా సభ్యులు, సభ్యుల విధులు మరియు బహుళ బేస్ తరగతులు మధ్య, డేటా సభ్యుడు లేదా సభ్యుడు విధులు ఒకే పేర్లు నకిలీ ఉంటే, మేము ఏమి జరుగుతుంది. + ఇప్పుడు, మేము మరికొన్ని ఇంటిగ్రేటెడ్ వినియోగ దృశ్యాలను పరిశీలిస్తాము మరియు మనకు విద్యార్థి ఉపాధ్యాయుడు టిఎ దృష్టాంతం ఉందని చూపిస్తాము, ఇక్కడ టిఎ విద్యార్థి, టిఎ ఒక ఉపాధ్యాయుడు మరియు ఇద్దరూ వ్యక్తులు. + అందువల్ల, మనకు వజ్రం లాంటి పరిస్థితి ఉంది మరియు మేము దీనిని డైమండ్ సమస్య అని పిలవండి, దాన్ని ఎందుకు డైమండ్ సమస్య అని పిలుస్తామో చూద్దాం. + బహుళ వారసత్వంలో కనిపించే తరగతి యొక్క ప్రాథమిక తరగతుల కోసం మీకు సాధారణ బేస్ క్లాస్ ఉండడం చాలా సాధారణమని నేను ఇప్పటికే వివరించాను. + కాబట్టి, కోడ్ వ్యక్తిని చూడటానికి ప్రయత్నిద్దాం, ఇది ఒక తరగతి, ఇక్కడ నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, ఉదాహరణలో నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, అంటే ఉపాధ్యాయుడు ఒక తరగతి విద్యార్థి అని అర్ధం.) కాబట్టి వారు వారసత్వంగా ఒక వ్యక్తిని కలుస్తారు . + కాబట్టి, ఆపై TA అధ్యాపకులు మరియు విద్యార్థి రెండింటి నుండి వారసత్వంగా పొందారు, కాబట్టి ఇది దృష్టాంతం. మరియు ప్రతి బిల్డర్‌కు బిల్డ్‌లో ఏమి జరుగుతుందో చూడటానికి సందేశం ఉంది. - 8. అందువల్ల, నిర్మాణం ఖచ్చితంగా బేస్ క్లాస్‌ని నిర్మించాలి. - 9. కాబట్టి, టిఎ వస్తువును నిర్మించడానికి ఏమి చేయాలి, అధ్యాపకులను నిర్మించడం. - 10. ఇప్పుడు, అధ్యాపకులకు వ్యక్తి నుండి నైపుణ్యం ఉంది. - 11. కాబట్టి, అధ్యాపక వస్తువును నిర్మించటానికి ఏమి చేయాలి అంటే ఒక వ్యక్తి నిర్మించవలసి ఉంటుంది, కాబట్టి ఈ రెండు అధ్యాపక వస్తువును ఏర్పరుస్తాయి. - 12. అప్పుడు విద్యార్థి నిర్మించవలసి ఉంటుంది మరియు విద్యార్థికి వ్యక్తి నుండి నైపుణ్యం లభిస్తుంది. - 13. కాబట్టి, నేను ఒక విద్యార్థిని నిర్మించవలసి వస్తే, నేను మళ్ళీ ఒక వ్యక్తిని నిర్మించాలి. - 14. కాబట్టి, మరో వ్యక్తిని నిర్మిస్తారు, ఆపై విద్యార్థిని నిర్మిస్తారు, అప్పుడు టిఎ సృష్టించబడుతుంది. - 15. కాబట్టి, నేను మొత్తం ఆబ్జెక్ట్ దృష్టాంతాన్ని పరిశీలిస్తే, నాకు రెండు బేస్ క్లాసులు ఉన్నాయి.ఇది అధ్యాపకులు మరియు ఇది ఒక విద్యార్థి. - 16. మరియు అది ఒక వ్యక్తి అవుతుంది, అది ఒక వ్యక్తిని కలిగి ఉంటుంది, మీకు వేర్వేరు ఫ్యాకల్టీ డేటా ఉంటుంది, మీకు ఇక్కడ విద్యార్థుల డేటా ఉంటుంది, మీకు ఉత్పన్నమైన తరగతి ఉంటుంది, ఈ టిఎ వస్తువు. - 17. కాబట్టి, మీకు ఇక్కడ TA డేటా ఉంటుంది, ఇవి TA డేటా. - 18. కానీ అది నిజంగా ఎలా నిర్మిస్తుంది. - 19. అందువల్ల, మీరు ఈ విధంగా నిర్మించినప్పుడు, మా వారసత్వం యొక్క ప్రాథమిక సూత్రం ఒకే TA వస్తువులో ఇద్దరు వ్యక్తుల వస్తువులు ఉండాలి అని చెబుతుంది. - 20. ఎందుకంటే, లేకపోతే అధ్యాపకులను నిర్మించలేము ఎందుకంటే బేస్ ఆబ్జెక్ట్ తప్పనిసరిగా దానిలో పొందుపరచబడాలి, విద్యార్థిని నిర్మించలేము ఎందుకంటే ఆ వ్యక్తి తప్పనిసరిగా దానిలో పొందుపరచబడాలి. - 21. అందువల్ల, టీఏకు అధ్యాపకులు మరియు విద్యార్థులు ఇద్దరూ అవసరం. - 22. కాబట్టి, మీకు బేస్ క్లాస్ ఆబ్జెక్ట్ యొక్క రెండు ఉదాహరణలు ఉంటాయి మరియు ఇది ఖచ్చితంగా చాలా కావాల్సిన పరిస్థితి కాదు, ఎందుకంటే నేను వ్యక్తి క్లాస్ (క్లాస్) రెండు ఉదాహరణలు కలిగి ఉంటే TA గా ఉన్న వ్యక్తికి ఒకే ఒక లక్షణం ఉంటుంది మరియు నేను ఎలా చేస్తాను దాన్ని పరిష్కరించండి, మీరు డేటాను ఎలా నిర్వహించబోతున్నారు. - 23. కాబట్టి, ఇది వర్చువల్ వారసత్వం మరియు బహుళ వారసత్వం అని పిలువబడుతుంది. - 24. అది చెప్పేది ఏమిటంటే, మేము వర్చువల్ అనే కీవర్డ్‌ని ఉపయోగిస్తాము, ఎరుపు రంగును మళ్ళీ ఉపయోగించుకుందాం, ఆ తర్వాత అది పట్టింపు లేదు, మీరు దీన్ని బహిరంగంగా వ్రాసినా, బహిరంగపరచండి. మీరు వారసత్వంగా పొందుతున్న కీవర్డ్ వర్చువల్. - 25. మీరు దీన్ని చేసినప్పుడు, వారసత్వం వర్చువల్ అవుతుంది, అంటే TA ను సృష్టించాల్సిన మొదటి విషయం ఏమిటంటే అధ్యాపకులు తప్పనిసరిగా నిర్మించబడాలి. - 26. ఇప్పుడు, అధ్యాపక వ్యక్తి వర్చువల్ మార్గంలో వారసత్వంగా వచ్చాడని మీరు చెబితే, మరికొన్ని నిర్దిష్ట తరగతి సృష్టించబడుతోందని తెలుసు, దాని కోసం ఇతర బేస్ క్లాస్ (క్లాస్)) కావచ్చు. - 27. అందువల్ల, అధ్యాపకులు దాని స్వంత వ్యక్తి తరగతిని నిర్మించరు, వ్యక్తి వస్తువు ఉన్న చోట నిర్మాణం ఉదాహరణను సృష్టించదు. - 28. అదేవిధంగా, ఈ విద్యార్థి మేము చేసేటప్పుడు తరగతి యొక్క వ్యక్తిగత ఉదాహరణను సృష్టించడు, లేకపోతే నాకు అది అవసరం. - 29. కానీ ఈ ప్రక్రియ అధ్యాపకులకు మరియు విద్యార్థికి ఒక సాధారణ వ్యక్తి ఉదాహరణను సృష్టిస్తుంది. - 30. ఇప్పుడు, ఇది ఎలా నిర్మించబడుతుందో, ఇప్పుడు అధ్యాపకులు ఖచ్చితంగా విద్యార్థిని నిర్మించటం లేదు, ఎందుకంటే వారు వారసత్వంగా ఉన్న వ్యక్తి నుండి స్వీకరిస్తున్నారు. - 31. కాబట్టి, ఇది డిఫాల్ట్ కన్స్ట్రక్టర్ అయి ఉండాలి, దీని కోసం ఒకే బేస్ క్లాస్, ప్రత్యేకమైన బేస్ క్లాస్ ఇంట్రస్ట్ సృష్టించబడే వర్చువల్ వారసత్వ ప్రక్రియ ఉండాలి. - 32. అందువల్ల, నేను ఇక్కడ వ్యక్తి తరగతి కోసం డిఫాల్ట్ కన్స్ట్రక్టర్‌ను పరిచయం చేసాను. - 33. ఇప్పుడు, వ్యక్తిగత తరగతి ఒక్కసారి మాత్రమే నిర్మించబడిందని మరియు అధ్యాపకులు మరియు విద్యార్థుల ఉదాహరణలు దానిపై ఆధారపడి ఉన్నాయని మనం చూడవచ్చు. - 34. కాబట్టి, మేము అధ్యాపకుల బేస్ క్లాస్ యొక్క భాగాన్ని పరిశీలిస్తే, మీరు ఈ వ్యక్తిని పొందుతారు, మీరు విద్యార్థి యొక్క బేస్ క్లాస్ భాగాన్ని చూస్తే, మీరు మళ్ళీ అదే వ్యక్తి యొక్క ఉదాహరణను పొందుతారు., మీరు ఖచ్చితంగా కొంత భాగాన్ని చూస్తే TA యొక్క బేస్ క్లాస్. - 35. వాస్తవానికి, మీరు ఒక వ్యక్తిని మాత్రమే పొందుతారు. - 36. కాబట్టి, మీరు బేస్ క్లాస్ ఉదాహరణను ప్రత్యేకంగా చేస్తారు. - 37. అందువల్ల, మేము వర్చువల్ వారసత్వాన్ని ఉపయోగిస్తున్నప్పుడు మరియు రూట్ క్లాస్ యొక్క బహుళ సందర్భాలను ఈ విధంగా నివారించడానికి సోపానక్రమం నిర్మించినప్పుడు, డైమండ్ క్లాస్ యొక్క అనేక ఉదాహరణలు ఉత్పన్నమైన తరగతి (తరగతి) ఉదాహరణ నుండి తీసుకోబడ్డాయి, మేము వర్చువల్ వారసత్వం మరియు తెలిసిన తరగతులను ఉపయోగిస్తాము వర్చువల్ బేస్ క్లాసులు. - 38. కాబట్టి, ఇది వర్చువల్ బేస్ క్లాస్, ఇది వర్చువల్ బేస్ క్లాస్, ఈ వర్చువల్ బేస్ క్లాసులు VBC లు. - 39. ఎందుకంటే వారు తమ బేస్ క్లాస్ భాగాన్ని నేరుగా నిర్మించరు; మొత్తం, ఉత్పన్నమైన తరగతి వస్తువుతో సాధారణమైన బేస్ క్లాస్ భాగానికి ఉదాహరణ. - 40. ఇప్పుడు, ఈ ప్రక్రియలో ఇది వజ్రం విషయంలో ఆబ్జెక్ట్ లేఅవుట్ యొక్క ప్రాథమిక సమస్యను పరిష్కరిస్తుంది, అందుకే మీకు వజ్రం ఉంటే. - 41. కాబట్టి, ఈ తరగతిని ఇక్కడ కూడా నిర్మిస్తున్నారు. - 42. కాబట్టి, వర్చువల్ వారసత్వం ప్రాథమికంగా ఆ సమస్యను తొలగిస్తుంది, కానీ అలా చేయడానికి ఒక చిన్న పరిమితితో. - 43. మేము దీన్ని స్వయంచాలకంగా చేసినందున మనం డిఫాల్ట్ కన్స్ట్రక్టర్ పర్సన్ క్లాస్ మాత్రమే ఉపయోగించగలం. - 44. కాబట్టి, నేను ఈ కన్స్ట్రక్టర్ అని పిలవాలనుకునే తరగతికి పారామితులను పాస్ చేయాలనుకుంటే. - 45. బహుళ వారసత్వంగా దీన్ని చేయడానికి ఇది చాలా సులభమైన మార్గం, మీరు చేయాల్సిందల్లా ఇవి మీకు వారసత్వంగా లభించాయి, వాస్తవానికి ఇది వారసత్వంగా కనుగొనబడింది, ఈ VBC లు వర్చువల్ తరగతులు బేస్ క్లాస్‌లుగా ఉంటాయి అన్నీ ఒకే విధంగా ఉంటాయి. - 46. TA క్లాస్ యొక్క కన్స్ట్రక్టర్లో, దాని కన్స్ట్రక్టర్లో, ఉత్పన్నమైన క్లాస్ యొక్క కన్స్ట్రక్టర్లో మాత్రమే తేడా ఉంది, మీరు రూట్ క్లాస్ యొక్క కన్స్ట్రక్టర్ను స్పష్టంగా పిలుస్తారు మరియు అక్కడ మీరు పారామితులను పాస్ చేస్తారు. - 47. కాబట్టి, మీరు ఇలా చేస్తే ఏమి జరుగుతుంది, పారామితిని కలిగి ఉన్న ఈ కన్స్ట్రక్టర్‌ను పిలిచే మొదటిది అవుతుంది. - 48. అప్పుడు ఈ ఆర్డర్ ప్రకారం ఇది కాల్ పక్కన ఉంటుంది మరియు ఇది చివరిగా పిలువబడుతుంది కాబట్టి మీరు ఈ వ్యక్తి ఫ్యాకల్టీ విద్యార్ధి అని మరియు టిఎ కన్స్ట్రక్టర్ అది నిర్మించబడే క్రమంలో ఉన్నారని మీరు చూస్తారు. - 49. మరియు మీరు ఇప్పటికీ ఆ ప్రాథమిక సమస్యను పరిష్కరించారు. మీకు బేస్ క్లాస్ యొక్క ప్రత్యేకమైన ఉదాహరణ ఉంది, కానీ మీరు పారామితిని కన్స్ట్రక్టర్‌కు పంపించగలుగుతారు. - 50. కాబట్టి, బహుళ వారసత్వ సోపానక్రమం నిర్మించడానికి ఇది ప్రాథమిక మార్గం. - 51. ఇప్పుడు మీరు ముందుకు వెళ్లి, ఆ పాలిమార్ఫిక్ మరియు ఒక వ్యక్తికి ఎలా బోధించాలో చూపించగలరు, ఆ వ్యక్తి యొక్క బేస్ క్లాస్ దానిని పూర్తిగా వర్చువల్‌గా చేస్తుంది, ఎందుకంటే మీకు తెలియని వ్యక్తి ఎలా బోధించగలడు, కాబట్టి అత్యవసరం, స్వచ్ఛమైన వర్చువల్‌గా ఫంక్షన్, అధ్యాపకులకు వర్తించు, మళ్ళీ విద్యార్థులు మరియు మొదలైనవి. - 52. కానీ మీరు అలా చేస్తున్నప్పుడు మీరు దాన్ని ఉపయోగిస్తారా లేదా మీరు ఉపయోగిస్తారా లేదా పాలిమార్ఫిక్ సోపానక్రమంలో మీకు వివాదం ఉంటుంది, అయితే మీరు ఏ సభ్యుల ఫంక్షన్ పాలిమార్ఫిక్ కాని పద్ధతిని ఉపయోగిస్తారో మీరు పేర్కొనలేరు. మీరు కాని విషయంలో చేసారు. - 53. కాబట్టి, TA తరగతిలో క్రొత్త సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించడం రెండింటినీ అధిగమించడం ద్వారా మీరు దీన్ని సద్వినియోగం చేసుకోవచ్చు. - 54. మీరు దీన్ని చేయకపోతే, మీరు TA యొక్క ఉదాహరణ చేయడానికి ప్రయత్నించినప్పుడు, మేము దీన్ని చేయలేమని అది చెబుతుంది ఎందుకంటే ఈ రెండు అభ్యాస పనులలో ఏది ఈ వస్తువు (వస్తువు) మీకు తెలియదు. - 55. కాబట్టి, మీరు దీన్ని వ్రాసిన తర్వాత, మీరు దీన్ని నేరుగా వర్చువల్ ఫంక్షన్ పట్టికలో దాచారని అర్థం, అప్పుడు మీరు కోడ్ పనిచేస్తుందని మీరు చేయవచ్చు మరియు తరువాత మీరు ఏమి చేయాలనుకుంటున్నారో దానిపై ఆధారపడి ఉంటుంది. - 56. మీరు ఈ ఫంక్షన్‌ను తిరిగి ఉపయోగించాలనుకుంటే, TA తరగతిలో బోధన అమలులో, మీరు ఖచ్చితంగా ఫ్యాకల్టీ కోలన్ చేత సూచించబడవచ్చు లేదా మీరు విద్యార్థి తరగతి అయితే. మీరు (తరగతి) బోధనను తిరిగి ఉపయోగించాలనుకుంటే, మీరు స్టూడెంట్ కోలన్ కోలన్ ను ఉపయోగించవచ్చు లేదా మీరు మీ స్వంతంగా దరఖాస్తు చేసుకోవచ్చు. - 57. కాబట్టి, వజ్రాల నిర్మాణంతో బహుళ వారసత్వ పరంగా ఇది అస్పష్టత యొక్క ప్రాథమిక సమస్య, మీకు వజ్రాల నిర్మాణం లేకపోతే, మాకు అది ఉండదు. - 58. మీరు వజ్రం కలిగి ఉండటమే దీనికి కారణం. - 59. కాబట్టి, మీకు వజ్రం ఉన్నందున, బోధనా పని ఇక్కడకు చేరుకోవడానికి రెండు మార్గాలు ఉన్నాయి, బోధించగల రెండు మార్గాలు ఇక్కడకు చేరుకోవచ్చు, మీకు ఎక్కువ బేస్ క్లాసులు మరియు ఒక సాధారణ వజ్రం ఉంటే, మీకు ఎక్కువ మార్గాలు ఉంటాయి, కానీ గందరగోళానికి రెండు సరిపోతాయి. - 60. కాబట్టి, ఇక్కడ మీరు ఈ బోధను ఉపయోగించాలా వద్దా అని మీకు తెలియదు. - 61. కాబట్టి, ఇది ఒక ప్రాథమిక సమస్య మరియు మీరు నిజంగా ఒక సాధారణ బహుళ వారసత్వ సోపానక్రమం కావాలనుకుంటే అది చాలా సమస్యలకు దారితీస్తుంది. - 62. మరియు చాలా తరచుగా, అనేక వారసత్వ పరిస్థితులలో, మీరు దీన్ని ఉపయోగించకూడదని చాలా సంస్థలు పేర్కొన్నాయి, ఇది బహుళ వారసత్వ సంపద యొక్క మొత్తం వినియోగాన్ని తీవ్రంగా పరిమితం చేస్తుంది. - 63. కానీ ఇది తీవ్రమైన వ్యాఖ్యాన సమస్య. - 64. కాబట్టి, ఈ సందర్భంలో, ఒకటి ఉంది; ఇది ఒక తరగతి A, ఒక తరగతి B. - 65. అందువల్ల ఒక తరగతి A తరగతి B మరియు తరువాత తరగతి C మరియు తరువాత తరగతి D. - 66. కాబట్టి, ఇది ఇలాంటి దృశ్యం. - 67. కాబట్టి, ఇది మళ్ళీ బహుళ వారసత్వ దృశ్యం, కానీ ఇది వజ్రం కాదు. - 68. కాబట్టి, వేర్వేరు సభ్యుల విధులు foo మరియు foobar దానిపై నిర్వచించబడ్డాయి. - 69. అందువల్ల, మీరు ఒక వారసత్వంలో అధ్యయనం చేసిన వారందరితో పాటు అనేక వారసత్వాలను మీకు తెలుసు అని మాత్రమే నేను మీకు సూచిస్తాను. - 70. మీరు వేర్వేరు తరగతి వస్తువుల ఉదాహరణలను సృష్టించడానికి ప్రయత్నిస్తారు, వివిధ రకాల పాయింట్లను తీసుకోవడానికి ప్రయత్నించండి మరియు ఈ సోపానక్రమానికి మీరు వేర్వేరు సభ్యుల విధులను ఎలా అన్వయించవచ్చో వివరించడానికి ప్రయత్నించండి. - 71. వాస్తవానికి, మీరు C నుండి A ను పొందడం ద్వారా మొత్తం విషయాన్ని క్లిష్టతరం చేయవచ్చు, మీరు వజ్రం నుండి A ను పొందటానికి అనుమతించిన క్షణం మరియు మీకు అస్పష్టత యొక్క ఆసక్తికరమైన సమస్య వస్తుంది. - 72. కాబట్టి, చివరకు, నేను మూసివేసే ముందు, డిజైన్ ఎంపిక యొక్క ఒక సంగ్రహావలోకనం మీకు ఇవ్వాలనుకుంటున్నాను, అంటే మనం ఎల్లప్పుడూ వారసత్వ పరంగా మోడల్ చేయగలము మరియు బదులుగా మనం మరొకదాన్ని సృష్టించగలము. సోపానక్రమం యొక్క క్రమబద్ధీకరణ. - 73. మీరు వారసత్వంగా ఉందా లేదా మీరు సృష్టించాలా అనే దానిపై డిజైనర్లలో ఎప్పుడూ వ్యాపారం ఉంటుంది. - 74. కాబట్టి, మీరు ఎలాంటి ఇబ్బందులను అంగీకరిస్తున్నారో మీకు చూపించడానికి ఇక్కడ ఒక ఉదాహరణ సృష్టించబడింది. - 75. ఉదాహరణకు, నేను వాహన సోపానక్రమం వైపు చూస్తున్నాను మరియు ఇవి వాహనం యొక్క ఉపవర్గాలు మీకు తెలిసిన ప్రాధమికవి, వీల్ వాహనాల తరగతి ప్రపంచంలో ఉందని మీరు చూస్తున్నారు. - 76. వివిధ రకాలైన డ్రైవింగ్ మెకానిజమ్స్ ఉన్నప్పటికీ, ఇంజిన్ క్లాస్ ప్రాథమికంగా వేర్వేరు డ్రైవ్ మెకానిజమ్స్, దాని కోసం కావచ్చు మరియు మీరు దానిని చూస్తే, చక్రం పరంగా, మీకు ఒక జంట ఉంది మీకు చక్రాల వాహనం ఉండవచ్చు, మీరు చేయవచ్చు మూడు చక్రాల వాహనం కలిగి ఉండండి మరియు మీకు నాలుగు చక్రాల వాహనం ఉండవచ్చు. ఇవి వేర్వేరు ఎంపికలు. - 77. మరియు ఇంజిన్ క్లాస్ సందర్భంలో, మీరు ఒక మాన్యువల్ డ్రైవ్ కలిగి ఉండవచ్చు, దీనిలో మీరు పెట్రోల్ ద్రవాన్ని నడపవచ్చు, మీరు ఎలక్ట్రిక్ డ్రైవ్ కలిగి ఉంటారు - ఇవి వేర్వేరు రకాలు. - 78. కాబట్టి, మీకు ఇవన్నీ ఉంటే, ప్రాథమికంగా మీకు వీల్ డ్రైవ్, ఇంజిన్ క్లాస్ ఆధారంగా రెండు ప్రధాన సోపానక్రమాలు ఉన్నాయి. - 79. కాబట్టి, మీరు దానిని చూస్తే, వాటి ఆధారంగా మీకు చాలా కాంబినేషన్ల ఆధారంగా చాలా క్లాసులు ఉన్నాయి, నేను సైకిల్ గురించి మాట్లాడగలను, ఇది మాన్యువల్ మరియు త్రీ వీలర్. - 80. కాబట్టి, ఇది బహుళ వారసత్వంగా జరుగుతోంది, నాకు ఒక కారు ఉంది, ఇది నాలుగు చక్రాల మరియు పెట్రోల్ ద్రవం, నాకు ఎలక్ట్రిక్ కారు ఉంది, ఇది నాలుగు చక్రాలు, కానీ ఎలక్ట్రిక్ ద్రవం మరియు మొదలైనవి. - 81. కాబట్టి, నా దగ్గర మూడు రకాల చక్రాల వాహనాలు ఉన్నాయి, నా దగ్గర మూడు రకాల ఇంజన్ డ్రైవ్‌లు ఉన్నాయి. - 82. కాబట్టి, వాస్తవానికి నాకు మూడు నుండి తొమ్మిది కలయికలు ఉన్నాయి మరియు ఒకే బేస్ క్లాస్ తల్లిదండ్రులను కలిగి ఉన్న బహుళ జీవన తరగతులను కలిగి ఉంటాయి. - 83. కాబట్టి, మీరు నిజంగా తొమ్మిది కంటే ఎక్కువ పేలుడు రకం కలయికలను కలిగి ఉంటారు, ఇవి ప్రత్యక్ష స్థాయిలో సమానంగా పేలుడు రకం కలయికలను సాధిస్తాయి. - 84. కాబట్టి, మోడలింగ్ పరంగా ఇది చాలా చక్కనిది, కానీ మీరు నిజంగా కోడ్‌ను నిర్వహించాల్సి వచ్చినప్పుడు, మరియు ఈ మొత్తం సోపానక్రమాలను గుర్తుంచుకోండి మరియు పైభాగంలో ఉన్న తర్కాన్ని ఇష్టపడతారు, వారసత్వం (వారసత్వం) కాదా అని ప్రతి దశలో నిర్ణయించండి. - 85. మరియు మీరు ఏమి ఉపయోగించాలో మరియు మీరు ఏమి అధిగమించాలో మీకు తెలుసు, ఇది డిజైన్‌లో చాలా మంచి సహాయంగా మారదు కానీ అది ఒక అవరోధంగా మారుతుంది. - 86. కాబట్టి, ఒక సాధారణ రెసిపీ అంటే ఏమిటి, మీకు ఒక డొమైన్‌లో చాలా ఎక్కువ సోపానక్రమం ఉంటే, అప్పుడు మీరు ఒకదాన్ని ఎన్నుకోవాలి, ఇది ప్రధానమైనది, ఇది చాలా చోట్ల మీకు సహాయపడే చూడటానికి ఒక మార్గం. బహుళ వారసత్వం గురించి చదవండి a వాహన సోపానక్రమం. - 87. కాబట్టి, నేను చక్రాల వాహనాల సోపానక్రమం వైపు చూస్తున్నాను. - 88. అందువల్ల, నేను ఇంజిన్ రకాలను చూడటం లేదు. - 89. కాబట్టి, నేను ఏ రకమైన ఉత్పన్న వాహనాన్ని వస్తువుగా చేసినప్పుడు నేను ఏమి చేస్తాను. - 90. కాబట్టి, ఇవి వేర్వేరు చక్రాల వాహనాలు, అవి నాలుగు, మూడు, రెండు, ఆపై మీకు అన్ని బేస్ క్లాసులు ఉన్నాయి. - 91. దీని కోసం నేను ఈ వస్తువులో ఇంజిన్ స్టార్ కలిగి ఉంటాను, ఇది ఇంజిన్ను సూచిస్తుంది మరియు ఇది ప్రాథమికంగా ఇంజిన్ క్లాస్‌ను సూచిస్తుంది. - 92. విభిన్న స్పెషలైజేషన్. - 93. కాబట్టి, నా దగ్గర మాన్యువల్ ఉందా, నాకు విద్యుత్తు ఉందా, పెట్రోల్ ఫ్లూయిడ్ ఉందా, మొదలైనవి, ఈ వస్తువును రెండు సోపానక్రమాల నుండి సంయుక్తంగా పొందే బదులు, నేను దీన్ని ప్రత్యేకంగా చేయగలను నేను ఇక్కడ చక్రాల వైపు ఒక్కొక్కటిగా పొందుతాను ఇంజిన్ సోపానక్రమం చూడండి. - 94. సభ్యుడిగా, ఒక కూర్పు. - 95. కాబట్టి, ఈ పాయింటర్ అప్పుడు నాకు కావలసిన విధంగా నిర్దిష్ట రకం ఇంజిన్‌ను తీసుకుంటుంది. - 96. వాస్తవానికి, నేను దీన్ని చేస్తుంటే, నేను దీన్ని మరొక విధంగా చేయగలను, నేను మళ్ళీ వాహన సోపానక్రమం చేయగలను, ఇది ప్రాథమికంగా ఇంజిన్ తరగతిపై ఆధారపడి ఉంటుంది. - 97. కాబట్టి, నాకు ఎలక్ట్రిక్ ఇంజిన్, పెట్రోల్ ఫ్యూయల్ ఇంజిన్, మాన్యువల్ ఉన్నాయి, దానిపై నా లీఫ్ లేబుల్ క్లాసులు ఉన్నాయి, కానీ ఇప్పుడు నా దగ్గర ఒక చక్రంలో ఒక పాయింటర్ ఉంది, ఇది ప్రాథమికంగా నాకు రెండు వీలర్, త్రీ వీలర్, ఫోర్ వీలర్ సోపానక్రమం మరియు ఇలా చెబుతుంది పై. - 98. మరియు నేను ప్రధానంగా ఇంజిన్ రకంపై కీ సోపానక్రమంగా పని చేస్తాను మరియు ఈ వాహన రకం యొక్క మరొక HASA లేదా భాగాన్ని ఉపయోగిస్తాను. - 99. కాబట్టి, గాని చేయవచ్చు, వారసత్వ నిర్మాణంలో చాలా సమాచారం ఉంటే మీకు అలాంటి అనేక ఎంపికలు ఉంటాయి. - 100. మరియు వాటిలో సాధారణంగా గుర్తించబడిన మరియు సాధారణంగా ఉపయోగించే శైలి ఏమిటంటే, మీరు వారసత్వంలోని వివిధ ఎంపికలలో ఒకటి మీరు కనుగొన్న సోపానక్రమం, వాటిలో ఒకదాన్ని గుర్తించండి. ఏది ప్రధానమైనది మరియు ఒకే బహుళ-స్థాయి మరియు మీరు సోపానక్రమంలో తెలుసుకోండి. - 101. మరియు మీరు పొందుతున్న అన్ని ఇతర సోపానక్రమం ఇంజిన్ వంటి సంబంధం, వాటిని వాటి భాగాలుగా చేయడానికి మేము ఇక్కడ చూశాము. - 102. ఆపై మీరు ఆ భాగానికి ప్రయాణించి ప్రత్యేక సోపానక్రమంలోకి వెళతారు. - 103. మరియు ఈ సోపానక్రమంలో ఇంజిన్ రకం గురించి వాదించండి, మీరు ప్రయాణీకుల కోసం క్యారేజ్ రకాన్ని బట్టి మరొక సోపానక్రమం కావాలనుకుంటే, అది సామాను కోసం కాదా. ఇది అదుపు కోసం మరియు మొదలైనవి. - 104. కాబట్టి, తదనుగుణంగా మీరు దీన్ని చేయాలి; ఇప్పుడు ఇది ఒక సోపానక్రమంలో ఉండాలి. - 105. కాబట్టి, మీరు దానిపై పాలిమార్ఫిక్ కోడ్‌ను వ్రాసి, ఆపై ప్రత్యామ్నాయ సోపానక్రమంలో వేర్వేరు భాగాలను చూడండి. - 106. మరియు మీరు రెండు స్వతంత్ర సోపానక్రమాలను సంయుక్తంగా నిర్ణయించగలిగే డబుల్ ట్రాన్స్‌మిట్‌పై నిర్ణయించే అనేక డిజైన్ టెక్నిక్‌లు ఉన్నాయి మరియు వాస్తవానికి ఈ కోర్సు యొక్క పరిధి నుండి విస్తరించే పాలిమార్ఫిక్ ఫంక్షన్‌ను పంపవచ్చు. మీరు మరింతగా మారడంతో మించి ఉంటుంది మరింత నిపుణుడు. - 107. , మీరు అన్నీ నేర్చుకోగలరు మరియు చూడగలరు. - 108. కాబట్టి, ఈ మాడ్యూల్‌లోని రెండు ఉపన్యాసాలను సంగ్రహించడానికి, మేము అనేక వారసత్వ భావనలను ప్రవేశపెట్టాము, మేము ప్రాథమిక అర్థాలను వివరించాము. - 109. మీరు బహుళ వారసత్వాన్ని ఉపయోగించినప్పుడు, విభిన్న వారసత్వం ఏమిటో మీకు చూపించడానికి మాత్రమే ప్రయత్నించాను. - 110. చివరకు, వారసత్వ ఉపయోగం మధ్య డిజైన్ ఎంపిక గురించి మీకు కొంత ఆలోచన ఇవ్వడానికి ప్రయత్నించండి, ఎందుకంటే దృశ్య నిర్మాణం మరియు నిర్మాణం యొక్క ఒక వ్యవస్థ మాత్రమే వారసత్వం మరియు నిర్మాణం యొక్క మిశ్రమాన్ని సృష్టిస్తుంది మరియు ఒక ప్రధాన పాలిమార్ఫిక్ వస్తువు యొక్క ప్రధాన సోపానక్రమంపై నిర్ణయిస్తుంది ప్రాతినిధ్యం. - 111. వస్తువుల. - 112. మరియు సందర్భానుసారంగా ఇతరుల సృష్టిని ఉపయోగించడం మరియు తదనుగుణంగా వారి పాలిమార్ఫిక్‌ను పంపించడం. - 113. + అందువల్ల, నిర్మాణం ఖచ్చితంగా బేస్ క్లాస్‌ని నిర్మించాలి. + కాబట్టి, టిఎ వస్తువును నిర్మించడానికి ఏమి చేయాలి, అధ్యాపకులను నిర్మించడం. + ఇప్పుడు, అధ్యాపకులకు వ్యక్తి నుండి నైపుణ్యం ఉంది. + కాబట్టి, అధ్యాపక వస్తువును నిర్మించటానికి ఏమి చేయాలి అంటే ఒక వ్యక్తి నిర్మించవలసి ఉంటుంది, కాబట్టి ఈ రెండు అధ్యాపక వస్తువును ఏర్పరుస్తాయి. + అప్పుడు విద్యార్థి నిర్మించవలసి ఉంటుంది మరియు విద్యార్థికి వ్యక్తి నుండి నైపుణ్యం లభిస్తుంది. + కాబట్టి, నేను ఒక విద్యార్థిని నిర్మించవలసి వస్తే, నేను మళ్ళీ ఒక వ్యక్తిని నిర్మించాలి. + కాబట్టి, మరో వ్యక్తిని నిర్మిస్తారు, ఆపై విద్యార్థిని నిర్మిస్తారు, అప్పుడు టిఎ సృష్టించబడుతుంది. + కాబట్టి, నేను మొత్తం ఆబ్జెక్ట్ దృష్టాంతాన్ని పరిశీలిస్తే, నాకు రెండు బేస్ క్లాసులు ఉన్నాయి.ఇది అధ్యాపకులు మరియు ఇది ఒక విద్యార్థి. + మరియు అది ఒక వ్యక్తి అవుతుంది, అది ఒక వ్యక్తిని కలిగి ఉంటుంది, మీకు వేర్వేరు ఫ్యాకల్టీ డేటా ఉంటుంది, మీకు ఇక్కడ విద్యార్థుల డేటా ఉంటుంది, మీకు ఉత్పన్నమైన తరగతి ఉంటుంది, ఈ టిఎ వస్తువు. + కాబట్టి, మీకు ఇక్కడ TA డేటా ఉంటుంది, ఇవి TA డేటా. + కానీ అది నిజంగా ఎలా నిర్మిస్తుంది. + అందువల్ల, మీరు ఈ విధంగా నిర్మించినప్పుడు, మా వారసత్వం యొక్క ప్రాథమిక సూత్రం ఒకే TA వస్తువులో ఇద్దరు వ్యక్తుల వస్తువులు ఉండాలి అని చెబుతుంది. + ఎందుకంటే, లేకపోతే అధ్యాపకులను నిర్మించలేము ఎందుకంటే బేస్ ఆబ్జెక్ట్ తప్పనిసరిగా దానిలో పొందుపరచబడాలి, విద్యార్థిని నిర్మించలేము ఎందుకంటే ఆ వ్యక్తి తప్పనిసరిగా దానిలో పొందుపరచబడాలి. + అందువల్ల, టీఏకు అధ్యాపకులు మరియు విద్యార్థులు ఇద్దరూ అవసరం. + కాబట్టి, మీకు బేస్ క్లాస్ ఆబ్జెక్ట్ యొక్క రెండు ఉదాహరణలు ఉంటాయి మరియు ఇది ఖచ్చితంగా చాలా కావాల్సిన పరిస్థితి కాదు, ఎందుకంటే నేను వ్యక్తి క్లాస్ (క్లాస్) రెండు ఉదాహరణలు కలిగి ఉంటే TA గా ఉన్న వ్యక్తికి ఒకే ఒక లక్షణం ఉంటుంది మరియు నేను ఎలా చేస్తాను దాన్ని పరిష్కరించండి, మీరు డేటాను ఎలా నిర్వహించబోతున్నారు. + కాబట్టి, ఇది వర్చువల్ వారసత్వం మరియు బహుళ వారసత్వం అని పిలువబడుతుంది. + అది చెప్పేది ఏమిటంటే, మేము వర్చువల్ అనే కీవర్డ్‌ని ఉపయోగిస్తాము, ఎరుపు రంగును మళ్ళీ ఉపయోగించుకుందాం, ఆ తర్వాత అది పట్టింపు లేదు, మీరు దీన్ని బహిరంగంగా వ్రాసినా, బహిరంగపరచండి. మీరు వారసత్వంగా పొందుతున్న కీవర్డ్ వర్చువల్. + మీరు దీన్ని చేసినప్పుడు, వారసత్వం వర్చువల్ అవుతుంది, అంటే TA ను సృష్టించాల్సిన మొదటి విషయం ఏమిటంటే అధ్యాపకులు తప్పనిసరిగా నిర్మించబడాలి. + ఇప్పుడు, అధ్యాపక వ్యక్తి వర్చువల్ మార్గంలో వారసత్వంగా వచ్చాడని మీరు చెబితే, మరికొన్ని నిర్దిష్ట తరగతి సృష్టించబడుతోందని తెలుసు, దాని కోసం ఇతర బేస్ క్లాస్ (క్లాస్)) కావచ్చు. + అందువల్ల, అధ్యాపకులు దాని స్వంత వ్యక్తి తరగతిని నిర్మించరు, వ్యక్తి వస్తువు ఉన్న చోట నిర్మాణం ఉదాహరణను సృష్టించదు. + అదేవిధంగా, ఈ విద్యార్థి మేము చేసేటప్పుడు తరగతి యొక్క వ్యక్తిగత ఉదాహరణను సృష్టించడు, లేకపోతే నాకు అది అవసరం. + కానీ ఈ ప్రక్రియ అధ్యాపకులకు మరియు విద్యార్థికి ఒక సాధారణ వ్యక్తి ఉదాహరణను సృష్టిస్తుంది. + ఇప్పుడు, ఇది ఎలా నిర్మించబడుతుందో, ఇప్పుడు అధ్యాపకులు ఖచ్చితంగా విద్యార్థిని నిర్మించటం లేదు, ఎందుకంటే వారు వారసత్వంగా ఉన్న వ్యక్తి నుండి స్వీకరిస్తున్నారు. + కాబట్టి, ఇది డిఫాల్ట్ కన్స్ట్రక్టర్ అయి ఉండాలి, దీని కోసం ఒకే బేస్ క్లాస్, ప్రత్యేకమైన బేస్ క్లాస్ ఇంట్రస్ట్ సృష్టించబడే వర్చువల్ వారసత్వ ప్రక్రియ ఉండాలి. + అందువల్ల, నేను ఇక్కడ వ్యక్తి తరగతి కోసం డిఫాల్ట్ కన్స్ట్రక్టర్‌ను పరిచయం చేసాను. + ఇప్పుడు, వ్యక్తిగత తరగతి ఒక్కసారి మాత్రమే నిర్మించబడిందని మరియు అధ్యాపకులు మరియు విద్యార్థుల ఉదాహరణలు దానిపై ఆధారపడి ఉన్నాయని మనం చూడవచ్చు. + కాబట్టి, మేము అధ్యాపకుల బేస్ క్లాస్ యొక్క భాగాన్ని పరిశీలిస్తే, మీరు ఈ వ్యక్తిని పొందుతారు, మీరు విద్యార్థి యొక్క బేస్ క్లాస్ భాగాన్ని చూస్తే, మీరు మళ్ళీ అదే వ్యక్తి యొక్క ఉదాహరణను పొందుతారు., మీరు ఖచ్చితంగా కొంత భాగాన్ని చూస్తే TA యొక్క బేస్ క్లాస్. + వాస్తవానికి, మీరు ఒక వ్యక్తిని మాత్రమే పొందుతారు. + కాబట్టి, మీరు బేస్ క్లాస్ ఉదాహరణను ప్రత్యేకంగా చేస్తారు. + అందువల్ల, మేము వర్చువల్ వారసత్వాన్ని ఉపయోగిస్తున్నప్పుడు మరియు రూట్ క్లాస్ యొక్క బహుళ సందర్భాలను ఈ విధంగా నివారించడానికి సోపానక్రమం నిర్మించినప్పుడు, డైమండ్ క్లాస్ యొక్క అనేక ఉదాహరణలు ఉత్పన్నమైన తరగతి (తరగతి) ఉదాహరణ నుండి తీసుకోబడ్డాయి, మేము వర్చువల్ వారసత్వం మరియు తెలిసిన తరగతులను ఉపయోగిస్తాము వర్చువల్ బేస్ క్లాసులు. + కాబట్టి, ఇది వర్చువల్ బేస్ క్లాస్, ఇది వర్చువల్ బేస్ క్లాస్, ఈ వర్చువల్ బేస్ క్లాసులు VBC లు. + ఎందుకంటే వారు తమ బేస్ క్లాస్ భాగాన్ని నేరుగా నిర్మించరు; మొత్తం, ఉత్పన్నమైన తరగతి వస్తువుతో సాధారణమైన బేస్ క్లాస్ భాగానికి ఉదాహరణ. + ఇప్పుడు, ఈ ప్రక్రియలో ఇది వజ్రం విషయంలో ఆబ్జెక్ట్ లేఅవుట్ యొక్క ప్రాథమిక సమస్యను పరిష్కరిస్తుంది, అందుకే మీకు వజ్రం ఉంటే. + కాబట్టి, ఈ తరగతిని ఇక్కడ కూడా నిర్మిస్తున్నారు. + కాబట్టి, వర్చువల్ వారసత్వం ప్రాథమికంగా ఆ సమస్యను తొలగిస్తుంది, కానీ అలా చేయడానికి ఒక చిన్న పరిమితితో. + మేము దీన్ని స్వయంచాలకంగా చేసినందున మనం డిఫాల్ట్ కన్స్ట్రక్టర్ పర్సన్ క్లాస్ మాత్రమే ఉపయోగించగలం. + కాబట్టి, నేను ఈ కన్స్ట్రక్టర్ అని పిలవాలనుకునే తరగతికి పారామితులను పాస్ చేయాలనుకుంటే. + బహుళ వారసత్వంగా దీన్ని చేయడానికి ఇది చాలా సులభమైన మార్గం, మీరు చేయాల్సిందల్లా ఇవి మీకు వారసత్వంగా లభించాయి, వాస్తవానికి ఇది వారసత్వంగా కనుగొనబడింది, ఈ VBC లు వర్చువల్ తరగతులు బేస్ క్లాస్‌లుగా ఉంటాయి అన్నీ ఒకే విధంగా ఉంటాయి. + TA క్లాస్ యొక్క కన్స్ట్రక్టర్లో, దాని కన్స్ట్రక్టర్లో, ఉత్పన్నమైన క్లాస్ యొక్క కన్స్ట్రక్టర్లో మాత్రమే తేడా ఉంది, మీరు రూట్ క్లాస్ యొక్క కన్స్ట్రక్టర్ను స్పష్టంగా పిలుస్తారు మరియు అక్కడ మీరు పారామితులను పాస్ చేస్తారు. + కాబట్టి, మీరు ఇలా చేస్తే ఏమి జరుగుతుంది, పారామితిని కలిగి ఉన్న ఈ కన్స్ట్రక్టర్‌ను పిలిచే మొదటిది అవుతుంది. + అప్పుడు ఈ ఆర్డర్ ప్రకారం ఇది కాల్ పక్కన ఉంటుంది మరియు ఇది చివరిగా పిలువబడుతుంది కాబట్టి మీరు ఈ వ్యక్తి ఫ్యాకల్టీ విద్యార్ధి అని మరియు టిఎ కన్స్ట్రక్టర్ అది నిర్మించబడే క్రమంలో ఉన్నారని మీరు చూస్తారు. + మరియు మీరు ఇప్పటికీ ఆ ప్రాథమిక సమస్యను పరిష్కరించారు. మీకు బేస్ క్లాస్ యొక్క ప్రత్యేకమైన ఉదాహరణ ఉంది, కానీ మీరు పారామితిని కన్స్ట్రక్టర్‌కు పంపించగలుగుతారు. + కాబట్టి, బహుళ వారసత్వ సోపానక్రమం నిర్మించడానికి ఇది ప్రాథమిక మార్గం. + ఇప్పుడు మీరు ముందుకు వెళ్లి, ఆ పాలిమార్ఫిక్ మరియు ఒక వ్యక్తికి ఎలా బోధించాలో చూపించగలరు, ఆ వ్యక్తి యొక్క బేస్ క్లాస్ దానిని పూర్తిగా వర్చువల్‌గా చేస్తుంది, ఎందుకంటే మీకు తెలియని వ్యక్తి ఎలా బోధించగలడు, కాబట్టి అత్యవసరం, స్వచ్ఛమైన వర్చువల్‌గా ఫంక్షన్, అధ్యాపకులకు వర్తించు, మళ్ళీ విద్యార్థులు మరియు మొదలైనవి. + కానీ మీరు అలా చేస్తున్నప్పుడు మీరు దాన్ని ఉపయోగిస్తారా లేదా మీరు ఉపయోగిస్తారా లేదా పాలిమార్ఫిక్ సోపానక్రమంలో మీకు వివాదం ఉంటుంది, అయితే మీరు ఏ సభ్యుల ఫంక్షన్ పాలిమార్ఫిక్ కాని పద్ధతిని ఉపయోగిస్తారో మీరు పేర్కొనలేరు. మీరు కాని విషయంలో చేసారు. + కాబట్టి, TA తరగతిలో క్రొత్త సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించడం రెండింటినీ అధిగమించడం ద్వారా మీరు దీన్ని సద్వినియోగం చేసుకోవచ్చు. + మీరు దీన్ని చేయకపోతే, మీరు TA యొక్క ఉదాహరణ చేయడానికి ప్రయత్నించినప్పుడు, మేము దీన్ని చేయలేమని అది చెబుతుంది ఎందుకంటే ఈ రెండు అభ్యాస పనులలో ఏది ఈ వస్తువు (వస్తువు) మీకు తెలియదు. + కాబట్టి, మీరు దీన్ని వ్రాసిన తర్వాత, మీరు దీన్ని నేరుగా వర్చువల్ ఫంక్షన్ పట్టికలో దాచారని అర్థం, అప్పుడు మీరు కోడ్ పనిచేస్తుందని మీరు చేయవచ్చు మరియు తరువాత మీరు ఏమి చేయాలనుకుంటున్నారో దానిపై ఆధారపడి ఉంటుంది. + మీరు ఈ ఫంక్షన్‌ను తిరిగి ఉపయోగించాలనుకుంటే, TA తరగతిలో బోధన అమలులో, మీరు ఖచ్చితంగా ఫ్యాకల్టీ కోలన్ చేత సూచించబడవచ్చు లేదా మీరు విద్యార్థి తరగతి అయితే. మీరు (తరగతి) బోధనను తిరిగి ఉపయోగించాలనుకుంటే, మీరు స్టూడెంట్ కోలన్ కోలన్ ను ఉపయోగించవచ్చు లేదా మీరు మీ స్వంతంగా దరఖాస్తు చేసుకోవచ్చు. + కాబట్టి, వజ్రాల నిర్మాణంతో బహుళ వారసత్వ పరంగా ఇది అస్పష్టత యొక్క ప్రాథమిక సమస్య, మీకు వజ్రాల నిర్మాణం లేకపోతే, మాకు అది ఉండదు. + మీరు వజ్రం కలిగి ఉండటమే దీనికి కారణం. + కాబట్టి, మీకు వజ్రం ఉన్నందున, బోధనా పని ఇక్కడకు చేరుకోవడానికి రెండు మార్గాలు ఉన్నాయి, బోధించగల రెండు మార్గాలు ఇక్కడకు చేరుకోవచ్చు, మీకు ఎక్కువ బేస్ క్లాసులు మరియు ఒక సాధారణ వజ్రం ఉంటే, మీకు ఎక్కువ మార్గాలు ఉంటాయి, కానీ గందరగోళానికి రెండు సరిపోతాయి. + కాబట్టి, ఇక్కడ మీరు ఈ బోధను ఉపయోగించాలా వద్దా అని మీకు తెలియదు. + కాబట్టి, ఇది ఒక ప్రాథమిక సమస్య మరియు మీరు నిజంగా ఒక సాధారణ బహుళ వారసత్వ సోపానక్రమం కావాలనుకుంటే అది చాలా సమస్యలకు దారితీస్తుంది. + మరియు చాలా తరచుగా, అనేక వారసత్వ పరిస్థితులలో, మీరు దీన్ని ఉపయోగించకూడదని చాలా సంస్థలు పేర్కొన్నాయి, ఇది బహుళ వారసత్వ సంపద యొక్క మొత్తం వినియోగాన్ని తీవ్రంగా పరిమితం చేస్తుంది. + కానీ ఇది తీవ్రమైన వ్యాఖ్యాన సమస్య. + కాబట్టి, ఈ సందర్భంలో, ఒకటి ఉంది; ఇది ఒక తరగతి A, ఒక తరగతి B. + అందువల్ల ఒక తరగతి A తరగతి B మరియు తరువాత తరగతి C మరియు తరువాత తరగతి D. + కాబట్టి, ఇది ఇలాంటి దృశ్యం. + కాబట్టి, ఇది మళ్ళీ బహుళ వారసత్వ దృశ్యం, కానీ ఇది వజ్రం కాదు. + కాబట్టి, వేర్వేరు సభ్యుల విధులు foo మరియు foobar దానిపై నిర్వచించబడ్డాయి. + అందువల్ల, మీరు ఒక వారసత్వంలో అధ్యయనం చేసిన వారందరితో పాటు అనేక వారసత్వాలను మీకు తెలుసు అని మాత్రమే నేను మీకు సూచిస్తాను. + మీరు వేర్వేరు తరగతి వస్తువుల ఉదాహరణలను సృష్టించడానికి ప్రయత్నిస్తారు, వివిధ రకాల పాయింట్లను తీసుకోవడానికి ప్రయత్నించండి మరియు ఈ సోపానక్రమానికి మీరు వేర్వేరు సభ్యుల విధులను ఎలా అన్వయించవచ్చో వివరించడానికి ప్రయత్నించండి. + వాస్తవానికి, మీరు C నుండి A ను పొందడం ద్వారా మొత్తం విషయాన్ని క్లిష్టతరం చేయవచ్చు, మీరు వజ్రం నుండి A ను పొందటానికి అనుమతించిన క్షణం మరియు మీకు అస్పష్టత యొక్క ఆసక్తికరమైన సమస్య వస్తుంది. + కాబట్టి, చివరకు, నేను మూసివేసే ముందు, డిజైన్ ఎంపిక యొక్క ఒక సంగ్రహావలోకనం మీకు ఇవ్వాలనుకుంటున్నాను, అంటే మనం ఎల్లప్పుడూ వారసత్వ పరంగా మోడల్ చేయగలము మరియు బదులుగా మనం మరొకదాన్ని సృష్టించగలము. సోపానక్రమం యొక్క క్రమబద్ధీకరణ. + మీరు వారసత్వంగా ఉందా లేదా మీరు సృష్టించాలా అనే దానిపై డిజైనర్లలో ఎప్పుడూ వ్యాపారం ఉంటుంది. + కాబట్టి, మీరు ఎలాంటి ఇబ్బందులను అంగీకరిస్తున్నారో మీకు చూపించడానికి ఇక్కడ ఒక ఉదాహరణ సృష్టించబడింది. + ఉదాహరణకు, నేను వాహన సోపానక్రమం వైపు చూస్తున్నాను మరియు ఇవి వాహనం యొక్క ఉపవర్గాలు మీకు తెలిసిన ప్రాధమికవి, వీల్ వాహనాల తరగతి ప్రపంచంలో ఉందని మీరు చూస్తున్నారు. + వివిధ రకాలైన డ్రైవింగ్ మెకానిజమ్స్ ఉన్నప్పటికీ, ఇంజిన్ క్లాస్ ప్రాథమికంగా వేర్వేరు డ్రైవ్ మెకానిజమ్స్, దాని కోసం కావచ్చు మరియు మీరు దానిని చూస్తే, చక్రం పరంగా, మీకు ఒక జంట ఉంది మీకు చక్రాల వాహనం ఉండవచ్చు, మీరు చేయవచ్చు మూడు చక్రాల వాహనం కలిగి ఉండండి మరియు మీకు నాలుగు చక్రాల వాహనం ఉండవచ్చు. ఇవి వేర్వేరు ఎంపికలు. + మరియు ఇంజిన్ క్లాస్ సందర్భంలో, మీరు ఒక మాన్యువల్ డ్రైవ్ కలిగి ఉండవచ్చు, దీనిలో మీరు పెట్రోల్ ద్రవాన్ని నడపవచ్చు, మీరు ఎలక్ట్రిక్ డ్రైవ్ కలిగి ఉంటారు - ఇవి వేర్వేరు రకాలు. + కాబట్టి, మీకు ఇవన్నీ ఉంటే, ప్రాథమికంగా మీకు వీల్ డ్రైవ్, ఇంజిన్ క్లాస్ ఆధారంగా రెండు ప్రధాన సోపానక్రమాలు ఉన్నాయి. + కాబట్టి, మీరు దానిని చూస్తే, వాటి ఆధారంగా మీకు చాలా కాంబినేషన్ల ఆధారంగా చాలా క్లాసులు ఉన్నాయి, నేను సైకిల్ గురించి మాట్లాడగలను, ఇది మాన్యువల్ మరియు త్రీ వీలర్. + కాబట్టి, ఇది బహుళ వారసత్వంగా జరుగుతోంది, నాకు ఒక కారు ఉంది, ఇది నాలుగు చక్రాల మరియు పెట్రోల్ ద్రవం, నాకు ఎలక్ట్రిక్ కారు ఉంది, ఇది నాలుగు చక్రాలు, కానీ ఎలక్ట్రిక్ ద్రవం మరియు మొదలైనవి. + కాబట్టి, నా దగ్గర మూడు రకాల చక్రాల వాహనాలు ఉన్నాయి, నా దగ్గర మూడు రకాల ఇంజన్ డ్రైవ్‌లు ఉన్నాయి. + కాబట్టి, వాస్తవానికి నాకు మూడు నుండి తొమ్మిది కలయికలు ఉన్నాయి మరియు ఒకే బేస్ క్లాస్ తల్లిదండ్రులను కలిగి ఉన్న బహుళ జీవన తరగతులను కలిగి ఉంటాయి. + కాబట్టి, మీరు నిజంగా తొమ్మిది కంటే ఎక్కువ పేలుడు రకం కలయికలను కలిగి ఉంటారు, ఇవి ప్రత్యక్ష స్థాయిలో సమానంగా పేలుడు రకం కలయికలను సాధిస్తాయి. + కాబట్టి, మోడలింగ్ పరంగా ఇది చాలా చక్కనిది, కానీ మీరు నిజంగా కోడ్‌ను నిర్వహించాల్సి వచ్చినప్పుడు, మరియు ఈ మొత్తం సోపానక్రమాలను గుర్తుంచుకోండి మరియు పైభాగంలో ఉన్న తర్కాన్ని ఇష్టపడతారు, వారసత్వం (వారసత్వం) కాదా అని ప్రతి దశలో నిర్ణయించండి. + మరియు మీరు ఏమి ఉపయోగించాలో మరియు మీరు ఏమి అధిగమించాలో మీకు తెలుసు, ఇది డిజైన్‌లో చాలా మంచి సహాయంగా మారదు కానీ అది ఒక అవరోధంగా మారుతుంది. + కాబట్టి, ఒక సాధారణ రెసిపీ అంటే ఏమిటి, మీకు ఒక డొమైన్‌లో చాలా ఎక్కువ సోపానక్రమం ఉంటే, అప్పుడు మీరు ఒకదాన్ని ఎన్నుకోవాలి, ఇది ప్రధానమైనది, ఇది చాలా చోట్ల మీకు సహాయపడే చూడటానికి ఒక మార్గం. బహుళ వారసత్వం గురించి చదవండి a వాహన సోపానక్రమం. + కాబట్టి, నేను చక్రాల వాహనాల సోపానక్రమం వైపు చూస్తున్నాను. + అందువల్ల, నేను ఇంజిన్ రకాలను చూడటం లేదు. + కాబట్టి, నేను ఏ రకమైన ఉత్పన్న వాహనాన్ని వస్తువుగా చేసినప్పుడు నేను ఏమి చేస్తాను. + కాబట్టి, ఇవి వేర్వేరు చక్రాల వాహనాలు, అవి నాలుగు, మూడు, రెండు, ఆపై మీకు అన్ని బేస్ క్లాసులు ఉన్నాయి. + దీని కోసం నేను ఈ వస్తువులో ఇంజిన్ స్టార్ కలిగి ఉంటాను, ఇది ఇంజిన్ను సూచిస్తుంది మరియు ఇది ప్రాథమికంగా ఇంజిన్ క్లాస్‌ను సూచిస్తుంది. + విభిన్న స్పెషలైజేషన్. + కాబట్టి, నా దగ్గర మాన్యువల్ ఉందా, నాకు విద్యుత్తు ఉందా, పెట్రోల్ ఫ్లూయిడ్ ఉందా, మొదలైనవి, ఈ వస్తువును రెండు సోపానక్రమాల నుండి సంయుక్తంగా పొందే బదులు, నేను దీన్ని ప్రత్యేకంగా చేయగలను నేను ఇక్కడ చక్రాల వైపు ఒక్కొక్కటిగా పొందుతాను ఇంజిన్ సోపానక్రమం చూడండి. + సభ్యుడిగా, ఒక కూర్పు. + కాబట్టి, ఈ పాయింటర్ అప్పుడు నాకు కావలసిన విధంగా నిర్దిష్ట రకం ఇంజిన్‌ను తీసుకుంటుంది. + వాస్తవానికి, నేను దీన్ని చేస్తుంటే, నేను దీన్ని మరొక విధంగా చేయగలను, నేను మళ్ళీ వాహన సోపానక్రమం చేయగలను, ఇది ప్రాథమికంగా ఇంజిన్ తరగతిపై ఆధారపడి ఉంటుంది. + కాబట్టి, నాకు ఎలక్ట్రిక్ ఇంజిన్, పెట్రోల్ ఫ్యూయల్ ఇంజిన్, మాన్యువల్ ఉన్నాయి, దానిపై నా లీఫ్ లేబుల్ క్లాసులు ఉన్నాయి, కానీ ఇప్పుడు నా దగ్గర ఒక చక్రంలో ఒక పాయింటర్ ఉంది, ఇది ప్రాథమికంగా నాకు రెండు వీలర్, త్రీ వీలర్, ఫోర్ వీలర్ సోపానక్రమం మరియు ఇలా చెబుతుంది పై. + మరియు నేను ప్రధానంగా ఇంజిన్ రకంపై కీ సోపానక్రమంగా పని చేస్తాను మరియు ఈ వాహన రకం యొక్క మరొక HASA లేదా భాగాన్ని ఉపయోగిస్తాను. + కాబట్టి, గాని చేయవచ్చు, వారసత్వ నిర్మాణంలో చాలా సమాచారం ఉంటే మీకు అలాంటి అనేక ఎంపికలు ఉంటాయి. + మరియు వాటిలో సాధారణంగా గుర్తించబడిన మరియు సాధారణంగా ఉపయోగించే శైలి ఏమిటంటే, మీరు వారసత్వంలోని వివిధ ఎంపికలలో ఒకటి మీరు కనుగొన్న సోపానక్రమం, వాటిలో ఒకదాన్ని గుర్తించండి. ఏది ప్రధానమైనది మరియు ఒకే బహుళ-స్థాయి మరియు మీరు సోపానక్రమంలో తెలుసుకోండి. + మరియు మీరు పొందుతున్న అన్ని ఇతర సోపానక్రమం ఇంజిన్ వంటి సంబంధం, వాటిని వాటి భాగాలుగా చేయడానికి మేము ఇక్కడ చూశాము. + ఆపై మీరు ఆ భాగానికి ప్రయాణించి ప్రత్యేక సోపానక్రమంలోకి వెళతారు. + మరియు ఈ సోపానక్రమంలో ఇంజిన్ రకం గురించి వాదించండి, మీరు ప్రయాణీకుల కోసం క్యారేజ్ రకాన్ని బట్టి మరొక సోపానక్రమం కావాలనుకుంటే, అది సామాను కోసం కాదా. ఇది అదుపు కోసం మరియు మొదలైనవి. + కాబట్టి, తదనుగుణంగా మీరు దీన్ని చేయాలి; ఇప్పుడు ఇది ఒక సోపానక్రమంలో ఉండాలి. + కాబట్టి, మీరు దానిపై పాలిమార్ఫిక్ కోడ్‌ను వ్రాసి, ఆపై ప్రత్యామ్నాయ సోపానక్రమంలో వేర్వేరు భాగాలను చూడండి. + మరియు మీరు రెండు స్వతంత్ర సోపానక్రమాలను సంయుక్తంగా నిర్ణయించగలిగే డబుల్ ట్రాన్స్‌మిట్‌పై నిర్ణయించే అనేక డిజైన్ టెక్నిక్‌లు ఉన్నాయి మరియు వాస్తవానికి ఈ కోర్సు యొక్క పరిధి నుండి విస్తరించే పాలిమార్ఫిక్ ఫంక్షన్‌ను పంపవచ్చు. మీరు మరింతగా మారడంతో మించి ఉంటుంది మరింత నిపుణుడు. + , మీరు అన్నీ నేర్చుకోగలరు మరియు చూడగలరు. + కాబట్టి, ఈ మాడ్యూల్‌లోని రెండు ఉపన్యాసాలను సంగ్రహించడానికి, మేము అనేక వారసత్వ భావనలను ప్రవేశపెట్టాము, మేము ప్రాథమిక అర్థాలను వివరించాము. + మీరు బహుళ వారసత్వాన్ని ఉపయోగించినప్పుడు, విభిన్న వారసత్వం ఏమిటో మీకు చూపించడానికి మాత్రమే ప్రయత్నించాను. + చివరకు, వారసత్వ ఉపయోగం మధ్య డిజైన్ ఎంపిక గురించి మీకు కొంత ఆలోచన ఇవ్వడానికి ప్రయత్నించండి, ఎందుకంటే దృశ్య నిర్మాణం మరియు నిర్మాణం యొక్క ఒక వ్యవస్థ మాత్రమే వారసత్వం మరియు నిర్మాణం యొక్క మిశ్రమాన్ని సృష్టిస్తుంది మరియు ఒక ప్రధాన పాలిమార్ఫిక్ వస్తువు యొక్క ప్రధాన సోపానక్రమంపై నిర్ణయిస్తుంది ప్రాతినిధ్యం. + వస్తువుల. + మరియు సందర్భానుసారంగా ఇతరుల సృష్టిని ఉపయోగించడం మరియు తదనుగుణంగా వారి పాలిమార్ఫిక్‌ను పంపించడం. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/06. ProgramminginCplusplus_Dynamic Memory Management (Contd.) (Lecture 18)-5kZrXXPfvns.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/06. ProgramminginCplusplus_Dynamic Memory Management (Contd.) (Lecture 18)-5kZrXXPfvns.txt index be08c05665f1153346aae746153912d36cedf715..f1c2bfee15f58b425a3ce4864a1c63d045e6f3cc 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/06. ProgramminginCplusplus_Dynamic Memory Management (Contd.) (Lecture 18)-5kZrXXPfvns.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/06. ProgramminginCplusplus_Dynamic Memory Management (Contd.) (Lecture 18)-5kZrXXPfvns.txt @@ -1,79 +1,79 @@ - 1. మాడ్యూల్ 10 యొక్క పార్ట్ -2 కు స్వాగతం. - 2. మేము C ++ లో డైనమిక్ మెమరీ మేనేజ్మెంట్ను చర్చిస్తున్నాము. - 3. మేము మాలోక్ (Malloc )మరియు ఫ్రీ (Free) ని ఉపయోగించి సి లో మెమరీ నిర్వహణ డైనమిక్ మెమరీ నిర్వహణ యొక్క శీఘ్ర సమీక్షను చేశాము. - 4. ఆపై మేము C ++ లో డైనమిక్ మెమరీ మ్యానేజ్మెంట్ కోసం ఆపరేటర్ల 3 జతలను పరిచయం చేశాము, ఆపరేటర్ కొత్త మరియు ఆపరేటర్ తొలగించండి. - 5. ఆపరేటర్ క్రొత్త రకాన్ని తీసుకోవచ్చు మరియు ప్రారంభ విలువను కూడా తీసుకోవచ్చు మరియు ఉచిత స్టోర్‌లో డైనమిక్‌గా ఒక మెమరీని కేటాయించవచ్చు, ఇచ్చిన విలువతో ప్రారంభించండి. ఆపై సృష్టించబడిన విలువ యొక్క సూచికను తిరిగి ఇవ్వండి. - 6. అటువంటి విలువల శ్రేణిని ఉచిత దుకాణానికి డైనమిక్‌గా కేటాయించాలని మీరు కోరుకుంటే, మాకు కొత్తగా ఒక ఆపరేటర్ ఉంది, దానిని మేము శ్రేణి అని పిలుస్తాము. రకం, శ్రేణి ఆపరేటర్ కొత్తది మరియు సరిపోలే శ్రేణి ఆపరేటర్ తీసివేయబడుతుంది. - 7. జ్ఞాపకశక్తి మెమరీ మేనేజర్ అని అవసరం లేదని ఇచ్చిన మెమరీ చిరునామాతో ఆపరేటర్‌ను పునరుద్ధరించే అవకాశం ఉందని మేము చివరికి చూపించాము. కేటాయింపు నుండి వస్తుంది, నేను ఇప్పటికే ఒక బఫర్ కలిగి ఉంటాను స్టాక్ ప్రాంతంలోని బఫర్ ప్రాంతంలో, బఫర్ గ్లోబల్ ఏరియాలో ఉండవచ్చు, కాని నేను బఫర్ యొక్క చిరునామాను పాస్ చేసి, ఆ బఫర్ లోపల వస్తువులను సృష్టించగలను. - 8. ఇప్పుడు, మేము ముందుకు వెళ్లి, అలా చేసేటప్పుడు మీరు పాటించాల్సిన కొన్ని పరిమితులను చర్చిస్తాము. - 9. కాబట్టి, మనకు చాలా వేర్వేరు ఆపరేటర్లు మరియు చాలా వేర్వేరు ఆపరేటర్లు ఉన్నందున, మేము కూడా వేర్వేరు ఫంక్షన్లను కేటాయించాలి మరియు మెమరీని డైనమిక్‌గా కేటాయించాలి. కోసం; కేటాయించిన మరియు డి-కేటాయించిన ఏదైనా మెమరీని ఎల్లప్పుడూ కేటాయింపు, డి-కేటాయింపు జత ఉపయోగించాలని మేము గుర్తుంచుకోవాలి. - 10. అందువల్ల, పట్టికలో నేను ఈ జతలను జాబితా చేసాను మరియు మీరు దానిని అనుసరించడానికి చాలా జాగ్రత్తగా ఉండాలి. - 11. మెమోక్ స్థానం మెమోక్ స్థానానికి డైనమిక్‌గా కేటాయించినట్లయితే, అది ఉచితంగా విడుదల చేయాలి. - 12. ఇది ఆపరేటర్ చేత కొత్తగా కేటాయించబడితే, అది ఆపరేటర్ డిలీట్ ద్వారా జారీ చేయబడాలి. - 13. ఇది ఆపరేటర్ అర్రే ద్వారా కేటాయించబడితే, దానిని ఆపరేటర్ (అర్రే) డిలీట్ ద్వారా విడుదల చేయాలి మరియు అది సరిదిద్దబడితే కొత్త ప్లేస్‌మెంట్ జరుగుతుంది. తొలగించాల్సిన అవసరం లేదు. - 14. ఇప్పుడు, ఎలాంటి ఇతర మిశ్రమాలు అస్పష్టతకు మరియు అనిశ్చిత ఫలితాలకు దారి తీస్తాయి. - 15. ఉదాహరణకు, మీరు మాలోడోక్ ద్వారా మెమరీని కేటాయించి, ఆపరేటర్‌ను తొలగించడానికి దాన్ని తీసివేయడానికి ప్రయత్నిస్తే, లేదా ఆపరేటర్ కొత్తగా మెమరీని కేటాయించండి.మరియు ఉచితంగా విడుదల చేయండి లేదా మీరు ఆపరేటర్ అర్రే అర్రే ద్వారా మెమరీని కేటాయించి దాన్ని విడుదల చేయడానికి ప్రయత్నిస్తే సింపుల్ డిలీట్ మరియు కేటాయింపు) మరియు మీరు చేయగలిగే డి-కేటాయింపు యొక్క మిక్స్ కలయిక ఊహించని ఫలితాలకు దారి తీస్తుంది. - 16. అందువల్ల, వాటిని జంటగా ఉపయోగించడానికి ఎల్లప్పుడూ చాలా జాగ్రత్తగా ఉండండి. - 17. మరియు మీరు C ++ లో ప్రోగ్రామింగ్ చేస్తున్నప్పుడు, నా సలహా ఏమిటంటే, మీరు ఎల్లప్పుడూ క్రొత్త మరియు తీసివేసిన ఆపరేటర్లను మాత్రమే ఉపయోగించడానికి ప్రయత్నిస్తారు. - 18. చాలా అసాధారణమైన సందర్భాల్లో వాటి ఉపయోగం ఖచ్చితంగా అవసరం తప్ప మాలోక్ మరియు ఫ్రీని ఉపయోగించకపోవడమే మంచిది. - 19. కానీ, ఒక సాధారణ ప్రోగ్రామ్‌లో మీకు మల్లాక్ మరియు ఫ్రీ అవసరం లేదు, మీరు దీన్ని ఎల్లప్పుడూ ఆపరేటర్ (ఆపరేటర్) కొత్త లేదా ఆపరేటర్ ఆపరేటర్ అర్రే (అర్రే) కొత్త మరియు సంబంధిత డిలీట్ (డిలీట్) ఫంక్షన్‌ను ఉపయోగించవచ్చు. - 20. అందువల్ల, ఎల్లప్పుడూ ఆపరేటర్లను తొలగించండి, ఎల్లప్పుడూ దీన్ని చేయడానికి ప్రయత్నించండి మరియు తొలగించబడిన ఆపరేటర్ (ఆపరేటర్) ను NULL పాయింటర్ (పాయింటర్) కు పంపించే అవకాశం కూడా ఉంది. - 21. కాబట్టి, మీరు తనిఖీ చేయవలసిన అవసరం లేదు, మీరు మెమరీని విడుదల చేయడానికి ప్రయత్నిస్తుంటే, ఆ మెమరీ వాస్తవానికి ఉనికిలో ఉంది. - 22. ఆ మెమరీ NULL అయితే, పాయింటర్ కూడా శూన్యంగా ఉంటే, తొలగించు ఇప్పటికీ సురక్షితంగా పనిచేస్తుంది. - 23. కాబట్టి, మీరు ఈ మెమరీ నిర్వహణ కోర్సు చేసినప్పుడు, దయచేసి ఈ అంశాలను గుర్తుంచుకోండి. - 24. తరువాత, సి ++ పరంగా పూర్తిగా క్రొత్తగా ఉన్న కొన్ని విషయాలను పరిశీలిస్తాము, సి లో సంబంధిత భావన ఏదీ లేదు. - 25. ఆపరేటర్లను ఓవర్‌లోడ్ చేయవచ్చని మేము చూశాము మరియు కేటాయింపు ఆపరేటర్లు కొత్తవారని మరియు డి-కేటాయింపు ఆపరేటర్లు వాస్తవానికి ఆపరేటర్లేనని, ఆపరేటర్లు (ఆపరేటర్) ఇలాంటి విధులను కలిగి ఉంటారు మరియు అందువల్ల వారు కూడా ఓవర్‌లోడ్ చేయవచ్చు. - 26. కాబట్టి, ఈ మొదటి ఇక్కడ నేను కొత్త ఆపరేటర్, సింపుల్ ఆపరేటర్ ఆపరేటర్ యొక్క ఉదాహరణను ఓవర్లోడ్ చేస్తున్నాను. - 27. కాబట్టి, మీరు ఆపరేటర్ క్రొత్త నిర్వచనాన్ని పరిశీలిస్తే, పరామితిని తీసుకునే పరామితి సైజు_టి పరామితి అని మీరు చూస్తారు. - 28. ఇప్పుడు, ఇది నిజంగా ఆశించేది మరియు దాని గురించి ఆలోచిస్తుంది. - 29. కాబట్టి, ఈ కాల్ వాస్తవానికి ఈ ఫంక్షన్‌ను అమలు చేస్తుంది. - 30. కాబట్టి, మీరు కాల్‌ని చూస్తే, కాల్‌కు పరామితి లేదు - కాల్‌కు కొత్త పూర్ణాంకం (పూర్ణాంకానికి) ఉంది. - 31. కాబట్టి, కొత్త రకం పూర్ణాంకానికి ఆపరేటర్‌ను వర్తింపజేయమని కాల్ చెబుతుంటే, అసలు ఆపరేటర్ ఫంక్షన్ ఒక సైజు_టిని ఆశిస్తుంది, సైజు_టి సంతకం చేయని పూర్ణాంకం తప్ప మరొకటి కాదు. - 32. కాబట్టి, int C అనేది ప్రామాణిక లైబ్రరీ size_t typedef, ఇది సంతకం చేయని పూర్ణాంకంతో మారుపేరు. - 33. అందువల్ల, దాని పరిమాణం అండర్ స్కోర్ t (size_t) అని వ్రాసినప్పుడల్లా, మీరు సంతకం చేయని పూర్ణాంకం అంటే మరియు అది ఏదో యొక్క పరిమాణం అని మీరు తెలుసుకుంటారు, చాలా తరచుగా ఇది కొన్ని నిర్మాణం యొక్క బైట్ల సంఖ్య మరియు ఇలా ఉంటుంది. - 34. అందువల్ల, ఆపరేటర్ ఫంక్షన్ కోసం n పరామితి (పరామితి) తప్పనిసరిగా int (sizeof (int)) యొక్క పరిమాణం అని size_t తప్పనిసరిగా ఆశిస్తుంది. - 35. ఇప్పుడు, మీరు ఆ పరిమాణాన్ని పేర్కొనలేదు. - 36. కాబట్టి, ట్రిక్ కంపైలర్ చేత చేయబడుతుంది. - 37. మీకు పూర్ణాంకం (పూర్ణాంకానికి) కావాలని తెలుసుకున్న కంపైలర్ వాస్తవానికి మార్చబడుతుంది; మేము ఆ పూర్ణాంక పరిమాణాన్ని లెక్కించి దానిని పారామితి n గా పాస్ చేస్తాము. - 38. అందువల్ల, మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు, అది సైజు_టి n మొదటి పరామితి అయి ఉండాలి, అది ఆపరేటర్ కొత్తగా పనిచేయదని పేర్కొనాలి. - 39. ఆపై మేము ఏమి చేసాము, మేము ఈ ఆపరేటర్ కోసం క్రొత్త ఎంటిటీని అందించాము, ఓవర్లోడ్ ఆపరేటర్ యొక్క ఈ ప్రత్యేకమైన సంస్కరణ ఉపయోగించబడుతుందని నిర్ధారించుకోవడానికి ఇక్కడ నేను ఒక సందేశాన్ని ఇచ్చాను గోయింగ్, అప్పుడు నేను స్థానిక పాయింటర్ వేరియబుల్‌ను సున్నాకి తరలిస్తాను, అప్పుడు అంతర్గతంగా నేను నిజంగా మాలోక్ చేస్తున్నాను. - 40. కాబట్టి, ఈ ఆపరేటర్ క్రొత్తది అని అనిపిస్తుంది, కాని అంతర్గతంగా నేను ఒక పూర్ణాంకానికి (పూర్ణాంకానికి) పరిమాణంలో ముడి మొత్తాన్ని కేటాయించటానికి ఒక మాలోక్‌ను ఉపయోగిస్తున్నాను, ఇది ఇప్పుడు n, ఆపై మనం ఆ పాయింటర్‌ను తిరిగి ఇవ్వాలి ఎందుకంటే పాయింటర్ తిరిగి ఇవ్వాలి. - 41. క్రొత్త ఆపరేటర్ వాస్తవానికి మీకు అవసరమైన రకం యొక్క సూచికను తిరిగి ఇస్తారని నేను ఇప్పటికే వివరించాను, అది మీకు పూర్ణాంక (పూర్ణాంక) నక్షత్రాన్ని తిరిగి ఇస్తుంది. - 42. ఈ సందర్భంలో, దీన్ని చేయడానికి కాస్టింగ్ అవసరం లేదు, ఇది మళ్ళీ కంపైలర్ చేసే ఒక ఉపాయం. - 43. కాబట్టి, కాల్ సమయంలో కంపైలర్ రకం నుండి, పరిమాణాన్ని లెక్కించి తగిన విధంగా పాస్ చేయండి. తిరిగి వచ్చే సమయంలో కంపైలర్ తగిన రకమైన పాయింటర్‌ను మారుస్తుంది మరియు అవసరమైన పూర్ణాంకానికి (పాయింటర్) రకాన్ని పాయింటర్ (పాయింటర్) తిరిగి ఇస్తుంది, కానీ (ఆపరేటర్) క్రొత్త ఫంక్షన్‌ను వ్రాయడం ద్వారా మరియు మీరు ఓవర్‌లోడ్ చేయగలిగే వాటికి నిర్వచనం రాయడం ద్వారా. - 44. కాబట్టి, క్రొత్త ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చని మీరు చూడవచ్చు, మొదటి పరామితి (పరామితి) పరిమాణం_టి అయి ఉండాలి, దీనిలో కంపైలర్ రకం పరిమాణాన్ని చొప్పిస్తుంది. - 45. మీరు రిటర్న్ రకాన్ని శూన్యంగా మార్చలేరు * కాబట్టి ఇది ఆపరేటర్‌గా ప్రవర్తించదు, కానీ మీరు దీనికి ఎక్కువ పారామితులను జోడించవచ్చు. - 46. ఇక్కడ, మేము పరామితిని జోడించలేదు, ఇక్కడ మేము ఈ ప్రత్యేకమైన ఓవర్లోడ్ ఆపరేటర్ ఫంక్షన్ పనిచేసేటప్పుడు ఒక కేటాయింపు చేయడం మరియు సందేశాన్ని అందించడం ద్వారా వేరే ప్రవర్తనను చూపించాము, కానీ మీరు ఎక్కువ పారామితిని (పరామితి) పొందవచ్చు మరియు ఆ పారామితులను క్రొత్త సైట్‌కు పంపవచ్చు . - 47. అదేవిధంగా, ఆపరేటర్ తొలగింపును మనం ఇక్కడ మళ్ళీ చేసినట్లుగా ఓవర్‌లోడ్ చేయవచ్చు, మొదట మనం విడుదల చేయవలసిన పాయింటర్ అయిన పరామితిని రద్దు చేయాలి. అవసరం మరియు రకం తిరిగి రావడం శూన్యంగా ఉండాలి ఎందుకంటే; సహజంగానే, తొలగించు ఏ గణనలను తిరిగి తీసుకురాలేదు, కాని డిఫాల్ట్ ఆపరేటర్ చేత వేరే అమలును తొలగించగలము. - 48. కాబట్టి, మీరు ఈ ప్రోగ్రామ్‌ను నడుపుతుంటే, అది కేటాయించిన సమయంలో క్రొత్తదాన్ని ఓవర్‌లోడ్ చేసినట్లు మీరు కనుగొంటారు, అనగా ఇది ప్రత్యేకంగా కౌట్. - 49. అప్పుడు ఇది 30 నుండి ఈ పాయింట్ నుండి విలువను ప్రింట్ చేస్తుంది మరియు చివరకు, ఓవర్లోడ్ (ఓవర్లోడ్) తొలగించిన ఆపరేటర్ నుండి వచ్చే అవుట్పుట్ ఓవర్లోడ్ (ఓవర్లోడ్) తొలగించిన సందేశాన్ని ప్రింట్ చేస్తుంది. - 50. అందువల్ల, క్రొత్త మరియు తొలగింపు రెండూ ఓవర్‌లోడ్ అవుతున్నాయని మరియు మీ ప్రవర్తనను కొనసాగించవచ్చని ఇది మీకు స్పష్టంగా చూపిస్తుంది. - 51. మీరు ఓవర్‌లోడ్‌ను తీసివేసినప్పుడు, సాధారణంగా అదనపు పారామితులతో ఓవర్‌లోడ్ చేయకుండా ప్రయత్నించండి. C ++ లో ఇది తప్పు అని నేను చెప్పలేను, కాని స్థిర సూచన ఉంది, దీనిలో మీరు తొలగించిన ఆపరేటర్‌ను మాత్రమే ఉపయోగించగలరు సున్నా శూన్యత * p కంటే ఎక్కువ పారామితులతో ఓవర్‌లోడ్ చేయబడింది, మరియు మేము ఆ సూచనలను అర్థం చేసుకునే వరకు మీకు అప్పటి వరకు ఉండదు, మీరు అదనపు పారామితులతో తొలగింపును ఓవర్‌లోడ్ చేసినప్పటికీ, మీరు ఉపయోగించలేరు వాటిని, ప్రతిదీ సంకలన లోపంగా చూపబడుతుంది. - 52. కాబట్టి, ఇక్కడ మరొక ఉదాహరణ ఆపరేటర్ అర్రే కొత్త (ఆపరేటర్ [] క్రొత్తది) చూపిస్తాము. - 53. కాబట్టి, ఇది కూడా ఓవర్‌లోడ్. - 54. ఇప్పుడు, నేను ఆపరేటర్ కొత్త శ్రేణిని ఓవర్‌లోడ్ చేయడానికి ప్రయత్నిస్తున్నాను. - 55. కాబట్టి, ఈ ఆపరేటర్ 10 మూలకాల అక్షరాల శ్రేణిని కేటాయించడానికి ఉపయోగించబడుతుంది. - 56. అందువల్ల, సహజంగానే మొదటి పరామితి ఇప్పటికీ సైజు_టిగా మిగిలిపోయింది, ఇది కేటాయించాల్సిన మొత్తం బైట్ల సంఖ్య, అందువల్ల ఇక్కడ మూలకాల సంఖ్యతో కూడా లెక్కించవచ్చు. - 57. కాబట్టి, sizeof char [10], ఇది size_t os పారామితి (పారామితి) గా వెళుతుంది మరియు ఇది కంపైలర్ చేత చేయబడుతుంది. - 58. గమనించదగ్గ విషయం ఏమిటంటే, ఇప్పుడు మీరు రెండవ పరామితిని చూడవచ్చు, ఆపరేటర్ అర్రే (అర్రే) క్రొత్త వాటిలో రెండవ పరామితి కాదు, కానీ ఇప్పుడు మనం దానిని మరొక పరామితితో ఓవర్లోడ్ చేసాము.మరియు రెండవ పారామితి ఉన్న వాక్యనిర్మాణాన్ని చూడండి ఉపయోగించవలసిన. - 59. కాబట్టి, ఇది ఇక్కడ అధికారిక పరామితి మరియు అసలు పరామితి క్రొత్త కీవర్డ్ తర్వాత మరియు మేము డైనమిక్‌గా కేటాయించదలిచిన రకానికి ముందు ఒక జత బ్రాకెట్లలో పేర్కొనబడింది. హుహ్. - 60. కాబట్టి, దీని అర్థం # అక్షర చిహ్నం # setv యొక్క విలువగా పాస్ చేయబడుతుంది మరియు మీరు ఈ కోడ్‌ను పరిశీలిస్తే మేము గందరగోళాన్ని చేస్తున్నట్లు మీకు తెలుస్తుంది. - 61. మొదటి పంక్తిని చూద్దాం, ఇక్కడ మనం ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, వీటిని మనం మాలోక్ కూడా ఉపయోగించవచ్చు, కాని మేము ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, తద్వారా అవసరమైన OS మొత్తాన్ని కేటాయించవచ్చు మరియు మనకు లభిస్తుంది అది శూన్యమైన పాయింటర్‌గా ఆపై ఆ పాయింటర్‌ను ఉపయోగించి ఈ సెట్ పరామితిని ఉపయోగిస్తాము, మేము నిజంగా ఆ బఫర్‌ను setv విలువతో నింపుతాము. - 62. కాబట్టి, మేము T తో ప్రారంభిస్తాము, ఒక అక్షరాన్ని తీసుకొని OS ల సంఖ్యను చాలాసార్లు చూస్తాము ఎందుకంటే OS సంఖ్య బైట్లు ఉన్నాయని మాకు తెలుసు. - 63. ఇవి సి లో ఉన్న ప్రాథమిక మెమ్ ఫంక్షన్లు, మీకు ఈ ఫంక్షన్ గురించి తెలియకపోతే మీ సి ప్రోగ్రామింగ్‌లో విడిగా పరిశీలించమని నేను మీకు సలహా ఇస్తాను. - 64. మీరు దీన్ని ప్రయత్నించవచ్చు, కానీ ఇది ప్రాథమికంగా సూచికను తీసుకుంటుంది. - 65. కాబట్టి, ఇది అలా ఉంది, ఈ బఫర్‌కు T అనేది పాయింటర్, ఇది డైనమిక్‌గా కేటాయించబడుతుంది. - 66. ఇది OS యొక్క స్థానాల సంఖ్యను కలిగి ఉంది మరియు వెళ్లి ఈ సెట్‌ను ఈ స్థితిలో ఉంచుతుంది, వీటిలో ప్రతి ఒక్కటి # అక్షరాలను కలిగి ఉంటుంది. - 67. అందువల్ల, ఇతర ఆపరేటర్‌తో తేడాలు, శ్రేణి క్రొత్తది మరియు ఓవర్‌లోడ్ చేయబడిన శ్రేణి క్రొత్తది.ఇప్పుడు ఇది అక్షర శ్రేణిని కేటాయించగలదు, కానీ ఇది ప్రారంభ సమయంలో ఇచ్చిన అక్షరాన్ని కూడా కేటాయిస్తుంది. - 68. కాబట్టి, ఇది వేరే విధంగా ప్రారంభిస్తుంది. - 69. కాబట్టి, ఈ విధంగా మీకు అవసరమైన ఇతర ఓవర్‌లోడింగ్ గురించి మీరు ఆలోచించవచ్చు మరియు తదనుగుణంగా మీరు మరింత ఎక్కువ పారామితులు మరియు ప్రవర్తనలు మరియు ఆ పారామితులను కలిగి ఉండవచ్చు, మీకు అవసరమైన అదనపు పారామితులు మీరు చూపించే కామాతో వేరు చేయబడిన జాబితాగా పాయింట్ గుండా ఇక్కడ ఉండాలి. - 70. అదేవిధంగా, ఇక్కడ శ్రేణి తొలగింపు కూడా ఓవర్‌లోడ్ చేయబడింది, అయినప్పటికీ మేము దీనికి కొత్త కార్యాచరణను జోడించలేదు. - 71. ఈ ఓవర్‌లోడ్ అర్రే డిలీట్‌లో డిలీట్ ఆపరేటర్ ఫంక్షన్‌ను మేము ఇప్పుడే పిలిచాము. - 72. అందువల్ల, ఈ సందర్భంలో ఆపరేటర్‌ను కొత్తగా ఎలా ఓవర్‌లోడ్ చేయాలో మేము చూపించాము మరియు కొత్త ఆపరేటర్ ఆపరేటర్ అర్రే వంటి ఐటెమ్ ఆపరేటర్ ఆపరేటర్‌ను తిరిగి కేటాయించడం. మొదటి పరామితి size_t అయి ఉండాలి. - 73. ఇది ఎల్లప్పుడూ రిటర్న్ రకంగా ఉంటుంది, ఇది శూన్యమైనది మరియు ఆపరేటర్‌ను మళ్ళీ తొలగించడం వంటి ఆపరేటర్ పరామితిని తొలగించడానికి బహుళ పారామితులను ఉపయోగించవచ్చు, ఓవర్‌లోడ్ సాధారణంగా అదనపు పారామితి కానట్లయితే, ఆ అదనపు పారామితులను ఎలా ఉపయోగించాలో అర్థం చేసుకోకపోతే . - 74. సారాంశంలో, సి ++ లో డైనమిక్ మెమరీ నిర్వహణ కోసం కొత్త మరియు తొలగించే ఆపరేటర్లను పరిచయం చేసాము, ఇక్కడ సికి విరుద్ధంగా మాలోక్, ఉచిత మరియు ఇతర విధులు వాస్తవానికి ప్రామాణిక గ్రంథాలయాలు. భాషా లక్షణాలు కాదు, లక్షణాలు ఉన్నాయి, ఇక్కడ అవి భాషా లక్షణాలు. - 75. వేర్వేరు కొత్త ఆపరేటర్లు మరియు వాటి సంబంధిత డిలీట్ ఆపరేటర్ల మధ్య తేడాలు మరియు వారు నేర్చుకున్న ప్రాథమిక సూత్రం, మనం కేటాయించినా లేదా ఫంక్షన్ చేసినా, కేటాయించిన వాటిని మేము జాగ్రత్తగా అర్థం చేసుకున్నాము. మేము దానిని ఉపయోగిస్తాము సంబంధిత డి-కేటాయింపు ఫంక్షన్ లేదా ఆపరేటర్ - మల్లాక్ ఉచితంగా, ఆపరేటర్ తొలగింపుతో ఆపరేటర్ కొత్తది, ఆపరేటర్ అర్రే, ఆపరేటర్ అర్రేతో) తొలగింపు, ఆపరేటర్ (లు) కొత్తవి మరియు నేను ప్లేస్‌మెంట్‌ను పునరుద్ధరించినట్లయితే, మీకు ఎటువంటి తొలగింపు ఉండకూడదు మరియు లేకపోతే మాకు పూర్తిగా unexpected హించని సమస్యలు వచ్చే అవకాశం ఉంది. - 76. చివరకు ఈ కొత్త ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం మరియు ఆపరేటర్లను ఎలా తొలగించాలో కూడా చూశాము, ఇది ఇప్పుడు ఆపరేటర్‌గా ఉండటం వల్ల ప్రయోజనం. - 77. మరియు ఈ ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం ద్వారా వినియోగదారు కోరుకున్న విధంగా విభిన్న కార్యాచరణను ఎలా నిర్వహించవచ్చో మేము చూపించాము. - 78. + మాడ్యూల్ 10 యొక్క పార్ట్ -2 కు స్వాగతం. + మేము C ++ లో డైనమిక్ మెమరీ మేనేజ్మెంట్ను చర్చిస్తున్నాము. + మేము మాలోక్ (Malloc )మరియు ఫ్రీ (Free) ని ఉపయోగించి సి లో మెమరీ నిర్వహణ డైనమిక్ మెమరీ నిర్వహణ యొక్క శీఘ్ర సమీక్షను చేశాము. + ఆపై మేము C ++ లో డైనమిక్ మెమరీ మ్యానేజ్మెంట్ కోసం ఆపరేటర్ల 3 జతలను పరిచయం చేశాము, ఆపరేటర్ కొత్త మరియు ఆపరేటర్ తొలగించండి. + ఆపరేటర్ క్రొత్త రకాన్ని తీసుకోవచ్చు మరియు ప్రారంభ విలువను కూడా తీసుకోవచ్చు మరియు ఉచిత స్టోర్‌లో డైనమిక్‌గా ఒక మెమరీని కేటాయించవచ్చు, ఇచ్చిన విలువతో ప్రారంభించండి. ఆపై సృష్టించబడిన విలువ యొక్క సూచికను తిరిగి ఇవ్వండి. + అటువంటి విలువల శ్రేణిని ఉచిత దుకాణానికి డైనమిక్‌గా కేటాయించాలని మీరు కోరుకుంటే, మాకు కొత్తగా ఒక ఆపరేటర్ ఉంది, దానిని మేము శ్రేణి అని పిలుస్తాము. రకం, శ్రేణి ఆపరేటర్ కొత్తది మరియు సరిపోలే శ్రేణి ఆపరేటర్ తీసివేయబడుతుంది. + జ్ఞాపకశక్తి మెమరీ మేనేజర్ అని అవసరం లేదని ఇచ్చిన మెమరీ చిరునామాతో ఆపరేటర్‌ను పునరుద్ధరించే అవకాశం ఉందని మేము చివరికి చూపించాము. కేటాయింపు నుండి వస్తుంది, నేను ఇప్పటికే ఒక బఫర్ కలిగి ఉంటాను స్టాక్ ప్రాంతంలోని బఫర్ ప్రాంతంలో, బఫర్ గ్లోబల్ ఏరియాలో ఉండవచ్చు, కాని నేను బఫర్ యొక్క చిరునామాను పాస్ చేసి, ఆ బఫర్ లోపల వస్తువులను సృష్టించగలను. + ఇప్పుడు, మేము ముందుకు వెళ్లి, అలా చేసేటప్పుడు మీరు పాటించాల్సిన కొన్ని పరిమితులను చర్చిస్తాము. + కాబట్టి, మనకు చాలా వేర్వేరు ఆపరేటర్లు మరియు చాలా వేర్వేరు ఆపరేటర్లు ఉన్నందున, మేము కూడా వేర్వేరు ఫంక్షన్లను కేటాయించాలి మరియు మెమరీని డైనమిక్‌గా కేటాయించాలి. కోసం; కేటాయించిన మరియు డి-కేటాయించిన ఏదైనా మెమరీని ఎల్లప్పుడూ కేటాయింపు, డి-కేటాయింపు జత ఉపయోగించాలని మేము గుర్తుంచుకోవాలి. + అందువల్ల, పట్టికలో నేను ఈ జతలను జాబితా చేసాను మరియు మీరు దానిని అనుసరించడానికి చాలా జాగ్రత్తగా ఉండాలి. + మెమోక్ స్థానం మెమోక్ స్థానానికి డైనమిక్‌గా కేటాయించినట్లయితే, అది ఉచితంగా విడుదల చేయాలి. + ఇది ఆపరేటర్ చేత కొత్తగా కేటాయించబడితే, అది ఆపరేటర్ డిలీట్ ద్వారా జారీ చేయబడాలి. + ఇది ఆపరేటర్ అర్రే ద్వారా కేటాయించబడితే, దానిని ఆపరేటర్ (అర్రే) డిలీట్ ద్వారా విడుదల చేయాలి మరియు అది సరిదిద్దబడితే కొత్త ప్లేస్‌మెంట్ జరుగుతుంది. తొలగించాల్సిన అవసరం లేదు. + ఇప్పుడు, ఎలాంటి ఇతర మిశ్రమాలు అస్పష్టతకు మరియు అనిశ్చిత ఫలితాలకు దారి తీస్తాయి. + ఉదాహరణకు, మీరు మాలోడోక్ ద్వారా మెమరీని కేటాయించి, ఆపరేటర్‌ను తొలగించడానికి దాన్ని తీసివేయడానికి ప్రయత్నిస్తే, లేదా ఆపరేటర్ కొత్తగా మెమరీని కేటాయించండి.మరియు ఉచితంగా విడుదల చేయండి లేదా మీరు ఆపరేటర్ అర్రే అర్రే ద్వారా మెమరీని కేటాయించి దాన్ని విడుదల చేయడానికి ప్రయత్నిస్తే సింపుల్ డిలీట్ మరియు కేటాయింపు) మరియు మీరు చేయగలిగే డి-కేటాయింపు యొక్క మిక్స్ కలయిక ఊహించని ఫలితాలకు దారి తీస్తుంది. + అందువల్ల, వాటిని జంటగా ఉపయోగించడానికి ఎల్లప్పుడూ చాలా జాగ్రత్తగా ఉండండి. + మరియు మీరు C ++ లో ప్రోగ్రామింగ్ చేస్తున్నప్పుడు, నా సలహా ఏమిటంటే, మీరు ఎల్లప్పుడూ క్రొత్త మరియు తీసివేసిన ఆపరేటర్లను మాత్రమే ఉపయోగించడానికి ప్రయత్నిస్తారు. + చాలా అసాధారణమైన సందర్భాల్లో వాటి ఉపయోగం ఖచ్చితంగా అవసరం తప్ప మాలోక్ మరియు ఫ్రీని ఉపయోగించకపోవడమే మంచిది. + కానీ, ఒక సాధారణ ప్రోగ్రామ్‌లో మీకు మల్లాక్ మరియు ఫ్రీ అవసరం లేదు, మీరు దీన్ని ఎల్లప్పుడూ ఆపరేటర్ (ఆపరేటర్) కొత్త లేదా ఆపరేటర్ ఆపరేటర్ అర్రే (అర్రే) కొత్త మరియు సంబంధిత డిలీట్ (డిలీట్) ఫంక్షన్‌ను ఉపయోగించవచ్చు. + అందువల్ల, ఎల్లప్పుడూ ఆపరేటర్లను తొలగించండి, ఎల్లప్పుడూ దీన్ని చేయడానికి ప్రయత్నించండి మరియు తొలగించబడిన ఆపరేటర్ (ఆపరేటర్) ను NULL పాయింటర్ (పాయింటర్) కు పంపించే అవకాశం కూడా ఉంది. + కాబట్టి, మీరు తనిఖీ చేయవలసిన అవసరం లేదు, మీరు మెమరీని విడుదల చేయడానికి ప్రయత్నిస్తుంటే, ఆ మెమరీ వాస్తవానికి ఉనికిలో ఉంది. + ఆ మెమరీ NULL అయితే, పాయింటర్ కూడా శూన్యంగా ఉంటే, తొలగించు ఇప్పటికీ సురక్షితంగా పనిచేస్తుంది. + కాబట్టి, మీరు ఈ మెమరీ నిర్వహణ కోర్సు చేసినప్పుడు, దయచేసి ఈ అంశాలను గుర్తుంచుకోండి. + తరువాత, సి ++ పరంగా పూర్తిగా క్రొత్తగా ఉన్న కొన్ని విషయాలను పరిశీలిస్తాము, సి లో సంబంధిత భావన ఏదీ లేదు. + ఆపరేటర్లను ఓవర్‌లోడ్ చేయవచ్చని మేము చూశాము మరియు కేటాయింపు ఆపరేటర్లు కొత్తవారని మరియు డి-కేటాయింపు ఆపరేటర్లు వాస్తవానికి ఆపరేటర్లేనని, ఆపరేటర్లు (ఆపరేటర్) ఇలాంటి విధులను కలిగి ఉంటారు మరియు అందువల్ల వారు కూడా ఓవర్‌లోడ్ చేయవచ్చు. + కాబట్టి, ఈ మొదటి ఇక్కడ నేను కొత్త ఆపరేటర్, సింపుల్ ఆపరేటర్ ఆపరేటర్ యొక్క ఉదాహరణను ఓవర్లోడ్ చేస్తున్నాను. + కాబట్టి, మీరు ఆపరేటర్ క్రొత్త నిర్వచనాన్ని పరిశీలిస్తే, పరామితిని తీసుకునే పరామితి సైజు_టి పరామితి అని మీరు చూస్తారు. + ఇప్పుడు, ఇది నిజంగా ఆశించేది మరియు దాని గురించి ఆలోచిస్తుంది. + కాబట్టి, ఈ కాల్ వాస్తవానికి ఈ ఫంక్షన్‌ను అమలు చేస్తుంది. + కాబట్టి, మీరు కాల్‌ని చూస్తే, కాల్‌కు పరామితి లేదు - కాల్‌కు కొత్త పూర్ణాంకం (పూర్ణాంకానికి) ఉంది. + కాబట్టి, కొత్త రకం పూర్ణాంకానికి ఆపరేటర్‌ను వర్తింపజేయమని కాల్ చెబుతుంటే, అసలు ఆపరేటర్ ఫంక్షన్ ఒక సైజు_టిని ఆశిస్తుంది, సైజు_టి సంతకం చేయని పూర్ణాంకం తప్ప మరొకటి కాదు. + కాబట్టి, int C అనేది ప్రామాణిక లైబ్రరీ size_t typedef, ఇది సంతకం చేయని పూర్ణాంకంతో మారుపేరు. + అందువల్ల, దాని పరిమాణం అండర్ స్కోర్ t (size_t) అని వ్రాసినప్పుడల్లా, మీరు సంతకం చేయని పూర్ణాంకం అంటే మరియు అది ఏదో యొక్క పరిమాణం అని మీరు తెలుసుకుంటారు, చాలా తరచుగా ఇది కొన్ని నిర్మాణం యొక్క బైట్ల సంఖ్య మరియు ఇలా ఉంటుంది. + అందువల్ల, ఆపరేటర్ ఫంక్షన్ కోసం n పరామితి (పరామితి) తప్పనిసరిగా int (sizeof (int)) యొక్క పరిమాణం అని size_t తప్పనిసరిగా ఆశిస్తుంది. + ఇప్పుడు, మీరు ఆ పరిమాణాన్ని పేర్కొనలేదు. + కాబట్టి, ట్రిక్ కంపైలర్ చేత చేయబడుతుంది. + మీకు పూర్ణాంకం (పూర్ణాంకానికి) కావాలని తెలుసుకున్న కంపైలర్ వాస్తవానికి మార్చబడుతుంది; మేము ఆ పూర్ణాంక పరిమాణాన్ని లెక్కించి దానిని పారామితి n గా పాస్ చేస్తాము. + అందువల్ల, మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు, అది సైజు_టి n మొదటి పరామితి అయి ఉండాలి, అది ఆపరేటర్ కొత్తగా పనిచేయదని పేర్కొనాలి. + ఆపై మేము ఏమి చేసాము, మేము ఈ ఆపరేటర్ కోసం క్రొత్త ఎంటిటీని అందించాము, ఓవర్లోడ్ ఆపరేటర్ యొక్క ఈ ప్రత్యేకమైన సంస్కరణ ఉపయోగించబడుతుందని నిర్ధారించుకోవడానికి ఇక్కడ నేను ఒక సందేశాన్ని ఇచ్చాను గోయింగ్, అప్పుడు నేను స్థానిక పాయింటర్ వేరియబుల్‌ను సున్నాకి తరలిస్తాను, అప్పుడు అంతర్గతంగా నేను నిజంగా మాలోక్ చేస్తున్నాను. + కాబట్టి, ఈ ఆపరేటర్ క్రొత్తది అని అనిపిస్తుంది, కాని అంతర్గతంగా నేను ఒక పూర్ణాంకానికి (పూర్ణాంకానికి) పరిమాణంలో ముడి మొత్తాన్ని కేటాయించటానికి ఒక మాలోక్‌ను ఉపయోగిస్తున్నాను, ఇది ఇప్పుడు n, ఆపై మనం ఆ పాయింటర్‌ను తిరిగి ఇవ్వాలి ఎందుకంటే పాయింటర్ తిరిగి ఇవ్వాలి. + క్రొత్త ఆపరేటర్ వాస్తవానికి మీకు అవసరమైన రకం యొక్క సూచికను తిరిగి ఇస్తారని నేను ఇప్పటికే వివరించాను, అది మీకు పూర్ణాంక (పూర్ణాంక) నక్షత్రాన్ని తిరిగి ఇస్తుంది. + ఈ సందర్భంలో, దీన్ని చేయడానికి కాస్టింగ్ అవసరం లేదు, ఇది మళ్ళీ కంపైలర్ చేసే ఒక ఉపాయం. + కాబట్టి, కాల్ సమయంలో కంపైలర్ రకం నుండి, పరిమాణాన్ని లెక్కించి తగిన విధంగా పాస్ చేయండి. తిరిగి వచ్చే సమయంలో కంపైలర్ తగిన రకమైన పాయింటర్‌ను మారుస్తుంది మరియు అవసరమైన పూర్ణాంకానికి (పాయింటర్) రకాన్ని పాయింటర్ (పాయింటర్) తిరిగి ఇస్తుంది, కానీ (ఆపరేటర్) క్రొత్త ఫంక్షన్‌ను వ్రాయడం ద్వారా మరియు మీరు ఓవర్‌లోడ్ చేయగలిగే వాటికి నిర్వచనం రాయడం ద్వారా. + కాబట్టి, క్రొత్త ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చని మీరు చూడవచ్చు, మొదటి పరామితి (పరామితి) పరిమాణం_టి అయి ఉండాలి, దీనిలో కంపైలర్ రకం పరిమాణాన్ని చొప్పిస్తుంది. + మీరు రిటర్న్ రకాన్ని శూన్యంగా మార్చలేరు * కాబట్టి ఇది ఆపరేటర్‌గా ప్రవర్తించదు, కానీ మీరు దీనికి ఎక్కువ పారామితులను జోడించవచ్చు. + ఇక్కడ, మేము పరామితిని జోడించలేదు, ఇక్కడ మేము ఈ ప్రత్యేకమైన ఓవర్లోడ్ ఆపరేటర్ ఫంక్షన్ పనిచేసేటప్పుడు ఒక కేటాయింపు చేయడం మరియు సందేశాన్ని అందించడం ద్వారా వేరే ప్రవర్తనను చూపించాము, కానీ మీరు ఎక్కువ పారామితిని (పరామితి) పొందవచ్చు మరియు ఆ పారామితులను క్రొత్త సైట్‌కు పంపవచ్చు . + అదేవిధంగా, ఆపరేటర్ తొలగింపును మనం ఇక్కడ మళ్ళీ చేసినట్లుగా ఓవర్‌లోడ్ చేయవచ్చు, మొదట మనం విడుదల చేయవలసిన పాయింటర్ అయిన పరామితిని రద్దు చేయాలి. అవసరం మరియు రకం తిరిగి రావడం శూన్యంగా ఉండాలి ఎందుకంటే; సహజంగానే, తొలగించు ఏ గణనలను తిరిగి తీసుకురాలేదు, కాని డిఫాల్ట్ ఆపరేటర్ చేత వేరే అమలును తొలగించగలము. + కాబట్టి, మీరు ఈ ప్రోగ్రామ్‌ను నడుపుతుంటే, అది కేటాయించిన సమయంలో క్రొత్తదాన్ని ఓవర్‌లోడ్ చేసినట్లు మీరు కనుగొంటారు, అనగా ఇది ప్రత్యేకంగా కౌట్. + అప్పుడు ఇది 30 నుండి ఈ పాయింట్ నుండి విలువను ప్రింట్ చేస్తుంది మరియు చివరకు, ఓవర్లోడ్ (ఓవర్లోడ్) తొలగించిన ఆపరేటర్ నుండి వచ్చే అవుట్పుట్ ఓవర్లోడ్ (ఓవర్లోడ్) తొలగించిన సందేశాన్ని ప్రింట్ చేస్తుంది. + అందువల్ల, క్రొత్త మరియు తొలగింపు రెండూ ఓవర్‌లోడ్ అవుతున్నాయని మరియు మీ ప్రవర్తనను కొనసాగించవచ్చని ఇది మీకు స్పష్టంగా చూపిస్తుంది. + మీరు ఓవర్‌లోడ్‌ను తీసివేసినప్పుడు, సాధారణంగా అదనపు పారామితులతో ఓవర్‌లోడ్ చేయకుండా ప్రయత్నించండి. C ++ లో ఇది తప్పు అని నేను చెప్పలేను, కాని స్థిర సూచన ఉంది, దీనిలో మీరు తొలగించిన ఆపరేటర్‌ను మాత్రమే ఉపయోగించగలరు సున్నా శూన్యత * p కంటే ఎక్కువ పారామితులతో ఓవర్‌లోడ్ చేయబడింది, మరియు మేము ఆ సూచనలను అర్థం చేసుకునే వరకు మీకు అప్పటి వరకు ఉండదు, మీరు అదనపు పారామితులతో తొలగింపును ఓవర్‌లోడ్ చేసినప్పటికీ, మీరు ఉపయోగించలేరు వాటిని, ప్రతిదీ సంకలన లోపంగా చూపబడుతుంది. + కాబట్టి, ఇక్కడ మరొక ఉదాహరణ ఆపరేటర్ అర్రే కొత్త (ఆపరేటర్ [] క్రొత్తది) చూపిస్తాము. + కాబట్టి, ఇది కూడా ఓవర్‌లోడ్. + ఇప్పుడు, నేను ఆపరేటర్ కొత్త శ్రేణిని ఓవర్‌లోడ్ చేయడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, ఈ ఆపరేటర్ 10 మూలకాల అక్షరాల శ్రేణిని కేటాయించడానికి ఉపయోగించబడుతుంది. + అందువల్ల, సహజంగానే మొదటి పరామితి ఇప్పటికీ సైజు_టిగా మిగిలిపోయింది, ఇది కేటాయించాల్సిన మొత్తం బైట్ల సంఖ్య, అందువల్ల ఇక్కడ మూలకాల సంఖ్యతో కూడా లెక్కించవచ్చు. + కాబట్టి, sizeof char [10], ఇది size_t os పారామితి (పారామితి) గా వెళుతుంది మరియు ఇది కంపైలర్ చేత చేయబడుతుంది. + గమనించదగ్గ విషయం ఏమిటంటే, ఇప్పుడు మీరు రెండవ పరామితిని చూడవచ్చు, ఆపరేటర్ అర్రే (అర్రే) క్రొత్త వాటిలో రెండవ పరామితి కాదు, కానీ ఇప్పుడు మనం దానిని మరొక పరామితితో ఓవర్లోడ్ చేసాము.మరియు రెండవ పారామితి ఉన్న వాక్యనిర్మాణాన్ని చూడండి ఉపయోగించవలసిన. + కాబట్టి, ఇది ఇక్కడ అధికారిక పరామితి మరియు అసలు పరామితి క్రొత్త కీవర్డ్ తర్వాత మరియు మేము డైనమిక్‌గా కేటాయించదలిచిన రకానికి ముందు ఒక జత బ్రాకెట్లలో పేర్కొనబడింది. హుహ్. + కాబట్టి, దీని అర్థం # అక్షర చిహ్నం # setv యొక్క విలువగా పాస్ చేయబడుతుంది మరియు మీరు ఈ కోడ్‌ను పరిశీలిస్తే మేము గందరగోళాన్ని చేస్తున్నట్లు మీకు తెలుస్తుంది. + మొదటి పంక్తిని చూద్దాం, ఇక్కడ మనం ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, వీటిని మనం మాలోక్ కూడా ఉపయోగించవచ్చు, కాని మేము ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, తద్వారా అవసరమైన OS మొత్తాన్ని కేటాయించవచ్చు మరియు మనకు లభిస్తుంది అది శూన్యమైన పాయింటర్‌గా ఆపై ఆ పాయింటర్‌ను ఉపయోగించి ఈ సెట్ పరామితిని ఉపయోగిస్తాము, మేము నిజంగా ఆ బఫర్‌ను setv విలువతో నింపుతాము. + కాబట్టి, మేము T తో ప్రారంభిస్తాము, ఒక అక్షరాన్ని తీసుకొని OS ల సంఖ్యను చాలాసార్లు చూస్తాము ఎందుకంటే OS సంఖ్య బైట్లు ఉన్నాయని మాకు తెలుసు. + ఇవి సి లో ఉన్న ప్రాథమిక మెమ్ ఫంక్షన్లు, మీకు ఈ ఫంక్షన్ గురించి తెలియకపోతే మీ సి ప్రోగ్రామింగ్‌లో విడిగా పరిశీలించమని నేను మీకు సలహా ఇస్తాను. + మీరు దీన్ని ప్రయత్నించవచ్చు, కానీ ఇది ప్రాథమికంగా సూచికను తీసుకుంటుంది. + కాబట్టి, ఇది అలా ఉంది, ఈ బఫర్‌కు T అనేది పాయింటర్, ఇది డైనమిక్‌గా కేటాయించబడుతుంది. + ఇది OS యొక్క స్థానాల సంఖ్యను కలిగి ఉంది మరియు వెళ్లి ఈ సెట్‌ను ఈ స్థితిలో ఉంచుతుంది, వీటిలో ప్రతి ఒక్కటి # అక్షరాలను కలిగి ఉంటుంది. + అందువల్ల, ఇతర ఆపరేటర్‌తో తేడాలు, శ్రేణి క్రొత్తది మరియు ఓవర్‌లోడ్ చేయబడిన శ్రేణి క్రొత్తది.ఇప్పుడు ఇది అక్షర శ్రేణిని కేటాయించగలదు, కానీ ఇది ప్రారంభ సమయంలో ఇచ్చిన అక్షరాన్ని కూడా కేటాయిస్తుంది. + కాబట్టి, ఇది వేరే విధంగా ప్రారంభిస్తుంది. + కాబట్టి, ఈ విధంగా మీకు అవసరమైన ఇతర ఓవర్‌లోడింగ్ గురించి మీరు ఆలోచించవచ్చు మరియు తదనుగుణంగా మీరు మరింత ఎక్కువ పారామితులు మరియు ప్రవర్తనలు మరియు ఆ పారామితులను కలిగి ఉండవచ్చు, మీకు అవసరమైన అదనపు పారామితులు మీరు చూపించే కామాతో వేరు చేయబడిన జాబితాగా పాయింట్ గుండా ఇక్కడ ఉండాలి. + అదేవిధంగా, ఇక్కడ శ్రేణి తొలగింపు కూడా ఓవర్‌లోడ్ చేయబడింది, అయినప్పటికీ మేము దీనికి కొత్త కార్యాచరణను జోడించలేదు. + ఈ ఓవర్‌లోడ్ అర్రే డిలీట్‌లో డిలీట్ ఆపరేటర్ ఫంక్షన్‌ను మేము ఇప్పుడే పిలిచాము. + అందువల్ల, ఈ సందర్భంలో ఆపరేటర్‌ను కొత్తగా ఎలా ఓవర్‌లోడ్ చేయాలో మేము చూపించాము మరియు కొత్త ఆపరేటర్ ఆపరేటర్ అర్రే వంటి ఐటెమ్ ఆపరేటర్ ఆపరేటర్‌ను తిరిగి కేటాయించడం. మొదటి పరామితి size_t అయి ఉండాలి. + ఇది ఎల్లప్పుడూ రిటర్న్ రకంగా ఉంటుంది, ఇది శూన్యమైనది మరియు ఆపరేటర్‌ను మళ్ళీ తొలగించడం వంటి ఆపరేటర్ పరామితిని తొలగించడానికి బహుళ పారామితులను ఉపయోగించవచ్చు, ఓవర్‌లోడ్ సాధారణంగా అదనపు పారామితి కానట్లయితే, ఆ అదనపు పారామితులను ఎలా ఉపయోగించాలో అర్థం చేసుకోకపోతే . + సారాంశంలో, సి ++ లో డైనమిక్ మెమరీ నిర్వహణ కోసం కొత్త మరియు తొలగించే ఆపరేటర్లను పరిచయం చేసాము, ఇక్కడ సికి విరుద్ధంగా మాలోక్, ఉచిత మరియు ఇతర విధులు వాస్తవానికి ప్రామాణిక గ్రంథాలయాలు. భాషా లక్షణాలు కాదు, లక్షణాలు ఉన్నాయి, ఇక్కడ అవి భాషా లక్షణాలు. + వేర్వేరు కొత్త ఆపరేటర్లు మరియు వాటి సంబంధిత డిలీట్ ఆపరేటర్ల మధ్య తేడాలు మరియు వారు నేర్చుకున్న ప్రాథమిక సూత్రం, మనం కేటాయించినా లేదా ఫంక్షన్ చేసినా, కేటాయించిన వాటిని మేము జాగ్రత్తగా అర్థం చేసుకున్నాము. మేము దానిని ఉపయోగిస్తాము సంబంధిత డి-కేటాయింపు ఫంక్షన్ లేదా ఆపరేటర్ - మల్లాక్ ఉచితంగా, ఆపరేటర్ తొలగింపుతో ఆపరేటర్ కొత్తది, ఆపరేటర్ అర్రే, ఆపరేటర్ అర్రేతో) తొలగింపు, ఆపరేటర్ (లు) కొత్తవి మరియు నేను ప్లేస్‌మెంట్‌ను పునరుద్ధరించినట్లయితే, మీకు ఎటువంటి తొలగింపు ఉండకూడదు మరియు లేకపోతే మాకు పూర్తిగా unexpected హించని సమస్యలు వచ్చే అవకాశం ఉంది. + చివరకు ఈ కొత్త ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం మరియు ఆపరేటర్లను ఎలా తొలగించాలో కూడా చూశాము, ఇది ఇప్పుడు ఆపరేటర్‌గా ఉండటం వల్ల ప్రయోజనం. + మరియు ఈ ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం ద్వారా వినియోగదారు కోరుకున్న విధంగా విభిన్న కార్యాచరణను ఎలా నిర్వహించవచ్చో మేము చూపించాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/07. ProgramminginCplusplus_Programs with IO and Loop (Lecture 04)-1sibb2PGR-Q.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/07. ProgramminginCplusplus_Programs with IO and Loop (Lecture 04)-1sibb2PGR-Q.txt index e84a262e26643439590796f1e1130864ff6489f4..2aaf40e1398e9486609371cf6cfa7e2dca614cec 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/07. ProgramminginCplusplus_Programs with IO and Loop (Lecture 04)-1sibb2PGR-Q.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/07. ProgramminginCplusplus_Programs with IO and Loop (Lecture 04)-1sibb2PGR-Q.txt @@ -1,131 +1,131 @@ - 1. మనము  ఇప్పుడు C ++ కోర్సులో మాడ్యూల్ 2. మాడ్యూల్ను2 గురించి చర్చిస్తాము, - 2. మొదటి మాడ్యూల్ లో, మనము  C ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క క్లుప్త సారాంశం చూసాము . - 3. మనము  భావనలను పునరావృతం చేసాము, C లో ఉన్న సాధారణ అంశాలు మరియు మనము నెమ్మదిగా సి ++ తో తెలుసుకునేలా సిద్దపడ్డాము . - 4. ఈ మాడ్యూల్ మరియు తరువాతి 3 మాడ్యూళ్ళలో, మేము వివిధ ప్రోగ్రామింగ్ ఉదాహరణల గురించి మాట్లాడుతాము మరియు సి ++ లో, ఈ ప్రోగ్రామ్ మరింత సమర్థవంతంగా మరియు తరచుగా మెరుగ్గా ఎలా చేయవచ్చో చూపిస్తాము. సి లో అవసరమయ్యే దానికంటే మంచి మార్గంలో వ్రాయవచ్చు. - 5. 2, సి మరియు సి ++ ప్రోగ్రామ్‌ల మధ్య ప్రాథమిక తేడాలను అర్థం చేసుకోవడంతో ప్రారంభిస్తాము. - 6. మరియు మేము ఈ మాడ్యూల్‌తో పాటు ఈ క్రింది 3 మాడ్యూళ్ళకు వెళ్లేటప్పుడు సి ++ లో ప్రోగ్రామింగ్ సౌలభ్యాన్ని అభినందించడానికి ప్రయత్నిస్తాము. - 7. మేము ప్రధానంగా IO వేరియబుల్స్, అంకగణిత లైబ్రరీ ప్రామాణిక లైబ్రరీ హెడర్స్, లూప్ మరియు బూల్ రకం ఫీల్డ్‌ల గురించి విరుద్ధంగా మాట్లాడుతాము. - 8. కాబట్టి, మేము "హలో వరల్డ్" ను ప్రింట్ చేయవలసిన సి యొక్క ప్రారంభ ప్రోగ్రామ్తో ప్రారంభిస్తాము. - 9. కాబట్టి, ఇక్కడ రెండు నిలువు వరుసలలో, "హలో వరల్డ్" ను సి తో పాటు సి ++ లో ప్రింట్ చేసే ప్రోగ్రామ్ ను చూపిస్తాము. - 10. మీరు కొన్ని ప్రాథమిక తేడాలను గమనించవచ్చు, మొదట IO హెడర్ మార్చబడింది. - 11. C లో, ఇది stdio.h; C ++ లో ఇది IO స్ట్రీమ్ అవుతుంది. - 12. C లో, మేము printf చేసినప్పుడు, మేము కన్సోల్‌కు వ్రాస్తాము; మేము కన్సోల్‌లో ప్రింట్ చేస్తాము. - 13. ఇక్కడ, మేము ఒక ఆపరేటర్‌ని ఉపయోగిస్తాము, స్ట్రీమింగ్ ఆపరేటర్‌ను నియంత్రించడానికి ఒక జత ఎడమ బాణం ఆపరేటర్లు అవుట్‌పుట్‌ను ప్రసారం చేస్తారు మరియు కన్సోల్ C లోని ఫైల్ స్టడౌట్, ఇది ఇప్పుడు C ++ లో ఒక కౌట్ స్ట్రీమ్. - 14. మేము std అని పిలువబడే కౌట్ ముందు ఉపసర్గను ఉపయోగిస్తున్నామని మరియు std :: తో వ్రాసినట్లు గమనించండి. - 15. మేము ఈ సంజ్ఞామానాన్ని త్వరగా ఉపయోగించడం అలవాటు చేసుకుంటాము, ఈ STD ని నేమ్‌స్పేస్ అంటారు; ప్రామాణిక నేమ్‌స్పేస్. - 16. కాబట్టి, C ++ లోని ఏదైనా ప్రామాణిక లైబ్రరీ గుర్తు ఈ ప్రత్యేక ఉపసర్గ std తో ప్రిఫిక్స్ చేయబడుతుంది. - 17. ఇప్పుడు, ఈ సరళమైన 'హలో వరల్డ్' ప్రోగ్రామ్‌లో గమనించదగ్గ మరో ముఖ్యమైన విషయం ఏమిటంటే, మనం ప్రింట్ ఎఫ్ చేసినప్పుడు, మనకు ఏకపక్ష సంఖ్యలు ఉండవచ్చు, ఈ వైవిధ్య ఫంక్షన్‌ను (ఫంక్షన్) అంటారు. - 18. కాబట్టి, ఇక్కడ 'హలో వరల్డ్' ఉదాహరణలో మనం ప్రింట్ ఎఫ్ యొక్క రెండు ఉపయోగాలను చూస్తున్నాము, రెండూ పారామితి, ఫార్మాట్ స్ట్రీమ్ ఉపయోగించి. - 19. వాస్తవానికి, మాకు ఇక్కడ ఫార్మాట్ లేదు; ఇది నిరంతర స్ట్రింగ్ ముద్రించబడుతోంది. - 20. దీనికి విరుద్ధంగా, సి ++ లోని అవుట్పుట్ స్ట్రీమింగ్ ఆపరేటర్‌గా బైనరీ ఆపరేటర్‌గా మెటీరియల్ రూపంలో ఎడమ వైపు ప్రింట్ చేసి కుడి వైపున ప్రింట్ చేస్తుంది మరియు ఇది ఈ రూపంలో ప్రింట్ చేస్తుంది. - 21. అందువల్ల, మేము మొదటి అవుట్పుట్ లైన్, std :: cout అవుట్పుట్ ఆపరేటర్ మరియు సందేహ కోట్లలో చూస్తే, మనకు స్థిరమైన స్ట్రింగ్ ఉంది. దీని అర్థం C ++ స్ట్రింగ్ (స్ట్రింగ్) హలో వరల్డ్ కన్సోల్కు ప్రసారం చేయబడుతుంది. - 22. C లో తప్పించుకున్న కొత్త క్యూ క్యారెక్టర్ స్లాష్ n అని కూడా గమనించండి. - 23. C ++ లో కూడా దీనిని ఉపయోగించవచ్చు, కాని ఎండల్ అని పిలువబడే కొత్త పంక్తికి వెళ్ళడానికి మరొక మార్గం ఉంది, ఇది ఎండ్ లైన్ యొక్క సంక్షిప్తీకరణ మరియు దానిపై మేము తరువాత మరింత తెలుసుకుంటాము. - 24. ఇది, అండాల్ ప్రాథమికంగా ఒక ప్రవాహం. - 25. కాబట్టి, ఈ దశలో మేము C ++ ప్రోగ్రామ్‌లో సిస్టమ్ కౌట్ మరియు అవుట్పుట్ ఆపరేటర్ ఉపయోగించి ప్రాథమిక అవుట్పుట్ చేయవచ్చని చూడటానికి ప్రయత్నిస్తున్నాము. - 26. మేము తరువాతి ప్రోగ్రామ్‌కు వెళ్తాము, ఇక్కడ మేము చాలా సరళమైన అంకగణిత ప్రోగ్రామ్‌ను వివరిస్తున్నాము, ఇందులో a మరియు b అనే రెండు వేరియబుల్స్ ఉంటాయి మరియు వాటిని మన మొత్తాన్ని ఏర్పరుస్తాయి. - 27. ఈ వేరియబుల్స్ యొక్క విలువలు C లో std అయిన కన్సోల్ నుండి చదవబడతాయి మరియు మేము అన్ని ఫార్మాట్ స్ట్రింగ్ (స్కాన్ఫ్) లో మీకు తెలిసిన స్కాన్ఫ్ ఫంక్షన్‌ను ఉపయోగిస్తాము, ఉదాహరణకు, printf అనేది ఒక వైవిధ్య ఫంక్షన్. పారామితుల వేరియబుల్ సంఖ్యలు. - 28. ఇక్కడ, మేము 3 పారామితులను తీసుకుంటున్న స్కాన్ఫ్ యొక్క రూపాన్ని చూస్తాము; వరుసగా A మరియు B యొక్క స్ట్రింగ్ మరియు చిరునామాలను ఫార్మాట్ చేయండి. - 29. దీనికి విరుద్ధంగా, సి ++ ప్రోగ్రామ్‌లో ఇన్పుట్ స్ట్రీమ్ నుండి స్ట్రీమింగ్ కోసం ఉపయోగించే మరొక ఆపరేటర్‌ను మేము పరిచయం చేస్తున్నాము. - 30. కాబట్టి, దీనిని ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ అని పిలుస్తారు, మళ్ళీ ఒక జత బాణాలు, కానీ బాణం ఇప్పుడు ఎడమ నుండి కుడికి దర్శకత్వం వహించబడుతుంది. - 31. కాబట్టి, మీరు ఇన్పుట్ ఆపరేటర్లో std :: cin ను చూస్తే, C చదవబడుతుందని అర్థం. - 32. ఆసక్తికరమైన విషయం ఏమిటంటే, ఈ ఆకృతిలో C ++ లో మీరు ఇక్కడ చూపిస్తున్నట్లుగా మీరు బహుళ ఆపరేటర్లను ఒక్కొక్కటిగా అనేక వేరియబుల్స్కు చేర్చవచ్చు. - 33. అందువల్ల, మేము ప్రామాణిక ఇన్పుట్ నుండి మళ్ళీ ప్రసారం చేసిన తరువాత, ప్రామాణిక ఇన్పుట్ నుండి బి స్ట్రీమ్ చేయండి. - 34. కాబట్టి, ఈ సంజ్ఞామానం అంటే కన్సోల్ యొక్క ప్రామాణిక ఇన్పుట్ నుండి మొదటిది మరియు తరువాత వేరియబుల్ B చదవబడుతుంది. - 35. ఈ వేరియబుల్స్ ప్రామాణిక స్ట్రీమింగ్ అవుట్పుట్ యొక్క అవుట్పుట్ (అవుట్పుట్) ఎలా ఉన్నాయో కూడా మేము చూపిస్తాము, ఇది సి ప్రోగ్రామ్ (ప్రోగ్రామ్) గా కౌట్ లేదా స్టడ్ అవుట్ అవుతుంది. - 36. రెండు ప్రధాన తేడాలు ఉన్నాయి, మీరు ఇక్కడ గమనించాలి, ఒకటి మేము C ++ లో ఫార్మాట్ స్ట్రింగ్ ఉపయోగించాల్సిన అవసరం లేదు. - 37. C లో మనకు తెలుసు, నేను ఒక పూర్ణాంక వేరియబుల్‌ను ప్రింట్ చేయాలనుకుంటే, అప్పుడు వేరియబుల్ శాతం d ఫార్మాట్‌లో ముద్రించబడాలని ఫార్మాట్ స్ట్రింగ్‌లో పేర్కొనాలి, ఇది ఒక పూర్ణాంకం C + లో ముద్రించవలసిన డేటా రకం అని సూచిస్తుంది. +, వేరియబుల్‌కు విరుద్ధంగా ఫార్మాట్‌తో పేర్కొనవలసిన అవసరం లేదు, కంపైలర్ ఇది పూర్ణాంక వేరియబుల్ అని తెలుసుకోవడం స్వయంచాలకంగా దాన్ని ప్రింట్ చేయడానికి ఫార్మాట్‌ను నిర్ణయిస్తుంది. అవసరం మరియు సరిగ్గా ప్రింట్ చేయండి. - 38. ఈ రెండు ప్రోగ్రామ్‌ల మధ్య మీరు గమనించవలసిన మరో ప్రధాన వ్యత్యాసం ఏమిటంటే, మేము స్కాన్ చేసినప్పుడు, మేము `std in 'నుండి విలువను చదువుతున్నాము మరియు ఆ విలువను చదివిన తరువాత వేరియబుల్ యొక్క అసలు విలువను విలువకు మార్చండి వినియోగదారు ఇన్పుట్ అవుతుంది. - 39. మేము సి యొక్క చిరునామాను పాస్ చేయాలి ఎందుకంటే ఇది సి తో సుపరిచితం. - 40. ఈ చిరునామా వాడుతున్న యంత్రాంగం చేసిన కాల్‌కు సమానంగా ఉంటుంది, ఇక్కడ మేము వేరియబుల్ విలువను స్కాన్ఫ్ పరామితి విలువ నుండి కాల్ పరామితిగా పాస్ చేస్తాము. - 41. దీనికి విరుద్ధంగా, మేము C ++ లో ఇన్పుట్ స్ట్రీమ్ నుండి చదువుతున్నప్పుడు, పాస్ చేయడానికి మాకు చిరునామా అవసరం లేదు; మేము వేరియబుల్స్ మాత్రమే పేర్కొనగలము మరియు కంపైలర్ మిగిలిన వాటిని చూసుకుంటుంది. - 42. మేము సి ++ ఆపరేటర్లు మరియు కాల్ మెకానిజమ్‌ల గురించి మరింత తెలుసుకున్నప్పుడు, ఇది వాస్తవంగా ఎలా పనిచేస్తుందో మేము అర్థం చేసుకుంటాము, అయితే ఇది ఖచ్చితంగా ఫార్మాట్ స్ట్రింగ్‌తో పాటు ప్రింట్ ఎఫ్ లేదా చిరునామాలను కూడా చదివేలా చేస్తుంది. - 43. C ++ లో, స్కాన్ఫ్ కోసం వేరియబుల్ కూడా అదే విధంగా చేయవచ్చు. - 44. సి ప్రోగ్రామ్‌లో, వేరియబుల్ మొత్తాన్ని డిక్లరేషన్ పరంగా మీరు గమనించగల మరొక చిన్న వ్యత్యాసం, వేరియబుల్ బి మరియు బి తరువాత వేరియబుల్ ఎగువన ప్రకటించబడుతుంది, ఎందుకంటే సి 89 పేర్కొన్న అసలు సి లేదా సి యొక్క అసలు వెర్షన్ వేరియబుల్స్ యొక్క అన్ని డిక్లరేషన్లు ప్రోగ్రామ్‌లోని మొదటి ఎక్జిక్యూటబుల్ స్టేట్‌మెంట్‌కు ముందు ఉండాలి. - 45. సి ప్రోగ్రామ్‌లో, మొదటి ఎక్జిక్యూటబుల్‌లో మనం ఇక్కడ చూస్తున్నది ప్రింట్ ఎఫ్ ఫంక్షన్ కాల్. - 46. కాబట్టి, అన్ని వేరియబుల్స్ దీనికి ముందు ప్రకటించబడాలి. - 47. ఈ పరిమితి C ++ లో లేదు. - 48. కాబట్టి, మేము పేరును ప్రారంభించేటప్పుడు, మనం వేరియబుల్ ను డిక్లేర్ చేయవచ్చు మరియు మనం పేరును ప్రారంభించాల్సిన అవసరం వచ్చినప్పుడు, మనకు A మరియు B వేరియబుల్స్ అవసరం, ఎందుకంటే చదవడం అవసరం, కానీ వాటి మొత్తాన్ని మనం చేయవలసి వచ్చినప్పుడు, మేము కూడా మొత్తాన్ని ప్రకటించగలము . - 49. వేరియబుల్ ఉపయోగించండి, ఆపై ప్లస్ బి మరియు మొత్తం విలువను ప్రారంభించడానికి మొత్తాన్ని చొప్పించండి. - 50. వాస్తవానికి, C యొక్క తరువాతి సంస్కరణ C99 అని గమనించాలి, ఇది మీకు వేరియబుల్ అవసరమైనప్పుడు వేరియబుల్స్ యొక్క డిక్లరేషన్‌ను C ++ లోని బిందువుకు తరలించడానికి మిమ్మల్ని అనుమతిస్తుంది. - 51. అందువల్ల, సారూప్యతలు మరియు తేడాలను బాగా అర్థం చేసుకోవడానికి దయచేసి మీ కంప్యూటర్‌లో ఈ ప్రోగ్రామ్‌ను జాగ్రత్తగా చదవండి మరియు అమలు చేయండి. - 52. మేము మరొక ప్రోగ్రామ్‌కు వెళ్తాము, ఇది మళ్ళీ గణిత గణనను ఉపయోగించి ఒక సాధారణ ప్రోగ్రామ్, ఇది మీరు సి ప్రోగ్రామ్‌లో ఏదో ఒక సమయంలో చేశారని నేను ఖచ్చితంగా అనుకుంటున్నాను. - 53. కాబట్టి, సి ప్రామాణిక లైబ్రరీలో భాగంగా సికి math.h హెడర్ ఉందని మాకు తెలుసు, ఇది చాలా ఉపయోగకరమైన విధులను కలిగి ఉంది. - 54. కాబట్టి, డబుల్ వేరియబుల్ యొక్క వర్గమూలాన్ని కనుగొనడానికి sqrt అని పిలువబడే ఇలాంటి ఫంక్షన్ యొక్క ఉపయోగాన్ని ఇక్కడ చూపిస్తున్నాము. - 55. ఇది డబుల్ వేరియబుల్ తీసుకుంటుంది మరియు డబుల్ ఫలితాన్ని ఇస్తుంది, ఇది చదరపుకి పంపబడిన పరామితి యొక్క వర్గమూలం. - 56. అదే ఫంక్షన్ C ++ లో కూడా అమలు చేయవచ్చు. - 57. కాబట్టి, దీన్ని ఎలా చేయాలో మేము చూపిస్తున్నాము, కాబట్టి దయచేసి C ++ లో మనం ఉపయోగించే హెడర్ పేరు మార్చబడింది. - 58. సి లో మేము దీనిని math.h అని పిలుస్తున్నాము. - 59. అదే శీర్షికను C ++ లో cmath అని పిలుస్తారు మరియు ఇది ఏదైనా ప్రామాణిక లైబ్రరీ హెడర్‌ను C ++ లో ఉపయోగించవచ్చని ఒక సాధారణ సమావేశం అని మేము చూస్తాము, కానీ మీరు దానిని ఉపయోగించినప్పుడు, మీరు పేరు ప్రారంభంలో ఒక C ని జోడిస్తారు. - 60. సి అంటే ప్రామాణిక లైబ్రరీ హెడర్ సి స్టాండర్డ్ లైబ్రరీ నుండి వస్తున్నదని మరియు ఇతర వ్యత్యాసం ఏమిటంటే మీరు సి లోని ఫైల్ పేరు కోసం డాట్ హెచ్ ఎక్స్‌టెన్షన్‌ను వదిలివేస్తారు, మీరు దానిని సమ్మత్ అని పిలుస్తారు. - 61. వాస్తవానికి, మనం ఇంతకుముందు చెప్పినట్లుగా, కౌట్ మరియు ఎండ్ల్ పేర్ల పరంగా, ఇవి కూడా అదే నేమ్‌స్పేస్‌లో (నేమ్‌స్పేస్) std వలె ఉన్నాయి, అంటే C లోని ఫంక్షన్ (ఫంక్షన్) sqrt నుండి sqrt C ++ ++ లో, ఫంక్షన్ పేరు (sq) sqrt, std తో ఉపసర్గ అవుతుంది, దీని పూర్తి పేరు std :: sqrt. - 62. ఇప్పుడు, ఇక్కడ మేము ప్రామాణిక లైబ్రరీ చిహ్నాలను వ్యక్తీకరించడానికి మరొక షార్ట్ కట్ లేదా అనుకూలమైన మార్గాన్ని కూడా చూపిస్తాము, C ++ ప్రోగ్రామ్‌లో హాష్ చేర్చబడిన తరువాత, మేము నేమ్‌స్పేస్‌ను కలిగి ఉన్న ఒక పంక్తిని వ్రాసాము. Std ఉపయోగించబడుతుంది. - 63. దీని అర్థం మనం ఈ పంక్తిని చేర్చుకుంటే, C ++ ప్రోగ్రామ్ (ప్రోగ్రామ్) లోని ఏదైనా ప్రామాణిక లైబ్రరీ చిహ్నం ఉపసర్గగా పరిగణించబడుతుంది, std :: cout, std :: cin., Std :: endl or std: : చ. - 64. కాబట్టి, దీన్ని చేయడానికి అనుకూలమైన మార్గం ఏమిటంటే, మీరు సి ++ లో నేమ్‌స్పేస్ లక్షణాన్ని ఉపయోగించవచ్చు లేదా మీరు దానిని ఉపయోగించకపోతే, అన్ని ప్రామాణిక లైబ్రరీ చిహ్నాలను std :: ఉపసర్గ చేయండి. - 65. మిగిలిన ప్రోగ్రామ్ అర్థం చేసుకోవడం చాలా సులభం మరియు మీరు ఎడమ వైపున చూసే ప్రోగ్రామ్ లాగా ఉంటుంది. మార్పులు స్ట్రీమింగ్ ఇన్పుట్ మరియు అవుట్పుట్కు అనుగుణంగా ఉంటాయి, మేము ఇప్పటికే చేసినట్లుగా. చూశాము. - 66. కాబట్టి, మేము దీనితో ముందుకు వెళ్లి C ++ ప్రామాణిక లైబ్రరీని పరిశీలిస్తాము. - 67. సంగ్రహంగా చెప్పాలంటే, సి స్టాండర్డ్ లైబ్రరీలోని అన్ని పేర్లు గ్లోబల్ అని నేను ఇప్పటికే పేర్కొన్నది, ఇవన్నీ ప్రామాణిక లైబ్రరీ ఫంక్షన్లు, మాక్రోలు; అవి ఆ పేరుతో ఏదైనా ఫంక్షన్ కోసం అందుబాటులో ఉంటాయి. - 68. కాబట్టి, అన్ని సి ప్రామాణిక లైబ్రరీ పేర్లు వాస్తవానికి అన్ని ఆచరణాత్మక ప్రయోజనాల కోసం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్ మరియు సి స్టాండర్డ్ లైబ్రరీ (ఫంక్షన్) ను వ్రాయలేని విధంగా రిజర్వు చేయబడ్డాయి ఎందుకంటే మీరు లైబ్రరీలో ఇచ్చిన ప్రింట్ ఎఫ్ ఫంక్షన్‌ను ఉపయోగించడం కొనసాగించవచ్చు) ఎందుకంటే ఈ క్షణం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్‌ను వ్రాస్తారు, అది కూడా గ్లోబల్ స్పేస్ లో పేరు. - 69. మీరు C ++ లో నేమ్‌స్పేస్‌ల గురించి అధికారికంగా అధ్యయనం చేసినప్పుడు, మీరు దీన్ని మరింత అర్థం చేసుకుంటారు, కాని దయచేసి అన్ని పేర్లు ప్రపంచవ్యాప్తంగా అందుబాటులో ఉన్నాయని గమనించండి. - 70. దీనికి విరుద్ధంగా, C ++ ప్రామాణిక లైబ్రరీలోని అన్ని పేర్లు std నేమ్‌స్పేస్‌లో ఉన్నాయి. - 71. ఇది ప్రత్యేకంగా నేమ్‌స్పేస్‌లు మరియు అన్ని పేరు ఉపసర్గలతో కూడిన ప్రామాణిక లైబ్రరీ నేమ్‌స్పేస్‌ల కోసం ప్రత్యేకించబడింది :: అంటే ఈ పేరు ఈ స్టేడ్ నేమ్‌స్పేస్‌లోనే సంభవిస్తుంది. - 72. అందువల్ల, నేమ్‌స్పేస్ అంటే మన స్వంత పేర్లను ఉపయోగించినప్పుడు ఏమి జరుగుతుంది, ఇది మేము ఉపయోగించే కుటుంబ పేరు లేదా చివరి పేరు వంటిది. - 73. అందువలన, నేను పార్థా ప్రతిమ దాస్. - 74. కాబట్టి, దాస్ నా చివరి పేరు మరియు నా పేరు పార్థ్. - 75. అందువల్ల, మరికొన్ని కుటుంబ పేర్లలో మరొక పార్థా ఉండవచ్చు అని పార్థా ప్రతిం చక్రవర్తి పేర్కొంది. - 76. కాబట్టి, ఇవి ఉన్న వివిధ కుటుంబ పేర్లకు భిన్నంగా ఉంటాయి. - 77. కాబట్టి, పేరు స్థలం దీనికి సమానంగా ఉంటుంది. - 78. దీని గురించి మేము తరువాత మాట్లాడుతాము. - 79. కాబట్టి, మీరు ఇక్కడ std ని ఉపయోగించి పేరు ఖాళీలను చిన్నగా కత్తిరించినట్లయితే, మీరు అన్ని ప్రామాణిక లైబ్రరీ పేర్లను ఆ std :: నేమ్‌స్పేస్‌తో ప్రిఫిక్స్ చేయనవసరం లేదు. - 80. ఇప్పుడు, ప్రామాణిక లైబ్రరీ యొక్క శీర్షిక గురించి చాలా ప్రత్యేకమైనదాన్ని హైలైట్ చేయాలనుకుంటున్నాను. - 81. కాబట్టి, సి ++, సి అంటే దాని అర్థం అని మేము గుర్తించాము; అంటే ఏదైనా సి ప్రోగ్రామ్‌ను సి ++ ప్రోగ్రామ్‌గా కూడా అమలు చేయాలి. - 82. సి యొక్క ప్రామాణిక లైబ్రరీతో మేము ఏమి చేస్తాం అనేదానికి ఇది మరొక ప్రశ్నను తెస్తుంది, సి యొక్క ప్రామాణిక లైబ్రరీని సి ++ ప్రోగ్రామ్‌లో కూడా ఉపయోగించవచ్చని నేను ఇప్పటికే స్పష్టం చేశాను, అయితే ప్రోగ్రామ్‌ను మిళితం చేయడానికి మీకు ఒక చిన్న విషయం C ++ నుండి ప్రోగ్రామ్‌కు ప్రామాణిక లైబ్రరీ హెడర్‌ను మీరు ఎలా పేర్కొంటారు. - 83. కాబట్టి, మీరు దీన్ని ఎడమ వైపున ఎలా చేయవచ్చో ఈ పట్టిక మీకు చూపుతుంది, మీరు ప్రోగ్రామ్‌ను వ్రాస్తున్న భాషలో మరియు మేము శీర్షికను చూపిస్తున్న కాలమ్‌లో ఏ ప్రామాణిక లైబ్రరీలో మేము శీర్షికను చూపిస్తున్నాము. ఇది సి నుండి లేదా సి ++ నుండి. - 84. కాబట్టి, మీరు సి ప్రోగ్రామ్ వ్రాస్తుంటే మరియు మీరు సి స్టాండర్డ్ లైబ్రరీ హెడర్ ఉపయోగిస్తుంటే, మీరు stdio.h లాగా చేరతారని మాకు తెలుసు. - 85. మీరు సి ++ ప్రోగ్రామ్‌ను వ్రాస్తూ, సి స్టాండర్డ్ లైబ్రరీ హెడర్‌ను కలిగి ఉంటే, నేను చెప్పినట్లుగా, మీరు సి స్టాండర్డ్ లైబ్రరీ పేరును సి తో ప్రిఫిక్స్ చేయాలి. - 86. అందువల్ల, stdio.h ఇప్పుడు C stdio గా మారింది మరియు మీరు ప్రామాణిక లైబ్రరీ నుండి dot h మరియు C నుండి పేరును వదలాలి ఈ చిహ్నాలన్నీ ఇప్పుడు std నేమ్‌స్పేస్ (నేమ్‌స్పేస్) లో పొందుతాయి మరియు మనకు std తో ఉపసర్గ లభిస్తుంది :: కలిగి ఉండాలి చేయండి. - 87. మీరు C ++ ప్రోగ్రామ్‌ను వ్రాసి, C ++ ప్రామాణిక లైబ్రరీని కలిగి ఉంటే, మీరు దానిని హాష్ IO స్ట్రీమ్‌గా మాత్రమే చేర్చారు. - 88. C ++ లోని అన్ని ప్రామాణిక లైబ్రరీ హెడర్‌లకు వాటి ఫైల్ ఎక్స్‌టెన్షన్స్‌లో డాట్ హెచ్ లేదు, ఇది ఒక చారిత్రక కారణం, నేను తరువాతి దశలో వివరించడానికి ప్రయత్నిస్తాను, కాని దయచేసి IO స్ట్రీమ్‌లు ఉండకూడదని గమనించండి. - 89. మరియు చేర్చకూడదు. - 90. ఈ మాతృకలోని చివరి పెట్టె మీరు సి ప్రోగ్రామ్ వ్రాస్తున్నప్పుడు మరియు మీరు సి ++ హెడర్‌ను ఉపయోగించాలనుకుంటే, అది ఖచ్చితంగా వర్తించదు ఎందుకంటే మీరు సి ++ లో చాలా ఫీచర్లు చేయలేరు. సి మద్దతు ఇవ్వనివి మరియు కాబట్టి, ఉపయోగించబడదు. - 91. ముఖ్యంగా గమనించండి మరియు నేను ఎరుపు రంగులో హైలైట్ చేసాను, పొరపాటున లేదా సి లో ప్రామాణిక లైబ్రరీ (లైబ్రరీ) శీర్షికల కోసం డాట్ హెచ్ ను ఫైల్ నేమ్ ఎక్స్‌టెన్షన్‌గా ఉపయోగించడం ద్వారా. - 92. మీరు I ++ స్ట్రీమ్‌ను కలిగి ఉంటే. - 93. C ++ ప్రోగ్రామ్‌లో, మీ కంపైలర్ నిజంగా మీకు లోపం ఇవ్వదు అంటే మీ కంపైలర్ నిజంగా నాటిది మరియు మీరు ఇటీవల కంపైలర్‌కు వెళ్లాలి మరియు అందువల్ల ఇది చాలా ప్రమాదకరమైన ప్రతిపాదన. ఎందుకంటే మీరు పొరపాటు చేస్తున్నారు IO stream.h లేదా హెడర్ డాట్ h తో ఉన్న పదార్థం పొడిగింపు ఫైళ్ళ కోసం ఏదైనా C ++ ప్రామాణిక లైబ్రరీ, ఇవన్నీ వర్ణించబడ్డాయి. - 94. అవి పెద్దగా ఉపయోగంలో లేవు, అయితే కొన్ని కంపైలర్లు సి ++ ప్రమాణంలో తయారు చేయబడటానికి ముందే వ్రాయబడినందున వాటిని అనుమతించడం కొనసాగిస్తున్నాయి. - 95. కాబట్టి, దయచేసి ప్రామాణిక లైబ్రరీ శీర్షికల యొక్క ఈ సమావేశాలను గుర్తుంచుకోండి. - 96. తరువాత, మీ సి. లూప్‌ల వాడకంపై మేము దృష్టి పెడతాము. - 97. చాలా పోలి ఉంటాయి. - 98. అందువల్ల, మేము 0 నుండి ప్రారంభమయ్యే అంకెల క్రమాన్ని మాత్రమే ఇక్కడ జోడిస్తున్నాము. - 99. n మరియు లూప్ కోసం వాటిని చేర్చండి. - 100. IO శీర్షికలు మరియు కౌట్ స్ట్రీమింగ్ సమావేశాలలో తేడాలు మినహా ఇలాంటి ప్రోగ్రామ్‌లు C ++ కోసం దాదాపు సమానంగా పనిచేస్తాయి. - 101. లూప్ లూప్ సూచికల కోసం, కుండలీకరణాల్లో నన్ను 'నిర్మించు' అని ప్రకటించవచ్చు. - 102. మీరు ఇలా చేస్తే, నేను ఈ డిక్లరేషన్ లూప్‌కు స్థానికంగా ఉంటుంది, మీరు లూప్ కోసం బయటకు వచ్చిన తర్వాత మీరు తరువాత మంచం స్టేట్‌మెంట్‌లో ఉన్నారు లేదా నేను తరువాత ప్రకటించబడను. - 103. కాబట్టి, ఇది ప్రవేశపెట్టబడింది, తద్వారా మీకు స్థానిక ఇండెక్స్ వేరియబుల్స్ అవసరమైనప్పుడు మీరు వాటిని త్వరగా స్థానికంగా ఉపయోగించుకోవచ్చు మరియు మీరు ఆ వేరియబుల్‌ను ఇంతకు ముందు ప్రకటించారా లేదా అనే దాని గురించి నిజంగా ఆలోచించకండి, అది మరొక సందర్భంలో ఉపయోగించబడుతుందా లేదా అనే దాని గురించి నిజంగా ఆలోచించవద్దు. - 104. మీరు వాటిని స్థానికంగా మాత్రమే ప్రకటించవచ్చు మరియు వాటిని C ++ లో ఉపయోగించవచ్చు. - 105. C89 లో ఇది సాధ్యం కాలేదు, కానీ ఇప్పుడు C99 లో కూడా ఇది సాధ్యమే. - 106. చివరగా, ఈ మాడ్యూల్ యొక్క చివరి భాగంలో, మేము బూలియన్ రకాన్ని ఉపయోగించడాన్ని వివరిస్తాము. - 107. సి బూలియన్ రకాన్ని ఉపయోగించుకునే అవకాశం ఉందని మనందరికీ తెలుసు, ఇది ఒక రకం, ఇది నిజమైన లేదా తప్పుడు విలువను తీసుకోగలదని మేము చెబుతున్నాము. - 108. ఇప్పుడు, సి ఇది సి 89, అసలు పాత సి మనకు బూల్ కోసం వేరే రకం లేదు. - 109. కాబట్టి, అది ఏమిటంటే, అది బూల్‌ను అర్థం చేసుకోవడానికి పూర్ణాంకాన్ని ఉపయోగిస్తోంది, మీరు బూలియన్ స్థానం లేదా బూలియన్ విలువను ఏ ప్రదేశంలో ఉంచాలనుకుంటున్నారో, మీరు తేడా వేరియబుల్‌ను ప్రకటిస్తారు. మరియు 0 అని సెట్ చేయండి, మీరు తప్పుడు అర్థం చేసుకోవాలనుకుంటే మరియు కానిదాన్ని సెట్ చేయండి -జెరో, మనం నిజం అని అనుకుంటే. - 110. అందువల్ల, ఈ 3 నిలువు వరుసలలో, మీరు ఎడమ వైపు చూస్తే, సి ప్రోగ్రామ్ బూలియన్‌తో పనిచేస్తున్న అత్యంత సాధారణ మార్గం ఏమిటంటే, సౌలభ్యం కోసం మీరు రెండు స్థిరాంకాలను నిర్వచించవచ్చు; 1 మరియు 0 కలిగి ఉండటం మరియు వాటిని మీ ప్రోగ్రామ్‌లో ఉపయోగించడం నిజం మరియు తప్పు, కానీ నేను చూపించినట్లుగా బూలియన్ స్థానానికి ఉపయోగించే వేరియబుల్ x వ్యత్యాస రకంగా ప్రకటించబడింది. పూర్తయింది మరియు ఇది సత్యంతో ప్రారంభమైంది.. - 111. కాబట్టి, మీరు ప్రింట్ చేస్తే దాని విలువ 1 అని చూపిస్తుంది; ఇది C89 లో ఉంది. - 112. తదనంతరం, C99 లో, బూల్ రకాన్ని ప్రవేశపెట్టడానికి మార్పు చేయబడింది. - 113. ఇప్పుడు, దీనిని చూడటానికి ముందు, మొదట కుడివైపు కాలమ్ చూద్దాం, ఇది C ++ ప్రోగ్రామ్. - 114. C ++ లో మీకు అంతర్నిర్మిత రకంగా బూల్ ఉంది, మీకు పూర్ణాంకం, చార్, ఫ్లోట్, డబుల్ ఉన్నాయి. - 115. అదేవిధంగా, మీకు బూల్ రకం ఉంది, ఈ బూల్ రకం కేవలం రెండు అక్షరాస్యులు; చిన్న కేసులో నిజం మరియు తప్పు రెండూ. - 116. అందువల్ల, ఆ కీలకపదాలు ఇప్పటికీ రిజర్వు చేయబడ్డాయి. - 117. కాబట్టి, మీరు బూలియన్ వేరియబుల్‌గా ఉపయోగించడానికి x ను సమానంగా నిర్వచించాలనుకుంటే, మీరు నేరుగా బూల్‌ని ఉపయోగించవచ్చు, ఇది మీరు నిజంగా బూలియన్ అని అర్థం చేసుకోవడం చాలా సులభం. విలువతో పనిచేయడం మరియు మీరు దానిని నిజమైన లేదా తప్పుడుతో ప్రారంభించవచ్చు, కానీ మీరు ఈ వేరియబుల్ యొక్క విలువను ప్రింట్ చేయడానికి ప్రయత్నిస్తే, అది నిజం లేదా తప్పు అని ముద్రించదు, వాస్తవానికి ఇది 1 లేదా 0 ను ప్రింట్ చేస్తుంది) విల్, అది నిజమైతే అది 1 మరియు 0 లేకపోతే. - 118. సహజంగానే, నిర్మించిన రకాన్ని స్పష్టంగా మరియు స్పష్టంగా ఉపయోగించుకోవడంలో చాలా ప్రయోజనాలు ఉన్నాయి. - 119. వీటిలో చాలా ముఖ్యమైనది C ++ ప్రోగ్రామ్ నుండి, మీరు మీ బూలియన్ విలువను పేర్కొనడానికి బూల్ ఉపయోగించినట్లయితే, అప్పుడు ప్రోగ్రామ్ చదివే ఎవరైనా దానిని అర్థం చేసుకోవచ్చు.ఈ వేరియబుల్ నిజమైన లేదా తప్పుడు తప్ప వేరే విలువను తీసుకోలేరని అనుమతిస్తుంది. - 120. దీనికి విరుద్ధంగా, మేము బూలియన్ విలువ కోసం పూర్ణాంకాన్ని ఉపయోగించే సి శైలిని ఉపయోగిస్తే, అది వాస్తవానికి చాలా భిన్నమైన విలువలను నిజం లేదా తప్పు అని అర్ధం చేసుకోవచ్చు. ఆమె వెళుతుంది. - 121. ఇప్పుడు, మధ్య కాలమ్‌లో, C99 ఎవరితో వచ్చారో C99 ప్రమాణంలో C ప్రోగ్రామింగ్ భాష యొక్క ఆసక్తికరమైన పొడిగింపును చూస్తాము. - 122. C99 ఒక స్పష్టమైన బూలియన్ రకాన్ని ప్రవేశపెట్టింది మరియు దీనికి అండర్ స్కోర్ బూల్ అని పేరు పెట్టారు, ఇక్కడ B మూలధనంలో వ్రాయబడింది, అయితే ఇది బూల్ ఇస్ రాయడానికి చాలా సాధారణమైన సహజ మార్గం కానందున, ఇది stdbool.h అనే కొత్త ప్రామాణిక లైబ్రరీ హెడర్‌ను కూడా అందించింది. మాక్రోలు అందించబడతాయి. - 123. మొదటి స్థూల లోయర్ కేసులో బూల్‌ను నిర్వచిస్తుంది మరియు అండర్ స్కోర్ క్యాపిటల్ బూల్‌తో సమానంగా ఉంటుంది. - 124. కాబట్టి, మేము C99 ప్రోగ్రామ్‌లో దిగువ కేసులో బూల్ ఉపయోగిస్తే, మీరు నిజంగా ఆ కొత్త ముందే నిర్వచించిన రకమైన అండర్ స్కోర్ క్యాపిటల్ బూల్ (బూల్) ను ఉపయోగిస్తున్నారు మరియు ఇది 1 మరియు 0 గా హెడర్‌లో ఉంది నేను సరైనది మరియు తప్పు అని నిర్వచించాను, తద్వారా మీరు దీన్ని స్థిరంగా ఇక్కడ ఉపయోగించండి. - 125. అందువల్ల, మనం ఉంటే; మీరు సి ఉపయోగిస్తున్నప్పుడల్లా, మీరు ఎల్లప్పుడూ బూల్ అని టైప్ చేయాలి మరియు పూర్ణాంకానికి వాడకండి మరియు దానిని బూల్ రకంగా అర్థం చేసుకోవాలి. సి ++ లో ఇది ఖచ్చితంగా నిర్మించబడింది- ఈ రకాలు రూపంలో వస్తుంది. - 126. కాబట్టి, దీనికి అనేక ఇతర ప్రయోజనాలు ఉన్నాయని మేము ఎత్తి చూపాము మరియు అదే సమయంలో మేము వివిధ రకాలతో వెళ్తాము. - 127. కాబట్టి ఈ మాడ్యూల్‌లో, సి మరియు సి ++ మధ్య ప్రాథమిక వ్యత్యాసాన్ని అర్థం చేసుకోవడానికి ప్రయత్నించాము; మీరు ఇన్‌పుట్‌ను ఎలా అవుట్పుట్ చేస్తారు? మీరు వేరియబుల్ ఎలా ప్రకటిస్తారు? C ++ లో C మరియు C ++ యొక్క ప్రామాణిక లైబ్రరీ ఎలా ఉపయోగించబడుతుంది? C ++ మనకు ఎలా ప్రకటించగలదో మరియు ఎలా అవుట్పుట్ చేయగలదో మాకు మరింత సౌలభ్యాన్ని ఇస్తుందని చూడటం ప్రారంభించాము. - 128. ఇప్పుడు, ఆ సంక్లిష్టమైన printf స్టేట్‌మెంట్‌లు, ఫార్మాట్‌లు వేర్వేరు తీగలలో ఉన్న స్ట్రీమ్ ప్రింట్ ఎఫ్ (ప్రింట్ ఎఫ్) ఫంక్షన్ (ఫంక్షన్) కాల్స్ మాకు అవసరం లేదు, వేరియబుల్స్ విడిగా జాబితా చేయబడతాయి. - 129. స్కాన్ఫ్‌కు వేరియబుల్స్ మరియు సారూప్య చిరునామాలు అవసరమని మనం గుర్తుంచుకోవాల్సిన అవసరం లేదు మరియు ఈ విధంగా సి ++ లో చాలా నిర్మాణాలు మరియు విధులు సరళీకృతం చేయబడ్డాయి, ఇవి ప్రోగ్రామింగ్‌ను పెంచడానికి సహాయపడతాయి. - 130. + మనము  ఇప్పుడు C ++ కోర్సులో మాడ్యూల్ 2. మాడ్యూల్ను2 గురించి చర్చిస్తాము, + మొదటి మాడ్యూల్ లో, మనము  C ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క క్లుప్త సారాంశం చూసాము . + మనము  భావనలను పునరావృతం చేసాము, C లో ఉన్న సాధారణ అంశాలు మరియు మనము నెమ్మదిగా సి ++ తో తెలుసుకునేలా సిద్దపడ్డాము . + ఈ మాడ్యూల్ మరియు తరువాతి 3 మాడ్యూళ్ళలో, మేము వివిధ ప్రోగ్రామింగ్ ఉదాహరణల గురించి మాట్లాడుతాము మరియు సి ++ లో, ఈ ప్రోగ్రామ్ మరింత సమర్థవంతంగా మరియు తరచుగా మెరుగ్గా ఎలా చేయవచ్చో చూపిస్తాము. సి లో అవసరమయ్యే దానికంటే మంచి మార్గంలో వ్రాయవచ్చు. + 2, సి మరియు సి ++ ప్రోగ్రామ్‌ల మధ్య ప్రాథమిక తేడాలను అర్థం చేసుకోవడంతో ప్రారంభిస్తాము. + మరియు మేము ఈ మాడ్యూల్‌తో పాటు ఈ క్రింది 3 మాడ్యూళ్ళకు వెళ్లేటప్పుడు సి ++ లో ప్రోగ్రామింగ్ సౌలభ్యాన్ని అభినందించడానికి ప్రయత్నిస్తాము. + మేము ప్రధానంగా IO వేరియబుల్స్, అంకగణిత లైబ్రరీ ప్రామాణిక లైబ్రరీ హెడర్స్, లూప్ మరియు బూల్ రకం ఫీల్డ్‌ల గురించి విరుద్ధంగా మాట్లాడుతాము. + కాబట్టి, మేము "హలో వరల్డ్" ను ప్రింట్ చేయవలసిన సి యొక్క ప్రారంభ ప్రోగ్రామ్తో ప్రారంభిస్తాము. + కాబట్టి, ఇక్కడ రెండు నిలువు వరుసలలో, "హలో వరల్డ్" ను సి తో పాటు సి ++ లో ప్రింట్ చేసే ప్రోగ్రామ్ ను చూపిస్తాము. + మీరు కొన్ని ప్రాథమిక తేడాలను గమనించవచ్చు, మొదట IO హెడర్ మార్చబడింది. + C లో, ఇది stdio.h; C ++ లో ఇది IO స్ట్రీమ్ అవుతుంది. + C లో, మేము printf చేసినప్పుడు, మేము కన్సోల్‌కు వ్రాస్తాము; మేము కన్సోల్‌లో ప్రింట్ చేస్తాము. + ఇక్కడ, మేము ఒక ఆపరేటర్‌ని ఉపయోగిస్తాము, స్ట్రీమింగ్ ఆపరేటర్‌ను నియంత్రించడానికి ఒక జత ఎడమ బాణం ఆపరేటర్లు అవుట్‌పుట్‌ను ప్రసారం చేస్తారు మరియు కన్సోల్ C లోని ఫైల్ స్టడౌట్, ఇది ఇప్పుడు C ++ లో ఒక కౌట్ స్ట్రీమ్. + మేము std అని పిలువబడే కౌట్ ముందు ఉపసర్గను ఉపయోగిస్తున్నామని మరియు std :: తో వ్రాసినట్లు గమనించండి. + మేము ఈ సంజ్ఞామానాన్ని త్వరగా ఉపయోగించడం అలవాటు చేసుకుంటాము, ఈ STD ని నేమ్‌స్పేస్ అంటారు; ప్రామాణిక నేమ్‌స్పేస్. + కాబట్టి, C ++ లోని ఏదైనా ప్రామాణిక లైబ్రరీ గుర్తు ఈ ప్రత్యేక ఉపసర్గ std తో ప్రిఫిక్స్ చేయబడుతుంది. + ఇప్పుడు, ఈ సరళమైన 'హలో వరల్డ్' ప్రోగ్రామ్‌లో గమనించదగ్గ మరో ముఖ్యమైన విషయం ఏమిటంటే, మనం ప్రింట్ ఎఫ్ చేసినప్పుడు, మనకు ఏకపక్ష సంఖ్యలు ఉండవచ్చు, ఈ వైవిధ్య ఫంక్షన్‌ను (ఫంక్షన్) అంటారు. + కాబట్టి, ఇక్కడ 'హలో వరల్డ్' ఉదాహరణలో మనం ప్రింట్ ఎఫ్ యొక్క రెండు ఉపయోగాలను చూస్తున్నాము, రెండూ పారామితి, ఫార్మాట్ స్ట్రీమ్ ఉపయోగించి. + వాస్తవానికి, మాకు ఇక్కడ ఫార్మాట్ లేదు; ఇది నిరంతర స్ట్రింగ్ ముద్రించబడుతోంది. + దీనికి విరుద్ధంగా, సి ++ లోని అవుట్పుట్ స్ట్రీమింగ్ ఆపరేటర్‌గా బైనరీ ఆపరేటర్‌గా మెటీరియల్ రూపంలో ఎడమ వైపు ప్రింట్ చేసి కుడి వైపున ప్రింట్ చేస్తుంది మరియు ఇది ఈ రూపంలో ప్రింట్ చేస్తుంది. + అందువల్ల, మేము మొదటి అవుట్పుట్ లైన్, std :: cout అవుట్పుట్ ఆపరేటర్ మరియు సందేహ కోట్లలో చూస్తే, మనకు స్థిరమైన స్ట్రింగ్ ఉంది. దీని అర్థం C ++ స్ట్రింగ్ (స్ట్రింగ్) హలో వరల్డ్ కన్సోల్కు ప్రసారం చేయబడుతుంది. + C లో తప్పించుకున్న కొత్త క్యూ క్యారెక్టర్ స్లాష్ n అని కూడా గమనించండి. + C ++ లో కూడా దీనిని ఉపయోగించవచ్చు, కాని ఎండల్ అని పిలువబడే కొత్త పంక్తికి వెళ్ళడానికి మరొక మార్గం ఉంది, ఇది ఎండ్ లైన్ యొక్క సంక్షిప్తీకరణ మరియు దానిపై మేము తరువాత మరింత తెలుసుకుంటాము. + ఇది, అండాల్ ప్రాథమికంగా ఒక ప్రవాహం. + కాబట్టి, ఈ దశలో మేము C ++ ప్రోగ్రామ్‌లో సిస్టమ్ కౌట్ మరియు అవుట్పుట్ ఆపరేటర్ ఉపయోగించి ప్రాథమిక అవుట్పుట్ చేయవచ్చని చూడటానికి ప్రయత్నిస్తున్నాము. + మేము తరువాతి ప్రోగ్రామ్‌కు వెళ్తాము, ఇక్కడ మేము చాలా సరళమైన అంకగణిత ప్రోగ్రామ్‌ను వివరిస్తున్నాము, ఇందులో a మరియు b అనే రెండు వేరియబుల్స్ ఉంటాయి మరియు వాటిని మన మొత్తాన్ని ఏర్పరుస్తాయి. + ఈ వేరియబుల్స్ యొక్క విలువలు C లో std అయిన కన్సోల్ నుండి చదవబడతాయి మరియు మేము అన్ని ఫార్మాట్ స్ట్రింగ్ (స్కాన్ఫ్) లో మీకు తెలిసిన స్కాన్ఫ్ ఫంక్షన్‌ను ఉపయోగిస్తాము, ఉదాహరణకు, printf అనేది ఒక వైవిధ్య ఫంక్షన్. పారామితుల వేరియబుల్ సంఖ్యలు. + ఇక్కడ, మేము 3 పారామితులను తీసుకుంటున్న స్కాన్ఫ్ యొక్క రూపాన్ని చూస్తాము; వరుసగా A మరియు B యొక్క స్ట్రింగ్ మరియు చిరునామాలను ఫార్మాట్ చేయండి. + దీనికి విరుద్ధంగా, సి ++ ప్రోగ్రామ్‌లో ఇన్పుట్ స్ట్రీమ్ నుండి స్ట్రీమింగ్ కోసం ఉపయోగించే మరొక ఆపరేటర్‌ను మేము పరిచయం చేస్తున్నాము. + కాబట్టి, దీనిని ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ అని పిలుస్తారు, మళ్ళీ ఒక జత బాణాలు, కానీ బాణం ఇప్పుడు ఎడమ నుండి కుడికి దర్శకత్వం వహించబడుతుంది. + కాబట్టి, మీరు ఇన్పుట్ ఆపరేటర్లో std :: cin ను చూస్తే, C చదవబడుతుందని అర్థం. + ఆసక్తికరమైన విషయం ఏమిటంటే, ఈ ఆకృతిలో C ++ లో మీరు ఇక్కడ చూపిస్తున్నట్లుగా మీరు బహుళ ఆపరేటర్లను ఒక్కొక్కటిగా అనేక వేరియబుల్స్కు చేర్చవచ్చు. + అందువల్ల, మేము ప్రామాణిక ఇన్పుట్ నుండి మళ్ళీ ప్రసారం చేసిన తరువాత, ప్రామాణిక ఇన్పుట్ నుండి బి స్ట్రీమ్ చేయండి. + కాబట్టి, ఈ సంజ్ఞామానం అంటే కన్సోల్ యొక్క ప్రామాణిక ఇన్పుట్ నుండి మొదటిది మరియు తరువాత వేరియబుల్ B చదవబడుతుంది. + ఈ వేరియబుల్స్ ప్రామాణిక స్ట్రీమింగ్ అవుట్పుట్ యొక్క అవుట్పుట్ (అవుట్పుట్) ఎలా ఉన్నాయో కూడా మేము చూపిస్తాము, ఇది సి ప్రోగ్రామ్ (ప్రోగ్రామ్) గా కౌట్ లేదా స్టడ్ అవుట్ అవుతుంది. + రెండు ప్రధాన తేడాలు ఉన్నాయి, మీరు ఇక్కడ గమనించాలి, ఒకటి మేము C ++ లో ఫార్మాట్ స్ట్రింగ్ ఉపయోగించాల్సిన అవసరం లేదు. + C లో మనకు తెలుసు, నేను ఒక పూర్ణాంక వేరియబుల్‌ను ప్రింట్ చేయాలనుకుంటే, అప్పుడు వేరియబుల్ శాతం d ఫార్మాట్‌లో ముద్రించబడాలని ఫార్మాట్ స్ట్రింగ్‌లో పేర్కొనాలి, ఇది ఒక పూర్ణాంకం C + లో ముద్రించవలసిన డేటా రకం అని సూచిస్తుంది. +, వేరియబుల్‌కు విరుద్ధంగా ఫార్మాట్‌తో పేర్కొనవలసిన అవసరం లేదు, కంపైలర్ ఇది పూర్ణాంక వేరియబుల్ అని తెలుసుకోవడం స్వయంచాలకంగా దాన్ని ప్రింట్ చేయడానికి ఫార్మాట్‌ను నిర్ణయిస్తుంది. అవసరం మరియు సరిగ్గా ప్రింట్ చేయండి. + ఈ రెండు ప్రోగ్రామ్‌ల మధ్య మీరు గమనించవలసిన మరో ప్రధాన వ్యత్యాసం ఏమిటంటే, మేము స్కాన్ చేసినప్పుడు, మేము `std in 'నుండి విలువను చదువుతున్నాము మరియు ఆ విలువను చదివిన తరువాత వేరియబుల్ యొక్క అసలు విలువను విలువకు మార్చండి వినియోగదారు ఇన్పుట్ అవుతుంది. + మేము సి యొక్క చిరునామాను పాస్ చేయాలి ఎందుకంటే ఇది సి తో సుపరిచితం. + ఈ చిరునామా వాడుతున్న యంత్రాంగం చేసిన కాల్‌కు సమానంగా ఉంటుంది, ఇక్కడ మేము వేరియబుల్ విలువను స్కాన్ఫ్ పరామితి విలువ నుండి కాల్ పరామితిగా పాస్ చేస్తాము. + దీనికి విరుద్ధంగా, మేము C ++ లో ఇన్పుట్ స్ట్రీమ్ నుండి చదువుతున్నప్పుడు, పాస్ చేయడానికి మాకు చిరునామా అవసరం లేదు; మేము వేరియబుల్స్ మాత్రమే పేర్కొనగలము మరియు కంపైలర్ మిగిలిన వాటిని చూసుకుంటుంది. + మేము సి ++ ఆపరేటర్లు మరియు కాల్ మెకానిజమ్‌ల గురించి మరింత తెలుసుకున్నప్పుడు, ఇది వాస్తవంగా ఎలా పనిచేస్తుందో మేము అర్థం చేసుకుంటాము, అయితే ఇది ఖచ్చితంగా ఫార్మాట్ స్ట్రింగ్‌తో పాటు ప్రింట్ ఎఫ్ లేదా చిరునామాలను కూడా చదివేలా చేస్తుంది. + C ++ లో, స్కాన్ఫ్ కోసం వేరియబుల్ కూడా అదే విధంగా చేయవచ్చు. + సి ప్రోగ్రామ్‌లో, వేరియబుల్ మొత్తాన్ని డిక్లరేషన్ పరంగా మీరు గమనించగల మరొక చిన్న వ్యత్యాసం, వేరియబుల్ బి మరియు బి తరువాత వేరియబుల్ ఎగువన ప్రకటించబడుతుంది, ఎందుకంటే సి 89 పేర్కొన్న అసలు సి లేదా సి యొక్క అసలు వెర్షన్ వేరియబుల్స్ యొక్క అన్ని డిక్లరేషన్లు ప్రోగ్రామ్‌లోని మొదటి ఎక్జిక్యూటబుల్ స్టేట్‌మెంట్‌కు ముందు ఉండాలి. + సి ప్రోగ్రామ్‌లో, మొదటి ఎక్జిక్యూటబుల్‌లో మనం ఇక్కడ చూస్తున్నది ప్రింట్ ఎఫ్ ఫంక్షన్ కాల్. + కాబట్టి, అన్ని వేరియబుల్స్ దీనికి ముందు ప్రకటించబడాలి. + ఈ పరిమితి C ++ లో లేదు. + కాబట్టి, మేము పేరును ప్రారంభించేటప్పుడు, మనం వేరియబుల్ ను డిక్లేర్ చేయవచ్చు మరియు మనం పేరును ప్రారంభించాల్సిన అవసరం వచ్చినప్పుడు, మనకు A మరియు B వేరియబుల్స్ అవసరం, ఎందుకంటే చదవడం అవసరం, కానీ వాటి మొత్తాన్ని మనం చేయవలసి వచ్చినప్పుడు, మేము కూడా మొత్తాన్ని ప్రకటించగలము . + వేరియబుల్ ఉపయోగించండి, ఆపై ప్లస్ బి మరియు మొత్తం విలువను ప్రారంభించడానికి మొత్తాన్ని చొప్పించండి. + వాస్తవానికి, C యొక్క తరువాతి సంస్కరణ C99 అని గమనించాలి, ఇది మీకు వేరియబుల్ అవసరమైనప్పుడు వేరియబుల్స్ యొక్క డిక్లరేషన్‌ను C ++ లోని బిందువుకు తరలించడానికి మిమ్మల్ని అనుమతిస్తుంది. + అందువల్ల, సారూప్యతలు మరియు తేడాలను బాగా అర్థం చేసుకోవడానికి దయచేసి మీ కంప్యూటర్‌లో ఈ ప్రోగ్రామ్‌ను జాగ్రత్తగా చదవండి మరియు అమలు చేయండి. + మేము మరొక ప్రోగ్రామ్‌కు వెళ్తాము, ఇది మళ్ళీ గణిత గణనను ఉపయోగించి ఒక సాధారణ ప్రోగ్రామ్, ఇది మీరు సి ప్రోగ్రామ్‌లో ఏదో ఒక సమయంలో చేశారని నేను ఖచ్చితంగా అనుకుంటున్నాను. + కాబట్టి, సి ప్రామాణిక లైబ్రరీలో భాగంగా సికి math.h హెడర్ ఉందని మాకు తెలుసు, ఇది చాలా ఉపయోగకరమైన విధులను కలిగి ఉంది. + కాబట్టి, డబుల్ వేరియబుల్ యొక్క వర్గమూలాన్ని కనుగొనడానికి sqrt అని పిలువబడే ఇలాంటి ఫంక్షన్ యొక్క ఉపయోగాన్ని ఇక్కడ చూపిస్తున్నాము. + ఇది డబుల్ వేరియబుల్ తీసుకుంటుంది మరియు డబుల్ ఫలితాన్ని ఇస్తుంది, ఇది చదరపుకి పంపబడిన పరామితి యొక్క వర్గమూలం. + అదే ఫంక్షన్ C ++ లో కూడా అమలు చేయవచ్చు. + కాబట్టి, దీన్ని ఎలా చేయాలో మేము చూపిస్తున్నాము, కాబట్టి దయచేసి C ++ లో మనం ఉపయోగించే హెడర్ పేరు మార్చబడింది. + సి లో మేము దీనిని math.h అని పిలుస్తున్నాము. + అదే శీర్షికను C ++ లో cmath అని పిలుస్తారు మరియు ఇది ఏదైనా ప్రామాణిక లైబ్రరీ హెడర్‌ను C ++ లో ఉపయోగించవచ్చని ఒక సాధారణ సమావేశం అని మేము చూస్తాము, కానీ మీరు దానిని ఉపయోగించినప్పుడు, మీరు పేరు ప్రారంభంలో ఒక C ని జోడిస్తారు. + సి అంటే ప్రామాణిక లైబ్రరీ హెడర్ సి స్టాండర్డ్ లైబ్రరీ నుండి వస్తున్నదని మరియు ఇతర వ్యత్యాసం ఏమిటంటే మీరు సి లోని ఫైల్ పేరు కోసం డాట్ హెచ్ ఎక్స్‌టెన్షన్‌ను వదిలివేస్తారు, మీరు దానిని సమ్మత్ అని పిలుస్తారు. + వాస్తవానికి, మనం ఇంతకుముందు చెప్పినట్లుగా, కౌట్ మరియు ఎండ్ల్ పేర్ల పరంగా, ఇవి కూడా అదే నేమ్‌స్పేస్‌లో (నేమ్‌స్పేస్) std వలె ఉన్నాయి, అంటే C లోని ఫంక్షన్ (ఫంక్షన్) sqrt నుండి sqrt C ++ ++ లో, ఫంక్షన్ పేరు (sq) sqrt, std తో ఉపసర్గ అవుతుంది, దీని పూర్తి పేరు std :: sqrt. + ఇప్పుడు, ఇక్కడ మేము ప్రామాణిక లైబ్రరీ చిహ్నాలను వ్యక్తీకరించడానికి మరొక షార్ట్ కట్ లేదా అనుకూలమైన మార్గాన్ని కూడా చూపిస్తాము, C ++ ప్రోగ్రామ్‌లో హాష్ చేర్చబడిన తరువాత, మేము నేమ్‌స్పేస్‌ను కలిగి ఉన్న ఒక పంక్తిని వ్రాసాము. Std ఉపయోగించబడుతుంది. + దీని అర్థం మనం ఈ పంక్తిని చేర్చుకుంటే, C ++ ప్రోగ్రామ్ (ప్రోగ్రామ్) లోని ఏదైనా ప్రామాణిక లైబ్రరీ చిహ్నం ఉపసర్గగా పరిగణించబడుతుంది, std :: cout, std :: cin., Std :: endl or std: : చ. + కాబట్టి, దీన్ని చేయడానికి అనుకూలమైన మార్గం ఏమిటంటే, మీరు సి ++ లో నేమ్‌స్పేస్ లక్షణాన్ని ఉపయోగించవచ్చు లేదా మీరు దానిని ఉపయోగించకపోతే, అన్ని ప్రామాణిక లైబ్రరీ చిహ్నాలను std :: ఉపసర్గ చేయండి. + మిగిలిన ప్రోగ్రామ్ అర్థం చేసుకోవడం చాలా సులభం మరియు మీరు ఎడమ వైపున చూసే ప్రోగ్రామ్ లాగా ఉంటుంది. మార్పులు స్ట్రీమింగ్ ఇన్పుట్ మరియు అవుట్పుట్కు అనుగుణంగా ఉంటాయి, మేము ఇప్పటికే చేసినట్లుగా. చూశాము. + కాబట్టి, మేము దీనితో ముందుకు వెళ్లి C ++ ప్రామాణిక లైబ్రరీని పరిశీలిస్తాము. + సంగ్రహంగా చెప్పాలంటే, సి స్టాండర్డ్ లైబ్రరీలోని అన్ని పేర్లు గ్లోబల్ అని నేను ఇప్పటికే పేర్కొన్నది, ఇవన్నీ ప్రామాణిక లైబ్రరీ ఫంక్షన్లు, మాక్రోలు; అవి ఆ పేరుతో ఏదైనా ఫంక్షన్ కోసం అందుబాటులో ఉంటాయి. + కాబట్టి, అన్ని సి ప్రామాణిక లైబ్రరీ పేర్లు వాస్తవానికి అన్ని ఆచరణాత్మక ప్రయోజనాల కోసం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్ మరియు సి స్టాండర్డ్ లైబ్రరీ (ఫంక్షన్) ను వ్రాయలేని విధంగా రిజర్వు చేయబడ్డాయి ఎందుకంటే మీరు లైబ్రరీలో ఇచ్చిన ప్రింట్ ఎఫ్ ఫంక్షన్‌ను ఉపయోగించడం కొనసాగించవచ్చు) ఎందుకంటే ఈ క్షణం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్‌ను వ్రాస్తారు, అది కూడా గ్లోబల్ స్పేస్ లో పేరు. + మీరు C ++ లో నేమ్‌స్పేస్‌ల గురించి అధికారికంగా అధ్యయనం చేసినప్పుడు, మీరు దీన్ని మరింత అర్థం చేసుకుంటారు, కాని దయచేసి అన్ని పేర్లు ప్రపంచవ్యాప్తంగా అందుబాటులో ఉన్నాయని గమనించండి. + దీనికి విరుద్ధంగా, C ++ ప్రామాణిక లైబ్రరీలోని అన్ని పేర్లు std నేమ్‌స్పేస్‌లో ఉన్నాయి. + ఇది ప్రత్యేకంగా నేమ్‌స్పేస్‌లు మరియు అన్ని పేరు ఉపసర్గలతో కూడిన ప్రామాణిక లైబ్రరీ నేమ్‌స్పేస్‌ల కోసం ప్రత్యేకించబడింది :: అంటే ఈ పేరు ఈ స్టేడ్ నేమ్‌స్పేస్‌లోనే సంభవిస్తుంది. + అందువల్ల, నేమ్‌స్పేస్ అంటే మన స్వంత పేర్లను ఉపయోగించినప్పుడు ఏమి జరుగుతుంది, ఇది మేము ఉపయోగించే కుటుంబ పేరు లేదా చివరి పేరు వంటిది. + అందువలన, నేను పార్థా ప్రతిమ దాస్. + కాబట్టి, దాస్ నా చివరి పేరు మరియు నా పేరు పార్థ్. + అందువల్ల, మరికొన్ని కుటుంబ పేర్లలో మరొక పార్థా ఉండవచ్చు అని పార్థా ప్రతిం చక్రవర్తి పేర్కొంది. + కాబట్టి, ఇవి ఉన్న వివిధ కుటుంబ పేర్లకు భిన్నంగా ఉంటాయి. + కాబట్టి, పేరు స్థలం దీనికి సమానంగా ఉంటుంది. + దీని గురించి మేము తరువాత మాట్లాడుతాము. + కాబట్టి, మీరు ఇక్కడ std ని ఉపయోగించి పేరు ఖాళీలను చిన్నగా కత్తిరించినట్లయితే, మీరు అన్ని ప్రామాణిక లైబ్రరీ పేర్లను ఆ std :: నేమ్‌స్పేస్‌తో ప్రిఫిక్స్ చేయనవసరం లేదు. + ఇప్పుడు, ప్రామాణిక లైబ్రరీ యొక్క శీర్షిక గురించి చాలా ప్రత్యేకమైనదాన్ని హైలైట్ చేయాలనుకుంటున్నాను. + కాబట్టి, సి ++, సి అంటే దాని అర్థం అని మేము గుర్తించాము; అంటే ఏదైనా సి ప్రోగ్రామ్‌ను సి ++ ప్రోగ్రామ్‌గా కూడా అమలు చేయాలి. + సి యొక్క ప్రామాణిక లైబ్రరీతో మేము ఏమి చేస్తాం అనేదానికి ఇది మరొక ప్రశ్నను తెస్తుంది, సి యొక్క ప్రామాణిక లైబ్రరీని సి ++ ప్రోగ్రామ్‌లో కూడా ఉపయోగించవచ్చని నేను ఇప్పటికే స్పష్టం చేశాను, అయితే ప్రోగ్రామ్‌ను మిళితం చేయడానికి మీకు ఒక చిన్న విషయం C ++ నుండి ప్రోగ్రామ్‌కు ప్రామాణిక లైబ్రరీ హెడర్‌ను మీరు ఎలా పేర్కొంటారు. + కాబట్టి, మీరు దీన్ని ఎడమ వైపున ఎలా చేయవచ్చో ఈ పట్టిక మీకు చూపుతుంది, మీరు ప్రోగ్రామ్‌ను వ్రాస్తున్న భాషలో మరియు మేము శీర్షికను చూపిస్తున్న కాలమ్‌లో ఏ ప్రామాణిక లైబ్రరీలో మేము శీర్షికను చూపిస్తున్నాము. ఇది సి నుండి లేదా సి ++ నుండి. + కాబట్టి, మీరు సి ప్రోగ్రామ్ వ్రాస్తుంటే మరియు మీరు సి స్టాండర్డ్ లైబ్రరీ హెడర్ ఉపయోగిస్తుంటే, మీరు stdio.h లాగా చేరతారని మాకు తెలుసు. + మీరు సి ++ ప్రోగ్రామ్‌ను వ్రాస్తూ, సి స్టాండర్డ్ లైబ్రరీ హెడర్‌ను కలిగి ఉంటే, నేను చెప్పినట్లుగా, మీరు సి స్టాండర్డ్ లైబ్రరీ పేరును సి తో ప్రిఫిక్స్ చేయాలి. + అందువల్ల, stdio.h ఇప్పుడు C stdio గా మారింది మరియు మీరు ప్రామాణిక లైబ్రరీ నుండి dot h మరియు C నుండి పేరును వదలాలి ఈ చిహ్నాలన్నీ ఇప్పుడు std నేమ్‌స్పేస్ (నేమ్‌స్పేస్) లో పొందుతాయి మరియు మనకు std తో ఉపసర్గ లభిస్తుంది :: కలిగి ఉండాలి చేయండి. + మీరు C ++ ప్రోగ్రామ్‌ను వ్రాసి, C ++ ప్రామాణిక లైబ్రరీని కలిగి ఉంటే, మీరు దానిని హాష్ IO స్ట్రీమ్‌గా మాత్రమే చేర్చారు. + C ++ లోని అన్ని ప్రామాణిక లైబ్రరీ హెడర్‌లకు వాటి ఫైల్ ఎక్స్‌టెన్షన్స్‌లో డాట్ హెచ్ లేదు, ఇది ఒక చారిత్రక కారణం, నేను తరువాతి దశలో వివరించడానికి ప్రయత్నిస్తాను, కాని దయచేసి IO స్ట్రీమ్‌లు ఉండకూడదని గమనించండి. + మరియు చేర్చకూడదు. + ఈ మాతృకలోని చివరి పెట్టె మీరు సి ప్రోగ్రామ్ వ్రాస్తున్నప్పుడు మరియు మీరు సి ++ హెడర్‌ను ఉపయోగించాలనుకుంటే, అది ఖచ్చితంగా వర్తించదు ఎందుకంటే మీరు సి ++ లో చాలా ఫీచర్లు చేయలేరు. సి మద్దతు ఇవ్వనివి మరియు కాబట్టి, ఉపయోగించబడదు. + ముఖ్యంగా గమనించండి మరియు నేను ఎరుపు రంగులో హైలైట్ చేసాను, పొరపాటున లేదా సి లో ప్రామాణిక లైబ్రరీ (లైబ్రరీ) శీర్షికల కోసం డాట్ హెచ్ ను ఫైల్ నేమ్ ఎక్స్‌టెన్షన్‌గా ఉపయోగించడం ద్వారా. + మీరు I ++ స్ట్రీమ్‌ను కలిగి ఉంటే. + C ++ ప్రోగ్రామ్‌లో, మీ కంపైలర్ నిజంగా మీకు లోపం ఇవ్వదు అంటే మీ కంపైలర్ నిజంగా నాటిది మరియు మీరు ఇటీవల కంపైలర్‌కు వెళ్లాలి మరియు అందువల్ల ఇది చాలా ప్రమాదకరమైన ప్రతిపాదన. ఎందుకంటే మీరు పొరపాటు చేస్తున్నారు IO stream.h లేదా హెడర్ డాట్ h తో ఉన్న పదార్థం పొడిగింపు ఫైళ్ళ కోసం ఏదైనా C ++ ప్రామాణిక లైబ్రరీ, ఇవన్నీ వర్ణించబడ్డాయి. + అవి పెద్దగా ఉపయోగంలో లేవు, అయితే కొన్ని కంపైలర్లు సి ++ ప్రమాణంలో తయారు చేయబడటానికి ముందే వ్రాయబడినందున వాటిని అనుమతించడం కొనసాగిస్తున్నాయి. + కాబట్టి, దయచేసి ప్రామాణిక లైబ్రరీ శీర్షికల యొక్క ఈ సమావేశాలను గుర్తుంచుకోండి. + తరువాత, మీ సి. లూప్‌ల వాడకంపై మేము దృష్టి పెడతాము. + చాలా పోలి ఉంటాయి. + అందువల్ల, మేము 0 నుండి ప్రారంభమయ్యే అంకెల క్రమాన్ని మాత్రమే ఇక్కడ జోడిస్తున్నాము. + n మరియు లూప్ కోసం వాటిని చేర్చండి. + IO శీర్షికలు మరియు కౌట్ స్ట్రీమింగ్ సమావేశాలలో తేడాలు మినహా ఇలాంటి ప్రోగ్రామ్‌లు C ++ కోసం దాదాపు సమానంగా పనిచేస్తాయి. + లూప్ లూప్ సూచికల కోసం, కుండలీకరణాల్లో నన్ను 'నిర్మించు' అని ప్రకటించవచ్చు. + మీరు ఇలా చేస్తే, నేను ఈ డిక్లరేషన్ లూప్‌కు స్థానికంగా ఉంటుంది, మీరు లూప్ కోసం బయటకు వచ్చిన తర్వాత మీరు తరువాత మంచం స్టేట్‌మెంట్‌లో ఉన్నారు లేదా నేను తరువాత ప్రకటించబడను. + కాబట్టి, ఇది ప్రవేశపెట్టబడింది, తద్వారా మీకు స్థానిక ఇండెక్స్ వేరియబుల్స్ అవసరమైనప్పుడు మీరు వాటిని త్వరగా స్థానికంగా ఉపయోగించుకోవచ్చు మరియు మీరు ఆ వేరియబుల్‌ను ఇంతకు ముందు ప్రకటించారా లేదా అనే దాని గురించి నిజంగా ఆలోచించకండి, అది మరొక సందర్భంలో ఉపయోగించబడుతుందా లేదా అనే దాని గురించి నిజంగా ఆలోచించవద్దు. + మీరు వాటిని స్థానికంగా మాత్రమే ప్రకటించవచ్చు మరియు వాటిని C ++ లో ఉపయోగించవచ్చు. + C89 లో ఇది సాధ్యం కాలేదు, కానీ ఇప్పుడు C99 లో కూడా ఇది సాధ్యమే. + చివరగా, ఈ మాడ్యూల్ యొక్క చివరి భాగంలో, మేము బూలియన్ రకాన్ని ఉపయోగించడాన్ని వివరిస్తాము. + సి బూలియన్ రకాన్ని ఉపయోగించుకునే అవకాశం ఉందని మనందరికీ తెలుసు, ఇది ఒక రకం, ఇది నిజమైన లేదా తప్పుడు విలువను తీసుకోగలదని మేము చెబుతున్నాము. + ఇప్పుడు, సి ఇది సి 89, అసలు పాత సి మనకు బూల్ కోసం వేరే రకం లేదు. + కాబట్టి, అది ఏమిటంటే, అది బూల్‌ను అర్థం చేసుకోవడానికి పూర్ణాంకాన్ని ఉపయోగిస్తోంది, మీరు బూలియన్ స్థానం లేదా బూలియన్ విలువను ఏ ప్రదేశంలో ఉంచాలనుకుంటున్నారో, మీరు తేడా వేరియబుల్‌ను ప్రకటిస్తారు. మరియు 0 అని సెట్ చేయండి, మీరు తప్పుడు అర్థం చేసుకోవాలనుకుంటే మరియు కానిదాన్ని సెట్ చేయండి -జెరో, మనం నిజం అని అనుకుంటే. + అందువల్ల, ఈ 3 నిలువు వరుసలలో, మీరు ఎడమ వైపు చూస్తే, సి ప్రోగ్రామ్ బూలియన్‌తో పనిచేస్తున్న అత్యంత సాధారణ మార్గం ఏమిటంటే, సౌలభ్యం కోసం మీరు రెండు స్థిరాంకాలను నిర్వచించవచ్చు; 1 మరియు 0 కలిగి ఉండటం మరియు వాటిని మీ ప్రోగ్రామ్‌లో ఉపయోగించడం నిజం మరియు తప్పు, కానీ నేను చూపించినట్లుగా బూలియన్ స్థానానికి ఉపయోగించే వేరియబుల్ x వ్యత్యాస రకంగా ప్రకటించబడింది. పూర్తయింది మరియు ఇది సత్యంతో ప్రారంభమైంది.. + కాబట్టి, మీరు ప్రింట్ చేస్తే దాని విలువ 1 అని చూపిస్తుంది; ఇది C89 లో ఉంది. + తదనంతరం, C99 లో, బూల్ రకాన్ని ప్రవేశపెట్టడానికి మార్పు చేయబడింది. + ఇప్పుడు, దీనిని చూడటానికి ముందు, మొదట కుడివైపు కాలమ్ చూద్దాం, ఇది C ++ ప్రోగ్రామ్. + C ++ లో మీకు అంతర్నిర్మిత రకంగా బూల్ ఉంది, మీకు పూర్ణాంకం, చార్, ఫ్లోట్, డబుల్ ఉన్నాయి. + అదేవిధంగా, మీకు బూల్ రకం ఉంది, ఈ బూల్ రకం కేవలం రెండు అక్షరాస్యులు; చిన్న కేసులో నిజం మరియు తప్పు రెండూ. + అందువల్ల, ఆ కీలకపదాలు ఇప్పటికీ రిజర్వు చేయబడ్డాయి. + కాబట్టి, మీరు బూలియన్ వేరియబుల్‌గా ఉపయోగించడానికి x ను సమానంగా నిర్వచించాలనుకుంటే, మీరు నేరుగా బూల్‌ని ఉపయోగించవచ్చు, ఇది మీరు నిజంగా బూలియన్ అని అర్థం చేసుకోవడం చాలా సులభం. విలువతో పనిచేయడం మరియు మీరు దానిని నిజమైన లేదా తప్పుడుతో ప్రారంభించవచ్చు, కానీ మీరు ఈ వేరియబుల్ యొక్క విలువను ప్రింట్ చేయడానికి ప్రయత్నిస్తే, అది నిజం లేదా తప్పు అని ముద్రించదు, వాస్తవానికి ఇది 1 లేదా 0 ను ప్రింట్ చేస్తుంది) విల్, అది నిజమైతే అది 1 మరియు 0 లేకపోతే. + సహజంగానే, నిర్మించిన రకాన్ని స్పష్టంగా మరియు స్పష్టంగా ఉపయోగించుకోవడంలో చాలా ప్రయోజనాలు ఉన్నాయి. + వీటిలో చాలా ముఖ్యమైనది C ++ ప్రోగ్రామ్ నుండి, మీరు మీ బూలియన్ విలువను పేర్కొనడానికి బూల్ ఉపయోగించినట్లయితే, అప్పుడు ప్రోగ్రామ్ చదివే ఎవరైనా దానిని అర్థం చేసుకోవచ్చు.ఈ వేరియబుల్ నిజమైన లేదా తప్పుడు తప్ప వేరే విలువను తీసుకోలేరని అనుమతిస్తుంది. + దీనికి విరుద్ధంగా, మేము బూలియన్ విలువ కోసం పూర్ణాంకాన్ని ఉపయోగించే సి శైలిని ఉపయోగిస్తే, అది వాస్తవానికి చాలా భిన్నమైన విలువలను నిజం లేదా తప్పు అని అర్ధం చేసుకోవచ్చు. ఆమె వెళుతుంది. + ఇప్పుడు, మధ్య కాలమ్‌లో, C99 ఎవరితో వచ్చారో C99 ప్రమాణంలో C ప్రోగ్రామింగ్ భాష యొక్క ఆసక్తికరమైన పొడిగింపును చూస్తాము. + C99 ఒక స్పష్టమైన బూలియన్ రకాన్ని ప్రవేశపెట్టింది మరియు దీనికి అండర్ స్కోర్ బూల్ అని పేరు పెట్టారు, ఇక్కడ B మూలధనంలో వ్రాయబడింది, అయితే ఇది బూల్ ఇస్ రాయడానికి చాలా సాధారణమైన సహజ మార్గం కానందున, ఇది stdbool.h అనే కొత్త ప్రామాణిక లైబ్రరీ హెడర్‌ను కూడా అందించింది. మాక్రోలు అందించబడతాయి. + మొదటి స్థూల లోయర్ కేసులో బూల్‌ను నిర్వచిస్తుంది మరియు అండర్ స్కోర్ క్యాపిటల్ బూల్‌తో సమానంగా ఉంటుంది. + కాబట్టి, మేము C99 ప్రోగ్రామ్‌లో దిగువ కేసులో బూల్ ఉపయోగిస్తే, మీరు నిజంగా ఆ కొత్త ముందే నిర్వచించిన రకమైన అండర్ స్కోర్ క్యాపిటల్ బూల్ (బూల్) ను ఉపయోగిస్తున్నారు మరియు ఇది 1 మరియు 0 గా హెడర్‌లో ఉంది నేను సరైనది మరియు తప్పు అని నిర్వచించాను, తద్వారా మీరు దీన్ని స్థిరంగా ఇక్కడ ఉపయోగించండి. + అందువల్ల, మనం ఉంటే; మీరు సి ఉపయోగిస్తున్నప్పుడల్లా, మీరు ఎల్లప్పుడూ బూల్ అని టైప్ చేయాలి మరియు పూర్ణాంకానికి వాడకండి మరియు దానిని బూల్ రకంగా అర్థం చేసుకోవాలి. సి ++ లో ఇది ఖచ్చితంగా నిర్మించబడింది- ఈ రకాలు రూపంలో వస్తుంది. + కాబట్టి, దీనికి అనేక ఇతర ప్రయోజనాలు ఉన్నాయని మేము ఎత్తి చూపాము మరియు అదే సమయంలో మేము వివిధ రకాలతో వెళ్తాము. + కాబట్టి ఈ మాడ్యూల్‌లో, సి మరియు సి ++ మధ్య ప్రాథమిక వ్యత్యాసాన్ని అర్థం చేసుకోవడానికి ప్రయత్నించాము; మీరు ఇన్‌పుట్‌ను ఎలా అవుట్పుట్ చేస్తారు? మీరు వేరియబుల్ ఎలా ప్రకటిస్తారు? C ++ లో C మరియు C ++ యొక్క ప్రామాణిక లైబ్రరీ ఎలా ఉపయోగించబడుతుంది? C ++ మనకు ఎలా ప్రకటించగలదో మరియు ఎలా అవుట్పుట్ చేయగలదో మాకు మరింత సౌలభ్యాన్ని ఇస్తుందని చూడటం ప్రారంభించాము. + ఇప్పుడు, ఆ సంక్లిష్టమైన printf స్టేట్‌మెంట్‌లు, ఫార్మాట్‌లు వేర్వేరు తీగలలో ఉన్న స్ట్రీమ్ ప్రింట్ ఎఫ్ (ప్రింట్ ఎఫ్) ఫంక్షన్ (ఫంక్షన్) కాల్స్ మాకు అవసరం లేదు, వేరియబుల్స్ విడిగా జాబితా చేయబడతాయి. + స్కాన్ఫ్‌కు వేరియబుల్స్ మరియు సారూప్య చిరునామాలు అవసరమని మనం గుర్తుంచుకోవాల్సిన అవసరం లేదు మరియు ఈ విధంగా సి ++ లో చాలా నిర్మాణాలు మరియు విధులు సరళీకృతం చేయబడ్డాయి, ఇవి ప్రోగ్రామింగ్‌ను పెంచడానికి సహాయపడతాయి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/08. ProgramminginCplusplus_Stack and its Applications (Lecture 07)-aG0HjeXBUDU.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/08. ProgramminginCplusplus_Stack and its Applications (Lecture 07)-aG0HjeXBUDU.txt index 10641b21d2945745da90a46a81d0bf410e06784c..23d24501a0688e9b624961e07e767edc68270c99 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/08. ProgramminginCplusplus_Stack and its Applications (Lecture 07)-aG0HjeXBUDU.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/08. ProgramminginCplusplus_Stack and its Applications (Lecture 07)-aG0HjeXBUDU.txt @@ -1,98 +1,98 @@ - 1. C ++ ప్రోగ్రామింగులో  మాడ్యూల్ 5 కు స్వాగతం. - 2. మీరు సాధారణంగా సి లో వ్రాసిన వివిధ ఉదాహరణ ప్రోగ్రామ్‌లను మేము చర్చిస్తున్నాము మరియు ఇప్పుడు వాటిని సి ++ లో ఎలా వ్రాయవచ్చో చూపిస్తున్నాము. - 3. దీని కోసం సి ++ ప్రామాణిక లైబ్రరీని ఎంత తరచుగా ఉపయోగించవచ్చో మరియు దీనితో, సి ++ ప్రోగ్రామింగ్ సౌలభ్యాన్ని ఎలా పెంచుతుందో చూపించాలనుకుంటున్నాము. - 4. కాబట్టి, ఈ మాడ్యూల్‌లో మనం స్టాక్‌లు మరియు దాని అనువర్తనాల గురించి మాట్లాడుతాము. - 5. సి లో స్టాక్ అమలు మరియు వాడకాన్ని అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము, ఇది మీ అందరికీ తెలుసు, ఆపై సి ++ లో ప్రామాణిక స్టాక్ లైబ్రరీని ఎలా ఉపయోగించవచ్చో చూపిస్తాము. - 6. అందువల్ల, ఇవి స్ట్రింగ్ (స్ట్రింగ్) ను రివర్స్ చేయడం ద్వారా పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను ఉదాహరణగా అంచనా వేసే అంశాలు. - 7. స్టాక్ పరిచయంపై, రీక్యాప్ చేయడానికి. - 8. స్టాక్ అనేది LIFO నిర్మాణం; డేటా అంశాల యొక్క ఏకపక్ష సంఖ్యల సేకరణను నిర్వహించే చివరి-మొదటి-మొదటి కంటైనర్. - 9. శ్రేణిలో పరిమితులు లేవు; శ్రేణుల పరిమాణాన్ని బట్టి నేను ఎన్ని అంశాలను ఉంచగలను అనే దానిపై పరిమితులు ఉన్నాయి. - 10. ఎటువంటి నిర్వచనం లేకుండా స్టాక్ చేయండి, స్టాక్‌లో ఉండే అన్ని ఎలిమెంట్ డేటా ఎలిమెంట్స్ ఒకే రకంగా ఉండాలి, కాని నేను ఎన్ని మూలకాలను కలిగి ఉంటాను. - 11. కాబట్టి, సి లో స్టాక్ చేయడానికి, మనం చేయాలి; ఇవి మనం అనుసరించాల్సిన సాధారణ దశలు. - 12. మొదట మనం మూలకం యొక్క డేటా రకాన్ని నిర్ణయించాలి, ఒక నిర్మాణం లేదా కంటైనర్‌ను నిర్వచించాలి, వాస్తవానికి సి లో మనం కొంత గరిష్ట పరిమాణాన్ని ఉపయోగించాల్సి ఉంటుంది, లేకపోతే సి కంపైలర్ దీనిని నిర్వచించటానికి అనుమతించదు, శీర్షాన్ని ప్రకటించండి స్టాక్ (స్టాక్) పైభాగాన్ని నిర్వహించే వేరియబుల్ మరియు ఆ స్టాక్ (స్టాక్) యొక్క ఆపరేషన్ కోసం అవసరమైన నాలుగు ఫంక్షన్లను వ్రాయాలి. - 13. ఫంక్షన్ పుష్, ఇది స్టాక్‌కు ఒక మూలకాన్ని జోడిస్తుంది; ఫంక్షన్ పాప్, ఇది అగ్ర మూలకాన్ని తొలగిస్తుంది, మూలకం చివరిగా జోడించబడింది; ఫంక్షన్ టాప్, ఇది తీసివేయకుండా నాకు చాలా ఎక్కువ మూలకాన్ని ఇస్తుంది, చివరకు, మనకు ఒక ఫంక్షన్ (ఫంక్షన్) isempty () లేదా ఖాళీగా ఉండాలి, ఇది స్టాక్ (స్టాక్) లో ఏదైనా మూలకాలను కలిగి ఉంటే నాకు తెలియజేస్తుంది. కాదు. - 14. కాబట్టి, isempty () నిజమైతే, పాప్ మరియు టాప్ వంటి ఆపరేషన్లు చెల్లవు ఎందుకంటే తొలగించడానికి లేదా తిరిగి రావడానికి అగ్ర మూలకం లేదు. - 15. అందువల్ల, మేము స్టాక్ కోసం మూలకాల రకాన్ని మార్చిన వెంటనే, మనం తిరిగి దరఖాస్తు చేసుకోవాలి, స్టాక్ యొక్క మొత్తం కోడ్‌ను తిరిగి వ్రాయాలి, ఇది పూర్ణాంకం యొక్క స్టాక్. (స్టాక్) కోసం కోడ్ స్టాక్, మరియు స్టాక్ (స్టాక్) కోసం కోడ్ తీగలను స్టాక్ భిన్నంగా ఉంటుంది, అయినప్పటికీ LIFO యొక్క ప్రాథమిక umption హ రెండు సందర్భాల్లోనూ చెల్లుతుంది. - 16. కాబట్టి, సి స్టాండర్డ్ లైబ్రరీలో మనకు ఉన్న ఈ ఫంక్షన్లన్నింటికీ కాకుండా, గణితంలో మనం ఇంతకుముందు చూశాము, మనకు చాలా లైబ్రరీ ఫంక్షన్లు ఉన్నాయి. - 17. కాబట్టి, నేను గుర్తును లెక్కించాలనుకుంటే లేదా వర్గమూలాన్ని లెక్కించాలనుకుంటే లేదా ఆర్క్టాన్‌ను లెక్కించాలనుకుంటే, నేను ఆ ఫంక్షన్‌ను (ఫంక్షన్) వ్రాయవలసిన అవసరం లేదు, నేను దానిని లైబ్రరీ నుండి మాత్రమే ఉపయోగించగలను. - 18. దీనికి విరుద్ధంగా, సి స్టాండర్డ్ లైబ్రరీ నాకు స్టాక్‌ను ఉపయోగించటానికి ఒక యంత్రాంగాన్ని ఇవ్వదు. - 19. నేను వెంటనే ఉపయోగించగల స్టాక్ నాకు ఇవ్వదు. - 20. కాబట్టి, సి ప్రోగ్రామింగ్‌తో ప్రస్తుత పరిస్థితుల పరిస్థితి ఇది. - 21. కాబట్టి, ఈ సందర్భంలో, మీరు C ++ ఉపయోగిస్తే విషయాలు ఎలా మారతాయో చూడటానికి మేము ప్రయత్నిస్తాము. - 22. కాబట్టి, స్టాక్ ఉపయోగించి పరిష్కరించడానికి మేము ప్రయత్నించిన కొన్ని సాధారణ సమస్యలపై కూడా దృష్టి పెడదాం. - 23. నేను ఎడమ నుండి కుడికి క్రమంలో ఉన్న స్ట్రింగ్‌ను రివర్స్ చేయాలనుకుంటున్నాను, ఇది ఎడమ నుండి కుడికి మార్చాలనుకుంటున్నాను ఒక నిర్దిష్ట ప్రోగ్రామ్. - 24. మరొక పోస్ట్‌ఫిక్స్ అనేది వ్యక్తీకరణల మూల్యాంకనం, ఆపరేటర్లు ఒపెరాండ్ల మధ్య ఉన్న చోట మేము సాధారణంగా వ్యక్తీకరణలను అఫిక్స్ సంజ్ఞామానం తో వ్రాస్తాము. - 25. కాబట్టి, నేను ఈ వ్యక్తీకరణను అంచనా వేయాలనుకుంటే 1 + 2 * 3 - 4 ఉదాహరణను చూపిస్తున్నాను; మేము వ్యక్తీకరణను ఎడమ నుండి కుడికి చదివినప్పటికీ, దాన్ని అంచనా వేయడానికి వెళ్ళినప్పుడు మనం దానిని ఎడమ నుండి కుడికి ఖచ్చితంగా అంచనా వేయలేము. - 26. నక్షత్రం గుణకారం అదనంగా మరియు వ్యవకలనం కంటే ఎక్కువ ప్రాధాన్యతనిస్తుందని మాకు తెలుసు. - 27. కాబట్టి, మొదట మనం 2 తో 3 తో ​​గుణించాలి, ఫలితం 6 ను పొందాలి, ఆపై మనకు ప్లస్ మరియు మైనస్ ఉన్నాయి, ఇవి రెండూ ఒకే పూర్వజన్మను కలిగి ఉంటాయి, కానీ అవి అనుబంధంగా ఉంటాయి. - 28. అందువల్ల, మనం ఎడమ నుండి కుడికి కదిలి, ఫలితం 3 అవుతుందని లెక్కించాలి. - 29. కాబట్టి, మనం వ్యక్తీకరణను ఎలా వ్రాస్తామో పరంగా ఇన్ఫిక్స్ సంజ్ఞామానం చాలా మంచిది. - 30. ఈ వ్యక్తీకరణలను వ్రాయడానికి మరియు దానిని అంచనా వేయడానికి BODMAS నియమాలను అనుసరించడానికి మా పాఠశాల రోజుల నుండి మాకు నేర్పించాం, కాని పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలను అంచనా వేయడం చాలా కష్టమవుతుంది ఎందుకంటే ఆపరేటర్ల క్రమాన్ని అమలు చేయాలి, ఇది అసోసియేషన్ ఆధారంగా వారి ప్రాధాన్యత. - 31. అందువల్ల, మేము పోస్ట్ఫిక్స్ సంజ్ఞామానం అని పిలువబడే వేరే సంజ్ఞామానాన్ని ఆశ్రయిస్తాము. - 32. పోస్ట్‌ఫిక్స్ సంజ్ఞామానం లో, ఇది మొదట ఒపెరాండ్ పేర్కొనబడి, ఆపై ఆపరేటర్ వస్తాడు. అందుకే ఇది పోస్ట్‌ఫిక్స్. - 33. కాబట్టి, నాకు సి ఆపరేటర్ ఉంటే, దాని కోసం ఒపెరాండ్ ఇప్పటికే జరిగింది. - 34. కాబట్టి, ఆపరేటర్‌కు శ్రేణి 2 ఉంటే, ఆ ఆపరేటర్‌కు 2 ఆపరేటర్ ఒపెరాండ్‌లు వెంటనే వర్తింపజేయాలని నాకు తెలుసు. - 35. కాబట్టి, ఇక్కడ ఇచ్చిన సమాచారంతో భర్తీ చేయబడిన ఈ వ్యక్తీకరణను నేను చూస్తే, నా వ్యక్తీకరణ 1 2 3 * + 4 - మరియు ఇది ఇన్ఫిక్స్ను ఎలా మార్చాలో కూడా ఒక సమస్య అని మీరు చూడగల ఉదాహరణను ఇక్కడ చూపిస్తాము. వ్యక్తీకరణ ఉపసర్గ వ్యక్తీకరణకు. - 36. ఇది స్టాక్‌ను ఉపయోగించి కూడా పరిష్కరించవచ్చు, కాని ఇక్కడ పోస్ట్‌ఫిక్స్ వ్యక్తీకరణ ఇచ్చినట్లయితే, స్టాక్‌ను ఉపయోగించి దాన్ని ఎలా అంచనా వేస్తామో చూపిస్తాము. - 37. కాబట్టి, ఇవన్నీ మనం చేయగలిగినవి చేయగల వేర్వేరు స్టాక్‌లు; వ్యక్తీకరణను ఎడమ నుండి కుడికి స్కాన్ చేయండి, ఉచిత ఒపెరాండ్ తీసుకోండి, దాన్ని స్టాక్‌లోకి చొప్పించండి, మేము ఆపరేటర్‌లోకి వచ్చే వరకు స్టాకింగ్ ఉంచండి. - 38. కాబట్టి, ఇక్కడ మనం 1 పుష్ (పుష్) ఇస్తాము, తరువాత మనం 2 పుష్ (పుష్) ఇస్తాము, తరువాత 3 పుష్ (పుష్) ఇస్తాము, ఆపై 2 నిర్వచనాలు ఉన్న ఆపరేటర్ స్టార్ వద్దకు వస్తాము. - 39. కాబట్టి, దీనికి చివరి 2 ఒపెరాండ్ అవసరమని నాకు తెలుసు, మేము ఈ 2 ని పాప్ చేస్తాము. - 40. 3 శక్తిని పొందడానికి 6 ను పొందండి మరియు దానిని వెనక్కి నెట్టండి. - 41. అప్పుడు మనకు ప్లస్ నెక్స్ట్ ఆపరేటర్ వస్తుంది. - 42. అందువల్ల, రెండు ఒపెరాండ్‌లు కూడా అవసరమని మాకు తెలుసు. - 43. కాబట్టి, మేము 6 మరియు 1 ని పాప్ చేస్తాము, స్టాక్ ఖాళీ అవుతుంది, 7 ను పొందటానికి మేము దానిని ప్లస్ తో ఆపరేట్ చేస్తాము మరియు దానిని వెనుకకు నెట్టేస్తాము మరియు ఫలితాన్ని పొందడానికి మేము ఈ విధంగా కదులుతాము. - 44. అందువల్ల, చూడటానికి మంచి ఉదాహరణ ఏమిటంటే, స్టాక్ యొక్క విభిన్న విధులను ఉపయోగించి మనం ముందుకు సాగాలి, ఇది మనకు అందుబాటులో ఉన్న పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను వాస్తవంగా లెక్కిస్తుంది. - 45. అదేవిధంగా, రెండు వైపుల నుండి ఒకే విధమైన పఠనం ఉన్న, మధ్యలో ఒక ప్రత్యేక పాత్ర అయిన సెంటర్ మార్కర్‌తో లేదా లేకుండా, పాలిండ్రోమ్ యొక్క గుర్తింపు వంటి అనేక ఇతర సమస్యలను స్టాక్ ఉపయోగించి గుర్తించవచ్చు. వాస్తవానికి, ఇన్ఫిక్స్ వ్యక్తీకరణ పోస్ట్‌ఫిక్స్ ద్వారా లోతుగా అన్వేషించవచ్చు మరియు ఒక ఉదాహరణ చాలా ఉంది. - 46. కాబట్టి, ఏదైనా సాఫ్ట్‌వేర్ సిస్టమ్ యొక్క ప్రోగ్రామింగ్‌లో స్టాక్ ఒక ముఖ్యమైన పాత్ర పోషిస్తుంది మరియు అందువల్ల, స్టాక్‌ను ఉపయోగించడానికి మీకు అనుకూలమైన, నమ్మదగిన, దృ mechan మైన యంత్రాంగం ఉంటే మేము గట్టిగా ప్రయోజనం పొందుతాము.అప్పుడు సి ++ మాకు రెడీమేడ్‌గా ఇస్తుంది పరిష్కారం. - 47. కాబట్టి, స్ట్రింగ్ రివర్స్ చేయడాన్ని చూద్దాం. - 48. ఇది మీ కోసం రీక్యాప్ కంటే ఎక్కువ, ఇది స్ట్రింగ్ రివర్స్ చేయడానికి ప్రయత్నిస్తున్న సి ప్రోగ్రామ్, ఎందుకంటే స్టాక్ ఒక నిర్మాణంగా నిర్వచించబడిందని మీరు చూడవచ్చు, మూలకాల కంటైనర్ మరియు మార్కర్ అయిన మార్కర్ ఉన్న శ్రేణిని కలిగి ఉంటుంది. అత్యధిక మూలకం యొక్క ప్రస్తుత సూచికను నిర్వహించే సూచిక, మరియు ఈ నాలుగు ఫంక్షన్ల అమలు ఖాళీ, టాప్, బుష్ మరియు పాప్; శీర్ష విలువ -1 అని ఖాళీగా తనిఖీ చేస్తుంది; -1 మూలకాలు లేవని సూచిస్తుంది ఎందుకంటే శ్రేణి (శ్రేణి) కనిష్ట సూచిక విలువను 0 కలిగి ఉంటుంది. - 49. అందువల్ల, ఇది మైనస్ 1 అయితే, స్టాక్ ఖాళీగా ఉందని మేము నిర్దేశిస్తాము. - 50. పైభాగం మూలకాన్ని ఎగువ స్థానం నుండి తిరిగి ఇస్తుంది; పుష్ గరిష్ట స్థానాన్ని పెంచుతుంది మరియు స్టాక్‌లోని స్టాక్‌కు జోడించబడిన క్రొత్త మూలకాన్ని తిరిగి ఇస్తుంది మరియు పాప్ కేవలం టాప్ పాయింట్ లేదా టాప్ ఇండెక్స్‌ను తీసివేస్తుంది. + C ++ ప్రోగ్రామింగులో  మాడ్యూల్ 5 కు స్వాగతం. + మీరు సాధారణంగా సి లో వ్రాసిన వివిధ ఉదాహరణ ప్రోగ్రామ్‌లను మేము చర్చిస్తున్నాము మరియు ఇప్పుడు వాటిని సి ++ లో ఎలా వ్రాయవచ్చో చూపిస్తున్నాము. + దీని కోసం సి ++ ప్రామాణిక లైబ్రరీని ఎంత తరచుగా ఉపయోగించవచ్చో మరియు దీనితో, సి ++ ప్రోగ్రామింగ్ సౌలభ్యాన్ని ఎలా పెంచుతుందో చూపించాలనుకుంటున్నాము. + కాబట్టి, ఈ మాడ్యూల్‌లో మనం స్టాక్‌లు మరియు దాని అనువర్తనాల గురించి మాట్లాడుతాము. + సి లో స్టాక్ అమలు మరియు వాడకాన్ని అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము, ఇది మీ అందరికీ తెలుసు, ఆపై సి ++ లో ప్రామాణిక స్టాక్ లైబ్రరీని ఎలా ఉపయోగించవచ్చో చూపిస్తాము. + అందువల్ల, ఇవి స్ట్రింగ్ (స్ట్రింగ్) ను రివర్స్ చేయడం ద్వారా పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను ఉదాహరణగా అంచనా వేసే అంశాలు. + స్టాక్ పరిచయంపై, రీక్యాప్ చేయడానికి. + స్టాక్ అనేది LIFO నిర్మాణం; డేటా అంశాల యొక్క ఏకపక్ష సంఖ్యల సేకరణను నిర్వహించే చివరి-మొదటి-మొదటి కంటైనర్. + శ్రేణిలో పరిమితులు లేవు; శ్రేణుల పరిమాణాన్ని బట్టి నేను ఎన్ని అంశాలను ఉంచగలను అనే దానిపై పరిమితులు ఉన్నాయి. + ఎటువంటి నిర్వచనం లేకుండా స్టాక్ చేయండి, స్టాక్‌లో ఉండే అన్ని ఎలిమెంట్ డేటా ఎలిమెంట్స్ ఒకే రకంగా ఉండాలి, కాని నేను ఎన్ని మూలకాలను కలిగి ఉంటాను. + కాబట్టి, సి లో స్టాక్ చేయడానికి, మనం చేయాలి; ఇవి మనం అనుసరించాల్సిన సాధారణ దశలు. + మొదట మనం మూలకం యొక్క డేటా రకాన్ని నిర్ణయించాలి, ఒక నిర్మాణం లేదా కంటైనర్‌ను నిర్వచించాలి, వాస్తవానికి సి లో మనం కొంత గరిష్ట పరిమాణాన్ని ఉపయోగించాల్సి ఉంటుంది, లేకపోతే సి కంపైలర్ దీనిని నిర్వచించటానికి అనుమతించదు, శీర్షాన్ని ప్రకటించండి స్టాక్ (స్టాక్) పైభాగాన్ని నిర్వహించే వేరియబుల్ మరియు ఆ స్టాక్ (స్టాక్) యొక్క ఆపరేషన్ కోసం అవసరమైన నాలుగు ఫంక్షన్లను వ్రాయాలి. + ఫంక్షన్ పుష్, ఇది స్టాక్‌కు ఒక మూలకాన్ని జోడిస్తుంది; ఫంక్షన్ పాప్, ఇది అగ్ర మూలకాన్ని తొలగిస్తుంది, మూలకం చివరిగా జోడించబడింది; ఫంక్షన్ టాప్, ఇది తీసివేయకుండా నాకు చాలా ఎక్కువ మూలకాన్ని ఇస్తుంది, చివరకు, మనకు ఒక ఫంక్షన్ (ఫంక్షన్) isempty () లేదా ఖాళీగా ఉండాలి, ఇది స్టాక్ (స్టాక్) లో ఏదైనా మూలకాలను కలిగి ఉంటే నాకు తెలియజేస్తుంది. కాదు. + కాబట్టి, isempty () నిజమైతే, పాప్ మరియు టాప్ వంటి ఆపరేషన్లు చెల్లవు ఎందుకంటే తొలగించడానికి లేదా తిరిగి రావడానికి అగ్ర మూలకం లేదు. + అందువల్ల, మేము స్టాక్ కోసం మూలకాల రకాన్ని మార్చిన వెంటనే, మనం తిరిగి దరఖాస్తు చేసుకోవాలి, స్టాక్ యొక్క మొత్తం కోడ్‌ను తిరిగి వ్రాయాలి, ఇది పూర్ణాంకం యొక్క స్టాక్. (స్టాక్) కోసం కోడ్ స్టాక్, మరియు స్టాక్ (స్టాక్) కోసం కోడ్ తీగలను స్టాక్ భిన్నంగా ఉంటుంది, అయినప్పటికీ LIFO యొక్క ప్రాథమిక umption హ రెండు సందర్భాల్లోనూ చెల్లుతుంది. + కాబట్టి, సి స్టాండర్డ్ లైబ్రరీలో మనకు ఉన్న ఈ ఫంక్షన్లన్నింటికీ కాకుండా, గణితంలో మనం ఇంతకుముందు చూశాము, మనకు చాలా లైబ్రరీ ఫంక్షన్లు ఉన్నాయి. + కాబట్టి, నేను గుర్తును లెక్కించాలనుకుంటే లేదా వర్గమూలాన్ని లెక్కించాలనుకుంటే లేదా ఆర్క్టాన్‌ను లెక్కించాలనుకుంటే, నేను ఆ ఫంక్షన్‌ను (ఫంక్షన్) వ్రాయవలసిన అవసరం లేదు, నేను దానిని లైబ్రరీ నుండి మాత్రమే ఉపయోగించగలను. + దీనికి విరుద్ధంగా, సి స్టాండర్డ్ లైబ్రరీ నాకు స్టాక్‌ను ఉపయోగించటానికి ఒక యంత్రాంగాన్ని ఇవ్వదు. + నేను వెంటనే ఉపయోగించగల స్టాక్ నాకు ఇవ్వదు. + కాబట్టి, సి ప్రోగ్రామింగ్‌తో ప్రస్తుత పరిస్థితుల పరిస్థితి ఇది. + కాబట్టి, ఈ సందర్భంలో, మీరు C ++ ఉపయోగిస్తే విషయాలు ఎలా మారతాయో చూడటానికి మేము ప్రయత్నిస్తాము. + కాబట్టి, స్టాక్ ఉపయోగించి పరిష్కరించడానికి మేము ప్రయత్నించిన కొన్ని సాధారణ సమస్యలపై కూడా దృష్టి పెడదాం. + నేను ఎడమ నుండి కుడికి క్రమంలో ఉన్న స్ట్రింగ్‌ను రివర్స్ చేయాలనుకుంటున్నాను, ఇది ఎడమ నుండి కుడికి మార్చాలనుకుంటున్నాను ఒక నిర్దిష్ట ప్రోగ్రామ్. + మరొక పోస్ట్‌ఫిక్స్ అనేది వ్యక్తీకరణల మూల్యాంకనం, ఆపరేటర్లు ఒపెరాండ్ల మధ్య ఉన్న చోట మేము సాధారణంగా వ్యక్తీకరణలను అఫిక్స్ సంజ్ఞామానం తో వ్రాస్తాము. + కాబట్టి, నేను ఈ వ్యక్తీకరణను అంచనా వేయాలనుకుంటే 1 + 2 * 3 - 4 ఉదాహరణను చూపిస్తున్నాను; మేము వ్యక్తీకరణను ఎడమ నుండి కుడికి చదివినప్పటికీ, దాన్ని అంచనా వేయడానికి వెళ్ళినప్పుడు మనం దానిని ఎడమ నుండి కుడికి ఖచ్చితంగా అంచనా వేయలేము. + నక్షత్రం గుణకారం అదనంగా మరియు వ్యవకలనం కంటే ఎక్కువ ప్రాధాన్యతనిస్తుందని మాకు తెలుసు. + కాబట్టి, మొదట మనం 2 తో 3 తో ​​గుణించాలి, ఫలితం 6 ను పొందాలి, ఆపై మనకు ప్లస్ మరియు మైనస్ ఉన్నాయి, ఇవి రెండూ ఒకే పూర్వజన్మను కలిగి ఉంటాయి, కానీ అవి అనుబంధంగా ఉంటాయి. + అందువల్ల, మనం ఎడమ నుండి కుడికి కదిలి, ఫలితం 3 అవుతుందని లెక్కించాలి. + కాబట్టి, మనం వ్యక్తీకరణను ఎలా వ్రాస్తామో పరంగా ఇన్ఫిక్స్ సంజ్ఞామానం చాలా మంచిది. + ఈ వ్యక్తీకరణలను వ్రాయడానికి మరియు దానిని అంచనా వేయడానికి BODMAS నియమాలను అనుసరించడానికి మా పాఠశాల రోజుల నుండి మాకు నేర్పించాం, కాని పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలను అంచనా వేయడం చాలా కష్టమవుతుంది ఎందుకంటే ఆపరేటర్ల క్రమాన్ని అమలు చేయాలి, ఇది అసోసియేషన్ ఆధారంగా వారి ప్రాధాన్యత. + అందువల్ల, మేము పోస్ట్ఫిక్స్ సంజ్ఞామానం అని పిలువబడే వేరే సంజ్ఞామానాన్ని ఆశ్రయిస్తాము. + పోస్ట్‌ఫిక్స్ సంజ్ఞామానం లో, ఇది మొదట ఒపెరాండ్ పేర్కొనబడి, ఆపై ఆపరేటర్ వస్తాడు. అందుకే ఇది పోస్ట్‌ఫిక్స్. + కాబట్టి, నాకు సి ఆపరేటర్ ఉంటే, దాని కోసం ఒపెరాండ్ ఇప్పటికే జరిగింది. + కాబట్టి, ఆపరేటర్‌కు శ్రేణి 2 ఉంటే, ఆ ఆపరేటర్‌కు 2 ఆపరేటర్ ఒపెరాండ్‌లు వెంటనే వర్తింపజేయాలని నాకు తెలుసు. + కాబట్టి, ఇక్కడ ఇచ్చిన సమాచారంతో భర్తీ చేయబడిన ఈ వ్యక్తీకరణను నేను చూస్తే, నా వ్యక్తీకరణ 1 2 3 * + 4 - మరియు ఇది ఇన్ఫిక్స్ను ఎలా మార్చాలో కూడా ఒక సమస్య అని మీరు చూడగల ఉదాహరణను ఇక్కడ చూపిస్తాము. వ్యక్తీకరణ ఉపసర్గ వ్యక్తీకరణకు. + ఇది స్టాక్‌ను ఉపయోగించి కూడా పరిష్కరించవచ్చు, కాని ఇక్కడ పోస్ట్‌ఫిక్స్ వ్యక్తీకరణ ఇచ్చినట్లయితే, స్టాక్‌ను ఉపయోగించి దాన్ని ఎలా అంచనా వేస్తామో చూపిస్తాము. + కాబట్టి, ఇవన్నీ మనం చేయగలిగినవి చేయగల వేర్వేరు స్టాక్‌లు; వ్యక్తీకరణను ఎడమ నుండి కుడికి స్కాన్ చేయండి, ఉచిత ఒపెరాండ్ తీసుకోండి, దాన్ని స్టాక్‌లోకి చొప్పించండి, మేము ఆపరేటర్‌లోకి వచ్చే వరకు స్టాకింగ్ ఉంచండి. + కాబట్టి, ఇక్కడ మనం 1 పుష్ (పుష్) ఇస్తాము, తరువాత మనం 2 పుష్ (పుష్) ఇస్తాము, తరువాత 3 పుష్ (పుష్) ఇస్తాము, ఆపై 2 నిర్వచనాలు ఉన్న ఆపరేటర్ స్టార్ వద్దకు వస్తాము. + కాబట్టి, దీనికి చివరి 2 ఒపెరాండ్ అవసరమని నాకు తెలుసు, మేము ఈ 2 ని పాప్ చేస్తాము. + 3 శక్తిని పొందడానికి 6 ను పొందండి మరియు దానిని వెనక్కి నెట్టండి. + అప్పుడు మనకు ప్లస్ నెక్స్ట్ ఆపరేటర్ వస్తుంది. + అందువల్ల, రెండు ఒపెరాండ్‌లు కూడా అవసరమని మాకు తెలుసు. + కాబట్టి, మేము 6 మరియు 1 ని పాప్ చేస్తాము, స్టాక్ ఖాళీ అవుతుంది, 7 ను పొందటానికి మేము దానిని ప్లస్ తో ఆపరేట్ చేస్తాము మరియు దానిని వెనుకకు నెట్టేస్తాము మరియు ఫలితాన్ని పొందడానికి మేము ఈ విధంగా కదులుతాము. + అందువల్ల, చూడటానికి మంచి ఉదాహరణ ఏమిటంటే, స్టాక్ యొక్క విభిన్న విధులను ఉపయోగించి మనం ముందుకు సాగాలి, ఇది మనకు అందుబాటులో ఉన్న పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను వాస్తవంగా లెక్కిస్తుంది. + అదేవిధంగా, రెండు వైపుల నుండి ఒకే విధమైన పఠనం ఉన్న, మధ్యలో ఒక ప్రత్యేక పాత్ర అయిన సెంటర్ మార్కర్‌తో లేదా లేకుండా, పాలిండ్రోమ్ యొక్క గుర్తింపు వంటి అనేక ఇతర సమస్యలను స్టాక్ ఉపయోగించి గుర్తించవచ్చు. వాస్తవానికి, ఇన్ఫిక్స్ వ్యక్తీకరణ పోస్ట్‌ఫిక్స్ ద్వారా లోతుగా అన్వేషించవచ్చు మరియు ఒక ఉదాహరణ చాలా ఉంది. + కాబట్టి, ఏదైనా సాఫ్ట్‌వేర్ సిస్టమ్ యొక్క ప్రోగ్రామింగ్‌లో స్టాక్ ఒక ముఖ్యమైన పాత్ర పోషిస్తుంది మరియు అందువల్ల, స్టాక్‌ను ఉపయోగించడానికి మీకు అనుకూలమైన, నమ్మదగిన, దృ mechan మైన యంత్రాంగం ఉంటే మేము గట్టిగా ప్రయోజనం పొందుతాము.అప్పుడు సి ++ మాకు రెడీమేడ్‌గా ఇస్తుంది పరిష్కారం. + కాబట్టి, స్ట్రింగ్ రివర్స్ చేయడాన్ని చూద్దాం. + ఇది మీ కోసం రీక్యాప్ కంటే ఎక్కువ, ఇది స్ట్రింగ్ రివర్స్ చేయడానికి ప్రయత్నిస్తున్న సి ప్రోగ్రామ్, ఎందుకంటే స్టాక్ ఒక నిర్మాణంగా నిర్వచించబడిందని మీరు చూడవచ్చు, మూలకాల కంటైనర్ మరియు మార్కర్ అయిన మార్కర్ ఉన్న శ్రేణిని కలిగి ఉంటుంది. అత్యధిక మూలకం యొక్క ప్రస్తుత సూచికను నిర్వహించే సూచిక, మరియు ఈ నాలుగు ఫంక్షన్ల అమలు ఖాళీ, టాప్, బుష్ మరియు పాప్; శీర్ష విలువ -1 అని ఖాళీగా తనిఖీ చేస్తుంది; -1 మూలకాలు లేవని సూచిస్తుంది ఎందుకంటే శ్రేణి (శ్రేణి) కనిష్ట సూచిక విలువను 0 కలిగి ఉంటుంది. + అందువల్ల, ఇది మైనస్ 1 అయితే, స్టాక్ ఖాళీగా ఉందని మేము నిర్దేశిస్తాము. + పైభాగం మూలకాన్ని ఎగువ స్థానం నుండి తిరిగి ఇస్తుంది; పుష్ గరిష్ట స్థానాన్ని పెంచుతుంది మరియు స్టాక్‌లోని స్టాక్‌కు జోడించబడిన క్రొత్త మూలకాన్ని తిరిగి ఇస్తుంది మరియు పాప్ కేవలం టాప్ పాయింట్ లేదా టాప్ ఇండెక్స్‌ను తీసివేస్తుంది. అందువల్ల, పైభాగా పరిగణించబడిన మూలకం ఇప్పటికీ పైభాగా పరిగణించబడలేదు, దాని క్రింద ఉన్న మూలకం వెంటనే పైభాగా పరిగణించబడుతుంది మరియు స్టాక్ ఇప్పటికే ఉంటే మేము ఈ ఆపరేషన్ చేయలేము కాబట్టి ఖాళీగా ఉంటే, ఏమిటో తనిఖీ చేయడం మంచిది క్రింద? మేము నిజంగా పాప్ ఆపరేషన్ చేయడానికి ముందు స్టాక్ ఖాళీగా ఉంది. - 51. ఇప్పుడు అది; మీరు ఇక్కడ ABCDE స్ట్రింగ్ ఉపయోగిస్తుంటే, మేము ఒక లూప్‌లోకి వెళ్లి, ఈ అక్షరాలన్నింటినీ ABCD మరియు E లను ఒకదాని తరువాత ఒకటి స్టాక్‌లో చేర్చగలమని మనందరికీ తెలుసు. - 52. ఆపై మనం టాప్ ఎలిమెంట్‌ను గుర్తించి, ఆ పైభాగాన్ని పాపింగ్ చేస్తే మూలకం, అప్పుడు E ఖచ్చితంగా చివరిగా జోడించబడుతుంది. - 53. కాబట్టి, అది మొదట బయటకు రాకముందే D జతచేయబడుతుంది, కాబట్టి ఇది తరువాత బయటకు వస్తుంది మరియు దాని ఫలితంగా మనం ఇక్కడ చూపిస్తున్న స్ట్రింగ్ వస్తుంది, ఇది EDCBA మరియు మనందరికీ దాని గురించి బాగా తెలుసు. - 54. కాబట్టి, మీరు రివర్స్ స్ట్రింగ్‌ను ప్రోగ్రామ్ చేయాలనుకుంటే ఇదే మార్గం, మీరు ఈ ప్రధాన ఫంక్షన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ను వ్రాయవలసి ఉంటుంది, ఇది స్ట్రింగ్ రివర్స్ చేయడానికి స్టాక్, ఉపయోగాలు, మీరు ఇచ్చిన కోడ్‌ను కూడా వ్రాయాలి . - 55. సి లోని దృష్టాంతమైన ఎడమ కాలమ్‌లో, పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను అంచనా వేయడానికి ఇలాంటి దృశ్యం ఇవ్వబడుతుంది, మళ్ళీ సి ఎడమ కాలమ్‌లోని మునుపటి ఉదాహరణతో సమానంగా ఉంటుంది, ఇక్కడ స్టాక్ అమలు ఇవ్వబడుతుంది మరియు కుడి కాలమ్ ఇవ్వబడుతుంది. - 56. ఇది నేను రెండు స్లైడ్‌లకు వివరించిన అల్గోరిథం కోడ్ మాత్రమే; మీరు దాని ద్వారా వెళ్లి మాకు నిజంగా ఏమి పని చేస్తుందో అర్థం చేసుకోవచ్చు. - 57. మీరు ఈ పాయింట్‌పై ప్రత్యేకంగా దృష్టి పెడితే, ఈ సమయంలో ఏదైనా ఆపరేషన్ ఉందా అని తెలుసుకోవడానికి ఇది పనిచేస్తుంది. - 58. వ్యక్తీకరణలోని కొన్ని అక్షరాలు ఒపెరాండ్స్ కాదా అని మేము గుర్తించామని మీరు చూస్తారు. - 59. కాబట్టి, ఇది అంకె అయితే దాన్ని న్యూమరేటర్‌గా పరిగణిస్తారు. - 60. కాబట్టి, ఈ వ్యక్తీకరణలో, ప్రతి అంకె ch అయితే, అది ఒక అంకె కాదా అనేది ఒక ఒపెరాండ్, ఒకే అంకెల ఒపెరాండ్, ఆపై మనం దానిని పుష్ (పుష్) ఇవ్వగలము, లేకపోతే మనం హుహ్ అని భావిస్తాము. - 61. ఇది ఒక ఆపరేటర్ అని మాకు తెలుసు మరియు ఆ ఆపరేటర్ ప్రకారం అది అగ్రశ్రేణి అంశాలను కనుగొని తీసుకుంటుంది, వాటిని బయటకు తీసుకొని ఫలితాన్ని లెక్కించి వెనక్కి నెట్టివేస్తుంది. - 62. పోస్ట్‌ఫిక్స్ వ్యక్తీకరణ యొక్క సాధారణ కోడ్ చాలా క్లిష్టంగా ఉంటుంది ఎందుకంటే మీరు ఆపరేటర్ యొక్క యోగ్యతలను కూడా పరిగణనలోకి తీసుకోవాలి మరియు దాని ఆధారంగా మాకు నాలుగు ఆపరేటర్లు తెలుసు, ఆపరేటర్ బైనరీ. - 63. కాబట్టి, ఆ పైల్స్ అన్నీ ఇక్కడ లేవు. - 64. ఇప్పుడు, సి ++ లో ఏమి జరుగుతుందో చూద్దాం. - 65. C ++ లో, మంచి విషయం ఏమిటంటే, C ++ ప్రామాణిక లైబ్రరీ మాకు రెడీమేడ్ స్టాక్‌ను అందిస్తుంది. - 66. కాబట్టి, ఆ స్టాక్‌ను సృష్టించడం లేదా మనం చేయవలసిన స్టాక్‌ను ఉపయోగించడం అంటే స్టాక్ (స్టాక్) హెడర్ అని పిలువబడే కొత్త హెడర్‌ను చేర్చడం. - 67. స్టాక్ శీర్షికలో నిర్వచించబడిన స్టాక్‌ను వేగవంతం చేసి, ఆపై ఆ స్టాక్ (స్టాక్) ఆబ్జెక్ట్ యొక్క ఫంక్షన్లను ఉపయోగించడం ప్రారంభించండి మరియు మనకు స్టాక్ (స్టాక్) సిద్ధంగా ఉంటుంది. - 68. కాబట్టి, ఇక్కడ మేము రివర్స్ స్ట్రింగ్ ఉదాహరణను చూపిస్తున్నాము. - 69. మళ్ళీ కుడి వైపున సి ప్రోగ్రామ్ ఉంది, మనం ఇప్పటికే చర్చించిన మరియు ఇక్కడ చూపించని స్టాక్ కోడ్, స్టాక్ (స్టాక్) వాడకం రివర్స్ స్టాకింగ్ విషయంలో మాత్రమే చూపబడుతుంది. మరియు సమానమైన కోడ్ ఎడమ చేతిలో వ్రాయబడుతుంది వైపు. - 70. ఇక్కడ, దయచేసి C ++ కోడ్‌లో, మేము స్టాక్ కోడ్‌ను వ్రాయవలసిన అవసరం లేదు, బదులుగా మనం చేయడానికి ప్రయత్నిస్తున్నది నిర్దిష్ట శీర్షికను కలిగి ఉంటుంది. - 71. ఈ హెడర్ స్టాక్‌ను కలిగి ఉంది, ఇది స్టాక్ హెడర్‌ను కలిగి ఉంది. - 72. మేము చేర్చాము, ఇందులో స్టాక్ నిర్వచనాలు ఉన్నాయి మరియు ఈ విధంగా మేము స్టాక్‌ను ఆపుతాము. - 73. మేము శ్రేణులకు విరుద్ధంగా వెక్టర్స్ గురించి మాట్లాడినప్పుడు మీరు ఈ సంజ్ఞామానాన్ని చూశారు, మీరు గమనించారా, నాకు వెక్టర్ ఉంటే మూలకం రకాన్ని మూలలో బ్రాకెట్‌లో సమానంగా ఉంచగలను, ఈ కోణ బ్రాకెట్‌లో నాకు స్టాక్ ఉంటే, అప్పుడు మేము చూపిస్తున్నాము స్టాక్ ఏ రకమైన మూలకంతో తయారు చేయబడింది మరియు స్టాక్ వస్తువులకు s అని పేరు పెట్టబడుతుంది. - 74. ఇప్పుడు, మేము దానిని ఎలా ఉపయోగిస్తాము అనే దానిపై దృష్టి పెడతాము. - 75. ఇక్కడ సి లో, మీరు నెట్టాలనుకుంటే, మేము రెండు పారామితులను పాస్ చేయాలి, స్టాక్ అంటే ఏమిటి, ఇది చిరునామా మరియు మనం నెట్టాలనుకునే మూలకం ఏది. - 76. ఇక్కడ, మేము డాట్; వెక్టర్ సందర్భంలో మీరు ఈ సంజ్ఞామానాన్ని కూడా క్లుప్తంగా చూశారు, కాని మేము దీని గురించి మరింత మాట్లాడుతాము, కానీ ఇది ఒక నిర్దిష్ట సంజ్ఞామానం; మేము నిర్మాణాలలో ఏమి ఉపయోగిస్తున్నామో, కానీ కొంత భిన్నంగా వివరించబడుతుందనే like హ వలె, s.push () ఇది స్టాక్ (ల) లో, నేను నెట్టాలనుకుంటున్నాను (నెట్టడం) మరియు నేను ఏమి నెట్టాలనుకుంటున్నాను? నేను ప్రత్యేకమైన మూలకం అయిన str ని నెట్టాలనుకుంటున్నాను. - 77. అదేవిధంగా, నేను దీన్ని ఇక్కడ చేయాలనుకుంటే, నేను ఖాళీగా ఉన్న శూన్యతను తనిఖీ చేయాలనుకుంటున్నాను. - 78. దీనికి విరుద్ధంగా, ఇక్కడ నేను చూడగలిగే విధంగా నేను s.empty () చేస్తాను. - 79. కాబట్టి, కోడ్ సందర్భంలో స్టాక్ ఉపయోగించే కోడ్ చాలా సారూప్యంగా ఉందని మీరు చూడవచ్చు మరియు వాస్తవానికి మనం అర్థం చేసుకోగలిగినట్లుగా కోడ్ రాయడం చాలా సులభం ఎందుకంటే నాకు సి వంటి పునరావృత పారామితులు లేవు, నేను ఎక్కడ పాస్ చేయాలి పారామితులు, ప్రతి పాయింట్ వద్ద స్టాక్‌కు పాయింటర్ మరియు నేను ఫంక్షన్ కాల్ వెలుపల ఉంచవచ్చు మరియు పుష్ విషయంలో అవసరమైన పారామితులను పాస్ చేయవచ్చు ఒక పరామితి; మిగిలిన కేసులో పారామితులు అవసరం లేదు. - 80. చివరగా, C లో కూడా గమనించండి, మేము స్టాక్‌ను నిర్వచించినప్పుడు; మేము మైనస్ 1 యొక్క టాప్ మార్కర్‌ను కూడా ప్రారంభించాల్సిన అవసరం ఉంది. - 81. ఇక్కడ, సిస్టమ్ ఏదో ఒకవిధంగా జాగ్రత్త తీసుకుంటుంది మరియు కంపైలర్ దానిని చూసుకుంటుంది. - 82. కాబట్టి, ఈ అగ్ర మార్కర్‌ను ప్రారంభించడం గురించి నేను బాధపడవలసిన అవసరం లేదు. - 83. కాబట్టి, మేము ప్రామాణిక లైబ్రరీ నుండి స్టాక్‌ను ఉపయోగిస్తే, ప్రతిసారీ స్టాక్ కోడ్‌ను తిరిగి వ్రాయకుండా ఉండటంలో ప్రయోజనం ఉంది. - 84. ఈ పాయింట్లు ఇక్కడ క్రింద ఇవ్వబడ్డాయి మరియు బదులుగా, దీని కోసం మాకు బాగా పరీక్షించిన రెడీమేడ్ స్టాక్ అందుబాటులో ఉంది. - 85. మీరు తరువాతి ఉదాహరణలో చూస్తే నేను ముందుకు వెళ్తాను. - 86. ఇది మేము C లో చేసినట్లుగానే ఉంది, కాని ఇప్పుడు మేము C ++ లో పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలో పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను అంచనా వేయడానికి ఇలా చేస్తున్నాము మరియు ఈ కోడ్ మళ్ళీ మన వద్ద ఉన్న C కోడ్‌తో సమానంగా ఉంటుంది. స్టాక్ హెడర్ చేర్చడానికి వ్రాయబడింది మినహాయింపు, ఈ సంజ్ఞామానం తో స్టాక్‌ను నిర్వచించండి, ఆపై అన్ని స్టాక్ (స్టాక్) ఫంక్షన్లు (ఫంక్షన్) కొద్దిగా భిన్నమైన ఆకృతిలో వ్రాయబడతాయి, కాని కోడ్ లేకపోతే, ఎందుకంటే ఇది సి లో ఉంది మరియు మనకు ఏమీ చేయలేని ప్రయోజనంతో. - 87. సి స్టాక్ కోడ్ అమలు. - 88. కాబట్టి, ఈ మాడ్యూల్‌లో మేము చూపించినవి, మీరు సి ++ లో ప్రోగ్రామింగ్ చేస్తుంటే, స్టాక్‌ను ఉపయోగించడం ద్వారా మీకు పెద్ద ప్రయోజనం లభిస్తుంది. - 89. మీరు స్టాక్ కోడ్‌ను అమలు చేయవలసిన అవసరం లేదు; స్టాక్ కోసం కంటైనర్ యొక్క గరిష్ట పరిమాణం ఎలా ఉండాలో మీరు ఆందోళన చెందాల్సిన అవసరం లేదు. - 90. C ++ ప్రామాణిక లైబ్రరీ స్టాక్ స్వయంచాలకంగా దానిని చూసుకుంటుంది. - 91. ఆ శీర్షికను ఎలా ప్రారంభించాలో ఇది జాగ్రత్త తీసుకుంటుంది మరియు స్టాక్ కోసం నాకు అవసరమైన ఏ రకమైన మూలకానికైనా ఉపయోగించవచ్చు మరియు మొత్తం C ++ ప్రోగ్రామింగ్ మరియు ప్రామాణిక లైబ్రరీ (లైబ్రరీ యొక్క చాలా ఆసక్తికరమైన మరియు ఉత్తేజకరమైన భాగం) కథ లేదు దానితో ఆగవద్దు. - 92. క్యూ వంటి తరచుగా అవసరమయ్యే అన్ని సాధారణ డేటా నిర్మాణాలు వెలుపల ఉన్నాయి; క్యూక్, ఇది డబుల్ ఎండ్ క్యూ (క్యూ), ఇక్కడ మీరు ఒక క్రమం యొక్క రెండు చివరలను జోడించవచ్చు మరియు తీసివేయవచ్చు. - 93. జాబితా; ఒకే లింక్డ్ జాబితా, మ్యాప్, ఇది పేరు విలువ జత లాంటిది; సెట్, ఆర్డరింగ్ ముఖ్యం కానప్పుడు, మీరు దానిలోని యూనియన్‌ను దాటవచ్చు. - 94. ఈ డేటా నిర్మాణాలన్నీ సి ++ ప్రామాణిక లైబ్రరీలో రెడీమేడ్‌లో అందుబాటులో ఉన్నాయి. - 95. కాబట్టి, ప్రోగ్రామింగ్ భాష యొక్క వివరణాత్మక సూక్ష్మ నైపుణ్యాలను అర్థం చేసుకోవడానికి ముందు మేము C ++ లో ప్రోగ్రామింగ్ ప్రారంభించేటప్పుడు, C ++ ప్రామాణిక లైబ్రరీని మళ్లీ మళ్లీ పరిశీలించాలనుకుంటున్నాము.ఈ ప్రోగ్రామ్‌లన్నీ డేటా స్ట్రక్చర్‌లను ఉపయోగించే ప్రోగ్రామ్‌లను వ్రాస్తాయి మరియు మనవి ప్రోగ్రామింగ్ సులభం మరియు ఉపయోగించడానికి మరింత బలంగా ఉంది. - 96. + ఇప్పుడు అది; మీరు ఇక్కడ ABCDE స్ట్రింగ్ ఉపయోగిస్తుంటే, మేము ఒక లూప్‌లోకి వెళ్లి, ఈ అక్షరాలన్నింటినీ ABCD మరియు E లను ఒకదాని తరువాత ఒకటి స్టాక్‌లో చేర్చగలమని మనందరికీ తెలుసు. + ఆపై మనం టాప్ ఎలిమెంట్‌ను గుర్తించి, ఆ పైభాగాన్ని పాపింగ్ చేస్తే మూలకం, అప్పుడు E ఖచ్చితంగా చివరిగా జోడించబడుతుంది. + కాబట్టి, అది మొదట బయటకు రాకముందే D జతచేయబడుతుంది, కాబట్టి ఇది తరువాత బయటకు వస్తుంది మరియు దాని ఫలితంగా మనం ఇక్కడ చూపిస్తున్న స్ట్రింగ్ వస్తుంది, ఇది EDCBA మరియు మనందరికీ దాని గురించి బాగా తెలుసు. + కాబట్టి, మీరు రివర్స్ స్ట్రింగ్‌ను ప్రోగ్రామ్ చేయాలనుకుంటే ఇదే మార్గం, మీరు ఈ ప్రధాన ఫంక్షన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ను వ్రాయవలసి ఉంటుంది, ఇది స్ట్రింగ్ రివర్స్ చేయడానికి స్టాక్, ఉపయోగాలు, మీరు ఇచ్చిన కోడ్‌ను కూడా వ్రాయాలి . + సి లోని దృష్టాంతమైన ఎడమ కాలమ్‌లో, పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను అంచనా వేయడానికి ఇలాంటి దృశ్యం ఇవ్వబడుతుంది, మళ్ళీ సి ఎడమ కాలమ్‌లోని మునుపటి ఉదాహరణతో సమానంగా ఉంటుంది, ఇక్కడ స్టాక్ అమలు ఇవ్వబడుతుంది మరియు కుడి కాలమ్ ఇవ్వబడుతుంది. + ఇది నేను రెండు స్లైడ్‌లకు వివరించిన అల్గోరిథం కోడ్ మాత్రమే; మీరు దాని ద్వారా వెళ్లి మాకు నిజంగా ఏమి పని చేస్తుందో అర్థం చేసుకోవచ్చు. + మీరు ఈ పాయింట్‌పై ప్రత్యేకంగా దృష్టి పెడితే, ఈ సమయంలో ఏదైనా ఆపరేషన్ ఉందా అని తెలుసుకోవడానికి ఇది పనిచేస్తుంది. + వ్యక్తీకరణలోని కొన్ని అక్షరాలు ఒపెరాండ్స్ కాదా అని మేము గుర్తించామని మీరు చూస్తారు. + కాబట్టి, ఇది అంకె అయితే దాన్ని న్యూమరేటర్‌గా పరిగణిస్తారు. + కాబట్టి, ఈ వ్యక్తీకరణలో, ప్రతి అంకె ch అయితే, అది ఒక అంకె కాదా అనేది ఒక ఒపెరాండ్, ఒకే అంకెల ఒపెరాండ్, ఆపై మనం దానిని పుష్ (పుష్) ఇవ్వగలము, లేకపోతే మనం హుహ్ అని భావిస్తాము. + ఇది ఒక ఆపరేటర్ అని మాకు తెలుసు మరియు ఆ ఆపరేటర్ ప్రకారం అది అగ్రశ్రేణి అంశాలను కనుగొని తీసుకుంటుంది, వాటిని బయటకు తీసుకొని ఫలితాన్ని లెక్కించి వెనక్కి నెట్టివేస్తుంది. + పోస్ట్‌ఫిక్స్ వ్యక్తీకరణ యొక్క సాధారణ కోడ్ చాలా క్లిష్టంగా ఉంటుంది ఎందుకంటే మీరు ఆపరేటర్ యొక్క యోగ్యతలను కూడా పరిగణనలోకి తీసుకోవాలి మరియు దాని ఆధారంగా మాకు నాలుగు ఆపరేటర్లు తెలుసు, ఆపరేటర్ బైనరీ. + కాబట్టి, ఆ పైల్స్ అన్నీ ఇక్కడ లేవు. + ఇప్పుడు, సి ++ లో ఏమి జరుగుతుందో చూద్దాం. + C ++ లో, మంచి విషయం ఏమిటంటే, C ++ ప్రామాణిక లైబ్రరీ మాకు రెడీమేడ్ స్టాక్‌ను అందిస్తుంది. + కాబట్టి, ఆ స్టాక్‌ను సృష్టించడం లేదా మనం చేయవలసిన స్టాక్‌ను ఉపయోగించడం అంటే స్టాక్ (స్టాక్) హెడర్ అని పిలువబడే కొత్త హెడర్‌ను చేర్చడం. + స్టాక్ శీర్షికలో నిర్వచించబడిన స్టాక్‌ను వేగవంతం చేసి, ఆపై ఆ స్టాక్ (స్టాక్) ఆబ్జెక్ట్ యొక్క ఫంక్షన్లను ఉపయోగించడం ప్రారంభించండి మరియు మనకు స్టాక్ (స్టాక్) సిద్ధంగా ఉంటుంది. + కాబట్టి, ఇక్కడ మేము రివర్స్ స్ట్రింగ్ ఉదాహరణను చూపిస్తున్నాము. + మళ్ళీ కుడి వైపున సి ప్రోగ్రామ్ ఉంది, మనం ఇప్పటికే చర్చించిన మరియు ఇక్కడ చూపించని స్టాక్ కోడ్, స్టాక్ (స్టాక్) వాడకం రివర్స్ స్టాకింగ్ విషయంలో మాత్రమే చూపబడుతుంది. మరియు సమానమైన కోడ్ ఎడమ చేతిలో వ్రాయబడుతుంది వైపు. + ఇక్కడ, దయచేసి C ++ కోడ్‌లో, మేము స్టాక్ కోడ్‌ను వ్రాయవలసిన అవసరం లేదు, బదులుగా మనం చేయడానికి ప్రయత్నిస్తున్నది నిర్దిష్ట శీర్షికను కలిగి ఉంటుంది. + ఈ హెడర్ స్టాక్‌ను కలిగి ఉంది, ఇది స్టాక్ హెడర్‌ను కలిగి ఉంది. + మేము చేర్చాము, ఇందులో స్టాక్ నిర్వచనాలు ఉన్నాయి మరియు ఈ విధంగా మేము స్టాక్‌ను ఆపుతాము. + మేము శ్రేణులకు విరుద్ధంగా వెక్టర్స్ గురించి మాట్లాడినప్పుడు మీరు ఈ సంజ్ఞామానాన్ని చూశారు, మీరు గమనించారా, నాకు వెక్టర్ ఉంటే మూలకం రకాన్ని మూలలో బ్రాకెట్‌లో సమానంగా ఉంచగలను, ఈ కోణ బ్రాకెట్‌లో నాకు స్టాక్ ఉంటే, అప్పుడు మేము చూపిస్తున్నాము స్టాక్ ఏ రకమైన మూలకంతో తయారు చేయబడింది మరియు స్టాక్ వస్తువులకు s అని పేరు పెట్టబడుతుంది. + ఇప్పుడు, మేము దానిని ఎలా ఉపయోగిస్తాము అనే దానిపై దృష్టి పెడతాము. + ఇక్కడ సి లో, మీరు నెట్టాలనుకుంటే, మేము రెండు పారామితులను పాస్ చేయాలి, స్టాక్ అంటే ఏమిటి, ఇది చిరునామా మరియు మనం నెట్టాలనుకునే మూలకం ఏది. + ఇక్కడ, మేము డాట్; వెక్టర్ సందర్భంలో మీరు ఈ సంజ్ఞామానాన్ని కూడా క్లుప్తంగా చూశారు, కాని మేము దీని గురించి మరింత మాట్లాడుతాము, కానీ ఇది ఒక నిర్దిష్ట సంజ్ఞామానం; మేము నిర్మాణాలలో ఏమి ఉపయోగిస్తున్నామో, కానీ కొంత భిన్నంగా వివరించబడుతుందనే like హ వలె, s.push () ఇది స్టాక్ (ల) లో, నేను నెట్టాలనుకుంటున్నాను (నెట్టడం) మరియు నేను ఏమి నెట్టాలనుకుంటున్నాను? నేను ప్రత్యేకమైన మూలకం అయిన str ని నెట్టాలనుకుంటున్నాను. + అదేవిధంగా, నేను దీన్ని ఇక్కడ చేయాలనుకుంటే, నేను ఖాళీగా ఉన్న శూన్యతను తనిఖీ చేయాలనుకుంటున్నాను. + దీనికి విరుద్ధంగా, ఇక్కడ నేను చూడగలిగే విధంగా నేను s.empty () చేస్తాను. + కాబట్టి, కోడ్ సందర్భంలో స్టాక్ ఉపయోగించే కోడ్ చాలా సారూప్యంగా ఉందని మీరు చూడవచ్చు మరియు వాస్తవానికి మనం అర్థం చేసుకోగలిగినట్లుగా కోడ్ రాయడం చాలా సులభం ఎందుకంటే నాకు సి వంటి పునరావృత పారామితులు లేవు, నేను ఎక్కడ పాస్ చేయాలి పారామితులు, ప్రతి పాయింట్ వద్ద స్టాక్‌కు పాయింటర్ మరియు నేను ఫంక్షన్ కాల్ వెలుపల ఉంచవచ్చు మరియు పుష్ విషయంలో అవసరమైన పారామితులను పాస్ చేయవచ్చు ఒక పరామితి; మిగిలిన కేసులో పారామితులు అవసరం లేదు. + చివరగా, C లో కూడా గమనించండి, మేము స్టాక్‌ను నిర్వచించినప్పుడు; మేము మైనస్ 1 యొక్క టాప్ మార్కర్‌ను కూడా ప్రారంభించాల్సిన అవసరం ఉంది. + ఇక్కడ, సిస్టమ్ ఏదో ఒకవిధంగా జాగ్రత్త తీసుకుంటుంది మరియు కంపైలర్ దానిని చూసుకుంటుంది. + కాబట్టి, ఈ అగ్ర మార్కర్‌ను ప్రారంభించడం గురించి నేను బాధపడవలసిన అవసరం లేదు. + కాబట్టి, మేము ప్రామాణిక లైబ్రరీ నుండి స్టాక్‌ను ఉపయోగిస్తే, ప్రతిసారీ స్టాక్ కోడ్‌ను తిరిగి వ్రాయకుండా ఉండటంలో ప్రయోజనం ఉంది. + ఈ పాయింట్లు ఇక్కడ క్రింద ఇవ్వబడ్డాయి మరియు బదులుగా, దీని కోసం మాకు బాగా పరీక్షించిన రెడీమేడ్ స్టాక్ అందుబాటులో ఉంది. + మీరు తరువాతి ఉదాహరణలో చూస్తే నేను ముందుకు వెళ్తాను. + ఇది మేము C లో చేసినట్లుగానే ఉంది, కాని ఇప్పుడు మేము C ++ లో పోస్ట్‌ఫిక్స్ వ్యక్తీకరణలో పోస్ట్‌ఫిక్స్ వ్యక్తీకరణను అంచనా వేయడానికి ఇలా చేస్తున్నాము మరియు ఈ కోడ్ మళ్ళీ మన వద్ద ఉన్న C కోడ్‌తో సమానంగా ఉంటుంది. స్టాక్ హెడర్ చేర్చడానికి వ్రాయబడింది మినహాయింపు, ఈ సంజ్ఞామానం తో స్టాక్‌ను నిర్వచించండి, ఆపై అన్ని స్టాక్ (స్టాక్) ఫంక్షన్లు (ఫంక్షన్) కొద్దిగా భిన్నమైన ఆకృతిలో వ్రాయబడతాయి, కాని కోడ్ లేకపోతే, ఎందుకంటే ఇది సి లో ఉంది మరియు మనకు ఏమీ చేయలేని ప్రయోజనంతో. + సి స్టాక్ కోడ్ అమలు. + కాబట్టి, ఈ మాడ్యూల్‌లో మేము చూపించినవి, మీరు సి ++ లో ప్రోగ్రామింగ్ చేస్తుంటే, స్టాక్‌ను ఉపయోగించడం ద్వారా మీకు పెద్ద ప్రయోజనం లభిస్తుంది. + మీరు స్టాక్ కోడ్‌ను అమలు చేయవలసిన అవసరం లేదు; స్టాక్ కోసం కంటైనర్ యొక్క గరిష్ట పరిమాణం ఎలా ఉండాలో మీరు ఆందోళన చెందాల్సిన అవసరం లేదు. + C ++ ప్రామాణిక లైబ్రరీ స్టాక్ స్వయంచాలకంగా దానిని చూసుకుంటుంది. + ఆ శీర్షికను ఎలా ప్రారంభించాలో ఇది జాగ్రత్త తీసుకుంటుంది మరియు స్టాక్ కోసం నాకు అవసరమైన ఏ రకమైన మూలకానికైనా ఉపయోగించవచ్చు మరియు మొత్తం C ++ ప్రోగ్రామింగ్ మరియు ప్రామాణిక లైబ్రరీ (లైబ్రరీ యొక్క చాలా ఆసక్తికరమైన మరియు ఉత్తేజకరమైన భాగం) కథ లేదు దానితో ఆగవద్దు. + క్యూ వంటి తరచుగా అవసరమయ్యే అన్ని సాధారణ డేటా నిర్మాణాలు వెలుపల ఉన్నాయి; క్యూక్, ఇది డబుల్ ఎండ్ క్యూ (క్యూ), ఇక్కడ మీరు ఒక క్రమం యొక్క రెండు చివరలను జోడించవచ్చు మరియు తీసివేయవచ్చు. + జాబితా; ఒకే లింక్డ్ జాబితా, మ్యాప్, ఇది పేరు విలువ జత లాంటిది; సెట్, ఆర్డరింగ్ ముఖ్యం కానప్పుడు, మీరు దానిలోని యూనియన్‌ను దాటవచ్చు. + ఈ డేటా నిర్మాణాలన్నీ సి ++ ప్రామాణిక లైబ్రరీలో రెడీమేడ్‌లో అందుబాటులో ఉన్నాయి. + కాబట్టి, ప్రోగ్రామింగ్ భాష యొక్క వివరణాత్మక సూక్ష్మ నైపుణ్యాలను అర్థం చేసుకోవడానికి ముందు మేము C ++ లో ప్రోగ్రామింగ్ ప్రారంభించేటప్పుడు, C ++ ప్రామాణిక లైబ్రరీని మళ్లీ మళ్లీ పరిశీలించాలనుకుంటున్నాము.ఈ ప్రోగ్రామ్‌లన్నీ డేటా స్ట్రక్చర్‌లను ఉపయోగించే ప్రోగ్రామ్‌లను వ్రాస్తాయి మరియు మనవి ప్రోగ్రామింగ్ సులభం మరియు ఉపయోగించడానికి మరింత బలంగా ఉంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/09. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 28)-si8HRtDgI1A.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/09. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 28)-si8HRtDgI1A.txt index 3781b0f53224e7da92b85b2619c78ec37e966187..0b0c6807a49aaf7e89e5b24be1e29752e980618f 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/09. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 28)-si8HRtDgI1A.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/09. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 28)-si8HRtDgI1A.txt @@ -1,86 +1,86 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C++ లో మాడ్యూల్ 14 కు స్వాగతం. - 2. మేము కాపీ గురించి చర్చించాము, మేము లోతుగా కాపీ కన్స్ట్రక్టర్ గురించి చర్చించాము మరియు కాపీ అసైన్మెంట్ ఆపరేటర్ అంటే ఏమిటో పరిచయం చేసాము. - 3. త్వరగా రీక్యాప్ చేయడానికి, మీరు ఒక ఆబ్జెక్ట్ యొక్క క్లోన్ను తయారు చేయాలని కోరుకున్నప్పుడు మేము ఒక కాపీ కన్స్ట్రక్షన్(copy construction) చేస్తాము మరియు మేము ఇప్పటికే ఉన్న ఆబ్జెక్ట్ ను కలిగి ఉన్నప్పుడు, కాపీని అసైన్మెంట్ చేస్తాము మరియు అదే రకమైన మరొక ఆబ్జెక్ట్ ను ప్రస్తుత ఆబ్జెక్ట్ లో కాపీ చేయాలనుకుంటున్నాము. - 4. ఒక కాపీని ఆపరేటర్ ఫంక్షన్గా(operator function) నిర్వచించవచ్చని మేము చూశాము; ఆపరేటర్ ఫంక్షన్ మరియు ఇది పారామితిని క్లాస్ యొక్క కాన్సస్టెంట్ రెఫరెన్స్(constant reference) గా తీసుకుంటుంది మరియు అదే క్లాస్ యొక్కనాన్- కాన్సస్టెంట్ రెఫరెన్స్(non-constant reference) ను తిరిగి ఇస్తుంది, ఇది క్లాస్ యొక్క కాన్సస్టెంట్ రెఫరెన్స్(constant reference)ను కూడా తిరిగి పొందవచ్చు. - 5. ఇప్పుడు, కాపీ అసైన్మెంట్ యొక్క మరింత గమ్మత్తైన ప్రాంతాలలో కొన్నింటిని పరిశీలిస్తాము. - 6. సో, మీరు కాపీ కన్స్ట్రక్షన్ పరంగా, మీరు ఇప్పటికే shallow కాపీ మరియు deep కాపీని యొక్క భావం వివరించారు గుర్తుచేసుకున్నారు. - 7. ఇప్పుడు shallow కాపీ మరియు deep కాపీ యొక్క పరిణామాలు కూడా కాపీ అప్పగింతలోకి వక్రీకరిస్తాయని మేము చూస్తాము. - 8. కాబట్టి, ప్రత్యేకంగా దీన్ని స్ట్రింగ్ ఉదాహరణగా దృష్టి పెట్టండి మరియు కాపీ అసైన్మెంట్ ఆపరేటర్ పై దృష్టి పెట్టండి. - 9. ఇప్పుడు, మీరు ఏమి ప్రయత్నిస్తున్నారు? ఇది మీ; నాకు కేవలం రెండు ఆబ్జెక్ట్ లను గీయండి. - 10. ఈ s1 ఉంది, ఈ s2 ఉంది . - 11. సో, ఈ ఫుట్బాల్(football) ఉంది. - 12. కాబట్టి, అది ఏమంటే, అది పొడవు(length) 8 ఉంటుంది. ఇది క్రికెట్; ఇది పొడవు(length) 7 ఉంటుంది. ఇప్పుడు, నేను కాపీ చేయడానికి ప్రయత్నిస్తున్నాను. - 13. కాబట్టి, నేను s2ను  s1 కి కేటాయించడానికి ప్రయత్నిస్తాను. - 14. కాబట్టి, నేను దీనిని కాపీ చేస్తే; సహజంగా నేను కాపీ చేస్తున్నప్పుడు ఈ స్ట్రింగ్ ఇక్కడ కాపీ చేయబడిందని నాకు తెలుసు మరియు దీనికి రెండు ఎంపికలు ఉన్నాయి అని మాకు తెలుసు. - 15. ఒక పాయింటర్ కాపీ ఉంది; ఇతర వాస్తవానికి ఆబ్జెక్ట్ ను కాపీ చేయడం. - 16. కాబట్టి, మేము డీప్ కాపీని చేయాలనుకుంటున్నాము, ఈ సందర్భంలో మేము ఒక లోతైన కాపీని చేస్తున్నాము. - 17. కాబట్టి, మీరు ఒక పారామితి యొక్క strdup ను తయారు చేస్తున్నారు, ఇది ప్రధానంగా s1 యొక్క strdup. - 18. ఇప్పుడు, మీరు దానిని str కు అప్పగిస్తే ఏమి జరుగుతుంది? కేవలం, మరొక ఫుట్బాల్ సృష్టించింది, strdup మేము డూప్లికేట్(duplicate) చేసిన. - 19. కాబట్టి, మరో ఫుట్బాల్ క్రరియేట్ చేసింది. - 20. ఇప్పుడు, నేను ఈ పాయింటర్ను str గా ఉంచినట్లయితే, సహజంగా నేను ఈ పాయింటర్ ను కోల్పోతాను మరియు ఈ స్ట్రింగ్ను తిరిగి పొందటానికి ఏ మార్గం లేదు. - 21. కాబట్టి, నేను దీన్ని ముందు, నేను ఫ్రీ(free) చేయవలసి ఉంటుంది, లేకపోతే రీసోర్స్(resource) ని లీక్ చేస్తుంది, మెమరీ లీక్ అవుతుంది. - 22. కాబట్టి, ఇది ముఖ్యమైన అంశం. - 23. నేను మొదట దీన్ని విడిపించాను, అప్పుడు నేను స్ట్రింగ్ కాపీని చేస్తున్నాను. - 24. కాబట్టి, నేను ఈ విడివిడిగా ఈ పోయింది, నేను ఒక strdup చేయండి. - 25. ఇప్పుడు, నేను ఇక్కడ ఒక కొత్త ఫుట్బాల్ సూచించాను, ఇది కాపీ చేయబడుతుంది. - 26. కాబట్టి, ఇది ఇక్కడ 8 గా మారుతుంది మరియు గత సందర్భంలో చేసిన విధంగానే లక్ష్యం తిరిగి వస్తుంది. - 27. ఇది ప్రాథమికంగా ఇది ప్రస్తుత ఆబ్జెక్ట్ (object) అని మొదట తెలియజేస్తుంది. - 28. కాబట్టి, ఆ ఆబ్జెక్ట్ తిరిగి రావాల్సిన object ను తిరిగి ఇవ్వాలి ఎందుకంటే అది తిరిగి వస్తుంది. - 29. కాబట్టి, నేను చెప్పినట్లుగా, ఈ ఆబ్జెక్ట్ ఇప్పుడు చైన్ అసైన్మెంట్(chain assignment) కోసం ఉపయోగించబడుతుంది. - 30. నేను ఇప్పటికే వివరించినందున ఇది చైన్ అసైన్మెంట్(chain assignment) లో ఉపయోగించబడుతుంది. - 31. అందువల్ల, ఈ ఆబ్జెక్ట్ లో ఉన్న పాయింటర్ మెంబర్లను కలిగి ఉన్నప్పుడల్లా, ఒక కాపీని ఒక డీప్ కాపీ(deep copy) కోసం ఉపయోగించవచ్చు. - 32. ఇప్పుడు, మనం ఇప్పటికే చూచిన కోడ్తో చాలా చిన్న, కానీ అపాయకరమైన(dangerous) సమస్యగా చూద్దాం. - 33. ఇది మీరు చూసిన సరిగ్గా ఉన్న కోడ్, ఇది s1 కు s2 ను మేము అధిగమించాము. - 34. ఇప్పుడు, నేను s1 కు s1 ను కాపీ చేసాను. - 35. ఇప్పుడు, మీరు చాలా చట్టబద్ధంగా నన్ను అడగవచ్చు, ఎందుకు ఎవరైనా ఈ రకమైన కోడ్ను రాయాలి, దానికి రెండు సమాధానాలు ఉన్నాయి; ఎవరైనా రాసినట్లయితే ఒకటి. - 36.  ఏమి జరగబోతుందో మేము తెలుసుకోవాలి. - 37. ఇతర సమస్య ఎల్లప్పుడూ కోడ్ ఇలా ఉంటుంది, ఉదాహరణకు, అది కావచ్చు; నేను స్ట్రింగ్ కలిగి, నేను S1 ఒక రెఫరెన్స్(reference) కలిగి ఎక్కడా జరుగుతుంది; ఇది ఎక్కడ జరిగిందో నాకు తెలియదు. - 38. ఇది కొన్ని ఇతర ఫంక్షన్లో చేయబడి ఉండవచ్చు, కొన్ని ఇతర క్లాస్ లలో అది వచ్చినది మరియు ఇప్పుడు నేను s1 కేటాయించిన చేస్తున్నాను. - 39. సిన్టాటిక్(Syntactically) గా, కోడ్ చూడటం అనేది ఒక సెల్ఫ్ కాపీ(self copy) వలె కనిపించడం లేదు, కానీ వాస్తవానికి ఇది సెల్ఫ్ కాపీ(self copy). - 40. కాబట్టి, సెల్ఫ్ కాపీ(self copy) మేము పరిశీలించాల్సిన ఒక సంభావ్య పరిస్థితి(potential situation). - 41. ఇప్పుడు ఖచ్చితంగా సమస్యలు ఉన్నాయని మేము చూస్తున్నాం. - 42. కాబట్టి, దీనిని పరిశీలించండి సెల్ఫ్ కాపీ. - 43. కాబట్టి, ఈ నేను ఏమి ఉంది, ఈ నా s 1, ఈ నా స్ట్రింగ్(my string), నా s1 ఫుట్బాల్ ఉంది. - 44. కాబట్టి, నేను ఇక్కడ ఫుట్బాల్ మరియు వెయిట్(weight) కలిగి ఉన్నాను. - 45. ఇప్పుడు, నేను s1 చేస్తాను ఈ ఒకటి అసైన్(assign) చేయండి. - 46. కాబట్టి, ఏమి జరుగుతుంది? ఇది మొదట ఎగ్జిక్యూట్(execute) అవుతుంది, ఇది నా s1. - 47. కాబట్టి, ఇది ఫ్రీ. - 48. ఇప్పుడు, ఇది చేయటానికి ప్రయత్నిస్తుంది, అనగా, ఈ ఆబ్జెక్ట్ s డాట్ స్ట్రింగ్ ను తీసుకోవటానికి ప్రయత్నిస్తుంది, ఒక కాపీని తయారు చేసి ఆపై దాన్ని ఇక్కడ పెట్టండి. - 49. ఇప్పుడు, ఈ ఆబ్జెక్ట్ ఇప్పటికే పోయిందని ఇది ఫ్రీ చేయబడింది. - 50. కాబట్టి, ఇక్కడ మీరు ఏమి కాపీ చేస్తున్నారో తెలియదు, ప్రశ్న కాదు అది కేవలం తెలియదు, ఇది ఏదో ఇన్వాలిడ్(invalid) అయ్యేది మరియు ఆపై ఉంటుంది. - 51. సో, మీరు కాపీని తర్వాత ప్రింట్ అయినప్పుడు ఊహించినంత నిశ్శబ్దంగా చేస్తే, మీరు చెత్తను సంపాదించిన తరువాత నేను గార్బేజ్(garbage) ను పొంది, ఒక చెత్త వచ్చింది, కానీ నేను గార్బేజ్(garbage) కు గురైనప్పుడు అది గార్బేజ్(garbage) గా ఉంటుంది, ఎందుకంటే ఇది మెమరీని ఎలా ఉల్లంఘిస్తుందో(violated) దానిపై ఆధారపడి ఉంటుంది. - 52. సో, పాయింటర్ టైపుతో సెల్ఫ్ కాపీ ఇమేజ్ ఎదుర్కోవటానికి చాలా కష్టంగా ఉందని నిరూపించేది. - 53. కాబట్టి, దాని గురించి ఏదో చేయవలసి ఉంటుంది. - 54. కాబట్టి, మేము దీనిని నిర్వహించటం మరియు ఇది చాలా ప్రత్యేకంగా మీరు నేను సెల్ఫ్ కాపీ(self copy)ని చేస్తున్నట్లయితే, నేను ఇలా చేస్తే, అప్పుడు నా కాపీ అసైన్మెంట్ ఆపరేటర్(copy assignment operator) కాపీ చేయకూడదని చెప్పాలి. - 55. మీరు ఒక సెల్ఫ్ కాపీ ని చేస్తున్నట్లయితే అప్పుడు నేను చెప్పాల్సిన అన్నిటిని కాపీ చేయడం లేదు ఎందుకంటే అది బైపాస్, ఇది ఒక ఆబ్జెక్ట్ . - 56. కాబట్టి, కోడ్ మిగిలిన ఉంది, కానీ నేను జోడించే అన్ని ఇది ఒక ఆబ్జెక్ట్ ఉంటే తనిఖీ ఉంది. - 57. ఇది ఒకే ఆబ్జెక్ట్ అయితే నేను ఎలా తనిఖీ చేయాలి? S1 s1 అసైన్ చేయబడుతుందని అర్థం. - 58. కాబట్టి, ఇది s1 డాట్ ఆపరేటర్లు కేటాయింపు s1, ఇది s అవుతుంది మరియు ఇది ఆబ్జెక్టు జరుగుతున్న ఆబ్జెక్ట్ , కాబట్టి ఇది * ఇది. - 59. కాబట్టి, మీరు ఈ మరియు s star లేదో చూడాలనుకుంటున్నారా. - 60. మేము ఈ ఆబ్జెక్ట్ లను పోల్చుకోలేము ఎందుకంటే ఇది ఏ ఆబ్జెక్ట్ అయినా కావచ్చు, దానికి పోలిక ఆపరేటర్ లేదు. - 61. ఈ నేను పూర్ణాంకానికి సమానంగా వ్రాసే పూర్ణాంకం లాంటిది కాదు కానీ నాకు తెలిసినది ఏమిటంటే అది ఒకే ఆబ్జెక్ట్ అయితే అది కొన్ని మెమరీలో ఉంటుంది. - 62. కాబట్టి, ఈ 2 ఒకే విధంగా వుండాలి, అప్పుడు ఇది s & s వలె ఉంటుంది. - 63. అడ్రస్ లను(addresses) ఒకే ఆబ్జెక్ట్ గా ఉన్నట్లయితే వారి అడ్రస్ లను(addresses) ఒకే విధంగా ఉండాలి; అడ్రస్ లను(addresses) వేరుగా ఉంటే అవి ఒకే ఆబ్జెక్ట్ కాదు. - 64. కాబట్టి, అడ్రస్ లను వేర్వేరుగా ఉన్నట్లయితే, మీరు చేసేదాన్ని కేవలం తనిఖీ చేస్తారు. - 65. అడ్రస్ లను(addresses) వేర్వేరుగా ఉన్నట్లయితే, కాపీ ద్వారా మీరు పాస్ అయినట్లైతే సాధారణమైనది కాదు. - 66. సో, ఈ కాపీని అప్పగించటం ఆపరేటర్లో సెల్ఫ్ కాపీ గురించి చిన్న విషయం మీరు ఎల్లప్పుడూ మనసులో ఉంచుకోవాలి మరియు ఇది ఒక కాపీని అప్పగింత ఆపరేటర్ను వ్రాయడానికి ప్రత్యేకమైన మార్గం, ప్రత్యేకించి మీకు మీరు డేటా మెంబర్ పాయింటర్ టైప్ కలిగి ఉంటారు. - 67. కాపీ అసైన్మెంట్ ఆపరేటర్(copy assignment operator) యొక్కసంతకం(signature), మేము ఇప్పటికే చూసిన. - 68. ఇది ఒక ప్రత్యేకమైన సంతకం మరియు ఇది మీరు మొదట సెల్ఫ్ కాపి కోసం తనిఖీ చేసినట్లు చూపించిన ఒక ప్రాధమిక structure, అప్పుడు మీరు ప్రస్తుతం ఉన్న ఆబ్జెక్ట్ ద్వారా నిర్వహించబడుతున్న రీసోర్స్ లను విడుదల చేసి, ఆపై మిగిలిన మెంబర్ లను current ఆబ్జెక్ట్ కాపీ చేయండి. - 69. అనగా, మీరు తారాగణాన్ని ఉపయోగించకపోవటం కూడా సాధ్యమే. మీరు పరామితిలో స్థిరంగా లేకుండా ఒక కాపీని చేస్తారు. - 70. సో, ఇది కాపీ సమయంలో అర్థం మీరు నుండి కాపి చేస్తున్న ఆబ్జెక్ట్ మార్చవచ్చు మరియు మేము ఈ ప్రత్యేక లక్షణం ఉంటుంది పేరు స్మార్ట్ గమనికలు అని పిలుస్తారు కొన్ని స్మార్ట్ డిజైన్లలో(smart designs), డిజైన్ పరంగా చాలా తీవ్రమైన ఉపయోగం అని చూస్తారు. విస్తృతంగా ఉపయోగించారు, అయితే ఆ సమయంలో వచ్చినప్పుడు మరియు అనేక ఇతర సంతకాలు ఉన్నాయి; నేను వాటిని లిస్ట్ చేసాను. - 71. అర్థం చేసుకోవడానికి లేదా వీటిని అనుమతించిన వాటిని గుర్తుంచుకోవడానికి చాలా ప్రయత్నాలు చేయవద్దు మరియు ఇవి అప్పుడప్పుడు ఉపయోగించబడతాయి, కానీ అవి పరిస్థితిలో చాలా అరుదుగా ఉంటాయి. - 72. కాబట్టి, అలాంటి కాపీ అసైన్మెంట్(copy assignment) ఆపరేటర్లు సాధ్యమే, కానీ మీరు దీన్ని ప్రధానంగా ఉపయోగించుకుంటారు మరియు కొన్ని సందర్భాల్లో దీన్ని ఉపయోగించుకుంటారు. - 73. కాబట్టి, ఇక్కడ మొత్తమ్మీద మేము కాపీ కన్స్ట్రక్టర్(copy constructors) చూసాము, అక్కడ కొత్త ఆబ్జెక్ట్ సృష్టించబడింది, ఈ కొత్త ఆబ్జెక్ట్ మరొక ఆబ్జెక్ట్ యొక్క డేటా మెంబర్ యొక్క విలువతో ప్రారంభమవుతుంది మరియు కాపీ యొక్క ప్రధాన అవసరం కాపి కన్స్ట్రక్షన్(copy construction) విలువ ద్వారా కాల్ కోసం జరుగుతుంది మరియు డిఫైన్డ్ టైప్(defined type) డేటా మెంబర్లను ఉపయోగించడం ప్రారంభించడం కోసం. - 74. కాపీ కన్స్ట్రక్టర్ యూజర్ చేత అందించబడతారు, అయితే వినియోగదారు కాపీని కన్స్ట్రక్టర్(copy constructor) చేయకపోతే అప్పుడు కంపైలర్ ఒక కాపీని తయారుచేస్తుంది, ఇది ఒక బిట్ కాపీ(bit copy) వలె ఉంటుంది. - 75. మేము కాపీని అప్పగించిన ఆపరేటర్ గురించి చర్చించాము, ఇది ఆబ్జెక్ట్ ఇప్పటికే ఉన్నపుడు కాపీని చేస్తోంది. - 76. కాబట్టి, ఇది ఇప్పటికే ఇప్పటికే ప్రారంభించబడి ఉంటుంది, అప్పుడు ఆ ఆబ్జెక్ట్ యొక్క మెంబర్ నుండి భర్తీ చేయవలసి ఉంటుంది, మరియు కాపీ అప్పగించిన ఆపరేటర్ సెల్ఫ్ కాపీలో ముఖ్యమైన సమస్యగా ఉంటుంది మరియు జాగ్రత్త తీసుకోవాలి. - 77. మరలా దయచేసి ఇది స్పష్టంగా స్లయిడ్లో వ్రాయబడలేదని దయచేసి గుర్తుంచుకోండి, అయితే దయచేసి వినియోగదారు కాపీని అప్పగించిన ఆపరేటర్ను అందించకపోతే, కానీ దానిని ప్రోగ్రామ్లో ఉపయోగిస్తుంటే దయచేసి కంపైలర్ ఫ్రీ కాపీని అసైన్మెంట్ ఆపరేటర్ను(copy assignment operator) అందిస్తుంది, మళ్లీ ఇష్టం; కాపీని కలిగి ఉన్న నిర్దిష్ట అవసరాలను పరిగణనలోకి తీసుకోకుండా ఫ్రీ కాపీ కన్స్ట్రక్టర్ కాపీరైటు మరలా ఒక బిట్ వారీగా కాపీని చేస్తుంది. - 78. కాబట్టి, తయారీదారులాగే, మీరు కాపీలు తయారు చేయగల తరగతికి లేదా రూపకల్పనలో విలువలో విధులు జారీ చేయబడగల చోటును రూపొందిస్తున్నప్పుడు, మీరు నకలు తయారీదారు మరియు కాపీ అప్పగింత ఆపరేటర్ను కూడా అందించాలి. - 79. ప్రత్యేకమైన పరంగా, మేము ఇక్కడ ఉన్న లోతైన మరియు నిస్సార కాపీల భావాలను కూడా గమనించాము. - 80. దయచేసి గుర్తుంచుకోండి, నిస్సార కాపీని పాయింటర్ను కాపీ చేస్తాను. - 81. కాబట్టి ఒక నిస్సార కాపీ తర్వాత ఒకే ఆబ్జెక్ట్ మరియు లోతైన కాపీకి ఒకటి కంటే ఎక్కువ పాయింట్ పాయింటర్ పాయింట్లు పాయింటర్ను కాపీ చేయదు, అది సూచించబడిన ఆబ్జెక్ట్ ను కాపీ చేస్తుంది. - 82. అందువల్ల, డీపైన కాపీ(deep copy)తర్వాత 2 గమనికలు బహుశా ఈ రెండు విభిన్న కాపీలు ఇదే బహుశా ఒకే ఆబ్జెక్ట్ తరువాత, కానీ అవి వివిధ ఆబ్జెక్ట్ లు మారింది. - 83. కాబట్టి, డీపైన కాపీ(deep copy)మరియు షాలో కాపీ(shallow copy)సహజంగా న్యాయంగా ఉపయోగించబడుతుంది. - 84. ఇది అవసరమైతే ఖచ్చితంగా ఉండకపోతే, మేము డీప్ కాపీని చేయటానికి ప్రయత్నించము ఎందుకంటే ఎందుకంటే అది సున్నితమైనదిగా ఉన్న కాచెడ్ డేటా యొక్క కాపీని కలిగి ఉంటుంది, ఎందుకంటే పునరావృత తర్కం ద్వారా మళ్లీ కాపీ కన్స్ట్రక్షన్(copy construction) అవసరం అవుతుంది, కానీ భద్రత పరంగా, డీపైన కాపీ(deep copy)ని ఉపయోగించి షాలో కాపీ(shallow copy)ని ఉపయోగించి పోలిస్తే తరచూ మరింత సురక్షితం. - 85. + ప్రోగ్రామింగ్ ఇన్ C++ లో మాడ్యూల్ 14 కు స్వాగతం. + మేము కాపీ గురించి చర్చించాము, మేము లోతుగా కాపీ కన్స్ట్రక్టర్ గురించి చర్చించాము మరియు కాపీ అసైన్మెంట్ ఆపరేటర్ అంటే ఏమిటో పరిచయం చేసాము. + త్వరగా రీక్యాప్ చేయడానికి, మీరు ఒక ఆబ్జెక్ట్ యొక్క క్లోన్ను తయారు చేయాలని కోరుకున్నప్పుడు మేము ఒక కాపీ కన్స్ట్రక్షన్(copy construction) చేస్తాము మరియు మేము ఇప్పటికే ఉన్న ఆబ్జెక్ట్ ను కలిగి ఉన్నప్పుడు, కాపీని అసైన్మెంట్ చేస్తాము మరియు అదే రకమైన మరొక ఆబ్జెక్ట్ ను ప్రస్తుత ఆబ్జెక్ట్ లో కాపీ చేయాలనుకుంటున్నాము. + ఒక కాపీని ఆపరేటర్ ఫంక్షన్గా(operator function) నిర్వచించవచ్చని మేము చూశాము; ఆపరేటర్ ఫంక్షన్ మరియు ఇది పారామితిని క్లాస్ యొక్క కాన్సస్టెంట్ రెఫరెన్స్(constant reference) గా తీసుకుంటుంది మరియు అదే క్లాస్ యొక్కనాన్- కాన్సస్టెంట్ రెఫరెన్స్(non-constant reference) ను తిరిగి ఇస్తుంది, ఇది క్లాస్ యొక్క కాన్సస్టెంట్ రెఫరెన్స్(constant reference)ను కూడా తిరిగి పొందవచ్చు. + ఇప్పుడు, కాపీ అసైన్మెంట్ యొక్క మరింత గమ్మత్తైన ప్రాంతాలలో కొన్నింటిని పరిశీలిస్తాము. + సో, మీరు కాపీ కన్స్ట్రక్షన్ పరంగా, మీరు ఇప్పటికే shallow కాపీ మరియు deep కాపీని యొక్క భావం వివరించారు గుర్తుచేసుకున్నారు. + ఇప్పుడు shallow కాపీ మరియు deep కాపీ యొక్క పరిణామాలు కూడా కాపీ అప్పగింతలోకి వక్రీకరిస్తాయని మేము చూస్తాము. + కాబట్టి, ప్రత్యేకంగా దీన్ని స్ట్రింగ్ ఉదాహరణగా దృష్టి పెట్టండి మరియు కాపీ అసైన్మెంట్ ఆపరేటర్ పై దృష్టి పెట్టండి. + ఇప్పుడు, మీరు ఏమి ప్రయత్నిస్తున్నారు? ఇది మీ; నాకు కేవలం రెండు ఆబ్జెక్ట్ లను గీయండి. + ఈ s1 ఉంది, ఈ s2 ఉంది . + సో, ఈ ఫుట్బాల్(football) ఉంది. + కాబట్టి, అది ఏమంటే, అది పొడవు(length) 8 ఉంటుంది. ఇది క్రికెట్; ఇది పొడవు(length) 7 ఉంటుంది. ఇప్పుడు, నేను కాపీ చేయడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, నేను s2ను  s1 కి కేటాయించడానికి ప్రయత్నిస్తాను. + కాబట్టి, నేను దీనిని కాపీ చేస్తే; సహజంగా నేను కాపీ చేస్తున్నప్పుడు ఈ స్ట్రింగ్ ఇక్కడ కాపీ చేయబడిందని నాకు తెలుసు మరియు దీనికి రెండు ఎంపికలు ఉన్నాయి అని మాకు తెలుసు. + ఒక పాయింటర్ కాపీ ఉంది; ఇతర వాస్తవానికి ఆబ్జెక్ట్ ను కాపీ చేయడం. + కాబట్టి, మేము డీప్ కాపీని చేయాలనుకుంటున్నాము, ఈ సందర్భంలో మేము ఒక లోతైన కాపీని చేస్తున్నాము. + కాబట్టి, మీరు ఒక పారామితి యొక్క strdup ను తయారు చేస్తున్నారు, ఇది ప్రధానంగా s1 యొక్క strdup. + ఇప్పుడు, మీరు దానిని str కు అప్పగిస్తే ఏమి జరుగుతుంది? కేవలం, మరొక ఫుట్బాల్ సృష్టించింది, strdup మేము డూప్లికేట్(duplicate) చేసిన. + కాబట్టి, మరో ఫుట్బాల్ క్రరియేట్ చేసింది. + ఇప్పుడు, నేను ఈ పాయింటర్ను str గా ఉంచినట్లయితే, సహజంగా నేను ఈ పాయింటర్ ను కోల్పోతాను మరియు ఈ స్ట్రింగ్ను తిరిగి పొందటానికి ఏ మార్గం లేదు. + కాబట్టి, నేను దీన్ని ముందు, నేను ఫ్రీ(free) చేయవలసి ఉంటుంది, లేకపోతే రీసోర్స్(resource) ని లీక్ చేస్తుంది, మెమరీ లీక్ అవుతుంది. + కాబట్టి, ఇది ముఖ్యమైన అంశం. + నేను మొదట దీన్ని విడిపించాను, అప్పుడు నేను స్ట్రింగ్ కాపీని చేస్తున్నాను. + కాబట్టి, నేను ఈ విడివిడిగా ఈ పోయింది, నేను ఒక strdup చేయండి. + ఇప్పుడు, నేను ఇక్కడ ఒక కొత్త ఫుట్బాల్ సూచించాను, ఇది కాపీ చేయబడుతుంది. + కాబట్టి, ఇది ఇక్కడ 8 గా మారుతుంది మరియు గత సందర్భంలో చేసిన విధంగానే లక్ష్యం తిరిగి వస్తుంది. + ఇది ప్రాథమికంగా ఇది ప్రస్తుత ఆబ్జెక్ట్ (object) అని మొదట తెలియజేస్తుంది. + కాబట్టి, ఆ ఆబ్జెక్ట్ తిరిగి రావాల్సిన object ను తిరిగి ఇవ్వాలి ఎందుకంటే అది తిరిగి వస్తుంది. + కాబట్టి, నేను చెప్పినట్లుగా, ఈ ఆబ్జెక్ట్ ఇప్పుడు చైన్ అసైన్మెంట్(chain assignment) కోసం ఉపయోగించబడుతుంది. + నేను ఇప్పటికే వివరించినందున ఇది చైన్ అసైన్మెంట్(chain assignment) లో ఉపయోగించబడుతుంది. + అందువల్ల, ఈ ఆబ్జెక్ట్ లో ఉన్న పాయింటర్ మెంబర్లను కలిగి ఉన్నప్పుడల్లా, ఒక కాపీని ఒక డీప్ కాపీ(deep copy) కోసం ఉపయోగించవచ్చు. + ఇప్పుడు, మనం ఇప్పటికే చూచిన కోడ్తో చాలా చిన్న, కానీ అపాయకరమైన(dangerous) సమస్యగా చూద్దాం. + ఇది మీరు చూసిన సరిగ్గా ఉన్న కోడ్, ఇది s1 కు s2 ను మేము అధిగమించాము. + ఇప్పుడు, నేను s1 కు s1 ను కాపీ చేసాను. + ఇప్పుడు, మీరు చాలా చట్టబద్ధంగా నన్ను అడగవచ్చు, ఎందుకు ఎవరైనా ఈ రకమైన కోడ్ను రాయాలి, దానికి రెండు సమాధానాలు ఉన్నాయి; ఎవరైనా రాసినట్లయితే ఒకటి. +  ఏమి జరగబోతుందో మేము తెలుసుకోవాలి. + ఇతర సమస్య ఎల్లప్పుడూ కోడ్ ఇలా ఉంటుంది, ఉదాహరణకు, అది కావచ్చు; నేను స్ట్రింగ్ కలిగి, నేను S1 ఒక రెఫరెన్స్(reference) కలిగి ఎక్కడా జరుగుతుంది; ఇది ఎక్కడ జరిగిందో నాకు తెలియదు. + ఇది కొన్ని ఇతర ఫంక్షన్లో చేయబడి ఉండవచ్చు, కొన్ని ఇతర క్లాస్ లలో అది వచ్చినది మరియు ఇప్పుడు నేను s1 కేటాయించిన చేస్తున్నాను. + సిన్టాటిక్(Syntactically) గా, కోడ్ చూడటం అనేది ఒక సెల్ఫ్ కాపీ(self copy) వలె కనిపించడం లేదు, కానీ వాస్తవానికి ఇది సెల్ఫ్ కాపీ(self copy). + కాబట్టి, సెల్ఫ్ కాపీ(self copy) మేము పరిశీలించాల్సిన ఒక సంభావ్య పరిస్థితి(potential situation). + ఇప్పుడు ఖచ్చితంగా సమస్యలు ఉన్నాయని మేము చూస్తున్నాం. + కాబట్టి, దీనిని పరిశీలించండి సెల్ఫ్ కాపీ. + కాబట్టి, ఈ నేను ఏమి ఉంది, ఈ నా s 1, ఈ నా స్ట్రింగ్(my string), నా s1 ఫుట్బాల్ ఉంది. + కాబట్టి, నేను ఇక్కడ ఫుట్బాల్ మరియు వెయిట్(weight) కలిగి ఉన్నాను. + ఇప్పుడు, నేను s1 చేస్తాను ఈ ఒకటి అసైన్(assign) చేయండి. + కాబట్టి, ఏమి జరుగుతుంది? ఇది మొదట ఎగ్జిక్యూట్(execute) అవుతుంది, ఇది నా s1. + కాబట్టి, ఇది ఫ్రీ. + ఇప్పుడు, ఇది చేయటానికి ప్రయత్నిస్తుంది, అనగా, ఈ ఆబ్జెక్ట్ s డాట్ స్ట్రింగ్ ను తీసుకోవటానికి ప్రయత్నిస్తుంది, ఒక కాపీని తయారు చేసి ఆపై దాన్ని ఇక్కడ పెట్టండి. + ఇప్పుడు, ఈ ఆబ్జెక్ట్ ఇప్పటికే పోయిందని ఇది ఫ్రీ చేయబడింది. + కాబట్టి, ఇక్కడ మీరు ఏమి కాపీ చేస్తున్నారో తెలియదు, ప్రశ్న కాదు అది కేవలం తెలియదు, ఇది ఏదో ఇన్వాలిడ్(invalid) అయ్యేది మరియు ఆపై ఉంటుంది. + సో, మీరు కాపీని తర్వాత ప్రింట్ అయినప్పుడు ఊహించినంత నిశ్శబ్దంగా చేస్తే, మీరు చెత్తను సంపాదించిన తరువాత నేను గార్బేజ్(garbage) ను పొంది, ఒక చెత్త వచ్చింది, కానీ నేను గార్బేజ్(garbage) కు గురైనప్పుడు అది గార్బేజ్(garbage) గా ఉంటుంది, ఎందుకంటే ఇది మెమరీని ఎలా ఉల్లంఘిస్తుందో(violated) దానిపై ఆధారపడి ఉంటుంది. + సో, పాయింటర్ టైపుతో సెల్ఫ్ కాపీ ఇమేజ్ ఎదుర్కోవటానికి చాలా కష్టంగా ఉందని నిరూపించేది. + కాబట్టి, దాని గురించి ఏదో చేయవలసి ఉంటుంది. + కాబట్టి, మేము దీనిని నిర్వహించటం మరియు ఇది చాలా ప్రత్యేకంగా మీరు నేను సెల్ఫ్ కాపీ(self copy)ని చేస్తున్నట్లయితే, నేను ఇలా చేస్తే, అప్పుడు నా కాపీ అసైన్మెంట్ ఆపరేటర్(copy assignment operator) కాపీ చేయకూడదని చెప్పాలి. + మీరు ఒక సెల్ఫ్ కాపీ ని చేస్తున్నట్లయితే అప్పుడు నేను చెప్పాల్సిన అన్నిటిని కాపీ చేయడం లేదు ఎందుకంటే అది బైపాస్, ఇది ఒక ఆబ్జెక్ట్ . + కాబట్టి, కోడ్ మిగిలిన ఉంది, కానీ నేను జోడించే అన్ని ఇది ఒక ఆబ్జెక్ట్ ఉంటే తనిఖీ ఉంది. + ఇది ఒకే ఆబ్జెక్ట్ అయితే నేను ఎలా తనిఖీ చేయాలి? S1 s1 అసైన్ చేయబడుతుందని అర్థం. + కాబట్టి, ఇది s1 డాట్ ఆపరేటర్లు కేటాయింపు s1, ఇది s అవుతుంది మరియు ఇది ఆబ్జెక్టు జరుగుతున్న ఆబ్జెక్ట్ , కాబట్టి ఇది * ఇది. + కాబట్టి, మీరు ఈ మరియు s star లేదో చూడాలనుకుంటున్నారా. + మేము ఈ ఆబ్జెక్ట్ లను పోల్చుకోలేము ఎందుకంటే ఇది ఏ ఆబ్జెక్ట్ అయినా కావచ్చు, దానికి పోలిక ఆపరేటర్ లేదు. + ఈ నేను పూర్ణాంకానికి సమానంగా వ్రాసే పూర్ణాంకం లాంటిది కాదు కానీ నాకు తెలిసినది ఏమిటంటే అది ఒకే ఆబ్జెక్ట్ అయితే అది కొన్ని మెమరీలో ఉంటుంది. + కాబట్టి, ఈ 2 ఒకే విధంగా వుండాలి, అప్పుడు ఇది s & s వలె ఉంటుంది. + అడ్రస్ లను(addresses) ఒకే ఆబ్జెక్ట్ గా ఉన్నట్లయితే వారి అడ్రస్ లను(addresses) ఒకే విధంగా ఉండాలి; అడ్రస్ లను(addresses) వేరుగా ఉంటే అవి ఒకే ఆబ్జెక్ట్ కాదు. + కాబట్టి, అడ్రస్ లను వేర్వేరుగా ఉన్నట్లయితే, మీరు చేసేదాన్ని కేవలం తనిఖీ చేస్తారు. + అడ్రస్ లను(addresses) వేర్వేరుగా ఉన్నట్లయితే, కాపీ ద్వారా మీరు పాస్ అయినట్లైతే సాధారణమైనది కాదు. + సో, ఈ కాపీని అప్పగించటం ఆపరేటర్లో సెల్ఫ్ కాపీ గురించి చిన్న విషయం మీరు ఎల్లప్పుడూ మనసులో ఉంచుకోవాలి మరియు ఇది ఒక కాపీని అప్పగింత ఆపరేటర్ను వ్రాయడానికి ప్రత్యేకమైన మార్గం, ప్రత్యేకించి మీకు మీరు డేటా మెంబర్ పాయింటర్ టైప్ కలిగి ఉంటారు. + కాపీ అసైన్మెంట్ ఆపరేటర్(copy assignment operator) యొక్కసంతకం(signature), మేము ఇప్పటికే చూసిన. + ఇది ఒక ప్రత్యేకమైన సంతకం మరియు ఇది మీరు మొదట సెల్ఫ్ కాపి కోసం తనిఖీ చేసినట్లు చూపించిన ఒక ప్రాధమిక structure, అప్పుడు మీరు ప్రస్తుతం ఉన్న ఆబ్జెక్ట్ ద్వారా నిర్వహించబడుతున్న రీసోర్స్ లను విడుదల చేసి, ఆపై మిగిలిన మెంబర్ లను current ఆబ్జెక్ట్ కాపీ చేయండి. + అనగా, మీరు తారాగణాన్ని ఉపయోగించకపోవటం కూడా సాధ్యమే. మీరు పరామితిలో స్థిరంగా లేకుండా ఒక కాపీని చేస్తారు. + సో, ఇది కాపీ సమయంలో అర్థం మీరు నుండి కాపి చేస్తున్న ఆబ్జెక్ట్ మార్చవచ్చు మరియు మేము ఈ ప్రత్యేక లక్షణం ఉంటుంది పేరు స్మార్ట్ గమనికలు అని పిలుస్తారు కొన్ని స్మార్ట్ డిజైన్లలో(smart designs), డిజైన్ పరంగా చాలా తీవ్రమైన ఉపయోగం అని చూస్తారు. విస్తృతంగా ఉపయోగించారు, అయితే ఆ సమయంలో వచ్చినప్పుడు మరియు అనేక ఇతర సంతకాలు ఉన్నాయి; నేను వాటిని లిస్ట్ చేసాను. + అర్థం చేసుకోవడానికి లేదా వీటిని అనుమతించిన వాటిని గుర్తుంచుకోవడానికి చాలా ప్రయత్నాలు చేయవద్దు మరియు ఇవి అప్పుడప్పుడు ఉపయోగించబడతాయి, కానీ అవి పరిస్థితిలో చాలా అరుదుగా ఉంటాయి. + కాబట్టి, అలాంటి కాపీ అసైన్మెంట్(copy assignment) ఆపరేటర్లు సాధ్యమే, కానీ మీరు దీన్ని ప్రధానంగా ఉపయోగించుకుంటారు మరియు కొన్ని సందర్భాల్లో దీన్ని ఉపయోగించుకుంటారు. + కాబట్టి, ఇక్కడ మొత్తమ్మీద మేము కాపీ కన్స్ట్రక్టర్(copy constructors) చూసాము, అక్కడ కొత్త ఆబ్జెక్ట్ సృష్టించబడింది, ఈ కొత్త ఆబ్జెక్ట్ మరొక ఆబ్జెక్ట్ యొక్క డేటా మెంబర్ యొక్క విలువతో ప్రారంభమవుతుంది మరియు కాపీ యొక్క ప్రధాన అవసరం కాపి కన్స్ట్రక్షన్(copy construction) విలువ ద్వారా కాల్ కోసం జరుగుతుంది మరియు డిఫైన్డ్ టైప్(defined type) డేటా మెంబర్లను ఉపయోగించడం ప్రారంభించడం కోసం. + కాపీ కన్స్ట్రక్టర్ యూజర్ చేత అందించబడతారు, అయితే వినియోగదారు కాపీని కన్స్ట్రక్టర్(copy constructor) చేయకపోతే అప్పుడు కంపైలర్ ఒక కాపీని తయారుచేస్తుంది, ఇది ఒక బిట్ కాపీ(bit copy) వలె ఉంటుంది. + మేము కాపీని అప్పగించిన ఆపరేటర్ గురించి చర్చించాము, ఇది ఆబ్జెక్ట్ ఇప్పటికే ఉన్నపుడు కాపీని చేస్తోంది. + కాబట్టి, ఇది ఇప్పటికే ఇప్పటికే ప్రారంభించబడి ఉంటుంది, అప్పుడు ఆ ఆబ్జెక్ట్ యొక్క మెంబర్ నుండి భర్తీ చేయవలసి ఉంటుంది, మరియు కాపీ అప్పగించిన ఆపరేటర్ సెల్ఫ్ కాపీలో ముఖ్యమైన సమస్యగా ఉంటుంది మరియు జాగ్రత్త తీసుకోవాలి. + మరలా దయచేసి ఇది స్పష్టంగా స్లయిడ్లో వ్రాయబడలేదని దయచేసి గుర్తుంచుకోండి, అయితే దయచేసి వినియోగదారు కాపీని అప్పగించిన ఆపరేటర్ను అందించకపోతే, కానీ దానిని ప్రోగ్రామ్లో ఉపయోగిస్తుంటే దయచేసి కంపైలర్ ఫ్రీ కాపీని అసైన్మెంట్ ఆపరేటర్ను(copy assignment operator) అందిస్తుంది, మళ్లీ ఇష్టం; కాపీని కలిగి ఉన్న నిర్దిష్ట అవసరాలను పరిగణనలోకి తీసుకోకుండా ఫ్రీ కాపీ కన్స్ట్రక్టర్ కాపీరైటు మరలా ఒక బిట్ వారీగా కాపీని చేస్తుంది. + కాబట్టి, తయారీదారులాగే, మీరు కాపీలు తయారు చేయగల తరగతికి లేదా రూపకల్పనలో విలువలో విధులు జారీ చేయబడగల చోటును రూపొందిస్తున్నప్పుడు, మీరు నకలు తయారీదారు మరియు కాపీ అప్పగింత ఆపరేటర్ను కూడా అందించాలి. + ప్రత్యేకమైన పరంగా, మేము ఇక్కడ ఉన్న లోతైన మరియు నిస్సార కాపీల భావాలను కూడా గమనించాము. + దయచేసి గుర్తుంచుకోండి, నిస్సార కాపీని పాయింటర్ను కాపీ చేస్తాను. + కాబట్టి ఒక నిస్సార కాపీ తర్వాత ఒకే ఆబ్జెక్ట్ మరియు లోతైన కాపీకి ఒకటి కంటే ఎక్కువ పాయింట్ పాయింటర్ పాయింట్లు పాయింటర్ను కాపీ చేయదు, అది సూచించబడిన ఆబ్జెక్ట్ ను కాపీ చేస్తుంది. + అందువల్ల, డీపైన కాపీ(deep copy)తర్వాత 2 గమనికలు బహుశా ఈ రెండు విభిన్న కాపీలు ఇదే బహుశా ఒకే ఆబ్జెక్ట్ తరువాత, కానీ అవి వివిధ ఆబ్జెక్ట్ లు మారింది. + కాబట్టి, డీపైన కాపీ(deep copy)మరియు షాలో కాపీ(shallow copy)సహజంగా న్యాయంగా ఉపయోగించబడుతుంది. + ఇది అవసరమైతే ఖచ్చితంగా ఉండకపోతే, మేము డీప్ కాపీని చేయటానికి ప్రయత్నించము ఎందుకంటే ఎందుకంటే అది సున్నితమైనదిగా ఉన్న కాచెడ్ డేటా యొక్క కాపీని కలిగి ఉంటుంది, ఎందుకంటే పునరావృత తర్కం ద్వారా మళ్లీ కాపీ కన్స్ట్రక్షన్(copy construction) అవసరం అవుతుంది, కానీ భద్రత పరంగా, డీపైన కాపీ(deep copy)ని ఉపయోగించి షాలో కాపీ(shallow copy)ని ఉపయోగించి పోలిస్తే తరచూ మరింత సురక్షితం. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/11. ProgramminginCplusplus_Operator Overloading (Contd.) (Lecture 16)-0jpOwe4d-FE.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/11. ProgramminginCplusplus_Operator Overloading (Contd.) (Lecture 16)-0jpOwe4d-FE.txt index f24ce1908cd6e00e5cdc2a735bde837d87341a48..6d35157777070cf3815f1f3111a0571ed2dbd24d 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/11. ProgramminginCplusplus_Operator Overloading (Contd.) (Lecture 16)-0jpOwe4d-FE.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/11. ProgramminginCplusplus_Operator Overloading (Contd.) (Lecture 16)-0jpOwe4d-FE.txt @@ -1,64 +1,64 @@ - 1. C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 9 కు స్వాగతం. - 2. ఆపరేటర్ ఓవర్లోడింగ్ గురించి మేము చర్చించాము. - 3. ఆపరేటర్లు మరియు ఫంక్షన్ల మధ్య సారూప్యతలు మరియు వ్యత్యాసాలను మేము చూశాము మరియు C ++ లో, ఆపరేటర్ ఫంక్షన్లను నిర్వచించడానికి మరియు ఓవర్లోడ్ చేయడానికి ఫీచర్లు ఎలా అందించబడ్డాయో చూశాము మరియు దీనికి అదనంగా, ఆపరేటర్ ప్లస్ ఓవర్లోడ్ చేయడానికి మునుపటి విభాగంలో మాకు రెండు ఉదాహరణలు ఉన్నాయి (ఆపరేటర్ +) స్ట్రింగ్ రకం కోసం మేము రెండు తీగలను నిర్వచించాము మరియు సంక్షిప్తీకరించాము.మరియు రకాలు కోసం క్లోజ్డ్ యాడ్ ఆపరేషన్ ఎలా చేయవచ్చో చూపించడానికి, ఆపరేటర్‌ను వేరే రకం సందర్భంలో అదనపు రకంతో ఓవర్‌లోడ్ చేసాము. - 4. ఇప్పుడు, మేము ముందుకు వెళ్లి, ఓవర్‌లోడ్ చేయగల దాని గురించి మరియు మీరు మీ స్వంత రకాన్ని, ఏ రకమైన ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చో నిర్వచిస్తుంటే ఎలా మరియు ఏమి జరుగుతుందో గురించి మరింత తెలుసుకుంటాము మరియు మీరు దీన్ని ఎలా చేయగలరు? ఏమి సాధ్యమవుతుంది? సాధ్యం కాదు సలహా మరియు మొదలైనవి ఏమిటి? అందువల్ల, నేను ఇక్కడ నిబంధనల సారాంశాన్ని ప్రదర్శిస్తున్నాను. - 5. వాటిని చాలా జాగ్రత్తగా చూద్దాం. - 6. మొదట సహజంగా; మేము మీ మొదటి ప్రశ్నను ఓవర్‌లోడ్ చేయవలసి వస్తే - ఓవర్‌లోడ్ చేయగల ఆపరేటర్ ఏది? ఖచ్చితంగా, C ++ లో చాలా మంది ఆపరేటర్లు ఉన్నారు; ప్లస్, మైనస్, డివిజన్, గుణకారం, అసైన్‌మెంట్, అసైన్‌మెంట్ల యొక్క వివిధ రకాల పొడిగింపులు, ఇవన్నీ ఉన్నాయి. - 7. కాబట్టి, మీరు క్రొత్త ఆపరేటర్ చిహ్నాన్ని నిర్వచించి దాన్ని ఓవర్‌లోడ్ చేయగలరా? మీకు ప్రశ్న ఉంటే, సమాధానం లేదు; మీరు సిస్టమ్‌లో నిర్వచించిన ఆపరేటర్ల సమితికి మాత్రమే మిమ్మల్ని పరిమితం చేయాలి. - 8. ఉదాహరణకు, నాకు ఓవర్‌లోడింగ్ ఉందని మీరు చెప్పలేరు; ఈ ఆపరేటర్ చెప్పడానికి లేదా నాకు ఈ ఆపరేటర్ ఉంటుంది. - 9. వాస్తవానికి, మీలో కొందరు పాస్కల్‌లో పాత ప్రోగ్రామర్లు, ఇది పాస్కల్‌లో అసమానత అని మీరు గుర్తిస్తారు, అయితే ఇది సి ++ లో నిర్వచించబడిన చిహ్నం కాదు. - 10. అందువల్ల, మీరు కొత్త చిహ్నాలతో ఆపరేటర్లను ఓవర్‌లోడ్ చేయలేరు. - 11. మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు చాలా ముఖ్యమైన రెండవ విషయం; మీరు దాని అంతర్గత లక్షణాలను మార్చలేరు. - 12. అంతర్గత లక్షణాలు ఒకే విధంగా ఉండాలి మరియు ఆపరేటర్ కోసం 3 అంతర్గత లక్షణాలు ఉన్నాయి; ఒక సంఖ్య ఉందా, దీనికి అనేక రకాల ఆపరేషన్లు ఉన్నాయి, ఇతర ఆపరేటర్లు మరియు సహకార సంస్థలకు సంబంధించి వారి ఆపరేటర్ల సమూహానికి లేదా ఇలాంటి ఆపరేషన్ల ఆపరేటర్లకు సంబంధించి ప్రాధాన్యత. - 13. ఈ 3 అంతర్గత లక్షణాలను మార్చలేము. - 14. కాబట్టి, మీరు వాదించినట్లయితే, నాకు ఆపరేటర్ ప్లస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు లేదా దీన్ని ఇలా వ్రాయవచ్చు. - 15. నాకు ఆపరేటర్ మైనస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు, దీనిని ఇలా వ్రాయవచ్చు. - 16. కాబట్టి, ఇది ఇక్కడ ఉందని అర్థం, అరిటీ 2, ఇక్కడ అరిటీ 1, కానీ అలాంటి మార్పులు మాత్రమే మీరు మీరే చేయలేరు. - 17. ఆపరేటర్ కోసం బహుళ సంస్కరణలు ఉంటే మరియు వేర్వేరు పూర్వీకులు మరియు సానుభూతులు ఒకే విధంగా నిర్వచించబడితే, మీరు దాని ద్వారా వెళ్ళాలి, కానీ మీరు చేయలేరు; ఆపరేటర్లు ఎవరూ దాని స్వచ్ఛత ప్రాధాన్యత మరియు సానుభూతిని నిర్వచించరు లేదా మార్చరు. - 18. కాబట్టి, అంతర్గత లక్షణాలను పూర్తిగా గౌరవించాలి. - 19. మూడవది జాబితా; C ++ లో సాధారణంగా ఉపయోగించే 38 ఆపరేటర్లు ఇవి ఓవర్‌లోడ్ చేయగలవు. - 20. కాబట్టి, మీరు ప్రాథమిక అంకగణిత ఆపరేటర్ మరియు మొత్తం అసైన్‌మెంట్ ఆపరేటర్‌తో సహా మీరు ఆలోచించగలిగే దాదాపు అన్ని ఆపరేటర్లను కలిగి ఉన్నారని మీరు చూడవచ్చు, అప్పుడు మీ షిఫ్ట్ ఆపరేటర్, మీ లాజికల్ ఆపరేటర్, మీ పాయింటర్ రిఫరెన్సింగ్ ఆపరేటర్, మీ అర్రే ఆపరేటర్, మీ ఫంక్షన్ ఆపరేటర్ మరియు కాబట్టి. - 21. కాబట్టి, ఇవన్నీ ఓవర్‌లోడ్ చేయవచ్చు. - 22. మీకు యూనిరీ ఆపరేటర్ ఉంటే, మీకు తెలిసినట్లుగా రెండు రకాల యూనిరీ ఆపరేటర్లు, ఒపెరాండ్‌కు ముందు ఉన్న ఉపసర్గ ఆపరేటర్. ఉన్నారా, ఇది ఇలా ఉంటుంది; వీరంతా ఉపసర్గ ఆపరేటర్లు లేదా వారు పోస్ట్ ఫిక్స్ రకానికి చెందినవారు కావచ్చు. - 23. కాబట్టి, ప్రశ్న ప్రత్యేకంగా అదే ఆపరేటర్, మీరు ++ చూస్తే, నేను ++ వ్రాయగలను లేదా నేను ++ వ్రాయగలను. - 24. ప్రశ్న సహజంగా ఒక ఆపరేటర్ మరియు తరువాత ఆపరేటర్ ఫంక్షన్ మధ్య కరస్పాండెన్స్ ఇవ్వబడుతుంది, ఆపరేటర్ ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) ఆపరేటర్ ఆపరేటర్కు మాత్రమే ఆపరేటర్ ఆపరేటర్ అని మేము చెప్పాము. - 25. కాబట్టి, ఇది ఆపరేటర్ చిహ్నం తరువాత ఆపరేటర్ చిహ్నం. - 26. కాబట్టి, ఈ రెండు తప్పనిసరిగా ఒకే ఆపరేటర్ పేరును కలిగి ఉంటాయి. - 27. కాబట్టి, మీ ప్రశ్న ఉంటుంది, కానీ అవి వేర్వేరు ఆపరేటర్లు, ఉపసర్గ మరియు పోస్ట్ పరిష్కారాలు వేర్వేరు ఆపరేటర్లు, ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ వేర్వేరు ప్రవర్తన. - 28. కాబట్టి, మేము దానిని ఎలా వేరు చేస్తాము? కాబట్టి, ఈ రెండు పాయింట్లలో మీరు అప్రెంటిస్ ఆపరేటర్ ఉపసర్గ అయితే, ఈ విధంగా మీరు దీనిని వ్రాస్తే, సంతకం ఇలా కనిపిస్తుంది, ఇది మీ రకానికి భిన్నంగా ఉంటుంది మరియు ఇది వస్తుంది ఇంక్రిమెంట్ తర్వాత తీసుకున్న ఒపెరాండ్‌కు తిరిగి వెళ్ళు. - 29. అయితే, ఈ పోస్ట్ ఫిక్స్ ఆపరేటర్ అయితే, ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఒక పూర్ణాంకానికి మరొక పరామితిగా పేర్కొనాలి మరియు ఈ పూర్ణాంకానికి నిజంగా క్రియాశీల పరామితి కాదు. - 30. మీరు నిజంగా టిని ఇన్వోక్ చేసినప్పుడు, అది ఆపరేటర్. మీరు పాస్ చేయబోతున్నారనే ఉద్దేశ్యం లేదు, అది కేవలం సంతకంలో ఉంది. - 31. ఆపరేటర్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ పోస్ట్ ఫిక్స్ రకం కోసం కాదా మరియు ఉపసర్గ రకం కాదా అని కంపైలర్ నిర్ణయించడంలో ఇది సహాయపడుతుంది. - 32. కాబట్టి, నేను ++ వ్రాస్తే అది చెడుగా కనిపిస్తుంది. - 33. నేను ++ a వ్రాస్తే, ఇది ఇలా అనిపిస్తుంది. - 34. సర్‌చార్జ్ కోసం ఉపసర్గ మరియు పోస్ట్ యునరీ ఆపరేటర్లను పరిష్కరించడానికి ఇది ప్రాథమిక విధానం. - 35. తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ లాగా ఓవర్లోడ్ చేయడానికి అనుమతించని కొన్ని ఆపరేటర్లు ఉన్నారని దయచేసి గమనించండి, ఉదాహరణకు, సభ్యుని ఉపయోగించడం వంటివి, ఉదాహరణకు, మనకు ఒక నిర్మాణం ఉంటే, కాబట్టి మేము Ri మరియు Im తో సంక్లిష్ట నిర్మాణాన్ని భాగాలుగా చూశాము. - 36. కాబట్టి, నేను నిర్మాణానికి పేరు పెట్టవచ్చు మరియు చుక్కను ఉంచగలను. - 37. కాబట్టి, ఇది నిర్మాణం యొక్క పున-భాగం. - 38. అందువల్ల, సభ్యుల ప్రాప్యత ఓవర్‌లోడ్ చేయబడదు. - 39. ఏదైనా వేరియబుల్ లేదా రకం యొక్క బైట్ల సంఖ్యను కనుగొనడానికి పరిమాణాన్ని ఓవర్‌లోడ్ చేయలేము; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయలేము మరియు మొదలైనవి. - 40. తార్కిక మరియు తార్కిక లేదా కామాలతో ఓవర్‌లోడ్ చేయడానికి అనుమతించబడిన కొన్ని ఆపరేటర్లు ఉన్నారు. - 41. అయితే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే, వాటి ప్రాథమిక లక్షణాలు, కొన్ని అదనపు లక్షణాలు నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. - 42. ఇది ఆంపర్సండ్ 'లాజికల్' మరియు 'నేను ఈ వ్యక్తీకరణను వ్రాస్తే (a = = b && b = = c), ఇది తార్కికం మరియు దాని ప్రవర్తన ఏమిటంటే వ్యక్తీకరణ యొక్క ఈ భాగం కనుగొనబడితే అది అబద్ధం. కనుక ఇది లేదు రెండవ భాగాన్ని అంచనా వేయండి. - 43. వ్యక్తీకరణ యొక్క ఈ భాగం తప్పుగా ఉంటే, అది రెండవ భాగాన్ని అంచనా వేయదు, మీరు వాదన యొక్క ఖచ్చితత్వాన్ని చూస్తున్నారా. - 44. A కి సమానం కాకపోతే; a మరియు b భిన్నంగా ఉంటాయి, అప్పుడు b కి సమానమైనది తప్పు మరియు ఒకసారి అది అబద్ధం అవుతుంది, ఎందుకంటే ఇది ఒక AND ఆపరేషన్ మరియు b యొక్క నిజం లేదా పురాణం c కి సమానంగా ఉందా, రెండవ భాగం నిజం లేదా రెండవ భాగం తప్పుడు, ఈ మొత్తం వ్యక్తీకరణ ఏమైనప్పటికీ తప్పు అవుతుంది. - 45. కాబట్టి, ఈ విధంగా కేవలం ఒక భాగాన్ని మూల్యాంకనం చేయడం మరియు మరొకటి మూల్యాంకనం చేయకపోవడం మూల్యాంకనంలో షార్ట్ సర్క్యూట్ అని పిలుస్తారు మరియు ఇది క్రమం చేయడం ద్వారా జరుగుతుంది, ఎందుకంటే మీరు వాటిని ఏ క్రమంలో అంచనా వేస్తారో మీరు నిర్ణయించుకోవాలి. మేము చేస్తాము. - 46. ఇవి ఈ ఆపరేటర్ యొక్క ప్రత్యేక ప్రవర్తనలు. - 47. అందువల్ల, మీరు ఆ ప్రవర్తనలను ఓవర్లోడ్ చేస్తే, మీరు కోల్పోతారు, ఓవర్లోడ్ అయిన తర్వాత మీరు ఆ ప్రవర్తనలను cannot హించలేరని మీరు జాగ్రత్తగా ఉండాలి. - 48. చివరగా, మీరు పాయింటర్ పరోక్ష ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తే, ఆ ఆపరేటర్ మరొక పాయింటర్‌ను తిరిగి ఇవ్వాలి, లేదా అది నేరుగా పాయింటర్. - 49. ఈ విషయాన్ని గమనించండి, ఈ దశలో అర్థం చేసుకోవడం అంత సులభం కాదు. - 50. మేము ఈ ఆపరేటర్ గురించి ఏదో ఒక సమయంలో మాట్లాడుతాము, ముఖ్యంగా ఓవర్‌లోడింగ్, ఇది భాషతో సంబంధం లేకుండా C ++ ప్రోగ్రామింగ్ యొక్క చాలా బలమైన లక్షణం. - 51. దీన్ని స్మార్ట్ పాయింటర్లు మరియు ఉపయోగించేవారు అంటారు. - 52. అందువల్ల, మీరు ఈ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, మీరు తప్పక పాయింటర్ లేదా మరలా పాయింటర్‌గా మారవచ్చు. - 53. ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. - 54. కాబట్టి, దీని తరువాత మీరు మీ ఆపరేటర్లకు రాయడం ప్రారంభించవచ్చు మరియు నేను స్ట్రింగ్ మరియు ఎనుమ్ రూపంలో ఉదాహరణలను చూపించాను, మీరు నిజంగా నియమాలను ఖచ్చితంగా పాటించాలి, కానీ అవి చాలా సౌకర్యవంతంగా మరియు సూటిగా ముందుకు ఉంటాయి మరియు నేను ఇక్కడ చర్చించిన ఉదాహరణలను తీసుకుంటాను. - 55. మీరు మీ స్వంత రకాలుగా ఎక్కువ వ్రాయగలరు, పూర్తి సంక్లిష్ట రకాలను వ్రాయడం మంచిది, ఇక్కడ మీరు ఇతర ఆపరేటర్లను నెమ్మదిగా ఓవర్‌లోడ్ చేయవచ్చు మరియు సంక్లిష్ట సంఖ్యలను ఒకేసారి పూర్ణాంకాలుగా పరిగణించవచ్చు. - 56. కింది స్లైడ్‌లలో, నేను వివరించను, నేను చెప్పినట్లుగా ఓవర్‌లోడ్ అవ్వడానికి అనుమతించని ఆపరేటర్లను అణిచివేసేందుకు ప్రయత్నించాను మరియు నేను ఒక కారణాన్ని అందించడానికి ప్రయత్నించాను. మీకు మాత్రమే కాదు; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించబడలేదని లేదా ఆకార-రకం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించలేదని మేము గుర్తుంచుకోవాల్సిన అవసరం లేదు, మీరు వాస్తవానికి కారణాన్ని అర్థం చేసుకోవచ్చు మరియు మీరు గుర్తుంచుకోవడం సులభం అవుతుంది. - 57. అందువల్ల, ఇది ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్), ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఆపివేయబడిన జాబితా మరియు ఆపరేటర్లు ఎక్కడ ఉన్నారు, ఓవర్‌లోడింగ్ వాస్తవానికి అనుమతించబడే చోట నేను క్లుప్తంగా చర్చించిన మరొక జాబితా, కానీ మీరు వాటిని ఓవర్‌లోడ్ చేయవద్దని సలహా ఇస్తారు ఎందుకంటే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే కొన్ని C ++ ప్రోగ్రామ్‌ల యొక్క ప్రాథమిక ప్రవర్తన మారుతుంది. - 58. కాబట్టి, వీటిని నిజంగా నిపుణులచే ఓవర్‌లోడ్ చేయాలి మరియు మీరు ఆ స్థాయికి చేరుకునే వరకు, దాన్ని ఓవర్‌లోడ్ చేయవద్దని నేను మీకు సలహా ఇస్తాను. - 59. మీ వద్ద ఉన్న మిగిలిన 38 ఆపరేటర్లు ఏ రకమైన మాతృకను అభివృద్ధి చేయగలిగేంత గొప్పవి, ఏ రకమైన మాతృక, సంక్లిష్టమైనవి, మీకు కావలసిన మాతృకలను విభజించడం. - 60. దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము. - 61. మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము. - 62. మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి. - 63. + C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 9 కు స్వాగతం. + ఆపరేటర్ ఓవర్లోడింగ్ గురించి మేము చర్చించాము. + ఆపరేటర్లు మరియు ఫంక్షన్ల మధ్య సారూప్యతలు మరియు వ్యత్యాసాలను మేము చూశాము మరియు C ++ లో, ఆపరేటర్ ఫంక్షన్లను నిర్వచించడానికి మరియు ఓవర్లోడ్ చేయడానికి ఫీచర్లు ఎలా అందించబడ్డాయో చూశాము మరియు దీనికి అదనంగా, ఆపరేటర్ ప్లస్ ఓవర్లోడ్ చేయడానికి మునుపటి విభాగంలో మాకు రెండు ఉదాహరణలు ఉన్నాయి (ఆపరేటర్ +) స్ట్రింగ్ రకం కోసం మేము రెండు తీగలను నిర్వచించాము మరియు సంక్షిప్తీకరించాము.మరియు రకాలు కోసం క్లోజ్డ్ యాడ్ ఆపరేషన్ ఎలా చేయవచ్చో చూపించడానికి, ఆపరేటర్‌ను వేరే రకం సందర్భంలో అదనపు రకంతో ఓవర్‌లోడ్ చేసాము. + ఇప్పుడు, మేము ముందుకు వెళ్లి, ఓవర్‌లోడ్ చేయగల దాని గురించి మరియు మీరు మీ స్వంత రకాన్ని, ఏ రకమైన ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చో నిర్వచిస్తుంటే ఎలా మరియు ఏమి జరుగుతుందో గురించి మరింత తెలుసుకుంటాము మరియు మీరు దీన్ని ఎలా చేయగలరు? ఏమి సాధ్యమవుతుంది? సాధ్యం కాదు సలహా మరియు మొదలైనవి ఏమిటి? అందువల్ల, నేను ఇక్కడ నిబంధనల సారాంశాన్ని ప్రదర్శిస్తున్నాను. + వాటిని చాలా జాగ్రత్తగా చూద్దాం. + మొదట సహజంగా; మేము మీ మొదటి ప్రశ్నను ఓవర్‌లోడ్ చేయవలసి వస్తే - ఓవర్‌లోడ్ చేయగల ఆపరేటర్ ఏది? ఖచ్చితంగా, C ++ లో చాలా మంది ఆపరేటర్లు ఉన్నారు; ప్లస్, మైనస్, డివిజన్, గుణకారం, అసైన్‌మెంట్, అసైన్‌మెంట్ల యొక్క వివిధ రకాల పొడిగింపులు, ఇవన్నీ ఉన్నాయి. + కాబట్టి, మీరు క్రొత్త ఆపరేటర్ చిహ్నాన్ని నిర్వచించి దాన్ని ఓవర్‌లోడ్ చేయగలరా? మీకు ప్రశ్న ఉంటే, సమాధానం లేదు; మీరు సిస్టమ్‌లో నిర్వచించిన ఆపరేటర్ల సమితికి మాత్రమే మిమ్మల్ని పరిమితం చేయాలి. + ఉదాహరణకు, నాకు ఓవర్‌లోడింగ్ ఉందని మీరు చెప్పలేరు; ఈ ఆపరేటర్ చెప్పడానికి లేదా నాకు ఈ ఆపరేటర్ ఉంటుంది. + వాస్తవానికి, మీలో కొందరు పాస్కల్‌లో పాత ప్రోగ్రామర్లు, ఇది పాస్కల్‌లో అసమానత అని మీరు గుర్తిస్తారు, అయితే ఇది సి ++ లో నిర్వచించబడిన చిహ్నం కాదు. + అందువల్ల, మీరు కొత్త చిహ్నాలతో ఆపరేటర్లను ఓవర్‌లోడ్ చేయలేరు. + మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు చాలా ముఖ్యమైన రెండవ విషయం; మీరు దాని అంతర్గత లక్షణాలను మార్చలేరు. + అంతర్గత లక్షణాలు ఒకే విధంగా ఉండాలి మరియు ఆపరేటర్ కోసం 3 అంతర్గత లక్షణాలు ఉన్నాయి; ఒక సంఖ్య ఉందా, దీనికి అనేక రకాల ఆపరేషన్లు ఉన్నాయి, ఇతర ఆపరేటర్లు మరియు సహకార సంస్థలకు సంబంధించి వారి ఆపరేటర్ల సమూహానికి లేదా ఇలాంటి ఆపరేషన్ల ఆపరేటర్లకు సంబంధించి ప్రాధాన్యత. + ఈ 3 అంతర్గత లక్షణాలను మార్చలేము. + కాబట్టి, మీరు వాదించినట్లయితే, నాకు ఆపరేటర్ ప్లస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు లేదా దీన్ని ఇలా వ్రాయవచ్చు. + నాకు ఆపరేటర్ మైనస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు, దీనిని ఇలా వ్రాయవచ్చు. + కాబట్టి, ఇది ఇక్కడ ఉందని అర్థం, అరిటీ 2, ఇక్కడ అరిటీ 1, కానీ అలాంటి మార్పులు మాత్రమే మీరు మీరే చేయలేరు. + ఆపరేటర్ కోసం బహుళ సంస్కరణలు ఉంటే మరియు వేర్వేరు పూర్వీకులు మరియు సానుభూతులు ఒకే విధంగా నిర్వచించబడితే, మీరు దాని ద్వారా వెళ్ళాలి, కానీ మీరు చేయలేరు; ఆపరేటర్లు ఎవరూ దాని స్వచ్ఛత ప్రాధాన్యత మరియు సానుభూతిని నిర్వచించరు లేదా మార్చరు. + కాబట్టి, అంతర్గత లక్షణాలను పూర్తిగా గౌరవించాలి. + మూడవది జాబితా; C ++ లో సాధారణంగా ఉపయోగించే 38 ఆపరేటర్లు ఇవి ఓవర్‌లోడ్ చేయగలవు. + కాబట్టి, మీరు ప్రాథమిక అంకగణిత ఆపరేటర్ మరియు మొత్తం అసైన్‌మెంట్ ఆపరేటర్‌తో సహా మీరు ఆలోచించగలిగే దాదాపు అన్ని ఆపరేటర్లను కలిగి ఉన్నారని మీరు చూడవచ్చు, అప్పుడు మీ షిఫ్ట్ ఆపరేటర్, మీ లాజికల్ ఆపరేటర్, మీ పాయింటర్ రిఫరెన్సింగ్ ఆపరేటర్, మీ అర్రే ఆపరేటర్, మీ ఫంక్షన్ ఆపరేటర్ మరియు కాబట్టి. + కాబట్టి, ఇవన్నీ ఓవర్‌లోడ్ చేయవచ్చు. + మీకు యూనిరీ ఆపరేటర్ ఉంటే, మీకు తెలిసినట్లుగా రెండు రకాల యూనిరీ ఆపరేటర్లు, ఒపెరాండ్‌కు ముందు ఉన్న ఉపసర్గ ఆపరేటర్. ఉన్నారా, ఇది ఇలా ఉంటుంది; వీరంతా ఉపసర్గ ఆపరేటర్లు లేదా వారు పోస్ట్ ఫిక్స్ రకానికి చెందినవారు కావచ్చు. + కాబట్టి, ప్రశ్న ప్రత్యేకంగా అదే ఆపరేటర్, మీరు ++ చూస్తే, నేను ++ వ్రాయగలను లేదా నేను ++ వ్రాయగలను. + ప్రశ్న సహజంగా ఒక ఆపరేటర్ మరియు తరువాత ఆపరేటర్ ఫంక్షన్ మధ్య కరస్పాండెన్స్ ఇవ్వబడుతుంది, ఆపరేటర్ ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) ఆపరేటర్ ఆపరేటర్కు మాత్రమే ఆపరేటర్ ఆపరేటర్ అని మేము చెప్పాము. + కాబట్టి, ఇది ఆపరేటర్ చిహ్నం తరువాత ఆపరేటర్ చిహ్నం. + కాబట్టి, ఈ రెండు తప్పనిసరిగా ఒకే ఆపరేటర్ పేరును కలిగి ఉంటాయి. + కాబట్టి, మీ ప్రశ్న ఉంటుంది, కానీ అవి వేర్వేరు ఆపరేటర్లు, ఉపసర్గ మరియు పోస్ట్ పరిష్కారాలు వేర్వేరు ఆపరేటర్లు, ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ వేర్వేరు ప్రవర్తన. + కాబట్టి, మేము దానిని ఎలా వేరు చేస్తాము? కాబట్టి, ఈ రెండు పాయింట్లలో మీరు అప్రెంటిస్ ఆపరేటర్ ఉపసర్గ అయితే, ఈ విధంగా మీరు దీనిని వ్రాస్తే, సంతకం ఇలా కనిపిస్తుంది, ఇది మీ రకానికి భిన్నంగా ఉంటుంది మరియు ఇది వస్తుంది ఇంక్రిమెంట్ తర్వాత తీసుకున్న ఒపెరాండ్‌కు తిరిగి వెళ్ళు. + అయితే, ఈ పోస్ట్ ఫిక్స్ ఆపరేటర్ అయితే, ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఒక పూర్ణాంకానికి మరొక పరామితిగా పేర్కొనాలి మరియు ఈ పూర్ణాంకానికి నిజంగా క్రియాశీల పరామితి కాదు. + మీరు నిజంగా టిని ఇన్వోక్ చేసినప్పుడు, అది ఆపరేటర్. మీరు పాస్ చేయబోతున్నారనే ఉద్దేశ్యం లేదు, అది కేవలం సంతకంలో ఉంది. + ఆపరేటర్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ పోస్ట్ ఫిక్స్ రకం కోసం కాదా మరియు ఉపసర్గ రకం కాదా అని కంపైలర్ నిర్ణయించడంలో ఇది సహాయపడుతుంది. + కాబట్టి, నేను ++ వ్రాస్తే అది చెడుగా కనిపిస్తుంది. + నేను ++ a వ్రాస్తే, ఇది ఇలా అనిపిస్తుంది. + సర్‌చార్జ్ కోసం ఉపసర్గ మరియు పోస్ట్ యునరీ ఆపరేటర్లను పరిష్కరించడానికి ఇది ప్రాథమిక విధానం. + తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ లాగా ఓవర్లోడ్ చేయడానికి అనుమతించని కొన్ని ఆపరేటర్లు ఉన్నారని దయచేసి గమనించండి, ఉదాహరణకు, సభ్యుని ఉపయోగించడం వంటివి, ఉదాహరణకు, మనకు ఒక నిర్మాణం ఉంటే, కాబట్టి మేము Ri మరియు Im తో సంక్లిష్ట నిర్మాణాన్ని భాగాలుగా చూశాము. + కాబట్టి, నేను నిర్మాణానికి పేరు పెట్టవచ్చు మరియు చుక్కను ఉంచగలను. + కాబట్టి, ఇది నిర్మాణం యొక్క పున-భాగం. + అందువల్ల, సభ్యుల ప్రాప్యత ఓవర్‌లోడ్ చేయబడదు. + ఏదైనా వేరియబుల్ లేదా రకం యొక్క బైట్ల సంఖ్యను కనుగొనడానికి పరిమాణాన్ని ఓవర్‌లోడ్ చేయలేము; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయలేము మరియు మొదలైనవి. + తార్కిక మరియు తార్కిక లేదా కామాలతో ఓవర్‌లోడ్ చేయడానికి అనుమతించబడిన కొన్ని ఆపరేటర్లు ఉన్నారు. + అయితే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే, వాటి ప్రాథమిక లక్షణాలు, కొన్ని అదనపు లక్షణాలు నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. + ఇది ఆంపర్సండ్ 'లాజికల్' మరియు 'నేను ఈ వ్యక్తీకరణను వ్రాస్తే (a = = b && b = = c), ఇది తార్కికం మరియు దాని ప్రవర్తన ఏమిటంటే వ్యక్తీకరణ యొక్క ఈ భాగం కనుగొనబడితే అది అబద్ధం. కనుక ఇది లేదు రెండవ భాగాన్ని అంచనా వేయండి. + వ్యక్తీకరణ యొక్క ఈ భాగం తప్పుగా ఉంటే, అది రెండవ భాగాన్ని అంచనా వేయదు, మీరు వాదన యొక్క ఖచ్చితత్వాన్ని చూస్తున్నారా. + A కి సమానం కాకపోతే; a మరియు b భిన్నంగా ఉంటాయి, అప్పుడు b కి సమానమైనది తప్పు మరియు ఒకసారి అది అబద్ధం అవుతుంది, ఎందుకంటే ఇది ఒక AND ఆపరేషన్ మరియు b యొక్క నిజం లేదా పురాణం c కి సమానంగా ఉందా, రెండవ భాగం నిజం లేదా రెండవ భాగం తప్పుడు, ఈ మొత్తం వ్యక్తీకరణ ఏమైనప్పటికీ తప్పు అవుతుంది. + కాబట్టి, ఈ విధంగా కేవలం ఒక భాగాన్ని మూల్యాంకనం చేయడం మరియు మరొకటి మూల్యాంకనం చేయకపోవడం మూల్యాంకనంలో షార్ట్ సర్క్యూట్ అని పిలుస్తారు మరియు ఇది క్రమం చేయడం ద్వారా జరుగుతుంది, ఎందుకంటే మీరు వాటిని ఏ క్రమంలో అంచనా వేస్తారో మీరు నిర్ణయించుకోవాలి. మేము చేస్తాము. + ఇవి ఈ ఆపరేటర్ యొక్క ప్రత్యేక ప్రవర్తనలు. + అందువల్ల, మీరు ఆ ప్రవర్తనలను ఓవర్లోడ్ చేస్తే, మీరు కోల్పోతారు, ఓవర్లోడ్ అయిన తర్వాత మీరు ఆ ప్రవర్తనలను cannot హించలేరని మీరు జాగ్రత్తగా ఉండాలి. + చివరగా, మీరు పాయింటర్ పరోక్ష ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తే, ఆ ఆపరేటర్ మరొక పాయింటర్‌ను తిరిగి ఇవ్వాలి, లేదా అది నేరుగా పాయింటర్. + ఈ విషయాన్ని గమనించండి, ఈ దశలో అర్థం చేసుకోవడం అంత సులభం కాదు. + మేము ఈ ఆపరేటర్ గురించి ఏదో ఒక సమయంలో మాట్లాడుతాము, ముఖ్యంగా ఓవర్‌లోడింగ్, ఇది భాషతో సంబంధం లేకుండా C ++ ప్రోగ్రామింగ్ యొక్క చాలా బలమైన లక్షణం. + దీన్ని స్మార్ట్ పాయింటర్లు మరియు ఉపయోగించేవారు అంటారు. + అందువల్ల, మీరు ఈ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, మీరు తప్పక పాయింటర్ లేదా మరలా పాయింటర్‌గా మారవచ్చు. + ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. + కాబట్టి, దీని తరువాత మీరు మీ ఆపరేటర్లకు రాయడం ప్రారంభించవచ్చు మరియు నేను స్ట్రింగ్ మరియు ఎనుమ్ రూపంలో ఉదాహరణలను చూపించాను, మీరు నిజంగా నియమాలను ఖచ్చితంగా పాటించాలి, కానీ అవి చాలా సౌకర్యవంతంగా మరియు సూటిగా ముందుకు ఉంటాయి మరియు నేను ఇక్కడ చర్చించిన ఉదాహరణలను తీసుకుంటాను. + మీరు మీ స్వంత రకాలుగా ఎక్కువ వ్రాయగలరు, పూర్తి సంక్లిష్ట రకాలను వ్రాయడం మంచిది, ఇక్కడ మీరు ఇతర ఆపరేటర్లను నెమ్మదిగా ఓవర్‌లోడ్ చేయవచ్చు మరియు సంక్లిష్ట సంఖ్యలను ఒకేసారి పూర్ణాంకాలుగా పరిగణించవచ్చు. + కింది స్లైడ్‌లలో, నేను వివరించను, నేను చెప్పినట్లుగా ఓవర్‌లోడ్ అవ్వడానికి అనుమతించని ఆపరేటర్లను అణిచివేసేందుకు ప్రయత్నించాను మరియు నేను ఒక కారణాన్ని అందించడానికి ప్రయత్నించాను. మీకు మాత్రమే కాదు; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించబడలేదని లేదా ఆకార-రకం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించలేదని మేము గుర్తుంచుకోవాల్సిన అవసరం లేదు, మీరు వాస్తవానికి కారణాన్ని అర్థం చేసుకోవచ్చు మరియు మీరు గుర్తుంచుకోవడం సులభం అవుతుంది. + అందువల్ల, ఇది ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్), ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఆపివేయబడిన జాబితా మరియు ఆపరేటర్లు ఎక్కడ ఉన్నారు, ఓవర్‌లోడింగ్ వాస్తవానికి అనుమతించబడే చోట నేను క్లుప్తంగా చర్చించిన మరొక జాబితా, కానీ మీరు వాటిని ఓవర్‌లోడ్ చేయవద్దని సలహా ఇస్తారు ఎందుకంటే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే కొన్ని C ++ ప్రోగ్రామ్‌ల యొక్క ప్రాథమిక ప్రవర్తన మారుతుంది. + కాబట్టి, వీటిని నిజంగా నిపుణులచే ఓవర్‌లోడ్ చేయాలి మరియు మీరు ఆ స్థాయికి చేరుకునే వరకు, దాన్ని ఓవర్‌లోడ్ చేయవద్దని నేను మీకు సలహా ఇస్తాను. + మీ వద్ద ఉన్న మిగిలిన 38 ఆపరేటర్లు ఏ రకమైన మాతృకను అభివృద్ధి చేయగలిగేంత గొప్పవి, ఏ రకమైన మాతృక, సంక్లిష్టమైనవి, మీకు కావలసిన మాతృకలను విభజించడం. + దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము. + మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము. + మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/12. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part IV (Lecture 44)-QZu133Opz9U.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/12. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part IV (Lecture 44)-QZu133Opz9U.txt index 7cf10a82fa4109e2742633238b5add76f3574070..b641984ac5479bbe68a836c32e436a2b9afab746 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/12. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part IV (Lecture 44)-QZu133Opz9U.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/12. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part IV (Lecture 44)-QZu133Opz9U.txt @@ -1,64 +1,64 @@ - 1. C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 9 కు స్వాగతం. - 2. ఆపరేటర్ ఓవర్లోడింగ్ గురించి మేము చర్చించాము. - 3. ఆపరేటర్లు మరియు ఫంక్షన్ల మధ్య సారూప్యతలు మరియు వ్యత్యాసాలను మేము చూశాము మరియు C ++ లో, ఆపరేటర్ ఫంక్షన్లను నిర్వచించడానికి మరియు ఓవర్లోడ్ చేయడానికి ఫీచర్లు ఎలా అందించబడ్డాయో చూశాము మరియు దీనికి అదనంగా, ఆపరేటర్ ప్లస్ ఓవర్లోడ్ చేయడానికి మునుపటి విభాగంలో మాకు రెండు ఉదాహరణలు ఉన్నాయి (ఆపరేటర్ +) స్ట్రింగ్ రకం కోసం మేము రెండు తీగలను నిర్వచించాము మరియు సంక్షిప్తీకరించాము.మరియు రకాలు కోసం క్లోజ్డ్ యాడ్ ఆపరేషన్ ఎలా చేయవచ్చో చూపించడానికి, ఆపరేటర్‌ను వేరే రకం సందర్భంలో అదనపు రకంతో ఓవర్‌లోడ్ చేసాము. - 4. ఇప్పుడు, మేము ముందుకు వెళ్లి, ఓవర్‌లోడ్ చేయగల దాని గురించి మరియు మీరు మీ స్వంత రకాన్ని, ఏ రకమైన ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చో నిర్వచిస్తుంటే ఎలా మరియు ఏమి జరుగుతుందో గురించి మరింత తెలుసుకుంటాము మరియు మీరు దీన్ని ఎలా చేయగలరు? ఏమి సాధ్యమవుతుంది? సాధ్యం కాదు సలహా మరియు మొదలైనవి ఏమిటి? అందువల్ల, నేను ఇక్కడ నిబంధనల సారాంశాన్ని ప్రదర్శిస్తున్నాను. - 5. వాటిని చాలా జాగ్రత్తగా చూద్దాం. - 6. మొదట సహజంగా; మేము మీ మొదటి ప్రశ్నను ఓవర్‌లోడ్ చేయవలసి వస్తే - ఓవర్‌లోడ్ చేయగల ఆపరేటర్ ఏది? ఖచ్చితంగా, C ++ లో చాలా మంది ఆపరేటర్లు ఉన్నారు; ప్లస్, మైనస్, డివిజన్, గుణకారం, అసైన్‌మెంట్, అసైన్‌మెంట్ల యొక్క వివిధ రకాల పొడిగింపులు, ఇవన్నీ ఉన్నాయి. - 7. కాబట్టి, మీరు క్రొత్త ఆపరేటర్ చిహ్నాన్ని నిర్వచించి దాన్ని ఓవర్‌లోడ్ చేయగలరా? మీకు ప్రశ్న ఉంటే, సమాధానం లేదు; మీరు సిస్టమ్‌లో నిర్వచించిన ఆపరేటర్ల సమితికి మాత్రమే మిమ్మల్ని పరిమితం చేయాలి. - 8. ఉదాహరణకు, నాకు ఓవర్‌లోడింగ్ ఉందని మీరు చెప్పలేరు; ఈ ఆపరేటర్ చెప్పడానికి లేదా నాకు ఈ ఆపరేటర్ ఉంటుంది. - 9. వాస్తవానికి, మీలో కొందరు పాస్కల్‌లో పాత ప్రోగ్రామర్లు, ఇది పాస్కల్‌లో అసమానత అని మీరు గుర్తిస్తారు, అయితే ఇది సి ++ లో నిర్వచించబడిన చిహ్నం కాదు. - 10. అందువల్ల, మీరు కొత్త చిహ్నాలతో ఆపరేటర్లను ఓవర్‌లోడ్ చేయలేరు. - 11. మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు చాలా ముఖ్యమైన రెండవ విషయం; మీరు దాని అంతర్గత లక్షణాలను మార్చలేరు. - 12. అంతర్గత లక్షణాలు ఒకే విధంగా ఉండాలి మరియు ఆపరేటర్ కోసం 3 అంతర్గత లక్షణాలు ఉన్నాయి; ఒక సంఖ్య ఉందా, దీనికి అనేక రకాల ఆపరేషన్లు ఉన్నాయి, ఇతర ఆపరేటర్లు మరియు సహకార సంస్థలకు సంబంధించి వారి ఆపరేటర్ల సమూహానికి లేదా ఇలాంటి ఆపరేషన్ల ఆపరేటర్లకు సంబంధించి ప్రాధాన్యత. - 13. ఈ 3 అంతర్గత లక్షణాలను మార్చలేము. - 14. కాబట్టి, మీరు వాదించినట్లయితే, నాకు ఆపరేటర్ ప్లస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు లేదా దీన్ని ఇలా వ్రాయవచ్చు. - 15. నాకు ఆపరేటర్ మైనస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు, దీనిని ఇలా వ్రాయవచ్చు. - 16. కాబట్టి, ఇది ఇక్కడ ఉందని అర్థం, అరిటీ 2, ఇక్కడ అరిటీ 1, కానీ అలాంటి మార్పులు మాత్రమే మీరు మీరే చేయలేరు. - 17. ఆపరేటర్ కోసం బహుళ సంస్కరణలు ఉంటే మరియు వేర్వేరు పూర్వీకులు మరియు సానుభూతులు ఒకే విధంగా నిర్వచించబడితే, మీరు దాని ద్వారా వెళ్ళాలి, కానీ మీరు చేయలేరు; ఆపరేటర్లు ఎవరూ దాని స్వచ్ఛత ప్రాధాన్యత మరియు సానుభూతిని నిర్వచించరు లేదా మార్చరు. - 18. కాబట్టి, అంతర్గత లక్షణాలను పూర్తిగా గౌరవించాలి. - 19. మూడవది జాబితా; C ++ లో సాధారణంగా ఉపయోగించే 38 ఆపరేటర్లు ఇవి ఓవర్‌లోడ్ చేయగలవు. - 20. కాబట్టి, మీరు ప్రాథమిక అంకగణిత ఆపరేటర్ మరియు మొత్తం అసైన్‌మెంట్ ఆపరేటర్‌తో సహా మీరు ఆలోచించగలిగే దాదాపు అన్ని ఆపరేటర్లను కలిగి ఉన్నారని మీరు చూడవచ్చు, అప్పుడు మీ షిఫ్ట్ ఆపరేటర్, మీ లాజికల్ ఆపరేటర్, మీ పాయింటర్ రిఫరెన్సింగ్ ఆపరేటర్, మీ అర్రే ఆపరేటర్, మీ ఫంక్షన్ ఆపరేటర్ మరియు కాబట్టి. - 21. కాబట్టి, ఇవన్నీ ఓవర్‌లోడ్ చేయవచ్చు. - 22. మీకు యూనిరీ ఆపరేటర్ ఉంటే, మీకు తెలిసినట్లుగా రెండు రకాల యూనిరీ ఆపరేటర్లు, ఒపెరాండ్‌కు ముందు ఉన్న ఉపసర్గ ఆపరేటర్. ఉన్నారా, ఇది ఇలా ఉంటుంది; వీరంతా ఉపసర్గ ఆపరేటర్లు లేదా వారు పోస్ట్ ఫిక్స్ రకానికి చెందినవారు కావచ్చు. - 23. కాబట్టి, ప్రశ్న ప్రత్యేకంగా అదే ఆపరేటర్, మీరు ++ చూస్తే, నేను a++ వ్రాయగలను లేదా నేను a++ వ్రాయగలను. - 24. ప్రశ్న సహజంగా ఒక ఆపరేటర్ మరియు తరువాత ఆపరేటర్ ఫంక్షన్ మధ్య కరస్పాండెన్స్ ఇవ్వబడుతుంది, ఆపరేటర్ ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) ఆపరేటర్ ఆపరేటర్కు మాత్రమే ఆపరేటర్ ఆపరేటర్ అని మేము చెప్పాము. - 25. కాబట్టి, ఇది ఆపరేటర్ చిహ్నం తరువాత ఆపరేటర్ చిహ్నం. - 26. కాబట్టి, ఈ రెండు తప్పనిసరిగా ఒకే ఆపరేటర్ పేరును కలిగి ఉంటాయి. - 27. కాబట్టి, మీ ప్రశ్న ఉంటుంది, కానీ అవి వేర్వేరు ఆపరేటర్లు, ఉపసర్గ మరియు పోస్ట్ పరిష్కారాలు వేర్వేరు ఆపరేటర్లు, ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ వేర్వేరు ప్రవర్తన. - 28. కాబట్టి, మేము దానిని ఎలా వేరు చేస్తాము? కాబట్టి, ఈ రెండు పాయింట్లలో మీరు అప్రెంటిస్ ఆపరేటర్ ఉపసర్గ అయితే, ఈ విధంగా మీరు దీనిని వ్రాస్తే, సంతకం ఇలా కనిపిస్తుంది, ఇది మీ రకానికి భిన్నంగా ఉంటుంది మరియు ఇది వస్తుంది ఇంక్రిమెంట్ తర్వాత తీసుకున్న ఒపెరాండ్‌కు తిరిగి వెళ్ళు. - 29. అయితే, ఈ పోస్ట్ ఫిక్స్ ఆపరేటర్ అయితే, ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఒక పూర్ణాంకానికి మరొక పరామితిగా పేర్కొనాలి మరియు ఈ పూర్ణాంకానికి నిజంగా క్రియాశీల పరామితి కాదు. - 30. మీరు నిజంగా టిని ఇన్వోక్ చేసినప్పుడు, అది ఆపరేటర్. మీరు పాస్ చేయబోతున్నారనే ఉద్దేశ్యం లేదు, అది కేవలం సంతకంలో ఉంది. - 31. ఆపరేటర్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ పోస్ట్ ఫిక్స్ రకం కోసం కాదా మరియు ఉపసర్గ రకం కాదా అని కంపైలర్ నిర్ణయించడంలో ఇది సహాయపడుతుంది. - 32. కాబట్టి, నేను ++ వ్రాస్తే అది చెడుగా కనిపిస్తుంది. - 33. నేను ++ a వ్రాస్తే, ఇది ఇలా అనిపిస్తుంది. - 34. సర్‌చార్జ్ కోసం ఉపసర్గ మరియు పోస్ట్ యునరీ ఆపరేటర్లను పరిష్కరించడానికి ఇది ప్రాథమిక విధానం. - 35. తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ లాగా ఓవర్లోడ్ చేయడానికి అనుమతించని కొన్ని ఆపరేటర్లు ఉన్నారని దయచేసి గమనించండి, ఉదాహరణకు, సభ్యుని ఉపయోగించడం వంటివి, ఉదాహరణకు, మనకు ఒక నిర్మాణం ఉంటే, కాబట్టి మేము Ri మరియు Im తో సంక్లిష్ట నిర్మాణాన్ని భాగాలుగా చూశాము. - 36. కాబట్టి, నేను నిర్మాణానికి పేరు పెట్టవచ్చు మరియు చుక్కను ఉంచగలను. - 37. కాబట్టి, ఇది నిర్మాణం యొక్క పున-భాగం. - 38. అందువల్ల, సభ్యుల ప్రాప్యత ఓవర్‌లోడ్ చేయబడదు. - 39. ఏదైనా వేరియబుల్ లేదా రకం యొక్క బైట్ల సంఖ్యను కనుగొనడానికి పరిమాణాన్ని ఓవర్‌లోడ్ చేయలేము; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయలేము మరియు మొదలైనవి. - 40. తార్కిక మరియు తార్కిక లేదా కామాలతో ఓవర్‌లోడ్ చేయడానికి అనుమతించబడిన కొన్ని ఆపరేటర్లు ఉన్నారు. అయితే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే, వాటి ప్రాథమిక లక్షణాలు, కొన్ని అదనపు లక్షణాలు నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. - 41. ఇది ఆంపర్సండ్ 'లాజికల్' మరియు 'నేను ఈ వ్యక్తీకరణను వ్రాస్తే (a = = b && b = = c), ఇది తార్కికం మరియు దాని ప్రవర్తన ఏమిటంటే వ్యక్తీకరణ యొక్క ఈ భాగం కనుగొనబడితే అది అబద్ధం. కనుక ఇది లేదు రెండవ భాగాన్ని అంచనా వేయండి. - 42. వ్యక్తీకరణ యొక్క ఈ భాగం తప్పుగా ఉంటే, అది రెండవ భాగాన్ని అంచనా వేయదు, మీరు వాదన యొక్క ఖచ్చితత్వాన్ని చూస్తున్నారా. - 43. A కి సమానం కాకపోతే; a మరియు b భిన్నంగా ఉంటాయి, అప్పుడు b కి సమానమైనది తప్పు మరియు ఒకసారి అది అబద్ధం అవుతుంది, ఎందుకంటే ఇది ఒక AND ఆపరేషన్ మరియు b యొక్క నిజం లేదా పురాణం c కి సమానంగా ఉందా, రెండవ భాగం నిజం లేదా రెండవ భాగం తప్పుడు, ఈ మొత్తం వ్యక్తీకరణ ఏమైనప్పటికీ తప్పు అవుతుంది. - 44. కాబట్టి, ఈ విధంగా కేవలం ఒక భాగాన్ని మూల్యాంకనం చేయడం మరియు మరొకటి మూల్యాంకనం చేయకపోవడం మూల్యాంకనంలో షార్ట్ సర్క్యూట్ అని పిలుస్తారు మరియు ఇది క్రమం చేయడం ద్వారా జరుగుతుంది, ఎందుకంటే మీరు వాటిని ఏ క్రమంలో అంచనా వేస్తారో మీరు నిర్ణయించుకోవాలి. మేము చేస్తాము. - 45. ఇవి ఈ ఆపరేటర్ యొక్క ప్రత్యేక ప్రవర్తనలు. - 46. అందువల్ల, మీరు ఆ ప్రవర్తనలను ఓవర్లోడ్ చేస్తే, మీరు కోల్పోతారు, ఓవర్లోడ్ అయిన తర్వాత మీరు ఆ ప్రవర్తనలను cannot హించలేరని మీరు జాగ్రత్తగా ఉండాలి. - 47. చివరగా, మీరు పాయింటర్ పరోక్ష ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తే, ఆ ఆపరేటర్ మరొక పాయింటర్‌ను తిరిగి ఇవ్వాలి, లేదా అది నేరుగా పాయింటర్. - 48. ఈ విషయాన్ని గమనించండి, ఈ దశలో అర్థం చేసుకోవడం అంత సులభం కాదు. - 49. మేము ఈ ఆపరేటర్ గురించి ఏదో ఒక సమయంలో మాట్లాడుతాము, ముఖ్యంగా ఓవర్‌లోడింగ్, ఇది భాషతో సంబంధం లేకుండా C ++ ప్రోగ్రామింగ్ యొక్క చాలా బలమైన లక్షణం. - 50. దీన్ని స్మార్ట్ పాయింటర్లు మరియు ఉపయోగించేవారు అంటారు. - 51. అందువల్ల, మీరు ఈ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, మీరు తప్పక పాయింటర్ లేదా మరలా పాయింటర్‌గా మారవచ్చు. - 52. ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. - 53. కాబట్టి, దీని తరువాత మీరు మీ ఆపరేటర్లకు రాయడం ప్రారంభించవచ్చు మరియు నేను స్ట్రింగ్ మరియు ఎనుమ్ రూపంలో ఉదాహరణలను చూపించాను, మీరు నిజంగా నియమాలను ఖచ్చితంగా పాటించాలి, కానీ అవి చాలా సౌకర్యవంతంగా మరియు సూటిగా ముందుకు ఉంటాయి మరియు నేను ఇక్కడ చర్చించిన ఉదాహరణలను తీసుకుంటాను. - 54. - 55. మీరు మీ స్వంత రకాలుగా ఎక్కువ వ్రాయగలరు, పూర్తి సంక్లిష్ట రకాలను వ్రాయడం మంచిది, ఇక్కడ మీరు ఇతర ఆపరేటర్లను నెమ్మదిగా ఓవర్‌లోడ్ చేయవచ్చు మరియు సంక్లిష్ట సంఖ్యలను ఒకేసారి పూర్ణాంకాలుగా పరిగణించవచ్చు. - 56. కింది స్లైడ్‌లలో, నేను వివరించను, నేను చెప్పినట్లుగా ఓవర్‌లోడ్ అవ్వడానికి అనుమతించని ఆపరేటర్లను అణిచివేసేందుకు ప్రయత్నించాను మరియు నేను ఒక కారణాన్ని అందించడానికి ప్రయత్నించాను. మీకు మాత్రమే కాదు; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించబడలేదని లేదా ఆకార-రకం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించలేదని మేము గుర్తుంచుకోవాల్సిన అవసరం లేదు, మీరు వాస్తవానికి కారణాన్ని అర్థం చేసుకోవచ్చు మరియు మీరు గుర్తుంచుకోవడం సులభం అవుతుంది. - 57. అందువల్ల, ఇది ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్), ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఆపివేయబడిన జాబితా మరియు ఆపరేటర్లు ఎక్కడ ఉన్నారు, ఓవర్‌లోడింగ్ వాస్తవానికి అనుమతించబడే చోట నేను క్లుప్తంగా చర్చించిన మరొక జాబితా, కానీ మీరు వాటిని ఓవర్‌లోడ్ చేయవద్దని సలహా ఇస్తారు ఎందుకంటే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే కొన్ని C ++ ప్రోగ్రామ్‌ల యొక్క ప్రాథమిక ప్రవర్తన మారుతుంది. - 58. కాబట్టి, వీటిని నిజంగా నిపుణులచే ఓవర్‌లోడ్ చేయాలి మరియు మీరు ఆ స్థాయికి చేరుకునే వరకు, దాన్ని ఓవర్‌లోడ్ చేయవద్దని నేను మీకు సలహా ఇస్తాను. - 59. మీ వద్ద ఉన్న మిగిలిన 38 ఆపరేటర్లు ఏ రకమైన మాతృకను అభివృద్ధి చేయగలిగేంత గొప్పవి, ఏ రకమైన మాతృక, సంక్లిష్టమైనవి, మీకు కావలసిన మాతృకలను విభజించడం. - 60. దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము. - 61. మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము. - 62. మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి. - 63. + C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 9 కు స్వాగతం. + ఆపరేటర్ ఓవర్లోడింగ్ గురించి మేము చర్చించాము. + ఆపరేటర్లు మరియు ఫంక్షన్ల మధ్య సారూప్యతలు మరియు వ్యత్యాసాలను మేము చూశాము మరియు C ++ లో, ఆపరేటర్ ఫంక్షన్లను నిర్వచించడానికి మరియు ఓవర్లోడ్ చేయడానికి ఫీచర్లు ఎలా అందించబడ్డాయో చూశాము మరియు దీనికి అదనంగా, ఆపరేటర్ ప్లస్ ఓవర్లోడ్ చేయడానికి మునుపటి విభాగంలో మాకు రెండు ఉదాహరణలు ఉన్నాయి (ఆపరేటర్ +) స్ట్రింగ్ రకం కోసం మేము రెండు తీగలను నిర్వచించాము మరియు సంక్షిప్తీకరించాము.మరియు రకాలు కోసం క్లోజ్డ్ యాడ్ ఆపరేషన్ ఎలా చేయవచ్చో చూపించడానికి, ఆపరేటర్‌ను వేరే రకం సందర్భంలో అదనపు రకంతో ఓవర్‌లోడ్ చేసాము. + ఇప్పుడు, మేము ముందుకు వెళ్లి, ఓవర్‌లోడ్ చేయగల దాని గురించి మరియు మీరు మీ స్వంత రకాన్ని, ఏ రకమైన ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయవచ్చో నిర్వచిస్తుంటే ఎలా మరియు ఏమి జరుగుతుందో గురించి మరింత తెలుసుకుంటాము మరియు మీరు దీన్ని ఎలా చేయగలరు? ఏమి సాధ్యమవుతుంది? సాధ్యం కాదు సలహా మరియు మొదలైనవి ఏమిటి? అందువల్ల, నేను ఇక్కడ నిబంధనల సారాంశాన్ని ప్రదర్శిస్తున్నాను. + వాటిని చాలా జాగ్రత్తగా చూద్దాం. + మొదట సహజంగా; మేము మీ మొదటి ప్రశ్నను ఓవర్‌లోడ్ చేయవలసి వస్తే - ఓవర్‌లోడ్ చేయగల ఆపరేటర్ ఏది? ఖచ్చితంగా, C ++ లో చాలా మంది ఆపరేటర్లు ఉన్నారు; ప్లస్, మైనస్, డివిజన్, గుణకారం, అసైన్‌మెంట్, అసైన్‌మెంట్ల యొక్క వివిధ రకాల పొడిగింపులు, ఇవన్నీ ఉన్నాయి. + కాబట్టి, మీరు క్రొత్త ఆపరేటర్ చిహ్నాన్ని నిర్వచించి దాన్ని ఓవర్‌లోడ్ చేయగలరా? మీకు ప్రశ్న ఉంటే, సమాధానం లేదు; మీరు సిస్టమ్‌లో నిర్వచించిన ఆపరేటర్ల సమితికి మాత్రమే మిమ్మల్ని పరిమితం చేయాలి. + ఉదాహరణకు, నాకు ఓవర్‌లోడింగ్ ఉందని మీరు చెప్పలేరు; ఈ ఆపరేటర్ చెప్పడానికి లేదా నాకు ఈ ఆపరేటర్ ఉంటుంది. + వాస్తవానికి, మీలో కొందరు పాస్కల్‌లో పాత ప్రోగ్రామర్లు, ఇది పాస్కల్‌లో అసమానత అని మీరు గుర్తిస్తారు, అయితే ఇది సి ++ లో నిర్వచించబడిన చిహ్నం కాదు. + అందువల్ల, మీరు కొత్త చిహ్నాలతో ఆపరేటర్లను ఓవర్‌లోడ్ చేయలేరు. + మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడు చాలా ముఖ్యమైన రెండవ విషయం; మీరు దాని అంతర్గత లక్షణాలను మార్చలేరు. + అంతర్గత లక్షణాలు ఒకే విధంగా ఉండాలి మరియు ఆపరేటర్ కోసం 3 అంతర్గత లక్షణాలు ఉన్నాయి; ఒక సంఖ్య ఉందా, దీనికి అనేక రకాల ఆపరేషన్లు ఉన్నాయి, ఇతర ఆపరేటర్లు మరియు సహకార సంస్థలకు సంబంధించి వారి ఆపరేటర్ల సమూహానికి లేదా ఇలాంటి ఆపరేషన్ల ఆపరేటర్లకు సంబంధించి ప్రాధాన్యత. + ఈ 3 అంతర్గత లక్షణాలను మార్చలేము. + కాబట్టి, మీరు వాదించినట్లయితే, నాకు ఆపరేటర్ ప్లస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు లేదా దీన్ని ఇలా వ్రాయవచ్చు. + నాకు ఆపరేటర్ మైనస్ ఉంది, దీనిని ఇలా వ్రాయవచ్చు, దీనిని ఇలా వ్రాయవచ్చు. + కాబట్టి, ఇది ఇక్కడ ఉందని అర్థం, అరిటీ 2, ఇక్కడ అరిటీ 1, కానీ అలాంటి మార్పులు మాత్రమే మీరు మీరే చేయలేరు. + ఆపరేటర్ కోసం బహుళ సంస్కరణలు ఉంటే మరియు వేర్వేరు పూర్వీకులు మరియు సానుభూతులు ఒకే విధంగా నిర్వచించబడితే, మీరు దాని ద్వారా వెళ్ళాలి, కానీ మీరు చేయలేరు; ఆపరేటర్లు ఎవరూ దాని స్వచ్ఛత ప్రాధాన్యత మరియు సానుభూతిని నిర్వచించరు లేదా మార్చరు. + కాబట్టి, అంతర్గత లక్షణాలను పూర్తిగా గౌరవించాలి. + మూడవది జాబితా; C ++ లో సాధారణంగా ఉపయోగించే 38 ఆపరేటర్లు ఇవి ఓవర్‌లోడ్ చేయగలవు. + కాబట్టి, మీరు ప్రాథమిక అంకగణిత ఆపరేటర్ మరియు మొత్తం అసైన్‌మెంట్ ఆపరేటర్‌తో సహా మీరు ఆలోచించగలిగే దాదాపు అన్ని ఆపరేటర్లను కలిగి ఉన్నారని మీరు చూడవచ్చు, అప్పుడు మీ షిఫ్ట్ ఆపరేటర్, మీ లాజికల్ ఆపరేటర్, మీ పాయింటర్ రిఫరెన్సింగ్ ఆపరేటర్, మీ అర్రే ఆపరేటర్, మీ ఫంక్షన్ ఆపరేటర్ మరియు కాబట్టి. + కాబట్టి, ఇవన్నీ ఓవర్‌లోడ్ చేయవచ్చు. + మీకు యూనిరీ ఆపరేటర్ ఉంటే, మీకు తెలిసినట్లుగా రెండు రకాల యూనిరీ ఆపరేటర్లు, ఒపెరాండ్‌కు ముందు ఉన్న ఉపసర్గ ఆపరేటర్. ఉన్నారా, ఇది ఇలా ఉంటుంది; వీరంతా ఉపసర్గ ఆపరేటర్లు లేదా వారు పోస్ట్ ఫిక్స్ రకానికి చెందినవారు కావచ్చు. + కాబట్టి, ప్రశ్న ప్రత్యేకంగా అదే ఆపరేటర్, మీరు ++ చూస్తే, నేను a++ వ్రాయగలను లేదా నేను a++ వ్రాయగలను. + ప్రశ్న సహజంగా ఒక ఆపరేటర్ మరియు తరువాత ఆపరేటర్ ఫంక్షన్ మధ్య కరస్పాండెన్స్ ఇవ్వబడుతుంది, ఆపరేటర్ ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) ఆపరేటర్ ఆపరేటర్కు మాత్రమే ఆపరేటర్ ఆపరేటర్ అని మేము చెప్పాము. + కాబట్టి, ఇది ఆపరేటర్ చిహ్నం తరువాత ఆపరేటర్ చిహ్నం. + కాబట్టి, ఈ రెండు తప్పనిసరిగా ఒకే ఆపరేటర్ పేరును కలిగి ఉంటాయి. + కాబట్టి, మీ ప్రశ్న ఉంటుంది, కానీ అవి వేర్వేరు ఆపరేటర్లు, ఉపసర్గ మరియు పోస్ట్ పరిష్కారాలు వేర్వేరు ఆపరేటర్లు, ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ వేర్వేరు ప్రవర్తన. + కాబట్టి, మేము దానిని ఎలా వేరు చేస్తాము? కాబట్టి, ఈ రెండు పాయింట్లలో మీరు అప్రెంటిస్ ఆపరేటర్ ఉపసర్గ అయితే, ఈ విధంగా మీరు దీనిని వ్రాస్తే, సంతకం ఇలా కనిపిస్తుంది, ఇది మీ రకానికి భిన్నంగా ఉంటుంది మరియు ఇది వస్తుంది ఇంక్రిమెంట్ తర్వాత తీసుకున్న ఒపెరాండ్‌కు తిరిగి వెళ్ళు. + అయితే, ఈ పోస్ట్ ఫిక్స్ ఆపరేటర్ అయితే, ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఒక పూర్ణాంకానికి మరొక పరామితిగా పేర్కొనాలి మరియు ఈ పూర్ణాంకానికి నిజంగా క్రియాశీల పరామితి కాదు. + మీరు నిజంగా టిని ఇన్వోక్ చేసినప్పుడు, అది ఆపరేటర్. మీరు పాస్ చేయబోతున్నారనే ఉద్దేశ్యం లేదు, అది కేవలం సంతకంలో ఉంది. + ఆపరేటర్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ పోస్ట్ ఫిక్స్ రకం కోసం కాదా మరియు ఉపసర్గ రకం కాదా అని కంపైలర్ నిర్ణయించడంలో ఇది సహాయపడుతుంది. + కాబట్టి, నేను ++ వ్రాస్తే అది చెడుగా కనిపిస్తుంది. + నేను ++ a వ్రాస్తే, ఇది ఇలా అనిపిస్తుంది. + సర్‌చార్జ్ కోసం ఉపసర్గ మరియు పోస్ట్ యునరీ ఆపరేటర్లను పరిష్కరించడానికి ఇది ప్రాథమిక విధానం. + తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ లాగా ఓవర్లోడ్ చేయడానికి అనుమతించని కొన్ని ఆపరేటర్లు ఉన్నారని దయచేసి గమనించండి, ఉదాహరణకు, సభ్యుని ఉపయోగించడం వంటివి, ఉదాహరణకు, మనకు ఒక నిర్మాణం ఉంటే, కాబట్టి మేము Ri మరియు Im తో సంక్లిష్ట నిర్మాణాన్ని భాగాలుగా చూశాము. + కాబట్టి, నేను నిర్మాణానికి పేరు పెట్టవచ్చు మరియు చుక్కను ఉంచగలను. + కాబట్టి, ఇది నిర్మాణం యొక్క పున-భాగం. + అందువల్ల, సభ్యుల ప్రాప్యత ఓవర్‌లోడ్ చేయబడదు. + ఏదైనా వేరియబుల్ లేదా రకం యొక్క బైట్ల సంఖ్యను కనుగొనడానికి పరిమాణాన్ని ఓవర్‌లోడ్ చేయలేము; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయలేము మరియు మొదలైనవి. + తార్కిక మరియు తార్కిక లేదా కామాలతో ఓవర్‌లోడ్ చేయడానికి అనుమతించబడిన కొన్ని ఆపరేటర్లు ఉన్నారు. అయితే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే, వాటి ప్రాథమిక లక్షణాలు, కొన్ని అదనపు లక్షణాలు నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. + ఇది ఆంపర్సండ్ 'లాజికల్' మరియు 'నేను ఈ వ్యక్తీకరణను వ్రాస్తే (a = = b && b = = c), ఇది తార్కికం మరియు దాని ప్రవర్తన ఏమిటంటే వ్యక్తీకరణ యొక్క ఈ భాగం కనుగొనబడితే అది అబద్ధం. కనుక ఇది లేదు రెండవ భాగాన్ని అంచనా వేయండి. + వ్యక్తీకరణ యొక్క ఈ భాగం తప్పుగా ఉంటే, అది రెండవ భాగాన్ని అంచనా వేయదు, మీరు వాదన యొక్క ఖచ్చితత్వాన్ని చూస్తున్నారా. + A కి సమానం కాకపోతే; a మరియు b భిన్నంగా ఉంటాయి, అప్పుడు b కి సమానమైనది తప్పు మరియు ఒకసారి అది అబద్ధం అవుతుంది, ఎందుకంటే ఇది ఒక AND ఆపరేషన్ మరియు b యొక్క నిజం లేదా పురాణం c కి సమానంగా ఉందా, రెండవ భాగం నిజం లేదా రెండవ భాగం తప్పుడు, ఈ మొత్తం వ్యక్తీకరణ ఏమైనప్పటికీ తప్పు అవుతుంది. + కాబట్టి, ఈ విధంగా కేవలం ఒక భాగాన్ని మూల్యాంకనం చేయడం మరియు మరొకటి మూల్యాంకనం చేయకపోవడం మూల్యాంకనంలో షార్ట్ సర్క్యూట్ అని పిలుస్తారు మరియు ఇది క్రమం చేయడం ద్వారా జరుగుతుంది, ఎందుకంటే మీరు వాటిని ఏ క్రమంలో అంచనా వేస్తారో మీరు నిర్ణయించుకోవాలి. మేము చేస్తాము. + ఇవి ఈ ఆపరేటర్ యొక్క ప్రత్యేక ప్రవర్తనలు. + అందువల్ల, మీరు ఆ ప్రవర్తనలను ఓవర్లోడ్ చేస్తే, మీరు కోల్పోతారు, ఓవర్లోడ్ అయిన తర్వాత మీరు ఆ ప్రవర్తనలను cannot హించలేరని మీరు జాగ్రత్తగా ఉండాలి. + చివరగా, మీరు పాయింటర్ పరోక్ష ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తే, ఆ ఆపరేటర్ మరొక పాయింటర్‌ను తిరిగి ఇవ్వాలి, లేదా అది నేరుగా పాయింటర్. + ఈ విషయాన్ని గమనించండి, ఈ దశలో అర్థం చేసుకోవడం అంత సులభం కాదు. + మేము ఈ ఆపరేటర్ గురించి ఏదో ఒక సమయంలో మాట్లాడుతాము, ముఖ్యంగా ఓవర్‌లోడింగ్, ఇది భాషతో సంబంధం లేకుండా C ++ ప్రోగ్రామింగ్ యొక్క చాలా బలమైన లక్షణం. + దీన్ని స్మార్ట్ పాయింటర్లు మరియు ఉపయోగించేవారు అంటారు. + అందువల్ల, మీరు ఈ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, మీరు తప్పక పాయింటర్ లేదా మరలా పాయింటర్‌గా మారవచ్చు. + ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. + కాబట్టి, దీని తరువాత మీరు మీ ఆపరేటర్లకు రాయడం ప్రారంభించవచ్చు మరియు నేను స్ట్రింగ్ మరియు ఎనుమ్ రూపంలో ఉదాహరణలను చూపించాను, మీరు నిజంగా నియమాలను ఖచ్చితంగా పాటించాలి, కానీ అవి చాలా సౌకర్యవంతంగా మరియు సూటిగా ముందుకు ఉంటాయి మరియు నేను ఇక్కడ చర్చించిన ఉదాహరణలను తీసుకుంటాను. + + మీరు మీ స్వంత రకాలుగా ఎక్కువ వ్రాయగలరు, పూర్తి సంక్లిష్ట రకాలను వ్రాయడం మంచిది, ఇక్కడ మీరు ఇతర ఆపరేటర్లను నెమ్మదిగా ఓవర్‌లోడ్ చేయవచ్చు మరియు సంక్లిష్ట సంఖ్యలను ఒకేసారి పూర్ణాంకాలుగా పరిగణించవచ్చు. + కింది స్లైడ్‌లలో, నేను వివరించను, నేను చెప్పినట్లుగా ఓవర్‌లోడ్ అవ్వడానికి అనుమతించని ఆపరేటర్లను అణిచివేసేందుకు ప్రయత్నించాను మరియు నేను ఒక కారణాన్ని అందించడానికి ప్రయత్నించాను. మీకు మాత్రమే కాదు; టెర్నరీ ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించబడలేదని లేదా ఆకార-రకం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ఎందుకు అనుమతించలేదని మేము గుర్తుంచుకోవాల్సిన అవసరం లేదు, మీరు వాస్తవానికి కారణాన్ని అర్థం చేసుకోవచ్చు మరియు మీరు గుర్తుంచుకోవడం సులభం అవుతుంది. + అందువల్ల, ఇది ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్), ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఆపివేయబడిన జాబితా మరియు ఆపరేటర్లు ఎక్కడ ఉన్నారు, ఓవర్‌లోడింగ్ వాస్తవానికి అనుమతించబడే చోట నేను క్లుప్తంగా చర్చించిన మరొక జాబితా, కానీ మీరు వాటిని ఓవర్‌లోడ్ చేయవద్దని సలహా ఇస్తారు ఎందుకంటే మీరు వాటిని ఓవర్‌లోడ్ చేస్తే కొన్ని C ++ ప్రోగ్రామ్‌ల యొక్క ప్రాథమిక ప్రవర్తన మారుతుంది. + కాబట్టి, వీటిని నిజంగా నిపుణులచే ఓవర్‌లోడ్ చేయాలి మరియు మీరు ఆ స్థాయికి చేరుకునే వరకు, దాన్ని ఓవర్‌లోడ్ చేయవద్దని నేను మీకు సలహా ఇస్తాను. + మీ వద్ద ఉన్న మిగిలిన 38 ఆపరేటర్లు ఏ రకమైన మాతృకను అభివృద్ధి చేయగలిగేంత గొప్పవి, ఏ రకమైన మాతృక, సంక్లిష్టమైనవి, మీకు కావలసిన మాతృకలను విభజించడం. + దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము. + మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము. + మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/13. ProgramminginCplusplus_Namespace (Lecture 35)-DOhMUTHrdJI.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/13. ProgramminginCplusplus_Namespace (Lecture 35)-DOhMUTHrdJI.txt index 4fa32b0a37beaacf90ca26d94411821871389b58..40184b2684a7a2289134c4f7c3c85bd3b3f6536e 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/13. ProgramminginCplusplus_Namespace (Lecture 35)-DOhMUTHrdJI.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/13. ProgramminginCplusplus_Namespace (Lecture 35)-DOhMUTHrdJI.txt @@ -1,217 +1,217 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ మాడ్యూల్ 20 కు స్వాగతం. - 2. ఈ మాడ్యూల్ లో మనము నేమ్ స్పేస్ ల గురించి మాట్లాడతాము. - 3. నేమ్ స్పేసులు అనేవి లెక్సికల్ స్కోపింగ్ యొక్క భావన, వీటిలో మీకు ఇప్పటికే C ++ లో మీకు తెలిసిన అనేక ఎంపికలు ఉన్నాయి. - 4. కానీ, మనము స్కాపింగ్ యొక్క ఈ అదనపు భావనను మరియు ఇది కోడ్ స్ట్రక్చర్ కు ఎలా సహాయం చేస్తుంది అని మీకు బహిర్గతం చేస్తాము. - 5. ఇది సరిహద్దు, మరియు మేము ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున ముందుకు వెళ్తాము. - 6. కాబట్టి, మొదటి నేమ్ స్పేస్ నామమును పరిచయం చేద్దాం. - 7. ఒక నేమ్ స్పేస్, నేను చెప్పినట్లుగా ఒక declarative region; ఇది ఒక స్కోప్ ని కలిగి ఉంది. - 8. సో, మేము ఇప్పటికే బ్లాక్ వంటి స్కోప్ తెలుసు, మేము ప్రతి ఫంక్షన్ ఒక స్కోప్ ని కలిగి తెలుసు; క్లాస్ కి ఒక స్కోప్ ఉంది, క్లాస్ కొన్ని, క్లాస్ నేమ్ స్కోప్ ని కలిగి ఉంది. - 9. కాబట్టి, నేమ్స్పేస్ అంటే ఖచ్చితంగా ఉంది. - 10. ఇక్కడ మనము ఒక declarative region, అది విభిన్న ఐడెంటిఫైర్లను, విభిన్న చిహ్నాల కలిగి ఉంటుంది. - 11. మనకు టైప్స్, ఫంక్షన్స్, వేరియబుల్స్, క్లాస్ మరియు ఇతర నేమ్ స్పేస్లు ఉన్నాయి. - 12. నేను చెప్పిన ప్రధాన ఉద్దేశ్యం logical groups కు కోడింగ్ను నిర్వహించడం. - 13. మరియు ఇది చాలా ముఖ్యమైన అవసరం. - 14. మరియు, నేమ్స్పేస్ ఉన్న ప్రధాన కారణాల్లో ఒకటి name clash, name collision జరగకుండా నివారించడం. - 15. ముఖ్యంగా, కోడ్ బేస్లో మల్టిపుల్ లైబ్రరీలు ఉంటాయి, కోడ్ బేస్ లైబ్రరీలు లేదా standard లైబ్రరీలు ద్వారా కేటాయించబడే నేమ్స్ ను ఉపయోగించడం కోడెడ్, లేదా కోడ్ బేస్ independent డెవలపర్లు అభివృద్ధి చేయబడుతున్నాయి మరియు అనుకోకుండా అదే నేమ్స్ యొక్క సెట్ ను ఉపయోగించారు. - 16. కాబట్టి, ఇది ప్రధాన ఉద్దేశ్యం, నేమ్స్పేస్ ఏమిటి, ఇది ఒక స్కోప్ నిర్వచిస్తుంది మరియు కోడ్ను నిర్వహించడానికి ఇది ప్రధాన ఉద్దేశం. - 17. ప్రతి క్లాస్ డెఫినిషన్ మాడ్యులర్ డెఫినిషన్ రకంగా ఉంటుంది, కాని వ్యత్యాసం ఏ సెమాంటిక్స్ ఉండదు అని తెలిసినట్లుగా నేమ్ స్పేస్ మాడ్యులరైజేషన్ వంటి క్లాస్ ని అందిస్తుంది. - 18. ఇది కేవలం ఒక స్కోపింగ్ నియమం, క్లాస్కి కూడా స్కోపింగ్ చేస్తుంది, కానీ ఇది క్లాస్ సెమాంటిక్స్తో స్కోపింగ్ చేస్తుంది. - 19. నేమ్ స్పేస్ ప్రత్యేకంగా ఏ సెమాంటిక్స్ను కలిగి ఉండదు. - 20. మరియు, సి లోని ఫైల్ స్కోప్ గురించి మీకు తెలిసిన వారికి, ఒక ఫైల్ స్టాటిక్ వేరియబుల్ లేదా ఫైల్ స్టాటిక్ ఫంక్షన్ (ఫైల్ స్టాటిక్ ఫంక్షన్) అని మేము చెప్పినట్లుగా, నేమ్‌స్పేస్ యూజ్ ఫైల్ స్కోప్ యొక్క అవసరాన్ని తొలగిస్తుంది. సి. - 21. మీరు అదే ఉపయోగిస్తుంటే, మీకు అవసరమైనప్పుడు మీరు దానిని ఉపయోగించకూడదు మరియు ఆ ప్రదేశంలో నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను ఉపయోగించకూడదు. - 22. అసలు కోడ్‌ను మీకు పరిచయం చేద్దాం, ఎలా రాయాలో అర్ధవంతమైన ఉదాహరణ కాదు. - 23. కాబట్టి ఇక్కడ, నేమ్‌స్పేస్ ఒక కీవర్డ్ అని నేను చెప్తున్నాను, దానితో క్లాస్ మీరు చేసే కీవర్డ్ మరియు నేమ్‌స్పేస్ నేమ్‌స్పేస్‌ను అనుసరించాలి. - 24. కాబట్టి, వాక్యనిర్మాణం మీరు తరగతిని ఎలా నిర్వచించాలో చాలా ఇష్టం. - 25. సరిపోయే వంకర కలుపుల పరంగా ఇది అనుబంధ పరిధిని కలిగి ఉంది మరియు ఆ నేమ్‌స్పేస్‌లో మీరు వ్రాసే ప్రతిదీ నేమ్‌స్పేస్‌కు సంబంధించినది, అంటే దాని లోపల మీరు వ్రాసే ఏ గుర్తు అయినా నేమ్‌స్పేస్. - 26. కాబట్టి, ఇక్కడ నేను 3 రకాల ఎంట్రీలను చూపిస్తాను. - 27. ఒక వేరియబుల్‌కు నా డేటా అని పేరు పెట్టబడింది, ఒక ఫంక్షన్ మరియు క్లాస్ myData, myFunction, MyClass. - 28. ఆపై, ప్రధానంగా నేను దానిని ఎలా ఉపయోగించాలో చూపిస్తాను. - 29. నేను డేటాను ఉపయోగించాలనుకుంటే, నేను దీనిని ఇలా వ్రాయాలి. - 30. కాబట్టి, వేరియబుల్ పేరు నా డేటా అని మీరు చూడవచ్చు, ఇది నేమ్‌స్పేస్ నేమ్‌స్పేస్ ద్వారా అర్హత పొందింది. - 31. తరగతి పేర్లు ఎలా అర్హత సాధించాయో ఇది సమానంగా ఉంటుంది, ఉదాహరణకు, క్లాస్‌ఎస్‌లోని స్టాటిక్ డేటా సభ్యుల గురించి మీరు క్లాస్‌ఎస్‌లో స్టాటిక్ అని నేను వెంటనే మీకు గుర్తు చేస్తాను. - 32. కాబట్టి, సింబల్ పేరు, నేమ్‌స్పేస్ పేరు తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ ద్వారా వేరు చేయబడుతుంది, ఇది నేమ్‌స్పేస్ ఆబ్జెక్ట్‌ను సూచించే మార్గం. - 33. ఉదాహరణకు, మనకు ఉన్న ఫంక్షన్, ఈ పేరు, తరగతి కోసం, ఇది పేరు. - 34. నేమ్‌స్పేస్ యొక్క ఈ సందర్భంలో, ఇక్కడ నేను మైఫంక్షన్ వ్రాసి, దాన్ని ప్రారంభించడానికి ప్రయత్నిస్తే, అప్పుడు నాకు సంకలన లోపం వస్తుంది. - 35. ఎందుకంటే, ఈ కార్యక్రమంలో నా పని అని పిలువబడే చిహ్నం లేదు. - 36. నా ఫంక్షన్ (మైఫంక్షన్) సింబల్ నేమ్‌స్పేస్‌లో ఉంది మరియు అందువల్ల ఎల్లప్పుడూ నేమ్‌స్పేస్‌తో ప్రిఫిక్స్ చేయాలి. - 37. కాబట్టి, ఇది మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను నిర్వచించే ప్రాథమిక మార్గం మరియు మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను ఉపయోగిస్తారు. - 38. రెండు దృశ్యాలపై దృష్టి పెడదాం, ఒకటి సరళమైనది మరియు కొంచెం ఎక్కువ ప్రమేయం. - 39. లైబ్రరీ ఫంక్షన్‌ను పునర్నిర్వచించటానికి నేను ప్రయత్నిస్తున్న దృశ్యం ఇక్కడ ఉంది. - 40. అందువల్ల, లైబ్రరీ ఫంక్షన్‌లో ABS ఫంక్షన్ ఉందని, ప్రామాణిక లైబ్రరీకి ABS ఫంక్షన్ ఉందని మనందరికీ తెలుసు, ఇది సంపూర్ణ విలువను కనుగొంటుంది, కాని నేను దీనికి భిన్నమైన ప్రవర్తనను ఇవ్వాలనుకుంటున్నాను. - 41. -128 మరియు 127 లోపు ఇది పూర్తి మనస్సును కలిగిస్తుందని నేను చెప్పాలనుకుంటున్నాను, లేకపోతే అది ఆ పరిధికి వెలుపల ఉంటే అది శూన్యంగా తిరిగి వస్తుంది. - 42. కాబట్టి, దీన్ని చేయటానికి సరళమైన మార్గం, నేను అబ్స్ ఫంక్షన్ (ఫంక్షన్) ను నిర్వచించి దానిని ఉపయోగించడం ప్రారంభించాను, మరియు దాని యొక్క ఇతర కోణం ఏమిటంటే, మనం ఇలా చేస్తే, సి స్టాండర్డ్ లైబ్రరీలో ఉన్న అబ్స్ ఫంక్షన్ (ఫంక్షన్) హిడెన్, నేను నా అబ్స్ ఫంక్షన్‌ను నిర్వచించిన తర్వాత, లైబ్రరీ నుండి లభించే అబ్స్ ఫంక్షన్ (ఫంక్షన్) ఇకపై అందుబాటులో ఉండదు. - 43. నేను అబ్స్ ను ఉపయోగిస్తే, అది నా అబ్స్ అని అర్ధం, ఇది లైబ్రరీలోని ఎబిఎస్ అని ఎప్పటికీ అర్ధం కాదు. - 44. కాబట్టి, నేను దాని ద్వారా కోల్పోతాను. నేను దీనిని సి లో చేస్తే, మనం సి ++ లో చేయవచ్చు. - 45. అసలు లైబ్రరీ ఫంక్షన్‌ను సూచించే సామర్థ్యాన్ని నేను నిజంగా కోల్పోతాను. - 46. అందువల్ల, నేమ్‌స్పేస్ మంచి పరిష్కారాన్ని అందిస్తుంది. - 47. నేను దీన్ని చేయాలనుకుంటే మరియు లైబ్రరీ ఫంక్షన్‌ను కూడా ప్రస్తావించాలనుకుంటే, నేను ఇప్పటికీ నా అబ్స్ ఫంక్షన్‌ను నిర్వచించగలను, కాని నేను దానిని కొత్త నేమ్‌స్పేస్‌లో ఉంచుతాను. - 48. అందువల్ల, నేను దానిని నా ఎన్ఎన్ఎస్ అని పేరు పెట్టాను. - 49. కాబట్టి, దీనితో నేను ABS ఫంక్షన్ (ఫంక్షన్) ను దాని ns :: abs గా సూచిస్తే, అది ఈ ఫంక్షన్ (ఫంక్షన్) ను సూచిస్తుంది. - 50. నేను ఇప్పుడు చెబితే, అబ్స్ అందుబాటులో లేదు, ఎందుకంటే ఈ కొత్త కొత్త అబ్స్ వెర్షన్ నా ఎన్ఎన్ఎస్ పేరు పరిధిలో ఉంది. - 51. కాబట్టి, నేను అబ్స్ అని చెబితే, ప్రామాణిక లైబ్రరీలో అబ్స్ లేకపోవడం అంటే. - 52. ఈ విధంగా నేను లైబ్రరీ పేరు లేకుండా ఉన్న నా కొత్తగా ప్రవేశపెట్టిన నిర్వచనాలను రక్షించగలను. - 53. ఇది మీరు చాలా తరచుగా ఎదుర్కొనే చాలా ప్రత్యేకమైన అవసరం మరియు నేమ్‌స్పేస్‌లను ఉపయోగించడం మంచి పరిష్కారం. - 54. అభివృద్ధి దృష్టాంతంలో నేను త్వరగా నడుస్తాను. - 55. ఏ సంస్థలోనైనా ఇది క్రమం తప్పకుండా జరుగుతుంది. - 56. విద్యార్థుల రికార్డులను ప్రాసెస్ చేయడానికి ఒక సంస్థ ఒక అప్లికేషన్‌ను అభివృద్ధి చేస్తుందని అనుకుందాం మరియు రెండు తరగతులు ఉన్నాయని పేర్కొనండి; విద్యార్థులకు ఒకటి. - 57. కాబట్టి, మాకు రెండు తరగతులు ఉన్నాయి; ఇది విద్యార్థిని సూచిస్తుంది మరియు ఇది విద్యార్థుల జాబితాను సూచిస్తుంది. - 58. వాస్తవానికి ఇది సరైన ప్రోగ్రామ్ అయినప్పటికీ మీరు వివరాల గురించి నిజంగా బాధపడలేరు. - 59. కాబట్టి, మీరు చదివిన సమయానికి మీరు తరువాత చదవవచ్చు మరియు ఈ ప్రోగ్రామ్ ఏమి చేస్తుందో ఖచ్చితంగా కనుగొనవచ్చు. - 60. ఇది ఖచ్చితంగా భిన్నంగా ఉంటుంది, దీనికి కన్స్ట్రక్టర్ ఉంది, దీనికి కొన్ని సెట్లు మరియు ఫంక్షన్లు ఉన్నాయి మరియు ఇది విద్యార్థి రికార్డ్ రాయగల సామర్థ్యం గల అవుట్పుట్ ఆపరేటర్‌ను కలిగి ఉంది. - 61. మరియు, దీనికి ఒక జాబితా ఉంది మరియు ఇది హాజరైన విద్యార్థుల సంఖ్యను పర్యవేక్షిస్తుంది మరియు ఈ జాబితాలో ఒక విద్యార్థిని చేర్చే అవకాశం ఉంది. - 62. అందువల్ల, మీరు విద్యార్థిని జోడించినప్పుడల్లా, ఆ విద్యార్థి యొక్క రోల్ నంబర్ కేటాయించబడుతుంది. - 63. ఈ ప్రాసెసింగ్ అనువర్తనాన్ని అభివృద్ధి చేసే విషయంలో, సంస్థ ఏమి చేస్తుంది మరియు చాలా నిర్దిష్టంగా ఉంటుంది, డిజైనర్లలో ఒక సీనియర్ బహుశా ఈ క్లాస్ఎస్ (క్లాసులు) ను డిజైన్ చేసి ఉండవచ్చు. - 64. ఆపై చాలా మంది డెవలపర్లు సిస్టమ్ యొక్క వివిధ భాగాలను అభివృద్ధి చేయటానికి బాధ్యత వహిస్తారు. - 65. కాబట్టి, ఈ తరగతులు తరగతులను రూపొందించాయి మరియు స్టూడెంట్స్ హెచ్ అనే హెడర్ ఫైల్‌లో ఇవ్వబడ్డాయి. - 66. ఈ సమయంలో బాధ్యత ఇవ్వబడుతుంది; మగ విద్యార్థులకు మరియు మహిళా విద్యార్థుల కోసం విడిగా అభివృద్ధిని విభజించమని ఇంజనీర్లను అడుగుదాం. - 67. వారికి వేర్వేరు హాస్టల్ అవసరాలు, విభిన్న విషయ వర్గీకరణ అవసరాలు మొదలైనవి ఉంటాయి. - 68. కాబట్టి, ఇది మగ విద్యార్థుల కోసం సవిత చేత చేయబడుతోంది; మహిళా విద్యార్థులకు నీలోయ్ సమాన అభివృద్ధి; మరియు పూర్ణిమా అతని నాయకుడు, చివరికి ఈ రెండు అనువర్తనాలను మీ తుది అనువర్తనాలతో అనుసంధానించాలి. - 69. కాబట్టి ఏమి జరుగుతుంది, ఇది ప్రమాదవశాత్తు, యాదృచ్చికంగా, ఏమైనా కావచ్చు, సవిత ఈ మొత్తం ప్రాసెసింగ్ అప్లికేషన్‌ను మగ విద్యార్థుల కోసం ప్రాసెస్ స్టూడెంట్స్‌గా పిలుస్తుంది; మరియు, నీలోయ్ ఫంక్షన్ యొక్క అదే పేరును కూడా ఎంచుకుంటాడు. - 70. ఆపై, వారు అభివృద్ధి చేసిన వాటిని పరీక్షించడానికి స్వతంత్ర కోర్ అనువర్తనాలను వ్రాస్తారు. - 71. మీరు ఏమి చేస్తున్నారనే దాని గురించి మీరు బాధపడవలసిన అవసరం లేదు, ఇది ప్రాథమికంగా, ఈ అనువర్తనం మగ విద్యార్థులను ముద్రించినట్లయితే, ఈ అనువర్తనం మహిళా విద్యార్థులను ముద్రిస్తుంది, కానీ ఇది కేవలం ప్రాసెసింగ్ ఏమి జరుగుతుందో నేను నిజంగా ఆందోళన చెందడం లేదు అనే సూచన ఉంది . - 72. వాస్తవం ఏమిటంటే, వారు యాదృచ్చికంగా ఒకే ఫంక్షన్ పేరును ఎంచుకున్నారు మరియు స్వతంత్రంగా కలిసి అభివృద్ధి చేశారు. - 73. ఇప్పుడు, ఇద్దరూ పూర్ణిమకు కోడ్ను సమర్పించారు, ఇది ప్రధానమైనది, ఇప్పుడు పూర్ణిమ వాటిని కలిసి ఉంచాలి. - 74. కాబట్టి, వాస్తవానికి, మేము ఒక్కసారి తిరిగి వస్తే, పౌర్ణమి ఈ కీని ఉపయోగించదు, లేదా ఈ కీని ఉపయోగించదు, ఎందుకంటే ఈ రెండు కోడ్‌లను ఇది సమగ్రపరచాలి. - 75. కాబట్టి, ఇది అందరికీ ఒక ప్రధాన ఇంటిగ్రేటెడ్ అప్లికేషన్ రాయాలి. - 76. కాబట్టి, ఆమె రాయడానికి ప్రయత్నిస్తుంది. - 77. కాబట్టి, అతను ఈ ఫంక్షన్లను పిలవాలి, విద్యార్థుల ఫంక్షన్లను ప్రాసెస్ చేయాలి. - 78. అతను తన నిర్వచనాలను ఉంచాలి మరియు రెండూ ఒకే ఫంక్షన్ పేరును ఉపయోగిస్తాయని అతను కనుగొన్నాడు. - 79. కాబట్టి, ఆమె అతని కోడ్‌ను కాపీ చేస్తే, ఇది ఇలా ఉంటుంది. - 80. మీరు అర్థం చేసుకోగలిగినట్లుగా ఇది పేరు ఘర్షణను ఇస్తుంది మరియు అది ఒకేలా ఉండకపోవచ్చు, ఇది కంపైల్ చేయదు. - 81. ఇప్పుడు, మొత్తం సమైక్యత ప్రక్రియ విఫలమైంది. - 82. నేను ఒక ఫంక్షన్ పేరును సూచనగా మాత్రమే చూపించాను, కాని వాస్తవానికి, అనువర్తనం వేలాది పంక్తుల జతలలో ఉంటుంది. - 83. అనేక చిహ్నాలు, అనేక విధులు, గ్లోబల్ వేరియబుల్స్, క్లాస్ పేర్లు, అనేక రకాలు మరియు మొదలైనవి ఉండవచ్చు, ఇవి రెండు డెవలపర్‌ల మధ్య ఒకే పేరు కావచ్చు. - 84. ఎక్కువ మంది డెవలపర్లు కూడా ఉండవచ్చు. - 85. కొన్ని సందర్భాల్లో, ఒకే పేరు అంటే ప్రోగ్రామ్‌లు లేదా ఇద్దరు డెవలపర్‌ల కోడ్ మధ్య ఒకే విషయం; కొన్ని సందర్భాల్లో, సవిత ఉపయోగించిన అదే పేరు నిలోయ్ వేరే అర్థంలో ఉపయోగించబడుతుంది. - 86. కాబట్టి, ఇది చాలా కష్టమైన సమస్య. - 87. పౌర్ణమిని ఏకీకృతం చేయాలంటే, అది మొత్తం కోడ్‌ను అర్థం చేసుకోవాలి, ఆపై దాన్ని సవరించాలి మరియు దానిలో మార్పులు చేయాలి మరియు ఇది పూర్తి పీడకల అవుతుంది. - 88. కాబట్టి, దీనిని సాధారణంగా సంస్థలో సంభవించే ఇంటిగ్రేషన్ పీడకల అంటారు. - 89. కానీ, వాస్తవం యొక్క ఇతర అంశం ఏమిటంటే, రెండు అనువర్తనాలు మగ విద్యార్థుల కోసం సవిత మరియు స్వతంత్రంగా పనిచేసే మహిళా విద్యార్థుల కోసం నీలోయ్ చేత అభివృద్ధి చేయబడ్డాయి, అది మాత్రమే, వారు కొన్ని సాధారణ పేర్లను పంచుకుంటారు. అందువల్ల నేమ్‌స్పేస్ పరిష్కరించగల ఒక వినాశనం అవుతుంది ఈ సమస్య చాలా సులభంగా. - 90. పూర్ణిమా ఇప్పుడు సవిత అభివృద్ధి చేసిన మరియు నిలోయ్ అభివృద్ధి చేసిన అన్ని అనువర్తనాలను తీసుకొని వాటిని రెండు వేర్వేరు నేమ్‌స్పేస్‌లలో ఉంచాలి. - 91. ఆమె యాప్ 1 మరియు యాప్ 2 అనే రెండు పేర్లను నిర్ణయిస్తుంది మరియు సవిత యొక్క సంఘటనలను, నీలోయ్ యొక్క సంఘటనలను అందులో ఉంచుతుంది. - 92. కాబట్టి, అది పూర్తయిన తర్వాత, ఈ అనువర్తనంలో, ఇవన్నీ ఒకే నేమ్‌స్పేస్‌లో ఉంటాయి. - 93. కాబట్టి, అప్లికేషన్ ఇప్పటికీ పనిచేస్తుంది. - 94. ఈ భాగం ఇప్పటికీ పని చేస్తుంది, కానీ మీరు ప్రధాన ఫంక్షన్ల కోణం నుండి చూస్తున్నప్పుడు మీరు బయట ఉన్నప్పుడు, ఈ రెండు రెండు వేర్వేరు నేమ్‌స్పేస్‌లలో ఉంటాయి. - 95. కాబట్టి, అవి ప్రాథమికంగా, విభిన్న విధులు. - 96. అందువల్ల, వాటిని నేమ్‌స్పేస్‌కు జోడించిన తర్వాత తిరిగి వస్తుంది. - 97. ఇప్పుడు, అతను తిరిగి సమైక్యతలోకి వచ్చాడు. - 98. అంటే, సావిత యొక్క అనువర్తనాలు ఇప్పుడు యాప్ 1 నేమ్‌స్పేస్ (నేమ్‌స్పేస్) లో పనిచేసే విద్యార్థుల కోసం చాలా ప్రక్రియ. నిలోయ్ కోసం, ఈ అనువర్తనం 2 నేమ్‌స్పేస్‌లలో ఉంది. - 99. అందువల్ల, అతను చేయవలసినది చేస్తూ, అతను రెండు అభివృద్ధి యూనిట్ల మధ్య పేరు ఘర్షణను పరిష్కరించాడు మరియు అప్లికేషన్ సందర్భంలో, అతను చేయాల్సిందల్లా నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఉపసర్గను ఉపయోగించడం. మరియు రెండు పనులను స్వతంత్రంగా కాల్ చేయండి, ఒకటి తరువాత మరొకటి లేదా ఆమె చేయాలనుకుంటున్నది. - 100. కాబట్టి, ఇది చాలా నిర్దిష్టమైన విధానం, ఇది పెద్ద మొత్తంలో ప్రాక్టికల్ ఇంటిగ్రేషన్ సమస్యను పరిష్కరించగలదు మరియు దానిని పరిగణనలోకి తీసుకోవాలి. - 101. వాస్తవానికి, ఒకే వ్యవస్థలోని చాలా మంది డెవలపర్లు (డెవలపర్లు) వేర్వేరు పేర్లను సమన్వయం చేసుకోలేరు మరియు పరిష్కరించలేరు అనేది మంచి ఆలోచన కాదు, అయితే తరచుగా వేర్వేరు మాడ్యూల్స్ (మాడ్యూల్) కోసం నేమ్‌స్పేస్‌లను ఉపయోగించడం మంచిది. పేర్లు, వేర్వేరు సహాయక విధులు, సహాయక తరగతులు మరియు వేర్వేరు మాడ్యూళ్ల మధ్య మీరు నిజంగా బాధపడవలసిన అవసరం లేదు. - 102. అందువల్ల, మేము విద్యార్థుల రికార్డును అభివృద్ధి చేస్తుంటే, ప్రధానంగా విద్యార్థుల విద్యా భాగాలతో పనిచేసే మాడ్యూల్ ఉండవచ్చు; ఒక మాడ్యూల్ విద్యార్థుల ఫీజులకు సంబంధించినది; మాడ్యూల్ హాస్టల్‌తో సంబంధం కలిగి ఉంటుంది; మరొక మాడ్యూల్ వారి టైమ్‌టేబుల్‌తో వ్యవహరిస్తుంది. - 103. కాబట్టి, కోడ్‌ను నిర్వహించడానికి మరియు రూపకల్పన చేయడానికి ఒక మంచి మార్గం ఈ మాడ్యూల్‌కు ప్రత్యేక నేమ్‌స్పేస్‌ను కేటాయించడం మరియు ప్రాథమికంగా కోడ్‌ను ఆ విధంగా వేరు చేయడం, తద్వారా ఇది ఎప్పటికీ .ీకొనకుండా చూసుకోండి. - 104. అందువల్ల, నేమ్‌స్పేస్ ఎందుకు ముఖ్యమో మీరు అర్థం చేసుకున్న చర్చను మాత్రమే నేను పూర్తి చేయాలి. - 105. కాబట్టి, నేను నేమ్‌స్పేస్ అయిన శీఘ్ర లక్షణాలకు మాత్రమే వెళ్లాలి. - 106. నేను చెప్పినట్లు, ఇది ఒక తరగతికి సమానం; తరగతి వలె, నేమ్‌స్పేస్ గూడు చేయవచ్చు. - 107. కాబట్టి, నాకు ఇక్కడ 1 అనే నేమ్‌స్పేస్ ఉంది మరియు దాని లోపల నాకు మరొక నేమ్‌స్పేస్ ఉంది. - 108. కాబట్టి, ఇదంతా జరుగుతుంది, నేను ఒక నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను మరొకదానికి గూడు చేస్తే, ఈ నెస్టెడ్ నేమ్‌స్పేస్ (నేమ్‌స్పేస్) పేరు బాహ్య నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ద్వారా అర్హత పొందుతుంది. - 109. కాబట్టి, ఇది చాలా సులభం. - 110. కాబట్టి, ఈ డేటా నేమ్‌స్పేస్ నేమ్స్ 1 లో ఉందని అర్థం, అయితే, ఇది డేటా 1 డేటా పేర్ల నేమ్‌స్పేస్‌లో ఉంది :: పేర్లు 2, ఎందుకంటే ఇది సొంత పేరు 1 :: పేర్లు. 2 - 111. కాబట్టి, మేము ఈ కోడ్ వ్రాస్తే, నేను డేటాను వ్రాస్తే, అప్పుడు డేటా మాత్రమే అయిపోతుంది, అంటే డేటా అని అర్ధం. - 112. నేను name1 :: data అని వ్రాస్తే, ఈ డేటా అంటే, నేను name1 :: name2 :: data (data) అని వ్రాస్తే, అంటే డేటా. - 113. అందువల్ల, మీరు నేమ్‌స్పేస్‌ను గూడులో ఉంచుకున్నప్పుడు, మరింత ఎక్కువ ఉపసర్గలు జోడించబడతాయి. - 114. కాబట్టి, నేమ్‌స్పేస్ కోసం ఏ స్థాయిలోనైనా ఒక గూడును సృష్టించడం సాధ్యపడుతుంది. - 115. తరచుగా, మీరు ఈ విధంగా చేస్తే మీకు చాలా గూళ్ళు మరియు మీరు ఉపయోగించాలనుకునే అనేక చిహ్నాలు ఉన్నందున, ప్రతిసారీ మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను నమోదు చేయాలి. - 116. కాబట్టి, మీరు ఉపయోగించగల సత్వరమార్గం ఉంది. - 117. మీరు ఉపయోగించగల ప్రాథమికంగా రెండు సత్వరమార్గాలు ఉన్నాయి; వీటిలో ఒకదాన్ని ఉపయోగించడం అంటారు. - 118. కాబట్టి, మీరు చేయగలిగే ఒక సత్వరమార్గం మిమ్మల్ని ఉపయోగించడం, ఆపై మీరు నేమ్‌స్పేస్‌కు పేరు పెట్టండి. - 119. కాబట్టి, నేమ్‌స్పేస్ నేమ్స్ 1 ను ఉపయోగించమని మీరు అంటున్నారు. - 120. ఇది తరువాత ఉపయోగించబడే చిహ్నం ఉందని దీని అర్థం; ఈ నేమ్‌స్పేస్ పేరు 1 లో చిహ్నంగా ఉందో లేదో తనిఖీ చేయడానికి మీరు ప్రయత్నిస్తారు. - 121. మరియు ఆ చిహ్నం ఉంటే మీరు ఆ గుర్తును ప్రస్తావిస్తారు. - 122. కాబట్టి, నేమ్‌స్పేస్‌ను ఉపయోగించడం యొక్క లక్షణం ఇది. - 123. మరొక లక్షణం ఉపయోగిస్తోంది, మీరు ఉపయోగించమని చెప్పవచ్చు మరియు మీరు చెప్పవచ్చు, వాస్తవానికి ఇది విలువైన చిహ్నం. - 124. కాబట్టి, మీరు అర్హతగల చిహ్నాన్ని పేర్కొంటే, అర్హత గల చిహ్నానికి పేరు పెట్టండి, తరువాత మీరు చిహ్నం పేరు గురించి మాట్లాడినప్పుడల్లా, అది అర్హత కలిగిన చిహ్నం అని అర్ధం. - 125. కాబట్టి, ఈ ఉదాహరణ సహాయపడాలి. - 126. కాబట్టి, నాకు రెండు నేమ్‌స్పేస్‌లు ఉన్నాయి, పేరు 1 మరియు పేరు 2; name1 కి రెండు చిహ్నాలు ఉన్నాయి; పేరు 2 రెండు చిహ్నాలుగా; మరియు, నేమ్ 1, నేమ్‌స్పేస్ నేమ్ 1 పై నాకు ఉపయోగం ఉంది మరియు ఈ ప్రత్యేక చిహ్నం, నేమ్ 2 యొక్క వేరియబుల్‌పై నాకు ఒక ప్రయోగం ఉంది. - 127. కాబట్టి, ఏమి జరుగుతుంది? నేను v11 అని చెబితే, అది ఏమి తనిఖీ చేస్తుంది? నేను నేమ్‌స్పేస్ నేమ్స్ 1 ఉపయోగిస్తున్నానని ఇది తనిఖీ చేస్తుంది. - 128. కాబట్టి, ఆ నేమ్‌స్పేస్‌లో V11 ఉందా? అది జరుగుతుంది. - 129. కాబట్టి, అది దానితో కలుపుతుంది. - 130. నేను పేరు 1: v 12 అని చెబితే, అది ఇక్కడ అనుబంధించబడుతుంది. - 131. అందువల్ల, నేను దాన్ని ఉపయోగిస్తున్నప్పుడు కూడా, నేను చిన్న రూపాన్ని ఉపయోగించడం తప్పనిసరి కాదని మీరు చూడవచ్చు. - 132. అలా చెప్పే బదులు, నేను v12 మాత్రమే వ్రాయగలను; ఇది నేమ్ 1 లో కూడా అదే వేరియబుల్ గురించి ప్రస్తావించింది, ఎందుకంటే నేను నేమ్‌పేస్ నేమ్ 1 ఉపయోగిస్తున్నాను. - 133. కానీ, నేను ఉపయోగించే సత్వరమార్గాన్ని ఉపయోగించడం తప్పనిసరి కాదు లేదా నేను ఇక్కడ చేసినట్లుగా పూర్తి అర్హత గల పేరును కూడా ఉపయోగించగలను. - 134. V21.v21 గురించి ఆలోచించండి దీని అర్థం. - 135. ఎందుకు? నేను నేమ్‌స్పేస్ నేమ్‌లను ఉపయోగించను. - 136. కానీ, నేను ఈ ప్రత్యేక చిహ్నంపై మాత్రమే ప్రయోగాలు చేస్తున్నాను. - 137. కాబట్టి, నేను v21 అని చెబితే దాని అర్థం, ఇది పేరు 2 :: v21 మరియు అది సరైనది. - 138. అదేవిధంగా, పేరు 2 :: v21 అని చెప్పి, స్టిల్ పద్ధతుల ద్వారా నేను దీన్ని నేరుగా సూచించగలను. ఇది కూడా అనుమతించబడుతుంది; పేరు యొక్క స్పష్టమైన ఉపయోగం అనుమతించబడుతుంది. - 139. V22 గురించి ఆలోచించండి; v22 ఇక్కడ ఉంది. - 140. నేమ్‌స్పేస్‌లో నేమ్ 2 ను ఉపయోగించాల్సిన అవసరం లేదు. - 141. కాబట్టి, v22 అని అర్ధం కాకపోవచ్చు, ఈ ప్రత్యేక సంస్థ పేరు 2: v22 వంటి ఉపయోగం నాకు లేదు. అది నా దగ్గర లేదు. - 142. కాబట్టి, కంపైలర్ ఈ కోడ్‌లో ఏ v22 చిహ్నాలను చూడలేరు మరియు కంపైలర్ దానిని నిర్వచించనిదిగా పరిగణిస్తుంది. - 143. ఇది వి 22 అనే గుర్తు లేదు. - 144. ఇది ఉపయోగించడానికి ప్రాథమిక ఉపయోగం; ఉదాహరణకు, మీరు దీన్ని కోడ్‌లో చూస్తున్నారు, ప్రామాణిక లైబ్రరీలోని అన్ని చిహ్నాలు నేమ్‌స్పేస్‌లో ఉన్నందున మేము దీనిని వ్రాస్తూనే ఉంటామని నేను మొదట్లో పేర్కొన్నాను. - 145. కాబట్టి, ఇది రాయడం మన జీవితాన్ని సులభతరం చేస్తుంది, మీ కౌట్ ను std :: out; సిన్ గా std :: cin et cetera. - 146. ఇప్పుడు, మేము గ్లోబల్ నేమ్‌స్పేస్ గురించి కూడా మాట్లాడుతాము. - 147. నాకు ఒక ఉదాహరణ ఉందని అనుకుందాం. - 148. ఉదాహరణ అర్థం చేసుకోండి; గ్లోబల్ స్కోప్ డేటాకు వ్రాయబడిన వేరియబుల్ నాకు ఉంది. - 149. నేమ్‌స్పేస్ నేమ్స్ 1 లో, నాకు వేరియబుల్ డేటా ఉంది. - 150. ఇప్పుడు, మీరు ఈ ప్రోగ్రామ్ గురించి క్రింద ఆలోచించకపోతే అవి పరిష్కరించగలవు, ఎందుకంటే అవి పరిష్కరించబడతాయి, ఎందుకంటే నేను డేటాను వ్రాస్తే, దీని అర్థం మరియు నేను పేరు 1 :: డేటాను వ్రాస్తే, దీని అర్థం, స్పష్టంగా. - 151. కానీ, ఈ ఫంక్షన్ (ప్రధాన) లో అనుకుందాం, నాకు నేమ్ 1 :: డేటా వాడకం ఉంది. - 152. కాబట్టి దీని అర్థం ఏమిటి? దీని అర్థం, ఇప్పుడు నేను డేటా గురించి మాట్లాడితే, ఈ డేటా అని అర్థం; ఇప్పుడు ఈ డేటా అర్థం కాదు; ఎందుకంటే, నేను నేమ్ 1 :: డేటాను ఉపయోగించాలి. - 153. కాబట్టి, నేమ్ 1 :: డేటా ఈ సమయం నుండి డేటాగా పిలువబడుతుంది. - 154. కాబట్టి, నేను డేటా చెబితే, నేను దాన్ని పొందుతాను. - 155. నేను name1 :: data అని చెబితే, నేను కూడా దీన్ని పొందుతాను. - 156. కాబట్టి, దీని అర్థం నేమ్‌స్పేస్‌లో నిర్వచించబడని డేటాను యాక్సెస్ చేసే సామర్థ్యాన్ని నేను కోల్పోయాను, ఇది బయట నిర్వచించబడింది. - 157. కాబట్టి, గ్లోబల్ రాజ్యంలో ఉన్న గ్లోబల్ స్పేస్‌లో ఉన్న చిహ్నాలను యాక్సెస్ చేయగలిగేలా సి ++ మాకు ఒక యంత్రాంగాన్ని ఇస్తుంది. - 158. మీరు ఏమి చేసినా, మీరు అదే సంజ్ఞామానాన్ని ఉపయోగిస్తారు, కానీ ప్రపంచ, ఆలోచన అనేది ఒక రకమైనది, నేమ్‌స్పేస్ వంటి ప్రపంచ పరిధి కూడా, కానీ ఆ నేమ్‌స్పేస్ (నేమ్‌స్పేస్) కు పేరు లేదు - 159. కాబట్టి, ఇది కేవలం ఖాళీ పేరు. - 160. కాబట్టి, మీరు చేసే ప్రతిదాన్ని :: డేటా. - 161. కాబట్టి, ఇది ఎల్లప్పుడూ గ్లోబల్ స్కోప్‌లోని పేరును సూచిస్తుంది. - 162. కాబట్టి, ఇది ఉనికిలో ఉన్న గ్లోబల్ నేమ్‌స్పేస్ యొక్క ప్రాథమిక భావన. - 163. ప్రామాణిక నేమ్‌స్పేస్, కాబట్టి మేము దాని గురించి మాట్లాడుతున్నాము, అన్ని C ++ దాని ప్రామాణిక లైబ్రరీ చిహ్నాలు, తరగతులు, విధులు, ప్రతిదీ std నేమ్‌స్పేస్‌లో ఉంచుతుంది. - 164. కాబట్టి, మేము IO స్ట్రీమ్‌ను మాత్రమే చేర్చుకుని, దీన్ని చేయాలనుకుంటే, దాన్ని ఉపయోగించి ఒక ప్రోగ్రామ్‌ను రాయండి, అప్పుడు ప్రతిసారీ మనం గుర్తును std :: తో ప్రిఫిక్స్ చేయాలి. - 165. ఉదాహరణకు, నేను ఎండ్ల్ రాయాలనుకుంటే, నేను దానిని std :: endl, endline అని వ్రాయాలి. - 166. అందువల్ల, మేము నేమ్‌స్పేస్ std ఉపయోగించి సత్వరమార్గాన్ని చేయవచ్చు. - 167. దీని అర్థం ఏమిటంటే, నేను కౌట్ వ్రాస్తే, అది std నేమ్‌స్పేస్ (నేమ్‌స్పేస్) కు కౌట్ ఉందో లేదో కూడా తనిఖీ చేస్తుంది; ఇది ఒకటి. - 168. కాబట్టి, std అదే సంబంధం ఉంటుంది. - 169. కాబట్టి, std నేమ్‌స్పేస్ మనకు అందుబాటులో ఉన్న అతి ముఖ్యమైన నేమ్‌స్పేస్. - 170. మరిన్ని నేమ్‌స్పేస్‌ల జతలు కూడా నిర్వచించబడ్డాయి. - 171. మేము తరువాత వాటి గురించి మాట్లాడుతాము. - 172. నేమ్‌స్పేస్‌ల గురించి చాలా ఆసక్తికరమైన అంశం ఏమిటంటే, నేమ్‌స్పేస్‌లు తెరిచి ఉన్నాయి, ఆ కోణంలో; ఒక తరగతి గురించి ఆలోచించండి. మీరు ఒక తరగతిని మాత్రమే నిర్వచించినట్లయితే, మీరు ఆ తరగతి, డేటా సభ్యుడు, ఫంక్షన్ మరియు మొదలైన వాటిలో ఏ చిహ్నాన్ని ఉంచారో., స్నేహితులు మరియు తరగతి యొక్క సమగ్ర నిర్వచనంలో చేర్చబడిన వారందరూ. - 173. మరియు, ఆ పరిధి ముగిసిన తర్వాత, మీరు తరగతి యొక్క పరిధికి కొత్త చిహ్నాలను జోడించలేరు. - 174. కానీ నేమ్‌స్పేస్‌లో ఇది భిన్నంగా ఉంటుంది. - 175. కాబట్టి, నేమ్‌స్పేస్ ఓపెన్‌గా ఉండటానికి దీని అర్థం. - 176. ఇక్కడ, నేను నేమ్‌స్పేస్‌ను సృష్టించాను, అక్కడ నేను x చిహ్నాన్ని ఉంచాను. - 177. పరిధి మూసివేయబడింది; ఇది ఇక్కడ నుండి ప్రారంభమైంది, ఇది ఇక్కడ మూసివేయబడింది. - 178. కానీ, నేమ్‌స్పేస్ తెరిచి, మరొక గుర్తును ఉంచానని నేను మళ్ళీ చెప్తున్నాను; అంటే ... కాబట్టి, ఏది జరిగినా అది అదే రాజ్యంలో కలుస్తుంది. - 179. ఇప్పుడు, ఇది ప్రాథమికంగా చెబుతుంది, నేమ్‌స్పేస్ ఓపెన్‌కు రెండు చిహ్నాలు ఉన్నాయి, x చిహ్నం అలాగే y చిహ్నం. - 180. కాబట్టి, నేమ్‌స్పేస్ (ఓపెన్) ను ఉపయోగించమని మేము చెబితే, నేను X మరియు Y రెండింటినీ ఉపయోగించవచ్చు మరియు ఒకే నేమ్‌స్పేస్ (నేమ్‌స్పేస్) నుండి, అవి, X ఇక్కడ బంధిస్తాయి మరియు Y ఇక్కడ బంధిస్తాయి. - 181. కాబట్టి, ఈ నిష్కాపట్యత చాలా సరళమైన ఒక ఆసక్తికరమైన భావన, తద్వారా, మీరు నేమ్‌స్పేస్ యొక్క వివిధ భాగాలను చాలా, వేర్వేరు ఫైళ్ళలో కూడా పేర్కొనవచ్చు. - 182. ఇది ఆ పోలిక యొక్క సారాంశం, ఎందుకంటే మేము తరగతి భావన గురించి పదేపదే మాట్లాడుతున్నాము మరియు దానిని నేమ్‌స్పేస్‌తో పోల్చాము. - 183. నేమ్‌స్పేస్ మరియు క్లాస్ మధ్య ప్రతి నేమ్‌స్పేస్ క్లాస్ కాదు, మరియు ప్రతి క్లాస్ నేమ్‌స్పేస్‌ను నిర్వచిస్తుంది. - 184. ఇది మీకు అదే అర్హత సామర్థ్యాన్ని ఇస్తుంది. - 185. నేమ్‌స్పేస్‌ను తిరిగి తెరవవచ్చు, కాని మరిన్ని డిక్లరేషన్లలో ఉంచవచ్చు. - 186. తరగతి పరంగా, ఇలాంటిదేమీ లేదు. - 187. వాస్తవానికి, నేమ్‌స్పేస్‌ను తక్షణం చేయలేము; క్లాస్ఎస్ వస్తువులకు తక్షణమే పరిగణించబడుతుంది. - 188. నేమ్‌స్పేస్‌ల కోసం ఒక యంత్రాంగాన్ని ఉపయోగించడం అందుబాటులో ఉంది; ఖచ్చితంగా, ఒక తరగతి కోసం అలా చేయడంలో అర్థం లేదు. - 189. మరింత ఆసక్తికరంగా, నేమ్‌స్పేస్ అనామకంగా ఉంటుంది; కొన్ని చిహ్నాలను వేరు చేయడానికి మరియు వాటిని కలిసి ఉంచడానికి నేను నేమ్‌స్పేస్ కలిగి ఉంటాను, కానీ వాటిని బాహ్యంగా యాక్సెస్ చేయకూడదు. - 190. మీకు నేమ్‌స్పేస్ పేర్లు ఎందుకు అవసరమో చూడండి, తద్వారా మీరు బయటి నుండి, డిక్లరేషన్‌లను ఉపయోగించి లేదా నేమ్‌స్పేస్‌ల లోపల నేరుగా చిహ్నాలను ఉపయోగించవచ్చు. - 191. ఇప్పుడు, నేను కొన్ని చిహ్నాలను దృశ్యమానంగా దాచాలనుకుంటే మరియు వాటితో సంభాషించాలనుకుంటే, నేను వాటిని నేమ్‌స్పేస్‌లో ఉంచగలను మరియు ఆ నేమ్‌స్పేస్‌కు పేరు ఇవ్వలేను. - 192. నేను ఆ నేమ్‌స్పేస్‌కు పేరు ఇవ్వకపోతే, ఆ నేమ్‌స్పేస్‌కు వెలుపల ఎవరికీ ఆ నేమ్‌స్పేస్‌కు గుర్తు లేదు. - 193. కాబట్టి, అనామక నేమ్‌స్పేస్‌కు ఒక అర్థం ఉంది; అనామక తరగతి స్పష్టంగా అర్ధం కాదు. - 194. ఇది అనుమతించబడదు. - 195. నేను మూసివేసే ముందు, C ++ నిర్వచించే వివిధ లెక్సికల్ తరగతులలో నేమ్‌స్పేస్ ఒకటి అని మీకు గుర్తు చేయాలనుకుంటున్నాను. - 196. మరియు, ఇవి మీ వద్ద ఉన్న విభిన్న లెక్సికల్ స్కోప్‌లు. - 197. వ్యక్తీకరణ యొక్క పరిధి అనేది వ్యక్తీకరణ యొక్క వివిధ భాగాలను లెక్కించడానికి తాత్కాలిక వాటిని ఉపయోగిస్తారు మరియు అవి వ్యక్తీకరణలో పరిధిని కలిగి ఉంటాయి. - 198. చాలా తరచుగా, మేము ఈ తాత్కాలిక విషయాలను చూడలేము. - 199. కాబట్టి, కంపైలర్ మాత్రమే దీన్ని నిర్వహిస్తుంది. - 200. అయినప్పటికీ, మేము తరచుగా బ్లాక్ మరియు ఫంక్షన్ స్కోప్‌తో వ్యవహరిస్తున్నాము, ముఖ్యంగా సి లో; మరియు, C లో ఫైల్ మరియు గ్లోబల్ స్కోప్, మరియు, C ++ కి వచ్చిన తరువాత, ఇవి ఉనికిలో ఉన్నాయి మరియు దానికి తోడు మనకు క్లాస్ స్కోప్ మరియు నేమ్‌స్పేస్ స్కోప్ ఉన్నాయి, వీటిని మనం చర్చించాము. - 201. మీరు గమనించినట్లుగా, స్కోప్‌లకు పేరు పెట్టవచ్చు లేదా అనామకంగా ఉంటుంది; తరగతి పరిధి వలె ఎల్లప్పుడూ పేరు ఉండాలి. - 202. నేమ్‌స్పేస్ స్కోప్ సాధారణంగా పేరుగా ఉంటుంది, కానీ అనామకంగా కూడా ఉంటుంది. - 203. గ్లోబల్ స్కోప్‌కు పేరు లేదు, కానీ ఈ స్కోప్‌ను స్కోప్ ఆపరేటర్ గుర్తించవచ్చు. - 204. వ్యక్తీకరణలు, బ్లాక్ ఫంక్షన్ మరియు ఫైల్ స్కోప్ వంటి ఈ స్కోప్‌లు అవి అనామక పేర్లు కావు. - 205. ఇంకా, బ్లాక్ స్కోప్, క్లాస్ స్కోప్, నేమ్‌స్పేస్ స్కోప్ వంటి స్కోప్‌లను సమూహపరచవచ్చు; వారు గూడు చేయవచ్చు. - 206. అయినప్పటికీ, ఫంక్షన్ స్కోప్ లేదా ఎక్స్‌ప్రెషన్ స్కోప్ వంటి కొన్ని స్కోప్‌లు ఉన్నాయి, అవి గూడులో ఉండవు. - 207. కానీ వాటిలో కొన్ని ఇతర స్కోప్‌లను కలిగి ఉండవచ్చు, కానీ వాటి స్వంతం కాదు. - 208. కాబట్టి, ఇది సంగ్రహంగా చెప్పాలంటే ఇది చాలా ముఖ్యమైనది, ముఖ్యంగా లెక్సికల్ పరిధిని తెలుసుకోవడం, ఎందుకంటే సి ++ ఒక బలమైన లెక్సికల్ స్కోప్ భాష. - 209. దీనికి డైనమిక్ స్కోపింగ్ లేదు; అంటే, దీనికి ఎగ్జిక్యూషన్ డిపెండెంట్ నేమ్ బైండింగ్ లేదు. - 210. ఇది పూర్తి పేరు బైండింగ్, ఇది అనుబంధించేది, ఇది వేరియబుల్ పేరుతో జ్ఞాపకశక్తిని ఎలా అనుబంధిస్తుంది అనేది పూర్తిగా లెక్సికల్ పరిధిపై ఆధారపడి ఉంటుంది, ఇది స్టాటిక్ సమయంపై పూర్తిగా ఆధారపడి ఉంటుంది. - 211. అందువల్ల, వేరియబుల్ పేర్లను పేర్కొనడం మరియు వాటి దృశ్యమానత మరియు ప్రాప్యతను పరిమితం చేసే ఈ విభిన్న ఎంపికల నుండి, ఇది డిజైన్ స్థితిలో ఉంది మరియు దానిని ఉపయోగించడం చాలా ముఖ్యం. - 212. మరియు, నేమ్‌స్పేస్ లెక్సికల్ స్కోప్‌ల కిట్టిని విస్తరించడానికి మాత్రమే సహాయపడుతుంది మరియు ప్రత్యేకించి, మీ కోడ్‌ను నిర్వహించడానికి మరియు ప్రత్యేకంగా లైబ్రరీలను యాక్సెస్ చేయడానికి మరియు మీ లైబ్రరీలోని చిహ్నాల నుండి మీ లైబ్రరీని ఇతర మూడవ పార్టీ లైబ్రరీల నుండి వేరు చేయడానికి ఒక శక్తివంతమైన సాధనం. . - 213. ఉదాహరణకు, మీరు ఇతరులతో పంచుకోవాలనుకునే లైబ్రరీని అభివృద్ధి చేస్తుంటే, ఆ మొత్తం విషయానికి అర్ధవంతమైన నేమ్‌స్పేస్ అని పేరు పెట్టడం మంచిది మరియు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఆ మొత్తం అభివృద్ధిని లోపల ఉంచండి, ప్రామాణిక లైబ్రరీ వంటివి std ఉపయోగించి . - 214. ఆపై దానిని వినియోగదారుకు ఇవ్వండి, తద్వారా మీరు మీ లైబ్రరీలో కొన్ని ఫంక్షన్ పేర్లు లేదా తరగతి పేర్లను ఉపయోగించినట్లు చెప్పలేము, ఇది వినియోగదారు కూడా ఉపయోగించాలనుకుంటుంది, కానీ చేయలేకపోతుంది. - 215. కాబట్టి, ఇది నేమ్‌స్పేస్‌ల గురించి మరియు మేము ఇక్కడ మూసివేస్తాము. - 216. + ప్రోగ్రామింగ్ ఇన్ C ++ మాడ్యూల్ 20 కు స్వాగతం. + ఈ మాడ్యూల్ లో మనము నేమ్ స్పేస్ ల గురించి మాట్లాడతాము. + నేమ్ స్పేసులు అనేవి లెక్సికల్ స్కోపింగ్ యొక్క భావన, వీటిలో మీకు ఇప్పటికే C ++ లో మీకు తెలిసిన అనేక ఎంపికలు ఉన్నాయి. + కానీ, మనము స్కాపింగ్ యొక్క ఈ అదనపు భావనను మరియు ఇది కోడ్ స్ట్రక్చర్ కు ఎలా సహాయం చేస్తుంది అని మీకు బహిర్గతం చేస్తాము. + ఇది సరిహద్దు, మరియు మేము ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున ముందుకు వెళ్తాము. + కాబట్టి, మొదటి నేమ్ స్పేస్ నామమును పరిచయం చేద్దాం. + ఒక నేమ్ స్పేస్, నేను చెప్పినట్లుగా ఒక declarative region; ఇది ఒక స్కోప్ ని కలిగి ఉంది. + సో, మేము ఇప్పటికే బ్లాక్ వంటి స్కోప్ తెలుసు, మేము ప్రతి ఫంక్షన్ ఒక స్కోప్ ని కలిగి తెలుసు; క్లాస్ కి ఒక స్కోప్ ఉంది, క్లాస్ కొన్ని, క్లాస్ నేమ్ స్కోప్ ని కలిగి ఉంది. + కాబట్టి, నేమ్స్పేస్ అంటే ఖచ్చితంగా ఉంది. + ఇక్కడ మనము ఒక declarative region, అది విభిన్న ఐడెంటిఫైర్లను, విభిన్న చిహ్నాల కలిగి ఉంటుంది. + మనకు టైప్స్, ఫంక్షన్స్, వేరియబుల్స్, క్లాస్ మరియు ఇతర నేమ్ స్పేస్లు ఉన్నాయి. + నేను చెప్పిన ప్రధాన ఉద్దేశ్యం logical groups కు కోడింగ్ను నిర్వహించడం. + మరియు ఇది చాలా ముఖ్యమైన అవసరం. + మరియు, నేమ్స్పేస్ ఉన్న ప్రధాన కారణాల్లో ఒకటి name clash, name collision జరగకుండా నివారించడం. + ముఖ్యంగా, కోడ్ బేస్లో మల్టిపుల్ లైబ్రరీలు ఉంటాయి, కోడ్ బేస్ లైబ్రరీలు లేదా standard లైబ్రరీలు ద్వారా కేటాయించబడే నేమ్స్ ను ఉపయోగించడం కోడెడ్, లేదా కోడ్ బేస్ independent డెవలపర్లు అభివృద్ధి చేయబడుతున్నాయి మరియు అనుకోకుండా అదే నేమ్స్ యొక్క సెట్ ను ఉపయోగించారు. + కాబట్టి, ఇది ప్రధాన ఉద్దేశ్యం, నేమ్స్పేస్ ఏమిటి, ఇది ఒక స్కోప్ నిర్వచిస్తుంది మరియు కోడ్ను నిర్వహించడానికి ఇది ప్రధాన ఉద్దేశం. + ప్రతి క్లాస్ డెఫినిషన్ మాడ్యులర్ డెఫినిషన్ రకంగా ఉంటుంది, కాని వ్యత్యాసం ఏ సెమాంటిక్స్ ఉండదు అని తెలిసినట్లుగా నేమ్ స్పేస్ మాడ్యులరైజేషన్ వంటి క్లాస్ ని అందిస్తుంది. + ఇది కేవలం ఒక స్కోపింగ్ నియమం, క్లాస్కి కూడా స్కోపింగ్ చేస్తుంది, కానీ ఇది క్లాస్ సెమాంటిక్స్తో స్కోపింగ్ చేస్తుంది. + నేమ్ స్పేస్ ప్రత్యేకంగా ఏ సెమాంటిక్స్ను కలిగి ఉండదు. + మరియు, సి లోని ఫైల్ స్కోప్ గురించి మీకు తెలిసిన వారికి, ఒక ఫైల్ స్టాటిక్ వేరియబుల్ లేదా ఫైల్ స్టాటిక్ ఫంక్షన్ (ఫైల్ స్టాటిక్ ఫంక్షన్) అని మేము చెప్పినట్లుగా, నేమ్‌స్పేస్ యూజ్ ఫైల్ స్కోప్ యొక్క అవసరాన్ని తొలగిస్తుంది. సి. + మీరు అదే ఉపయోగిస్తుంటే, మీకు అవసరమైనప్పుడు మీరు దానిని ఉపయోగించకూడదు మరియు ఆ ప్రదేశంలో నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను ఉపయోగించకూడదు. + అసలు కోడ్‌ను మీకు పరిచయం చేద్దాం, ఎలా రాయాలో అర్ధవంతమైన ఉదాహరణ కాదు. + కాబట్టి ఇక్కడ, నేమ్‌స్పేస్ ఒక కీవర్డ్ అని నేను చెప్తున్నాను, దానితో క్లాస్ మీరు చేసే కీవర్డ్ మరియు నేమ్‌స్పేస్ నేమ్‌స్పేస్‌ను అనుసరించాలి. + కాబట్టి, వాక్యనిర్మాణం మీరు తరగతిని ఎలా నిర్వచించాలో చాలా ఇష్టం. + సరిపోయే వంకర కలుపుల పరంగా ఇది అనుబంధ పరిధిని కలిగి ఉంది మరియు ఆ నేమ్‌స్పేస్‌లో మీరు వ్రాసే ప్రతిదీ నేమ్‌స్పేస్‌కు సంబంధించినది, అంటే దాని లోపల మీరు వ్రాసే ఏ గుర్తు అయినా నేమ్‌స్పేస్. + కాబట్టి, ఇక్కడ నేను 3 రకాల ఎంట్రీలను చూపిస్తాను. + ఒక వేరియబుల్‌కు నా డేటా అని పేరు పెట్టబడింది, ఒక ఫంక్షన్ మరియు క్లాస్ myData, myFunction, MyClass. + ఆపై, ప్రధానంగా నేను దానిని ఎలా ఉపయోగించాలో చూపిస్తాను. + నేను డేటాను ఉపయోగించాలనుకుంటే, నేను దీనిని ఇలా వ్రాయాలి. + కాబట్టి, వేరియబుల్ పేరు నా డేటా అని మీరు చూడవచ్చు, ఇది నేమ్‌స్పేస్ నేమ్‌స్పేస్ ద్వారా అర్హత పొందింది. + తరగతి పేర్లు ఎలా అర్హత సాధించాయో ఇది సమానంగా ఉంటుంది, ఉదాహరణకు, క్లాస్‌ఎస్‌లోని స్టాటిక్ డేటా సభ్యుల గురించి మీరు క్లాస్‌ఎస్‌లో స్టాటిక్ అని నేను వెంటనే మీకు గుర్తు చేస్తాను. + కాబట్టి, సింబల్ పేరు, నేమ్‌స్పేస్ పేరు తరువాత, స్కోప్ రిజల్యూషన్ ఆపరేటర్ ద్వారా వేరు చేయబడుతుంది, ఇది నేమ్‌స్పేస్ ఆబ్జెక్ట్‌ను సూచించే మార్గం. + ఉదాహరణకు, మనకు ఉన్న ఫంక్షన్, ఈ పేరు, తరగతి కోసం, ఇది పేరు. + నేమ్‌స్పేస్ యొక్క ఈ సందర్భంలో, ఇక్కడ నేను మైఫంక్షన్ వ్రాసి, దాన్ని ప్రారంభించడానికి ప్రయత్నిస్తే, అప్పుడు నాకు సంకలన లోపం వస్తుంది. + ఎందుకంటే, ఈ కార్యక్రమంలో నా పని అని పిలువబడే చిహ్నం లేదు. + నా ఫంక్షన్ (మైఫంక్షన్) సింబల్ నేమ్‌స్పేస్‌లో ఉంది మరియు అందువల్ల ఎల్లప్పుడూ నేమ్‌స్పేస్‌తో ప్రిఫిక్స్ చేయాలి. + కాబట్టి, ఇది మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను నిర్వచించే ప్రాథమిక మార్గం మరియు మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను ఉపయోగిస్తారు. + రెండు దృశ్యాలపై దృష్టి పెడదాం, ఒకటి సరళమైనది మరియు కొంచెం ఎక్కువ ప్రమేయం. + లైబ్రరీ ఫంక్షన్‌ను పునర్నిర్వచించటానికి నేను ప్రయత్నిస్తున్న దృశ్యం ఇక్కడ ఉంది. + అందువల్ల, లైబ్రరీ ఫంక్షన్‌లో ABS ఫంక్షన్ ఉందని, ప్రామాణిక లైబ్రరీకి ABS ఫంక్షన్ ఉందని మనందరికీ తెలుసు, ఇది సంపూర్ణ విలువను కనుగొంటుంది, కాని నేను దీనికి భిన్నమైన ప్రవర్తనను ఇవ్వాలనుకుంటున్నాను. + -128 మరియు 127 లోపు ఇది పూర్తి మనస్సును కలిగిస్తుందని నేను చెప్పాలనుకుంటున్నాను, లేకపోతే అది ఆ పరిధికి వెలుపల ఉంటే అది శూన్యంగా తిరిగి వస్తుంది. + కాబట్టి, దీన్ని చేయటానికి సరళమైన మార్గం, నేను అబ్స్ ఫంక్షన్ (ఫంక్షన్) ను నిర్వచించి దానిని ఉపయోగించడం ప్రారంభించాను, మరియు దాని యొక్క ఇతర కోణం ఏమిటంటే, మనం ఇలా చేస్తే, సి స్టాండర్డ్ లైబ్రరీలో ఉన్న అబ్స్ ఫంక్షన్ (ఫంక్షన్) హిడెన్, నేను నా అబ్స్ ఫంక్షన్‌ను నిర్వచించిన తర్వాత, లైబ్రరీ నుండి లభించే అబ్స్ ఫంక్షన్ (ఫంక్షన్) ఇకపై అందుబాటులో ఉండదు. + నేను అబ్స్ ను ఉపయోగిస్తే, అది నా అబ్స్ అని అర్ధం, ఇది లైబ్రరీలోని ఎబిఎస్ అని ఎప్పటికీ అర్ధం కాదు. + కాబట్టి, నేను దాని ద్వారా కోల్పోతాను. నేను దీనిని సి లో చేస్తే, మనం సి ++ లో చేయవచ్చు. + అసలు లైబ్రరీ ఫంక్షన్‌ను సూచించే సామర్థ్యాన్ని నేను నిజంగా కోల్పోతాను. + అందువల్ల, నేమ్‌స్పేస్ మంచి పరిష్కారాన్ని అందిస్తుంది. + నేను దీన్ని చేయాలనుకుంటే మరియు లైబ్రరీ ఫంక్షన్‌ను కూడా ప్రస్తావించాలనుకుంటే, నేను ఇప్పటికీ నా అబ్స్ ఫంక్షన్‌ను నిర్వచించగలను, కాని నేను దానిని కొత్త నేమ్‌స్పేస్‌లో ఉంచుతాను. + అందువల్ల, నేను దానిని నా ఎన్ఎన్ఎస్ అని పేరు పెట్టాను. + కాబట్టి, దీనితో నేను ABS ఫంక్షన్ (ఫంక్షన్) ను దాని ns :: abs గా సూచిస్తే, అది ఈ ఫంక్షన్ (ఫంక్షన్) ను సూచిస్తుంది. + నేను ఇప్పుడు చెబితే, అబ్స్ అందుబాటులో లేదు, ఎందుకంటే ఈ కొత్త కొత్త అబ్స్ వెర్షన్ నా ఎన్ఎన్ఎస్ పేరు పరిధిలో ఉంది. + కాబట్టి, నేను అబ్స్ అని చెబితే, ప్రామాణిక లైబ్రరీలో అబ్స్ లేకపోవడం అంటే. + ఈ విధంగా నేను లైబ్రరీ పేరు లేకుండా ఉన్న నా కొత్తగా ప్రవేశపెట్టిన నిర్వచనాలను రక్షించగలను. + ఇది మీరు చాలా తరచుగా ఎదుర్కొనే చాలా ప్రత్యేకమైన అవసరం మరియు నేమ్‌స్పేస్‌లను ఉపయోగించడం మంచి పరిష్కారం. + అభివృద్ధి దృష్టాంతంలో నేను త్వరగా నడుస్తాను. + ఏ సంస్థలోనైనా ఇది క్రమం తప్పకుండా జరుగుతుంది. + విద్యార్థుల రికార్డులను ప్రాసెస్ చేయడానికి ఒక సంస్థ ఒక అప్లికేషన్‌ను అభివృద్ధి చేస్తుందని అనుకుందాం మరియు రెండు తరగతులు ఉన్నాయని పేర్కొనండి; విద్యార్థులకు ఒకటి. + కాబట్టి, మాకు రెండు తరగతులు ఉన్నాయి; ఇది విద్యార్థిని సూచిస్తుంది మరియు ఇది విద్యార్థుల జాబితాను సూచిస్తుంది. + వాస్తవానికి ఇది సరైన ప్రోగ్రామ్ అయినప్పటికీ మీరు వివరాల గురించి నిజంగా బాధపడలేరు. + కాబట్టి, మీరు చదివిన సమయానికి మీరు తరువాత చదవవచ్చు మరియు ఈ ప్రోగ్రామ్ ఏమి చేస్తుందో ఖచ్చితంగా కనుగొనవచ్చు. + ఇది ఖచ్చితంగా భిన్నంగా ఉంటుంది, దీనికి కన్స్ట్రక్టర్ ఉంది, దీనికి కొన్ని సెట్లు మరియు ఫంక్షన్లు ఉన్నాయి మరియు ఇది విద్యార్థి రికార్డ్ రాయగల సామర్థ్యం గల అవుట్పుట్ ఆపరేటర్‌ను కలిగి ఉంది. + మరియు, దీనికి ఒక జాబితా ఉంది మరియు ఇది హాజరైన విద్యార్థుల సంఖ్యను పర్యవేక్షిస్తుంది మరియు ఈ జాబితాలో ఒక విద్యార్థిని చేర్చే అవకాశం ఉంది. + అందువల్ల, మీరు విద్యార్థిని జోడించినప్పుడల్లా, ఆ విద్యార్థి యొక్క రోల్ నంబర్ కేటాయించబడుతుంది. + ఈ ప్రాసెసింగ్ అనువర్తనాన్ని అభివృద్ధి చేసే విషయంలో, సంస్థ ఏమి చేస్తుంది మరియు చాలా నిర్దిష్టంగా ఉంటుంది, డిజైనర్లలో ఒక సీనియర్ బహుశా ఈ క్లాస్ఎస్ (క్లాసులు) ను డిజైన్ చేసి ఉండవచ్చు. + ఆపై చాలా మంది డెవలపర్లు సిస్టమ్ యొక్క వివిధ భాగాలను అభివృద్ధి చేయటానికి బాధ్యత వహిస్తారు. + కాబట్టి, ఈ తరగతులు తరగతులను రూపొందించాయి మరియు స్టూడెంట్స్ హెచ్ అనే హెడర్ ఫైల్‌లో ఇవ్వబడ్డాయి. + ఈ సమయంలో బాధ్యత ఇవ్వబడుతుంది; మగ విద్యార్థులకు మరియు మహిళా విద్యార్థుల కోసం విడిగా అభివృద్ధిని విభజించమని ఇంజనీర్లను అడుగుదాం. + వారికి వేర్వేరు హాస్టల్ అవసరాలు, విభిన్న విషయ వర్గీకరణ అవసరాలు మొదలైనవి ఉంటాయి. + కాబట్టి, ఇది మగ విద్యార్థుల కోసం సవిత చేత చేయబడుతోంది; మహిళా విద్యార్థులకు నీలోయ్ సమాన అభివృద్ధి; మరియు పూర్ణిమా అతని నాయకుడు, చివరికి ఈ రెండు అనువర్తనాలను మీ తుది అనువర్తనాలతో అనుసంధానించాలి. + కాబట్టి ఏమి జరుగుతుంది, ఇది ప్రమాదవశాత్తు, యాదృచ్చికంగా, ఏమైనా కావచ్చు, సవిత ఈ మొత్తం ప్రాసెసింగ్ అప్లికేషన్‌ను మగ విద్యార్థుల కోసం ప్రాసెస్ స్టూడెంట్స్‌గా పిలుస్తుంది; మరియు, నీలోయ్ ఫంక్షన్ యొక్క అదే పేరును కూడా ఎంచుకుంటాడు. + ఆపై, వారు అభివృద్ధి చేసిన వాటిని పరీక్షించడానికి స్వతంత్ర కోర్ అనువర్తనాలను వ్రాస్తారు. + మీరు ఏమి చేస్తున్నారనే దాని గురించి మీరు బాధపడవలసిన అవసరం లేదు, ఇది ప్రాథమికంగా, ఈ అనువర్తనం మగ విద్యార్థులను ముద్రించినట్లయితే, ఈ అనువర్తనం మహిళా విద్యార్థులను ముద్రిస్తుంది, కానీ ఇది కేవలం ప్రాసెసింగ్ ఏమి జరుగుతుందో నేను నిజంగా ఆందోళన చెందడం లేదు అనే సూచన ఉంది . + వాస్తవం ఏమిటంటే, వారు యాదృచ్చికంగా ఒకే ఫంక్షన్ పేరును ఎంచుకున్నారు మరియు స్వతంత్రంగా కలిసి అభివృద్ధి చేశారు. + ఇప్పుడు, ఇద్దరూ పూర్ణిమకు కోడ్ను సమర్పించారు, ఇది ప్రధానమైనది, ఇప్పుడు పూర్ణిమ వాటిని కలిసి ఉంచాలి. + కాబట్టి, వాస్తవానికి, మేము ఒక్కసారి తిరిగి వస్తే, పౌర్ణమి ఈ కీని ఉపయోగించదు, లేదా ఈ కీని ఉపయోగించదు, ఎందుకంటే ఈ రెండు కోడ్‌లను ఇది సమగ్రపరచాలి. + కాబట్టి, ఇది అందరికీ ఒక ప్రధాన ఇంటిగ్రేటెడ్ అప్లికేషన్ రాయాలి. + కాబట్టి, ఆమె రాయడానికి ప్రయత్నిస్తుంది. + కాబట్టి, అతను ఈ ఫంక్షన్లను పిలవాలి, విద్యార్థుల ఫంక్షన్లను ప్రాసెస్ చేయాలి. + అతను తన నిర్వచనాలను ఉంచాలి మరియు రెండూ ఒకే ఫంక్షన్ పేరును ఉపయోగిస్తాయని అతను కనుగొన్నాడు. + కాబట్టి, ఆమె అతని కోడ్‌ను కాపీ చేస్తే, ఇది ఇలా ఉంటుంది. + మీరు అర్థం చేసుకోగలిగినట్లుగా ఇది పేరు ఘర్షణను ఇస్తుంది మరియు అది ఒకేలా ఉండకపోవచ్చు, ఇది కంపైల్ చేయదు. + ఇప్పుడు, మొత్తం సమైక్యత ప్రక్రియ విఫలమైంది. + నేను ఒక ఫంక్షన్ పేరును సూచనగా మాత్రమే చూపించాను, కాని వాస్తవానికి, అనువర్తనం వేలాది పంక్తుల జతలలో ఉంటుంది. + అనేక చిహ్నాలు, అనేక విధులు, గ్లోబల్ వేరియబుల్స్, క్లాస్ పేర్లు, అనేక రకాలు మరియు మొదలైనవి ఉండవచ్చు, ఇవి రెండు డెవలపర్‌ల మధ్య ఒకే పేరు కావచ్చు. + ఎక్కువ మంది డెవలపర్లు కూడా ఉండవచ్చు. + కొన్ని సందర్భాల్లో, ఒకే పేరు అంటే ప్రోగ్రామ్‌లు లేదా ఇద్దరు డెవలపర్‌ల కోడ్ మధ్య ఒకే విషయం; కొన్ని సందర్భాల్లో, సవిత ఉపయోగించిన అదే పేరు నిలోయ్ వేరే అర్థంలో ఉపయోగించబడుతుంది. + కాబట్టి, ఇది చాలా కష్టమైన సమస్య. + పౌర్ణమిని ఏకీకృతం చేయాలంటే, అది మొత్తం కోడ్‌ను అర్థం చేసుకోవాలి, ఆపై దాన్ని సవరించాలి మరియు దానిలో మార్పులు చేయాలి మరియు ఇది పూర్తి పీడకల అవుతుంది. + కాబట్టి, దీనిని సాధారణంగా సంస్థలో సంభవించే ఇంటిగ్రేషన్ పీడకల అంటారు. + కానీ, వాస్తవం యొక్క ఇతర అంశం ఏమిటంటే, రెండు అనువర్తనాలు మగ విద్యార్థుల కోసం సవిత మరియు స్వతంత్రంగా పనిచేసే మహిళా విద్యార్థుల కోసం నీలోయ్ చేత అభివృద్ధి చేయబడ్డాయి, అది మాత్రమే, వారు కొన్ని సాధారణ పేర్లను పంచుకుంటారు. అందువల్ల నేమ్‌స్పేస్ పరిష్కరించగల ఒక వినాశనం అవుతుంది ఈ సమస్య చాలా సులభంగా. + పూర్ణిమా ఇప్పుడు సవిత అభివృద్ధి చేసిన మరియు నిలోయ్ అభివృద్ధి చేసిన అన్ని అనువర్తనాలను తీసుకొని వాటిని రెండు వేర్వేరు నేమ్‌స్పేస్‌లలో ఉంచాలి. + ఆమె యాప్ 1 మరియు యాప్ 2 అనే రెండు పేర్లను నిర్ణయిస్తుంది మరియు సవిత యొక్క సంఘటనలను, నీలోయ్ యొక్క సంఘటనలను అందులో ఉంచుతుంది. + కాబట్టి, అది పూర్తయిన తర్వాత, ఈ అనువర్తనంలో, ఇవన్నీ ఒకే నేమ్‌స్పేస్‌లో ఉంటాయి. + కాబట్టి, అప్లికేషన్ ఇప్పటికీ పనిచేస్తుంది. + ఈ భాగం ఇప్పటికీ పని చేస్తుంది, కానీ మీరు ప్రధాన ఫంక్షన్ల కోణం నుండి చూస్తున్నప్పుడు మీరు బయట ఉన్నప్పుడు, ఈ రెండు రెండు వేర్వేరు నేమ్‌స్పేస్‌లలో ఉంటాయి. + కాబట్టి, అవి ప్రాథమికంగా, విభిన్న విధులు. + అందువల్ల, వాటిని నేమ్‌స్పేస్‌కు జోడించిన తర్వాత తిరిగి వస్తుంది. + ఇప్పుడు, అతను తిరిగి సమైక్యతలోకి వచ్చాడు. + అంటే, సావిత యొక్క అనువర్తనాలు ఇప్పుడు యాప్ 1 నేమ్‌స్పేస్ (నేమ్‌స్పేస్) లో పనిచేసే విద్యార్థుల కోసం చాలా ప్రక్రియ. నిలోయ్ కోసం, ఈ అనువర్తనం 2 నేమ్‌స్పేస్‌లలో ఉంది. + అందువల్ల, అతను చేయవలసినది చేస్తూ, అతను రెండు అభివృద్ధి యూనిట్ల మధ్య పేరు ఘర్షణను పరిష్కరించాడు మరియు అప్లికేషన్ సందర్భంలో, అతను చేయాల్సిందల్లా నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఉపసర్గను ఉపయోగించడం. మరియు రెండు పనులను స్వతంత్రంగా కాల్ చేయండి, ఒకటి తరువాత మరొకటి లేదా ఆమె చేయాలనుకుంటున్నది. + కాబట్టి, ఇది చాలా నిర్దిష్టమైన విధానం, ఇది పెద్ద మొత్తంలో ప్రాక్టికల్ ఇంటిగ్రేషన్ సమస్యను పరిష్కరించగలదు మరియు దానిని పరిగణనలోకి తీసుకోవాలి. + వాస్తవానికి, ఒకే వ్యవస్థలోని చాలా మంది డెవలపర్లు (డెవలపర్లు) వేర్వేరు పేర్లను సమన్వయం చేసుకోలేరు మరియు పరిష్కరించలేరు అనేది మంచి ఆలోచన కాదు, అయితే తరచుగా వేర్వేరు మాడ్యూల్స్ (మాడ్యూల్) కోసం నేమ్‌స్పేస్‌లను ఉపయోగించడం మంచిది. పేర్లు, వేర్వేరు సహాయక విధులు, సహాయక తరగతులు మరియు వేర్వేరు మాడ్యూళ్ల మధ్య మీరు నిజంగా బాధపడవలసిన అవసరం లేదు. + అందువల్ల, మేము విద్యార్థుల రికార్డును అభివృద్ధి చేస్తుంటే, ప్రధానంగా విద్యార్థుల విద్యా భాగాలతో పనిచేసే మాడ్యూల్ ఉండవచ్చు; ఒక మాడ్యూల్ విద్యార్థుల ఫీజులకు సంబంధించినది; మాడ్యూల్ హాస్టల్‌తో సంబంధం కలిగి ఉంటుంది; మరొక మాడ్యూల్ వారి టైమ్‌టేబుల్‌తో వ్యవహరిస్తుంది. + కాబట్టి, కోడ్‌ను నిర్వహించడానికి మరియు రూపకల్పన చేయడానికి ఒక మంచి మార్గం ఈ మాడ్యూల్‌కు ప్రత్యేక నేమ్‌స్పేస్‌ను కేటాయించడం మరియు ప్రాథమికంగా కోడ్‌ను ఆ విధంగా వేరు చేయడం, తద్వారా ఇది ఎప్పటికీ .ీకొనకుండా చూసుకోండి. + అందువల్ల, నేమ్‌స్పేస్ ఎందుకు ముఖ్యమో మీరు అర్థం చేసుకున్న చర్చను మాత్రమే నేను పూర్తి చేయాలి. + కాబట్టి, నేను నేమ్‌స్పేస్ అయిన శీఘ్ర లక్షణాలకు మాత్రమే వెళ్లాలి. + నేను చెప్పినట్లు, ఇది ఒక తరగతికి సమానం; తరగతి వలె, నేమ్‌స్పేస్ గూడు చేయవచ్చు. + కాబట్టి, నాకు ఇక్కడ 1 అనే నేమ్‌స్పేస్ ఉంది మరియు దాని లోపల నాకు మరొక నేమ్‌స్పేస్ ఉంది. + కాబట్టి, ఇదంతా జరుగుతుంది, నేను ఒక నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను మరొకదానికి గూడు చేస్తే, ఈ నెస్టెడ్ నేమ్‌స్పేస్ (నేమ్‌స్పేస్) పేరు బాహ్య నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ద్వారా అర్హత పొందుతుంది. + కాబట్టి, ఇది చాలా సులభం. + కాబట్టి, ఈ డేటా నేమ్‌స్పేస్ నేమ్స్ 1 లో ఉందని అర్థం, అయితే, ఇది డేటా 1 డేటా పేర్ల నేమ్‌స్పేస్‌లో ఉంది :: పేర్లు 2, ఎందుకంటే ఇది సొంత పేరు 1 :: పేర్లు. 2 + కాబట్టి, మేము ఈ కోడ్ వ్రాస్తే, నేను డేటాను వ్రాస్తే, అప్పుడు డేటా మాత్రమే అయిపోతుంది, అంటే డేటా అని అర్ధం. + నేను name1 :: data అని వ్రాస్తే, ఈ డేటా అంటే, నేను name1 :: name2 :: data (data) అని వ్రాస్తే, అంటే డేటా. + అందువల్ల, మీరు నేమ్‌స్పేస్‌ను గూడులో ఉంచుకున్నప్పుడు, మరింత ఎక్కువ ఉపసర్గలు జోడించబడతాయి. + కాబట్టి, నేమ్‌స్పేస్ కోసం ఏ స్థాయిలోనైనా ఒక గూడును సృష్టించడం సాధ్యపడుతుంది. + తరచుగా, మీరు ఈ విధంగా చేస్తే మీకు చాలా గూళ్ళు మరియు మీరు ఉపయోగించాలనుకునే అనేక చిహ్నాలు ఉన్నందున, ప్రతిసారీ మీరు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ను నమోదు చేయాలి. + కాబట్టి, మీరు ఉపయోగించగల సత్వరమార్గం ఉంది. + మీరు ఉపయోగించగల ప్రాథమికంగా రెండు సత్వరమార్గాలు ఉన్నాయి; వీటిలో ఒకదాన్ని ఉపయోగించడం అంటారు. + కాబట్టి, మీరు చేయగలిగే ఒక సత్వరమార్గం మిమ్మల్ని ఉపయోగించడం, ఆపై మీరు నేమ్‌స్పేస్‌కు పేరు పెట్టండి. + కాబట్టి, నేమ్‌స్పేస్ నేమ్స్ 1 ను ఉపయోగించమని మీరు అంటున్నారు. + ఇది తరువాత ఉపయోగించబడే చిహ్నం ఉందని దీని అర్థం; ఈ నేమ్‌స్పేస్ పేరు 1 లో చిహ్నంగా ఉందో లేదో తనిఖీ చేయడానికి మీరు ప్రయత్నిస్తారు. + మరియు ఆ చిహ్నం ఉంటే మీరు ఆ గుర్తును ప్రస్తావిస్తారు. + కాబట్టి, నేమ్‌స్పేస్‌ను ఉపయోగించడం యొక్క లక్షణం ఇది. + మరొక లక్షణం ఉపయోగిస్తోంది, మీరు ఉపయోగించమని చెప్పవచ్చు మరియు మీరు చెప్పవచ్చు, వాస్తవానికి ఇది విలువైన చిహ్నం. + కాబట్టి, మీరు అర్హతగల చిహ్నాన్ని పేర్కొంటే, అర్హత గల చిహ్నానికి పేరు పెట్టండి, తరువాత మీరు చిహ్నం పేరు గురించి మాట్లాడినప్పుడల్లా, అది అర్హత కలిగిన చిహ్నం అని అర్ధం. + కాబట్టి, ఈ ఉదాహరణ సహాయపడాలి. + కాబట్టి, నాకు రెండు నేమ్‌స్పేస్‌లు ఉన్నాయి, పేరు 1 మరియు పేరు 2; name1 కి రెండు చిహ్నాలు ఉన్నాయి; పేరు 2 రెండు చిహ్నాలుగా; మరియు, నేమ్ 1, నేమ్‌స్పేస్ నేమ్ 1 పై నాకు ఉపయోగం ఉంది మరియు ఈ ప్రత్యేక చిహ్నం, నేమ్ 2 యొక్క వేరియబుల్‌పై నాకు ఒక ప్రయోగం ఉంది. + కాబట్టి, ఏమి జరుగుతుంది? నేను v11 అని చెబితే, అది ఏమి తనిఖీ చేస్తుంది? నేను నేమ్‌స్పేస్ నేమ్స్ 1 ఉపయోగిస్తున్నానని ఇది తనిఖీ చేస్తుంది. + కాబట్టి, ఆ నేమ్‌స్పేస్‌లో V11 ఉందా? అది జరుగుతుంది. + కాబట్టి, అది దానితో కలుపుతుంది. + నేను పేరు 1: v 12 అని చెబితే, అది ఇక్కడ అనుబంధించబడుతుంది. + అందువల్ల, నేను దాన్ని ఉపయోగిస్తున్నప్పుడు కూడా, నేను చిన్న రూపాన్ని ఉపయోగించడం తప్పనిసరి కాదని మీరు చూడవచ్చు. + అలా చెప్పే బదులు, నేను v12 మాత్రమే వ్రాయగలను; ఇది నేమ్ 1 లో కూడా అదే వేరియబుల్ గురించి ప్రస్తావించింది, ఎందుకంటే నేను నేమ్‌పేస్ నేమ్ 1 ఉపయోగిస్తున్నాను. + కానీ, నేను ఉపయోగించే సత్వరమార్గాన్ని ఉపయోగించడం తప్పనిసరి కాదు లేదా నేను ఇక్కడ చేసినట్లుగా పూర్తి అర్హత గల పేరును కూడా ఉపయోగించగలను. + V21.v21 గురించి ఆలోచించండి దీని అర్థం. + ఎందుకు? నేను నేమ్‌స్పేస్ నేమ్‌లను ఉపయోగించను. + కానీ, నేను ఈ ప్రత్యేక చిహ్నంపై మాత్రమే ప్రయోగాలు చేస్తున్నాను. + కాబట్టి, నేను v21 అని చెబితే దాని అర్థం, ఇది పేరు 2 :: v21 మరియు అది సరైనది. + అదేవిధంగా, పేరు 2 :: v21 అని చెప్పి, స్టిల్ పద్ధతుల ద్వారా నేను దీన్ని నేరుగా సూచించగలను. ఇది కూడా అనుమతించబడుతుంది; పేరు యొక్క స్పష్టమైన ఉపయోగం అనుమతించబడుతుంది. + V22 గురించి ఆలోచించండి; v22 ఇక్కడ ఉంది. + నేమ్‌స్పేస్‌లో నేమ్ 2 ను ఉపయోగించాల్సిన అవసరం లేదు. + కాబట్టి, v22 అని అర్ధం కాకపోవచ్చు, ఈ ప్రత్యేక సంస్థ పేరు 2: v22 వంటి ఉపయోగం నాకు లేదు. అది నా దగ్గర లేదు. + కాబట్టి, కంపైలర్ ఈ కోడ్‌లో ఏ v22 చిహ్నాలను చూడలేరు మరియు కంపైలర్ దానిని నిర్వచించనిదిగా పరిగణిస్తుంది. + ఇది వి 22 అనే గుర్తు లేదు. + ఇది ఉపయోగించడానికి ప్రాథమిక ఉపయోగం; ఉదాహరణకు, మీరు దీన్ని కోడ్‌లో చూస్తున్నారు, ప్రామాణిక లైబ్రరీలోని అన్ని చిహ్నాలు నేమ్‌స్పేస్‌లో ఉన్నందున మేము దీనిని వ్రాస్తూనే ఉంటామని నేను మొదట్లో పేర్కొన్నాను. + కాబట్టి, ఇది రాయడం మన జీవితాన్ని సులభతరం చేస్తుంది, మీ కౌట్ ను std :: out; సిన్ గా std :: cin et cetera. + ఇప్పుడు, మేము గ్లోబల్ నేమ్‌స్పేస్ గురించి కూడా మాట్లాడుతాము. + నాకు ఒక ఉదాహరణ ఉందని అనుకుందాం. + ఉదాహరణ అర్థం చేసుకోండి; గ్లోబల్ స్కోప్ డేటాకు వ్రాయబడిన వేరియబుల్ నాకు ఉంది. + నేమ్‌స్పేస్ నేమ్స్ 1 లో, నాకు వేరియబుల్ డేటా ఉంది. + ఇప్పుడు, మీరు ఈ ప్రోగ్రామ్ గురించి క్రింద ఆలోచించకపోతే అవి పరిష్కరించగలవు, ఎందుకంటే అవి పరిష్కరించబడతాయి, ఎందుకంటే నేను డేటాను వ్రాస్తే, దీని అర్థం మరియు నేను పేరు 1 :: డేటాను వ్రాస్తే, దీని అర్థం, స్పష్టంగా. + కానీ, ఈ ఫంక్షన్ (ప్రధాన) లో అనుకుందాం, నాకు నేమ్ 1 :: డేటా వాడకం ఉంది. + కాబట్టి దీని అర్థం ఏమిటి? దీని అర్థం, ఇప్పుడు నేను డేటా గురించి మాట్లాడితే, ఈ డేటా అని అర్థం; ఇప్పుడు ఈ డేటా అర్థం కాదు; ఎందుకంటే, నేను నేమ్ 1 :: డేటాను ఉపయోగించాలి. + కాబట్టి, నేమ్ 1 :: డేటా ఈ సమయం నుండి డేటాగా పిలువబడుతుంది. + కాబట్టి, నేను డేటా చెబితే, నేను దాన్ని పొందుతాను. + నేను name1 :: data అని చెబితే, నేను కూడా దీన్ని పొందుతాను. + కాబట్టి, దీని అర్థం నేమ్‌స్పేస్‌లో నిర్వచించబడని డేటాను యాక్సెస్ చేసే సామర్థ్యాన్ని నేను కోల్పోయాను, ఇది బయట నిర్వచించబడింది. + కాబట్టి, గ్లోబల్ రాజ్యంలో ఉన్న గ్లోబల్ స్పేస్‌లో ఉన్న చిహ్నాలను యాక్సెస్ చేయగలిగేలా సి ++ మాకు ఒక యంత్రాంగాన్ని ఇస్తుంది. + మీరు ఏమి చేసినా, మీరు అదే సంజ్ఞామానాన్ని ఉపయోగిస్తారు, కానీ ప్రపంచ, ఆలోచన అనేది ఒక రకమైనది, నేమ్‌స్పేస్ వంటి ప్రపంచ పరిధి కూడా, కానీ ఆ నేమ్‌స్పేస్ (నేమ్‌స్పేస్) కు పేరు లేదు + కాబట్టి, ఇది కేవలం ఖాళీ పేరు. + కాబట్టి, మీరు చేసే ప్రతిదాన్ని :: డేటా. + కాబట్టి, ఇది ఎల్లప్పుడూ గ్లోబల్ స్కోప్‌లోని పేరును సూచిస్తుంది. + కాబట్టి, ఇది ఉనికిలో ఉన్న గ్లోబల్ నేమ్‌స్పేస్ యొక్క ప్రాథమిక భావన. + ప్రామాణిక నేమ్‌స్పేస్, కాబట్టి మేము దాని గురించి మాట్లాడుతున్నాము, అన్ని C ++ దాని ప్రామాణిక లైబ్రరీ చిహ్నాలు, తరగతులు, విధులు, ప్రతిదీ std నేమ్‌స్పేస్‌లో ఉంచుతుంది. + కాబట్టి, మేము IO స్ట్రీమ్‌ను మాత్రమే చేర్చుకుని, దీన్ని చేయాలనుకుంటే, దాన్ని ఉపయోగించి ఒక ప్రోగ్రామ్‌ను రాయండి, అప్పుడు ప్రతిసారీ మనం గుర్తును std :: తో ప్రిఫిక్స్ చేయాలి. + ఉదాహరణకు, నేను ఎండ్ల్ రాయాలనుకుంటే, నేను దానిని std :: endl, endline అని వ్రాయాలి. + అందువల్ల, మేము నేమ్‌స్పేస్ std ఉపయోగించి సత్వరమార్గాన్ని చేయవచ్చు. + దీని అర్థం ఏమిటంటే, నేను కౌట్ వ్రాస్తే, అది std నేమ్‌స్పేస్ (నేమ్‌స్పేస్) కు కౌట్ ఉందో లేదో కూడా తనిఖీ చేస్తుంది; ఇది ఒకటి. + కాబట్టి, std అదే సంబంధం ఉంటుంది. + కాబట్టి, std నేమ్‌స్పేస్ మనకు అందుబాటులో ఉన్న అతి ముఖ్యమైన నేమ్‌స్పేస్. + మరిన్ని నేమ్‌స్పేస్‌ల జతలు కూడా నిర్వచించబడ్డాయి. + మేము తరువాత వాటి గురించి మాట్లాడుతాము. + నేమ్‌స్పేస్‌ల గురించి చాలా ఆసక్తికరమైన అంశం ఏమిటంటే, నేమ్‌స్పేస్‌లు తెరిచి ఉన్నాయి, ఆ కోణంలో; ఒక తరగతి గురించి ఆలోచించండి. మీరు ఒక తరగతిని మాత్రమే నిర్వచించినట్లయితే, మీరు ఆ తరగతి, డేటా సభ్యుడు, ఫంక్షన్ మరియు మొదలైన వాటిలో ఏ చిహ్నాన్ని ఉంచారో., స్నేహితులు మరియు తరగతి యొక్క సమగ్ర నిర్వచనంలో చేర్చబడిన వారందరూ. + మరియు, ఆ పరిధి ముగిసిన తర్వాత, మీరు తరగతి యొక్క పరిధికి కొత్త చిహ్నాలను జోడించలేరు. + కానీ నేమ్‌స్పేస్‌లో ఇది భిన్నంగా ఉంటుంది. + కాబట్టి, నేమ్‌స్పేస్ ఓపెన్‌గా ఉండటానికి దీని అర్థం. + ఇక్కడ, నేను నేమ్‌స్పేస్‌ను సృష్టించాను, అక్కడ నేను x చిహ్నాన్ని ఉంచాను. + పరిధి మూసివేయబడింది; ఇది ఇక్కడ నుండి ప్రారంభమైంది, ఇది ఇక్కడ మూసివేయబడింది. + కానీ, నేమ్‌స్పేస్ తెరిచి, మరొక గుర్తును ఉంచానని నేను మళ్ళీ చెప్తున్నాను; అంటే ... కాబట్టి, ఏది జరిగినా అది అదే రాజ్యంలో కలుస్తుంది. + ఇప్పుడు, ఇది ప్రాథమికంగా చెబుతుంది, నేమ్‌స్పేస్ ఓపెన్‌కు రెండు చిహ్నాలు ఉన్నాయి, x చిహ్నం అలాగే y చిహ్నం. + కాబట్టి, నేమ్‌స్పేస్ (ఓపెన్) ను ఉపయోగించమని మేము చెబితే, నేను X మరియు Y రెండింటినీ ఉపయోగించవచ్చు మరియు ఒకే నేమ్‌స్పేస్ (నేమ్‌స్పేస్) నుండి, అవి, X ఇక్కడ బంధిస్తాయి మరియు Y ఇక్కడ బంధిస్తాయి. + కాబట్టి, ఈ నిష్కాపట్యత చాలా సరళమైన ఒక ఆసక్తికరమైన భావన, తద్వారా, మీరు నేమ్‌స్పేస్ యొక్క వివిధ భాగాలను చాలా, వేర్వేరు ఫైళ్ళలో కూడా పేర్కొనవచ్చు. + ఇది ఆ పోలిక యొక్క సారాంశం, ఎందుకంటే మేము తరగతి భావన గురించి పదేపదే మాట్లాడుతున్నాము మరియు దానిని నేమ్‌స్పేస్‌తో పోల్చాము. + నేమ్‌స్పేస్ మరియు క్లాస్ మధ్య ప్రతి నేమ్‌స్పేస్ క్లాస్ కాదు, మరియు ప్రతి క్లాస్ నేమ్‌స్పేస్‌ను నిర్వచిస్తుంది. + ఇది మీకు అదే అర్హత సామర్థ్యాన్ని ఇస్తుంది. + నేమ్‌స్పేస్‌ను తిరిగి తెరవవచ్చు, కాని మరిన్ని డిక్లరేషన్లలో ఉంచవచ్చు. + తరగతి పరంగా, ఇలాంటిదేమీ లేదు. + వాస్తవానికి, నేమ్‌స్పేస్‌ను తక్షణం చేయలేము; క్లాస్ఎస్ వస్తువులకు తక్షణమే పరిగణించబడుతుంది. + నేమ్‌స్పేస్‌ల కోసం ఒక యంత్రాంగాన్ని ఉపయోగించడం అందుబాటులో ఉంది; ఖచ్చితంగా, ఒక తరగతి కోసం అలా చేయడంలో అర్థం లేదు. + మరింత ఆసక్తికరంగా, నేమ్‌స్పేస్ అనామకంగా ఉంటుంది; కొన్ని చిహ్నాలను వేరు చేయడానికి మరియు వాటిని కలిసి ఉంచడానికి నేను నేమ్‌స్పేస్ కలిగి ఉంటాను, కానీ వాటిని బాహ్యంగా యాక్సెస్ చేయకూడదు. + మీకు నేమ్‌స్పేస్ పేర్లు ఎందుకు అవసరమో చూడండి, తద్వారా మీరు బయటి నుండి, డిక్లరేషన్‌లను ఉపయోగించి లేదా నేమ్‌స్పేస్‌ల లోపల నేరుగా చిహ్నాలను ఉపయోగించవచ్చు. + ఇప్పుడు, నేను కొన్ని చిహ్నాలను దృశ్యమానంగా దాచాలనుకుంటే మరియు వాటితో సంభాషించాలనుకుంటే, నేను వాటిని నేమ్‌స్పేస్‌లో ఉంచగలను మరియు ఆ నేమ్‌స్పేస్‌కు పేరు ఇవ్వలేను. + నేను ఆ నేమ్‌స్పేస్‌కు పేరు ఇవ్వకపోతే, ఆ నేమ్‌స్పేస్‌కు వెలుపల ఎవరికీ ఆ నేమ్‌స్పేస్‌కు గుర్తు లేదు. + కాబట్టి, అనామక నేమ్‌స్పేస్‌కు ఒక అర్థం ఉంది; అనామక తరగతి స్పష్టంగా అర్ధం కాదు. + ఇది అనుమతించబడదు. + నేను మూసివేసే ముందు, C ++ నిర్వచించే వివిధ లెక్సికల్ తరగతులలో నేమ్‌స్పేస్ ఒకటి అని మీకు గుర్తు చేయాలనుకుంటున్నాను. + మరియు, ఇవి మీ వద్ద ఉన్న విభిన్న లెక్సికల్ స్కోప్‌లు. + వ్యక్తీకరణ యొక్క పరిధి అనేది వ్యక్తీకరణ యొక్క వివిధ భాగాలను లెక్కించడానికి తాత్కాలిక వాటిని ఉపయోగిస్తారు మరియు అవి వ్యక్తీకరణలో పరిధిని కలిగి ఉంటాయి. + చాలా తరచుగా, మేము ఈ తాత్కాలిక విషయాలను చూడలేము. + కాబట్టి, కంపైలర్ మాత్రమే దీన్ని నిర్వహిస్తుంది. + అయినప్పటికీ, మేము తరచుగా బ్లాక్ మరియు ఫంక్షన్ స్కోప్‌తో వ్యవహరిస్తున్నాము, ముఖ్యంగా సి లో; మరియు, C లో ఫైల్ మరియు గ్లోబల్ స్కోప్, మరియు, C ++ కి వచ్చిన తరువాత, ఇవి ఉనికిలో ఉన్నాయి మరియు దానికి తోడు మనకు క్లాస్ స్కోప్ మరియు నేమ్‌స్పేస్ స్కోప్ ఉన్నాయి, వీటిని మనం చర్చించాము. + మీరు గమనించినట్లుగా, స్కోప్‌లకు పేరు పెట్టవచ్చు లేదా అనామకంగా ఉంటుంది; తరగతి పరిధి వలె ఎల్లప్పుడూ పేరు ఉండాలి. + నేమ్‌స్పేస్ స్కోప్ సాధారణంగా పేరుగా ఉంటుంది, కానీ అనామకంగా కూడా ఉంటుంది. + గ్లోబల్ స్కోప్‌కు పేరు లేదు, కానీ ఈ స్కోప్‌ను స్కోప్ ఆపరేటర్ గుర్తించవచ్చు. + వ్యక్తీకరణలు, బ్లాక్ ఫంక్షన్ మరియు ఫైల్ స్కోప్ వంటి ఈ స్కోప్‌లు అవి అనామక పేర్లు కావు. + ఇంకా, బ్లాక్ స్కోప్, క్లాస్ స్కోప్, నేమ్‌స్పేస్ స్కోప్ వంటి స్కోప్‌లను సమూహపరచవచ్చు; వారు గూడు చేయవచ్చు. + అయినప్పటికీ, ఫంక్షన్ స్కోప్ లేదా ఎక్స్‌ప్రెషన్ స్కోప్ వంటి కొన్ని స్కోప్‌లు ఉన్నాయి, అవి గూడులో ఉండవు. + కానీ వాటిలో కొన్ని ఇతర స్కోప్‌లను కలిగి ఉండవచ్చు, కానీ వాటి స్వంతం కాదు. + కాబట్టి, ఇది సంగ్రహంగా చెప్పాలంటే ఇది చాలా ముఖ్యమైనది, ముఖ్యంగా లెక్సికల్ పరిధిని తెలుసుకోవడం, ఎందుకంటే సి ++ ఒక బలమైన లెక్సికల్ స్కోప్ భాష. + దీనికి డైనమిక్ స్కోపింగ్ లేదు; అంటే, దీనికి ఎగ్జిక్యూషన్ డిపెండెంట్ నేమ్ బైండింగ్ లేదు. + ఇది పూర్తి పేరు బైండింగ్, ఇది అనుబంధించేది, ఇది వేరియబుల్ పేరుతో జ్ఞాపకశక్తిని ఎలా అనుబంధిస్తుంది అనేది పూర్తిగా లెక్సికల్ పరిధిపై ఆధారపడి ఉంటుంది, ఇది స్టాటిక్ సమయంపై పూర్తిగా ఆధారపడి ఉంటుంది. + అందువల్ల, వేరియబుల్ పేర్లను పేర్కొనడం మరియు వాటి దృశ్యమానత మరియు ప్రాప్యతను పరిమితం చేసే ఈ విభిన్న ఎంపికల నుండి, ఇది డిజైన్ స్థితిలో ఉంది మరియు దానిని ఉపయోగించడం చాలా ముఖ్యం. + మరియు, నేమ్‌స్పేస్ లెక్సికల్ స్కోప్‌ల కిట్టిని విస్తరించడానికి మాత్రమే సహాయపడుతుంది మరియు ప్రత్యేకించి, మీ కోడ్‌ను నిర్వహించడానికి మరియు ప్రత్యేకంగా లైబ్రరీలను యాక్సెస్ చేయడానికి మరియు మీ లైబ్రరీలోని చిహ్నాల నుండి మీ లైబ్రరీని ఇతర మూడవ పార్టీ లైబ్రరీల నుండి వేరు చేయడానికి ఒక శక్తివంతమైన సాధనం. . + ఉదాహరణకు, మీరు ఇతరులతో పంచుకోవాలనుకునే లైబ్రరీని అభివృద్ధి చేస్తుంటే, ఆ మొత్తం విషయానికి అర్ధవంతమైన నేమ్‌స్పేస్ అని పేరు పెట్టడం మంచిది మరియు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఆ మొత్తం అభివృద్ధిని లోపల ఉంచండి, ప్రామాణిక లైబ్రరీ వంటివి std ఉపయోగించి . + ఆపై దానిని వినియోగదారుకు ఇవ్వండి, తద్వారా మీరు మీ లైబ్రరీలో కొన్ని ఫంక్షన్ పేర్లు లేదా తరగతి పేర్లను ఉపయోగించినట్లు చెప్పలేము, ఇది వినియోగదారు కూడా ఉపయోగించాలనుకుంటుంది, కానీ చేయలేకపోతుంది. + కాబట్టి, ఇది నేమ్‌స్పేస్‌ల గురించి మరియు మేము ఇక్కడ మూసివేస్తాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/14. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 27)-ZWrUldXUpbw.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/14. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 27)-ZWrUldXUpbw.txt index b40e87f6cc8da179216d6fc2ce95cf6eab81f394..4edcdd7c0dd6e890bc81c69396ad777b8964aa27 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/14. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 27)-ZWrUldXUpbw.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/14. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Contd.) (Lecture 27)-ZWrUldXUpbw.txt @@ -1,195 +1,195 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C++ మాడ్యుల్ 14కు స్వాగతం . - 2. మేము కాపీ కన్స్ట్రక్షన్ ప్రక్రియ గురించి చర్చించాము. - 3. మేము ఏ కాపీ కన్స్ట్రక్టర్(copy constructor) ని పరిచయం చేశాము? ఇది ఒక ప్రత్యేక కన్స్ట్రక్టర్, ఇది ఆబ్జెక్ట్ ను తీసుకుని, దాని కాపీ చేస్తుంది. - 4. కాబట్టి, ఆ ప్రక్రియలో, ప్రోగ్రామర్ నిర్ణయించినట్లు ఏ విధంగా అయినా ప్రతి డాటా మెంబర్ ని కాపీ చేసుకొని, కాపీ కన్స్ట్రక్షన్ విలువ ద్వారా కాల్ యొక్క ప్రయోజనం కోసం చాలా అవసరం, విలువ విధానం ద్వారా తిరిగి మరియు డేటా మెంబర్(data members) ను ప్రారంభించడం కోసం ఇది కాపీ చేయబడిన మరొక ఆబ్జెక్ట్ లో భాగం. - 5. ఇది కాపీ చేయబడుతున్న మరొక వస్తువు యొక్క భాగం. - 6. అందువల్ల, మీరు ఒక వస్తువును కాపీ చేస్తే, మీరు దాని డేటా సభ్యులను కాపీ చేయాలి. - 7. కాబట్టి, మీరు దాని కోసం మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేస్తారు. - 8. కాబట్టి, ఇప్పుడు మేము దీనిపై శీఘ్ర ఉదాహరణ ఇస్తాము. - 9. కాబట్టి, మళ్ళీ మా సంక్లిష్ట తరగతికి, ఇక్కడ వేరే ఏమీ లేదు, మనం ఇక్కడ ఒక ఫంక్షన్ డిస్‌ప్లేను జోడించాము, అది ఇక్కడ ఒక సంక్లిష్ట సంఖ్యను తీసుకుంటుంది మరియు దానిని ప్రింట్ చేస్తుంది మరియు మేము రూపొందించిన తరంగ రూపాన్ని ఈ ప్రదర్శనను ప్రదర్శిస్తుంది. - 10. - 11. కాబట్టి, ఇది విలువ ద్వారా పిలుపు. - 12. అందువల్ల, ఇప్పుడు మీరు కన్స్ట్రక్టర్లను సహజంగా పిలిచే క్రమాన్ని పరిశీలిస్తే, మొదటిది అమలు అవుతుంది. - 13. కాబట్టి, కన్స్ట్రక్టర్ ఇన్వాయిస్ చేయబడింది; ఈ అవుట్పుట్. - 14. అప్పుడు, సి సృష్టించబడిన తర్వాత, అది ఇక్కడకు రావాలి, అంటే ఫంక్షన్‌ను ఈ నిజమైన పరామితి అని పిలుస్తారు, సి ని ఈ ఫార్మల్ పారామితి (పరామితి) సి పారామ్ కాపీ) లోకి కాపీ చేస్తుంది మరియు ఈ ప్రక్రియ కాపీ సృష్టి ప్రక్రియ. - 15. కాబట్టి, ఈ సమయంలో ఈ కన్స్ట్రక్టర్ యొక్క కాపీ కన్స్ట్రక్టర్ ఆహ్వానించబడతారు మరియు ఇది మెసేజ్ కాపీ కన్స్ట్రక్టర్ను ప్రింట్ చేస్తున్నట్లు మీరు చూడవచ్చు. - 16. ఈ సందర్భంలో, ఇది ఎలా సెట్ చేయబడిందో అదే సభ్యుల విలువలను కలిగి ఉంటుంది, అయితే ఇది సి యొక్క అసలు కన్స్ట్రక్టర్ నుండి వేరే కన్స్ట్రక్టర్. - 17. అప్పుడు, ప్రదర్శన జరుగుతుంది మరియు ఈ ఫంక్షన్ అమలు అవుతుంది. - 18. కాబట్టి, ఇది ప్రింట్ చేస్తుంది. - 19. కాబట్టి, మీరు చూడవలసినది ఇదే, ఆపై ఫంక్షన్ ఈ పాయింట్ నుండి నిష్క్రమిస్తోంది, ఒక నియంత్రణ మేము ఇప్పుడు ఇక్కడకు తిరిగి రావాలి. - 20. ఇది సహజంగా జరిగినప్పుడు, దాన్ని శుభ్రం చేద్దాం. - 21. ఫంక్షన్ పూర్తయినప్పుడు, ఈ నిర్దిష్ట పరామితి యొక్క పరిధి. ఫంక్షన్ యొక్క స్థానిక ముగింపు వంటి ఈ సమయంలో ఉన్న అధికారిక పారామితి కూడా ఒక ఆటోమేటిక్ ఆబ్జెక్ట్ (ఆబ్జెక్ట్) మరియు ఇది ఈ సమయంలో ముగుస్తుంది కాబట్టి, సహజంగా ఆబ్జెక్ట్ సి అంతిమంగా నిర్మించబడింది. - 22. అందువల్ల, సి పారామ్‌లో, డిస్ప్లే ఫంక్షన్ యొక్క ప్రధాన నియంత్రణను తిరిగి ఇచ్చిన తర్వాత ఈ వస్తువు ఇకపై అందుబాటులో ఉండదు. - 23. అందువల్ల, దానిని నాశనం చేయాలి. - 24. కాబట్టి, ఇప్పుడు, ఇది సి పారామ్ కోసం డిస్ట్రక్టర్ యొక్క ఈ కాల్‌ను అందుకుంటుంది. - 25. అప్పుడు, నియంత్రణ ఇక్కడకు వస్తుంది, తరువాత, మేము తిరిగి రాబోతున్నాము మరియు నేను మెయిన్ స్కోప్ చివరికి చేరుకున్నప్పుడు, సి కొరకు డిస్ట్రాయర్ (సి) డిస్ట్రక్టర్‌కు కాల్ వస్తుంది మరియు ఈ విధంగా వెళుతుంది. - 26. కాబట్టి, మీరు విలువ ద్వారా పిలిచినప్పుడల్లా, మీరు ఒక అధికారిక పరామితి అయిన వస్తువు యొక్క కాపీని మరియు సంబంధిత డిస్ట్రక్టర్‌ను చూడగలుగుతారు. - 27. నేను కాపీ కన్స్ట్రక్టర్ సంతకం గురించి ప్రత్యేకంగా మాట్లాడాలి ఎందుకంటే సి ++ లో కాపీ కన్స్ట్రక్టర్ పేర్కొన్న సంతకం ఉంది. - 28. ఇది సాధారణంగా ఉపయోగించే సంతకం. - 29. అందువల్ల, నేను ఇక్కడ బహిర్గతం చేశాను. - 30. ఇది ఒక వస్తువును సూచనగా సూచనగా పిలుస్తుంది. - 31. మీరు సూచనను ఇక్కడ చూడవచ్చు. - 32. ఇది సూచనగా తీసుకోబడింది కాబట్టి. - 33. మీకు తెలిసినట్లుగా, దీనిని మార్చవచ్చు ఎందుకంటే ఇది మేము ప్రసారం చేసిన వాస్తవ పరామితి వలె అదే మెమరీ స్థానాన్ని ప్రోత్సహిస్తుంది. - 34. కాబట్టి, మీరు కాపీ చేస్తుంటే, ఆ వస్తువుతో మనం ఎదుర్కొంటున్న దాన్ని మార్చలేము అని మీరు చెబుతున్నారు. - 35. కాబట్టి, ఈ సంతకం ద్వారా స్పష్టంగా పేర్కొనబడినది మరియు ఇది సాధారణంగా కనిపించే కాపీ సృష్టికర్త, కానీ కొన్నిసార్లు మనం ఈ కాన్స్టాంట్‌ను వదిలివేయవచ్చు మరియు ఈ విధంగా ఒక కాపీ కన్స్ట్రక్టర్ ఉండవచ్చు, ఇక్కడ మేము పోటీ చేస్తున్నామని చెబుతున్నాము, మేము కాపీ చేసిన వస్తువును కూడా మార్చడం సాధ్యమే. - 36. ఇప్పుడే మీరు చాలా వింతగా కనుగొంటారని నేను ఖచ్చితంగా అనుకుంటున్నాను, కాని దయచేసి నాతో భరించండి. - 37. తగిన సమయంలో, కొన్ని డిజైన్లకు ఈ లక్షణాలు ఎందుకు చాలా ముఖ్యమైనవో నేను ఉదాహరణలు చూపిస్తాను, ఆపై, అస్థిర డేటాను ఉపయోగించే మరికొన్ని కాపీ తయారీదారులు ఉన్నారు. - 38. కాబట్టి, ఆ వ్యక్తులు ఇక్కడ పేర్కొనబడ్డారు. - 39. మీరు ఎంబెడెడ్ సిస్టమ్ ప్రోగ్రామింగ్ ఉపయోగిస్తుంటే, అవి ముఖ్యంగా అవసరం. - 40. కాబట్టి, మీరు ఆ విధమైన ప్రోగ్రామింగ్ చేస్తున్నప్పుడు మీరు దీన్ని చూడవచ్చు మరియు నేను కూడా ఇలాంటి సంతకాన్ని దాటి ఉండవచ్చని మీరు గమనించవచ్చు, నేను ఆ వస్తువును కాపీ చేయగలను. కావాలి, నేను ఆ వస్తువుకు పాయింటర్‌ను పంపగలను లేదా పాయింటర్‌ను a స్థిరమైన వస్తువు మరియు మొదలైనవి. - 41. ఈ C ++ వాటిని కాపీ కన్స్ట్రక్టర్‌గా గుర్తించలేదు. - 42. కాబట్టి, నేను వాటిని అందిస్తే, వారు మరొక తయారీదారుగా తీసుకోబడతారు, కాని వాటిని విలువ ఆధారంగా పిలవరు. - 43. కాబట్టి, ఇది గుర్తుంచుకోవాలి మరియు తుది పరిశీలన ఏమిటంటే, నేను నా కాపీ కన్స్ట్రక్టర్‌ను ఈ విధంగా వ్రాసినట్లయితే మరియు కన్స్ట్రక్టర్ కాపీ నుండి నేను ఒక కన్స్ట్రక్టర్‌ను వ్రాస్తే. ఆ వస్తువు కాపీకి పంపినప్పుడు, కన్స్ట్రక్టర్ రిఫరెన్స్ ద్వారా కాల్ చేయండి విలువ విధానం ద్వారా కాల్. - 44. ఇది పని చేయదని నేను చూడగలను ఎందుకంటే కాపీ కన్స్ట్రక్టర్ కూడా ఒక ఫంక్షన్. - 45. అందువల్ల, విలువ ఆధారంగా కాల్ సమయంలో మేము ఏదైనా ఇతర పరామితిని తీసుకుంటే, ఈ పరామితిని కూడా ఈ కన్స్ట్రక్టర్‌కు అందుబాటులో ఉంచాలి. - 46. కాబట్టి, ఇది విలువ ద్వారా పిలుపు, ఇది కాపీ కన్స్ట్రక్టర్‌ను మళ్లీ పిలుస్తుందని మరియు కాపీ కన్స్ట్రక్టర్‌ను పిలవడానికి, అది కన్స్ట్రక్టర్ చేత విలువను పిలవాలి. - 47. ఈ కాల్‌ను విలువతో చేయడానికి, అది కన్స్ట్రక్టర్‌కు కాల్ చేయాలి. - 48. కన్స్ట్రక్టర్‌ను విలువ అని పిలవాలి. - 49. కాబట్టి, ఇది కొనసాగుతూనే ఉంటుంది. - 50. ఇది చివరికి అనంతమైన లూప్‌గా మారుతుంది మరియు పని చేయలేకపోయింది. - 51. అందువల్ల, మీరు విలువను కాల్ చేయడం ద్వారా ఒక వస్తువును కాపీ కన్స్ట్రక్టర్‌కు పంపలేరు. - 52. కొన్ని పెద్ద ఉదాహరణలపై దృష్టి పెడదాం. - 53. ఇవి సహజంగా కొంచెం పొడవైన సంకేతాలు. - 54. కాబట్టి, ఇక్కడ చర్చల కంటే ఇవి మీకు స్వీయ అధ్యయనం కోసం ఎక్కువ. - 55. నేను ఇక్కడ ప్రదర్శించడానికి ప్రయత్నిస్తున్నదాన్ని నేను వివరిస్తాను, మేము ఇక్కడ డిఫాల్ట్ కాపీని మరియు ఓవర్‌లోడ్ కన్స్ట్రక్టర్‌ను చూపిస్తున్నాము. - 56. కాబట్టి, ఒక కన్స్ట్రక్టర్ ఉంది, కాపీ కన్స్ట్రక్టర్ ఉంది, పాయింట్ ప్లస్ కోసం డిఫాల్ట్ కన్స్ట్రక్టర్ ఉంది, ఇది మనం ఇంతకు ముందు చూశాము, అప్పుడు మనకు దీర్ఘచతురస్ర తరగతికి చాలా మంది కన్స్ట్రక్టర్లు ఉన్నారు. అవును, మాకు 5 కన్స్ట్రక్టర్లు ఉన్నారు. - 57. మొదటిది నాలుగు అంకెలు తీసుకుంటుంది, రెండవది నన్ను క్షమించండి, మొదటిది నాలుగు పూర్ణాంకాలను తీసుకుంటుంది, రెండు శీర్షాల శీర్షాలు ఎందుకు ఇలా ఉన్నాయి, రెండవది రెండు వేర్వేరు మూలలో పాయింట్లను తీసుకుంటుంది, మూడవది ఒక పాయింట్ తీసుకుంటుంది మరియు అక్షాంశాలను తీసుకుంటుంది రెండవ పాయింట్ మరియు తరువాత, చివరిది డిఫాల్ట్ ఒకటి మరియు చివరిది కాపీ మేకర్. - 58. అందువల్ల, మీరు చూడటానికి ప్రయత్నించవచ్చు, ఈ కన్స్ట్రక్టర్లందరినీ అధ్యయనం చేయమని మిమ్మల్ని మీరు ఒప్పించటానికి ప్రయత్నించవచ్చు మరియు ఏ కన్స్ట్రక్టర్ అని పిలువబడే వారి ప్రారంభ జాబితాను కూడా చూడవచ్చు. - 59. ఉదాహరణకు, నేను దానిపై దృష్టి పెడతాను, రెండు అంకెలు తీసుకునే కన్స్ట్రక్టర్. - 60. ఇప్పుడు, సహజంగా నిర్మించిన నిర్మాణాలకు రెండు పాయింట్ల టిఎల్ తీసుకొని టిఎల్ సభ్యులకు కాపీ చేయాలి. - 61. కాబట్టి, నేను చేయాలనుకుంటున్నది ప్రాథమికంగా దీన్ని చేసి, TL సభ్యుడిని కాపీ చేయండి మరియు అది ఇక్కడ వ్రాయబడింది. - 62. నేను అది ఎలా చేయాలి దీన్ని సహజంగా చేయగలిగేలా, నాకు పాయింట్ యొక్క కాపీ మేకర్ అవసరం. - 63. నేను దీన్ని పారామితి కన్స్ట్రక్టర్ లేదా పాయింట్ యొక్క డిఫాల్ట్ కన్స్ట్రక్టర్‌తో చేయలేను. - 64. ఇవి ఉపయోగపడవు ఎందుకంటే నాకు ఇప్పటికే ఒక పాయింట్ ఉంది మరియు నేను మరొక పాయింట్ ప్రారంభించాలనుకుంటున్నాను. - 65. కాబట్టి, మీరు వినియోగదారు నిర్వచించిన డేటా సభ్యులను కలిగి ఉన్నప్పుడు నేను సూచించే పాయింట్ ఇది, ఆపై మీకు ఆ డేటా సభ్యుల రకానికి కాపీ కన్స్ట్రక్టర్ అవసరం, తద్వారా మీరు వాటిని సులభంగా కాపీ చేయవచ్చు. - 66. అందువలన, మీరు లేకపోతే; ఉదాహరణకు పాయింట్ స్క్వేర్ చెప్పండి. - 67. పాయింట్ క్లాస్‌కు కాపీ కన్స్ట్రక్టర్ లేకపోతే, అది ఈ కోడ్‌ను లేదా ఈ కోడ్‌ను కంపైల్ చేయదు ఎందుకంటే మీరు ఈ పాయింట్‌ను అవసరమైన విధంగా కాపీ చేయలేరు. - 68. కాబట్టి, ఇది ఇక్కడ ఒక చిన్న అప్లికేషన్, దీనిలో వేర్వేరు దీర్ఘచతురస్ర వస్తువులు నిర్మించబడుతున్నాయి మరియు తరువాత అది నాశనం అవుతోంది మరియు మీరు ఇక్కడ పట్టికలో చూస్తే, ఈ ప్రక్రియలో సృష్టించబడిన అన్ని విభిన్నమైనవి మన వద్ద ఉన్నాయి. విభిన్న వస్తువులు చూపించబడ్డాయి మరియు దీని జీవిత కాలం అంటే వస్తువు ఎంతకాలం ఉంటుంది. - 69. మళ్ళీ వివరించడానికి ఆలోచన ఇక్కడ లేదు, కానీ నేను దీన్ని పని చేసాను, తద్వారా మీరు ఈ కోడ్‌ను జాగ్రత్తగా తీసుకోవచ్చు, మీరే అధ్యయనం చేసుకోండి మరియు సృష్టిని నిజంగా ఎలా అర్థం చేసుకోవాలో వివరించండి, సృష్టిని కాపీ చేయండి. - 70. మీరు ఇక్కడ చాలా కాపీ క్రియేషన్స్ చూస్తారు. - 71. ఈ కాపీ రైటింగ్ ఎందుకు జరుగుతుందో మీరే వివరించవచ్చు. - 72. ఉదాహరణకు, నేను డాట్ మరియు పాస్ను నిర్మిస్తే, అది కాపీని నిర్మిస్తుంది. - 73. మా విషయంలో, పాయింట్ సూచనగా ఆమోదించబడినందున ఇది కాదు, కానీ నేను TL ఫీల్డ్ లేదా BR ఫీల్డ్‌ను దీర్ఘచతురస్ర వస్తువుగా సెట్ చేసినప్పుడు, అది ఖచ్చితంగా నిర్మాణం యొక్క కాపీ. దారి తీస్తుంది - 74. అందువల్ల, దయచేసి దాని గుండా వెళ్లి, సృష్టి, విధ్వంసం మరియు కలిసి కాపీ చేసే మొత్తం ప్రక్రియను మీరు అర్థం చేసుకున్నారని మీరే వివరించండి. - 75. ఇప్పుడు, సృష్టికర్త మరియు డిస్ట్రక్టర్ మాదిరిగా, మాకు ఉచిత సంస్కరణలు ఉన్నాయి. - 76. కాపీ కన్స్ట్రక్టర్‌కు కూడా అదే విధానం అందుబాటులో ఉంది. - 77. ప్రోగ్రామర్ చేత కాపీ కన్స్ట్రక్టర్ యూజర్ అందించకపోతే, నేను కాపీ కన్స్ట్రక్టర్ లేని క్లాస్ వ్రాస్తే, కంపైలర్ ఉచిత కాపీ కన్స్ట్రక్టర్. - 78. మరియు కంపైలర్ ఒక కాపీని అందిస్తుంది. - 79. కన్స్ట్రక్టర్ ఖచ్చితంగా వస్తువును ఎలా ప్రారంభించలేదో తెలియదు. - 80. కాబట్టి, అది ఏమిటంటే, ఇది ఒక బిట్‌ను కాపీ చేస్తుంది, అంటే అది ఆబ్జెక్ట్ యొక్క మొత్తం బిట్ కాపీని కాపీ నుండి తీసుకుంటుంది మరియు మరొక బిట్ నమూనా వస్తువుగా కనిపిస్తుంది. - 81. ఇప్పుడు, దీనిలో తప్పేంటి అని మీరు అడుగుతారు. - 82. అది వాస్తవానికి కాపీని ఉత్పత్తి చేయాలి. - 83. ఇప్పుడు, ఇక్కడే మేము తీవ్రమైన సమస్యల్లో చిక్కుకుంటాము. - 84. బిట్స్‌ను కాపీ చేయడం ఆబ్జెక్ట్‌ను కాపీ చేయడం కాదని మేము త్వరలో చూపిస్తాము, కానీ అది అదే అయితే, అది బిట్‌లను కాపీ చేస్తుంటే ఆ వస్తువు కాపీ (కాపీ), అప్పుడు కంపైలర్ అందించే ఉచిత కాపీ కన్స్ట్రక్టర్‌ను వదిలివేయవచ్చు ఇలాంటి కథ. - 85. మేము కాపీ కన్స్ట్రక్టర్‌ను అందిస్తే, కంపైలర్ ఒకదాన్ని అందించడం ఆపివేస్తుంది. - 86. అందువల్ల, మేము తిరిగి సంక్లిష్ట తరగతికి చేరుకున్నాము. - 87. ఇప్పుడు మేము ఉచిత కాపీ కన్స్ట్రక్టర్‌ని ఉపయోగిస్తున్నాము. + ప్రోగ్రామింగ్ ఇన్ C++ మాడ్యుల్ 14కు స్వాగతం . + మేము కాపీ కన్స్ట్రక్షన్ ప్రక్రియ గురించి చర్చించాము. + మేము ఏ కాపీ కన్స్ట్రక్టర్(copy constructor) ని పరిచయం చేశాము? ఇది ఒక ప్రత్యేక కన్స్ట్రక్టర్, ఇది ఆబ్జెక్ట్ ను తీసుకుని, దాని కాపీ చేస్తుంది. + కాబట్టి, ఆ ప్రక్రియలో, ప్రోగ్రామర్ నిర్ణయించినట్లు ఏ విధంగా అయినా ప్రతి డాటా మెంబర్ ని కాపీ చేసుకొని, కాపీ కన్స్ట్రక్షన్ విలువ ద్వారా కాల్ యొక్క ప్రయోజనం కోసం చాలా అవసరం, విలువ విధానం ద్వారా తిరిగి మరియు డేటా మెంబర్(data members) ను ప్రారంభించడం కోసం ఇది కాపీ చేయబడిన మరొక ఆబ్జెక్ట్ లో భాగం. + ఇది కాపీ చేయబడుతున్న మరొక వస్తువు యొక్క భాగం. + అందువల్ల, మీరు ఒక వస్తువును కాపీ చేస్తే, మీరు దాని డేటా సభ్యులను కాపీ చేయాలి. + కాబట్టి, మీరు దాని కోసం మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేస్తారు. + కాబట్టి, ఇప్పుడు మేము దీనిపై శీఘ్ర ఉదాహరణ ఇస్తాము. + కాబట్టి, మళ్ళీ మా సంక్లిష్ట తరగతికి, ఇక్కడ వేరే ఏమీ లేదు, మనం ఇక్కడ ఒక ఫంక్షన్ డిస్‌ప్లేను జోడించాము, అది ఇక్కడ ఒక సంక్లిష్ట సంఖ్యను తీసుకుంటుంది మరియు దానిని ప్రింట్ చేస్తుంది మరియు మేము రూపొందించిన తరంగ రూపాన్ని ఈ ప్రదర్శనను ప్రదర్శిస్తుంది. + + కాబట్టి, ఇది విలువ ద్వారా పిలుపు. + అందువల్ల, ఇప్పుడు మీరు కన్స్ట్రక్టర్లను సహజంగా పిలిచే క్రమాన్ని పరిశీలిస్తే, మొదటిది అమలు అవుతుంది. + కాబట్టి, కన్స్ట్రక్టర్ ఇన్వాయిస్ చేయబడింది; ఈ అవుట్పుట్. + అప్పుడు, సి సృష్టించబడిన తర్వాత, అది ఇక్కడకు రావాలి, అంటే ఫంక్షన్‌ను ఈ నిజమైన పరామితి అని పిలుస్తారు, సి ని ఈ ఫార్మల్ పారామితి (పరామితి) సి పారామ్ కాపీ) లోకి కాపీ చేస్తుంది మరియు ఈ ప్రక్రియ కాపీ సృష్టి ప్రక్రియ. + కాబట్టి, ఈ సమయంలో ఈ కన్స్ట్రక్టర్ యొక్క కాపీ కన్స్ట్రక్టర్ ఆహ్వానించబడతారు మరియు ఇది మెసేజ్ కాపీ కన్స్ట్రక్టర్ను ప్రింట్ చేస్తున్నట్లు మీరు చూడవచ్చు. + ఈ సందర్భంలో, ఇది ఎలా సెట్ చేయబడిందో అదే సభ్యుల విలువలను కలిగి ఉంటుంది, అయితే ఇది సి యొక్క అసలు కన్స్ట్రక్టర్ నుండి వేరే కన్స్ట్రక్టర్. + అప్పుడు, ప్రదర్శన జరుగుతుంది మరియు ఈ ఫంక్షన్ అమలు అవుతుంది. + కాబట్టి, ఇది ప్రింట్ చేస్తుంది. + కాబట్టి, మీరు చూడవలసినది ఇదే, ఆపై ఫంక్షన్ ఈ పాయింట్ నుండి నిష్క్రమిస్తోంది, ఒక నియంత్రణ మేము ఇప్పుడు ఇక్కడకు తిరిగి రావాలి. + ఇది సహజంగా జరిగినప్పుడు, దాన్ని శుభ్రం చేద్దాం. + ఫంక్షన్ పూర్తయినప్పుడు, ఈ నిర్దిష్ట పరామితి యొక్క పరిధి. ఫంక్షన్ యొక్క స్థానిక ముగింపు వంటి ఈ సమయంలో ఉన్న అధికారిక పారామితి కూడా ఒక ఆటోమేటిక్ ఆబ్జెక్ట్ (ఆబ్జెక్ట్) మరియు ఇది ఈ సమయంలో ముగుస్తుంది కాబట్టి, సహజంగా ఆబ్జెక్ట్ సి అంతిమంగా నిర్మించబడింది. + అందువల్ల, సి పారామ్‌లో, డిస్ప్లే ఫంక్షన్ యొక్క ప్రధాన నియంత్రణను తిరిగి ఇచ్చిన తర్వాత ఈ వస్తువు ఇకపై అందుబాటులో ఉండదు. + అందువల్ల, దానిని నాశనం చేయాలి. + కాబట్టి, ఇప్పుడు, ఇది సి పారామ్ కోసం డిస్ట్రక్టర్ యొక్క ఈ కాల్‌ను అందుకుంటుంది. + అప్పుడు, నియంత్రణ ఇక్కడకు వస్తుంది, తరువాత, మేము తిరిగి రాబోతున్నాము మరియు నేను మెయిన్ స్కోప్ చివరికి చేరుకున్నప్పుడు, సి కొరకు డిస్ట్రాయర్ (సి) డిస్ట్రక్టర్‌కు కాల్ వస్తుంది మరియు ఈ విధంగా వెళుతుంది. + కాబట్టి, మీరు విలువ ద్వారా పిలిచినప్పుడల్లా, మీరు ఒక అధికారిక పరామితి అయిన వస్తువు యొక్క కాపీని మరియు సంబంధిత డిస్ట్రక్టర్‌ను చూడగలుగుతారు. + నేను కాపీ కన్స్ట్రక్టర్ సంతకం గురించి ప్రత్యేకంగా మాట్లాడాలి ఎందుకంటే సి ++ లో కాపీ కన్స్ట్రక్టర్ పేర్కొన్న సంతకం ఉంది. + ఇది సాధారణంగా ఉపయోగించే సంతకం. + అందువల్ల, నేను ఇక్కడ బహిర్గతం చేశాను. + ఇది ఒక వస్తువును సూచనగా సూచనగా పిలుస్తుంది. + మీరు సూచనను ఇక్కడ చూడవచ్చు. + ఇది సూచనగా తీసుకోబడింది కాబట్టి. + మీకు తెలిసినట్లుగా, దీనిని మార్చవచ్చు ఎందుకంటే ఇది మేము ప్రసారం చేసిన వాస్తవ పరామితి వలె అదే మెమరీ స్థానాన్ని ప్రోత్సహిస్తుంది. + కాబట్టి, మీరు కాపీ చేస్తుంటే, ఆ వస్తువుతో మనం ఎదుర్కొంటున్న దాన్ని మార్చలేము అని మీరు చెబుతున్నారు. + కాబట్టి, ఈ సంతకం ద్వారా స్పష్టంగా పేర్కొనబడినది మరియు ఇది సాధారణంగా కనిపించే కాపీ సృష్టికర్త, కానీ కొన్నిసార్లు మనం ఈ కాన్స్టాంట్‌ను వదిలివేయవచ్చు మరియు ఈ విధంగా ఒక కాపీ కన్స్ట్రక్టర్ ఉండవచ్చు, ఇక్కడ మేము పోటీ చేస్తున్నామని చెబుతున్నాము, మేము కాపీ చేసిన వస్తువును కూడా మార్చడం సాధ్యమే. + ఇప్పుడే మీరు చాలా వింతగా కనుగొంటారని నేను ఖచ్చితంగా అనుకుంటున్నాను, కాని దయచేసి నాతో భరించండి. + తగిన సమయంలో, కొన్ని డిజైన్లకు ఈ లక్షణాలు ఎందుకు చాలా ముఖ్యమైనవో నేను ఉదాహరణలు చూపిస్తాను, ఆపై, అస్థిర డేటాను ఉపయోగించే మరికొన్ని కాపీ తయారీదారులు ఉన్నారు. + కాబట్టి, ఆ వ్యక్తులు ఇక్కడ పేర్కొనబడ్డారు. + మీరు ఎంబెడెడ్ సిస్టమ్ ప్రోగ్రామింగ్ ఉపయోగిస్తుంటే, అవి ముఖ్యంగా అవసరం. + కాబట్టి, మీరు ఆ విధమైన ప్రోగ్రామింగ్ చేస్తున్నప్పుడు మీరు దీన్ని చూడవచ్చు మరియు నేను కూడా ఇలాంటి సంతకాన్ని దాటి ఉండవచ్చని మీరు గమనించవచ్చు, నేను ఆ వస్తువును కాపీ చేయగలను. కావాలి, నేను ఆ వస్తువుకు పాయింటర్‌ను పంపగలను లేదా పాయింటర్‌ను a స్థిరమైన వస్తువు మరియు మొదలైనవి. + ఈ C ++ వాటిని కాపీ కన్స్ట్రక్టర్‌గా గుర్తించలేదు. + కాబట్టి, నేను వాటిని అందిస్తే, వారు మరొక తయారీదారుగా తీసుకోబడతారు, కాని వాటిని విలువ ఆధారంగా పిలవరు. + కాబట్టి, ఇది గుర్తుంచుకోవాలి మరియు తుది పరిశీలన ఏమిటంటే, నేను నా కాపీ కన్స్ట్రక్టర్‌ను ఈ విధంగా వ్రాసినట్లయితే మరియు కన్స్ట్రక్టర్ కాపీ నుండి నేను ఒక కన్స్ట్రక్టర్‌ను వ్రాస్తే. ఆ వస్తువు కాపీకి పంపినప్పుడు, కన్స్ట్రక్టర్ రిఫరెన్స్ ద్వారా కాల్ చేయండి విలువ విధానం ద్వారా కాల్. + ఇది పని చేయదని నేను చూడగలను ఎందుకంటే కాపీ కన్స్ట్రక్టర్ కూడా ఒక ఫంక్షన్. + అందువల్ల, విలువ ఆధారంగా కాల్ సమయంలో మేము ఏదైనా ఇతర పరామితిని తీసుకుంటే, ఈ పరామితిని కూడా ఈ కన్స్ట్రక్టర్‌కు అందుబాటులో ఉంచాలి. + కాబట్టి, ఇది విలువ ద్వారా పిలుపు, ఇది కాపీ కన్స్ట్రక్టర్‌ను మళ్లీ పిలుస్తుందని మరియు కాపీ కన్స్ట్రక్టర్‌ను పిలవడానికి, అది కన్స్ట్రక్టర్ చేత విలువను పిలవాలి. + ఈ కాల్‌ను విలువతో చేయడానికి, అది కన్స్ట్రక్టర్‌కు కాల్ చేయాలి. + కన్స్ట్రక్టర్‌ను విలువ అని పిలవాలి. + కాబట్టి, ఇది కొనసాగుతూనే ఉంటుంది. + ఇది చివరికి అనంతమైన లూప్‌గా మారుతుంది మరియు పని చేయలేకపోయింది. + అందువల్ల, మీరు విలువను కాల్ చేయడం ద్వారా ఒక వస్తువును కాపీ కన్స్ట్రక్టర్‌కు పంపలేరు. + కొన్ని పెద్ద ఉదాహరణలపై దృష్టి పెడదాం. + ఇవి సహజంగా కొంచెం పొడవైన సంకేతాలు. + కాబట్టి, ఇక్కడ చర్చల కంటే ఇవి మీకు స్వీయ అధ్యయనం కోసం ఎక్కువ. + నేను ఇక్కడ ప్రదర్శించడానికి ప్రయత్నిస్తున్నదాన్ని నేను వివరిస్తాను, మేము ఇక్కడ డిఫాల్ట్ కాపీని మరియు ఓవర్‌లోడ్ కన్స్ట్రక్టర్‌ను చూపిస్తున్నాము. + కాబట్టి, ఒక కన్స్ట్రక్టర్ ఉంది, కాపీ కన్స్ట్రక్టర్ ఉంది, పాయింట్ ప్లస్ కోసం డిఫాల్ట్ కన్స్ట్రక్టర్ ఉంది, ఇది మనం ఇంతకు ముందు చూశాము, అప్పుడు మనకు దీర్ఘచతురస్ర తరగతికి చాలా మంది కన్స్ట్రక్టర్లు ఉన్నారు. అవును, మాకు 5 కన్స్ట్రక్టర్లు ఉన్నారు. + మొదటిది నాలుగు అంకెలు తీసుకుంటుంది, రెండవది నన్ను క్షమించండి, మొదటిది నాలుగు పూర్ణాంకాలను తీసుకుంటుంది, రెండు శీర్షాల శీర్షాలు ఎందుకు ఇలా ఉన్నాయి, రెండవది రెండు వేర్వేరు మూలలో పాయింట్లను తీసుకుంటుంది, మూడవది ఒక పాయింట్ తీసుకుంటుంది మరియు అక్షాంశాలను తీసుకుంటుంది రెండవ పాయింట్ మరియు తరువాత, చివరిది డిఫాల్ట్ ఒకటి మరియు చివరిది కాపీ మేకర్. + అందువల్ల, మీరు చూడటానికి ప్రయత్నించవచ్చు, ఈ కన్స్ట్రక్టర్లందరినీ అధ్యయనం చేయమని మిమ్మల్ని మీరు ఒప్పించటానికి ప్రయత్నించవచ్చు మరియు ఏ కన్స్ట్రక్టర్ అని పిలువబడే వారి ప్రారంభ జాబితాను కూడా చూడవచ్చు. + ఉదాహరణకు, నేను దానిపై దృష్టి పెడతాను, రెండు అంకెలు తీసుకునే కన్స్ట్రక్టర్. + ఇప్పుడు, సహజంగా నిర్మించిన నిర్మాణాలకు రెండు పాయింట్ల టిఎల్ తీసుకొని టిఎల్ సభ్యులకు కాపీ చేయాలి. + కాబట్టి, నేను చేయాలనుకుంటున్నది ప్రాథమికంగా దీన్ని చేసి, TL సభ్యుడిని కాపీ చేయండి మరియు అది ఇక్కడ వ్రాయబడింది. + నేను అది ఎలా చేయాలి దీన్ని సహజంగా చేయగలిగేలా, నాకు పాయింట్ యొక్క కాపీ మేకర్ అవసరం. + నేను దీన్ని పారామితి కన్స్ట్రక్టర్ లేదా పాయింట్ యొక్క డిఫాల్ట్ కన్స్ట్రక్టర్‌తో చేయలేను. + ఇవి ఉపయోగపడవు ఎందుకంటే నాకు ఇప్పటికే ఒక పాయింట్ ఉంది మరియు నేను మరొక పాయింట్ ప్రారంభించాలనుకుంటున్నాను. + కాబట్టి, మీరు వినియోగదారు నిర్వచించిన డేటా సభ్యులను కలిగి ఉన్నప్పుడు నేను సూచించే పాయింట్ ఇది, ఆపై మీకు ఆ డేటా సభ్యుల రకానికి కాపీ కన్స్ట్రక్టర్ అవసరం, తద్వారా మీరు వాటిని సులభంగా కాపీ చేయవచ్చు. + అందువలన, మీరు లేకపోతే; ఉదాహరణకు పాయింట్ స్క్వేర్ చెప్పండి. + పాయింట్ క్లాస్‌కు కాపీ కన్స్ట్రక్టర్ లేకపోతే, అది ఈ కోడ్‌ను లేదా ఈ కోడ్‌ను కంపైల్ చేయదు ఎందుకంటే మీరు ఈ పాయింట్‌ను అవసరమైన విధంగా కాపీ చేయలేరు. + కాబట్టి, ఇది ఇక్కడ ఒక చిన్న అప్లికేషన్, దీనిలో వేర్వేరు దీర్ఘచతురస్ర వస్తువులు నిర్మించబడుతున్నాయి మరియు తరువాత అది నాశనం అవుతోంది మరియు మీరు ఇక్కడ పట్టికలో చూస్తే, ఈ ప్రక్రియలో సృష్టించబడిన అన్ని విభిన్నమైనవి మన వద్ద ఉన్నాయి. విభిన్న వస్తువులు చూపించబడ్డాయి మరియు దీని జీవిత కాలం అంటే వస్తువు ఎంతకాలం ఉంటుంది. + మళ్ళీ వివరించడానికి ఆలోచన ఇక్కడ లేదు, కానీ నేను దీన్ని పని చేసాను, తద్వారా మీరు ఈ కోడ్‌ను జాగ్రత్తగా తీసుకోవచ్చు, మీరే అధ్యయనం చేసుకోండి మరియు సృష్టిని నిజంగా ఎలా అర్థం చేసుకోవాలో వివరించండి, సృష్టిని కాపీ చేయండి. + మీరు ఇక్కడ చాలా కాపీ క్రియేషన్స్ చూస్తారు. + ఈ కాపీ రైటింగ్ ఎందుకు జరుగుతుందో మీరే వివరించవచ్చు. + ఉదాహరణకు, నేను డాట్ మరియు పాస్ను నిర్మిస్తే, అది కాపీని నిర్మిస్తుంది. + మా విషయంలో, పాయింట్ సూచనగా ఆమోదించబడినందున ఇది కాదు, కానీ నేను TL ఫీల్డ్ లేదా BR ఫీల్డ్‌ను దీర్ఘచతురస్ర వస్తువుగా సెట్ చేసినప్పుడు, అది ఖచ్చితంగా నిర్మాణం యొక్క కాపీ. దారి తీస్తుంది + అందువల్ల, దయచేసి దాని గుండా వెళ్లి, సృష్టి, విధ్వంసం మరియు కలిసి కాపీ చేసే మొత్తం ప్రక్రియను మీరు అర్థం చేసుకున్నారని మీరే వివరించండి. + ఇప్పుడు, సృష్టికర్త మరియు డిస్ట్రక్టర్ మాదిరిగా, మాకు ఉచిత సంస్కరణలు ఉన్నాయి. + కాపీ కన్స్ట్రక్టర్‌కు కూడా అదే విధానం అందుబాటులో ఉంది. + ప్రోగ్రామర్ చేత కాపీ కన్స్ట్రక్టర్ యూజర్ అందించకపోతే, నేను కాపీ కన్స్ట్రక్టర్ లేని క్లాస్ వ్రాస్తే, కంపైలర్ ఉచిత కాపీ కన్స్ట్రక్టర్. + మరియు కంపైలర్ ఒక కాపీని అందిస్తుంది. + కన్స్ట్రక్టర్ ఖచ్చితంగా వస్తువును ఎలా ప్రారంభించలేదో తెలియదు. + కాబట్టి, అది ఏమిటంటే, ఇది ఒక బిట్‌ను కాపీ చేస్తుంది, అంటే అది ఆబ్జెక్ట్ యొక్క మొత్తం బిట్ కాపీని కాపీ నుండి తీసుకుంటుంది మరియు మరొక బిట్ నమూనా వస్తువుగా కనిపిస్తుంది. + ఇప్పుడు, దీనిలో తప్పేంటి అని మీరు అడుగుతారు. + అది వాస్తవానికి కాపీని ఉత్పత్తి చేయాలి. + ఇప్పుడు, ఇక్కడే మేము తీవ్రమైన సమస్యల్లో చిక్కుకుంటాము. + బిట్స్‌ను కాపీ చేయడం ఆబ్జెక్ట్‌ను కాపీ చేయడం కాదని మేము త్వరలో చూపిస్తాము, కానీ అది అదే అయితే, అది బిట్‌లను కాపీ చేస్తుంటే ఆ వస్తువు కాపీ (కాపీ), అప్పుడు కంపైలర్ అందించే ఉచిత కాపీ కన్స్ట్రక్టర్‌ను వదిలివేయవచ్చు ఇలాంటి కథ. + మేము కాపీ కన్స్ట్రక్టర్‌ను అందిస్తే, కంపైలర్ ఒకదాన్ని అందించడం ఆపివేస్తుంది. + అందువల్ల, మేము తిరిగి సంక్లిష్ట తరగతికి చేరుకున్నాము. + ఇప్పుడు మేము ఉచిత కాపీ కన్స్ట్రక్టర్‌ని ఉపయోగిస్తున్నాము. కాబట్టి, నేను వ్రాసిన కాపీ కన్స్ట్రక్టర్‌ను వ్యాఖ్యానించాను మరియు నేను ఇప్పటికీ కాల్‌ను విలువ ద్వారా ఉపయోగించటానికి ప్రయత్నిస్తున్నాను, డిస్ప్లే ఫంక్షన్‌కు కాల్ చేస్తున్నాను మరియు మీరు మునుపటి దానితో పోల్చినదాన్ని మీరు చూస్తారు, ఇది మీరు ఇంతకు ముందు చూసిన మేము మొదట కాపీ కన్స్ట్రక్టర్‌ను అందించినప్పుడు ఇది. - 88. ఇక్కడే కాపీ కన్స్ట్రక్టర్ ఇవ్వబడలేదు. - 89. మరియు కంపైలర్ అందించే ఏకైక వ్యత్యాసం ఏమిటంటే, కాపీ కన్స్ట్రక్టర్ మాకు ఇవ్వలేదు, కాపీ సృష్టించబడుతోందని స్పష్టమైన సందేశం లేదు., లేకపోతే మీరు అవుట్పుట్ను పరిశీలిస్తే, అది సరిగ్గా అదే. - 90. కాబట్టి, ఇది పట్టింపు లేదు, అంటే ఈ సందర్భంలో ఇతర సందర్భాల్లో బిట్‌లను కాపీ చేయడం వస్తువును కాపీ చేయడానికి సమానంగా ఉంటుంది, కానీ సాధారణీకరించవద్దు. - 91. పట్టుకోండి, సాధారణీకరించవద్దు. - 92. మనం పరిశీలిద్దాం, మన స్ట్రింగ్ క్లాస్‌కు తిరిగి వెళ్దాం మరియు మేము కాపీ చేయడానికి ప్రయత్నిస్తాము. - 93. కాబట్టి, మీరు కాపీ చేయడానికి ప్రయత్నిస్తే, నేను కాపీ కన్స్ట్రక్టర్ వ్రాసాను, సరళమైనది. - 94. కాపీ కన్స్ట్రక్టర్ ఏమి చేయాలి? మీరు స్ట్రింగ్ యొక్క కాపీని తయారు చేయాలి. - 95. కాబట్టి, ఇది వస్తువును కాపీ చేయడానికి, S ఆబ్జెక్ట్ యొక్క స్ట్రింగ్ సభ్యునిపై మరొక స్ట్రాడ్‌డప్ చేస్తుంది మరియు ఇది స్ట్రింగ్‌కు కేటాయించిన పొడవును కాపీ చేస్తుంది.ఇది కాపీ చేయడానికి సరిపోతుంది. - 96. ఈ కాపీ కన్స్ట్రక్టర్‌ను చూస్తే, మేము ఒక సరళమైన ఫంక్షన్‌ను కూడా వ్రాసాము, అది స్ట్రింగ్ తీసుకొని అప్పర్ కేస్‌కు మారుస్తుంది. - 97. కాబట్టి, నేను ఒక స్ట్రింగ్‌ను క్రియేట్ చేసి ప్రింట్ చేసాను, అప్పుడు మేము strToUpper అని పిలుస్తాము, తరువాత దాన్ని మళ్ళీ ప్రింట్ చేయండి మరియు ఇది output హించిన అవుట్‌పుట్. చాలా బాగా చేస్తుంది మరియు స్ట్రింగ్‌లో, మేము దీన్ని నిజంగా పాస్ చేస్తామని గమనించండి విలువ. - 98. StrToUpper ఫంక్షన్‌లో, మేము దానిని విలువగా ఆమోదించాము. - 99. ఇప్పుడు, నేను అదే పని చేస్తున్నాను, కానీ ఒకే విషయం ఏమిటంటే, నేను కాపీ కన్స్ట్రక్టర్‌ను వ్యాఖ్యానిస్తున్నాను. - 100. నేను కాపీ కన్స్ట్రక్టర్‌పై వ్యాఖ్యానించాను. - 101. దురదృష్టవశాత్తు మా సౌలభ్యం కోసం, కంపైలర్ ఫిర్యాదు చేయదు. - 102. కంపైలర్ మంచిది అని చెబుతుంది. - 103. మీరు కాపీ మేకర్‌ను అందించలేదు. - 104. ఉచిత కాపీ కన్స్ట్రక్టర్ అక్కడ ఉంటుంది, ఇది బిట్ నమూనాను కాపీ చేస్తుంది మరియు అందువల్ల, అదే ప్రోగ్రామ్ సరిగ్గా కంపైల్ చేస్తుంది మరియు ఇది కాపీ కాపీయర్‌ను నిర్వచించే వినియోగదారుతో అవుట్‌పుట్ అవుతుంది., కానీ నేను ఈ ప్రోగ్రామ్‌ను నడుపుతున్నప్పుడు, నాకు ఈ రకమైన లోపం వస్తుంది. - 105. ఇది సరైనది; కానీ ఈ అంశాలను పరిశీలించండి. - 106. నేను కొంత చెత్త ఉత్పత్తిని పొందుతాను, ఆపై, ప్రోగ్రామ్ క్రాష్ అవుతుంది. - 107. ఇప్పుడు, ఇక్కడ ఏమి జరుగుతుందో మీరు కొంచెం అర్థం చేసుకోవాలి, మీరు అసలు వస్తువును చూస్తే, అసలు వస్తువు ఎలా ఉంటుంది. - 108. కాబట్టి, ఇది పార్త్‌కు వెళుతుంది, ఇదే మార్గం మరియు ఇది పార్థ్‌కు వెళుతుంది. - 109. ఇది x అయిన లెన్. - 110. ఇప్పుడు, నేను కొంచెం కాపీ చేసినప్పటి నుండి, అదే బిట్స్ సమితిని కలిగి ఉన్న మరొక వస్తువు నాకు లభిస్తుంది, అంటే ఇది అసలు పాయింటర్‌కు సమానం. - 111. కాబట్టి, నా కాపీ చేసిన వస్తువులో కూడా, పొడవుకు ఒకే విలువ 6 ఉంది మరియు ఇక్కడ ఉపయోగించిన అదే వస్తువు నాకు ఉంది. - 112. నేను ఎగువకు పిలిచినప్పుడు, నేను దానిని తయారు చేసాను. - 113. కాబట్టి, ఇది. - 114. నేను ఇక్కడ పైభాగాన్ని పిలుస్తున్నాను. - 115. ఇది s మరియు అధికారిక పరామితి a. - 116. కాబట్టి, ఇది ఒకటి, మరియు ఈ విధంగా కాపీ చేయటానికి కారణం నేను కాపీ కన్స్ట్రక్టర్‌ను అందించలేదు. - 117. నేను మునుపటిలాగే చేస్తే, అది పార్త్ 6 ను కలిగి ఉన్నట్లు అనిపిస్తుంది. - 118. అప్పుడు ఇది 'a', ఇది పార్థాను కలిగి ఉంది, ఎందుకంటే నేను ఈ స్ట్రింగ్ యొక్క స్ట్రడప్‌ను కొత్త వస్తువు (స్ట్రింగ్) కు స్పష్టంగా తగ్గించాను, కాని నేను కాపీ కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) అందించనందున, బిట్ నమూనా కాపీ చేయబడింది. - 119. కాబట్టి, సహజంగా సంకేతాలు ఒకటే. - 120. వారు అదే విషయాన్ని సూచిస్తున్నారు. - 121. కాబట్టి, నేను ఇక్కడ ఉన్నప్పుడు ఇదే జరుగుతుంది. - 122. నేను strToUpper ఫంక్షన్‌లోకి ప్రవేశించినప్పుడు, సహజంగా దీనికి చెల్లుబాటు అయ్యే స్ట్రింగ్ ఉంటుంది. - 123. కాబట్టి, ఇది పెద్ద కేసుకు విషయాలను కదిలిస్తుంది, ఇది పెద్ద కేసుకు విషయాలను కదిలిస్తుంది, దాన్ని ముద్రిస్తుంది, సరే. - 124. ఈ సమయంలో ఏమి జరుగుతుంది, ఇవి strToUpper యొక్క పరిధి ముగుస్తుంది. - 125. ఇది స్వయంచాలక వస్తువు అని మాకు తెలుసు మరియు ఈ సమయంలో దాని పరిధి ముగుస్తుంది, ఇది స్ట్రింగ్ దృష్టిని మరల్చేస్తుంది. - 126. పరధ్యానంలో ఉన్న వ్యక్తి ఏమి చేస్తాడు? ఇది స్ట్రింగ్‌ను స్తంభింపజేస్తుంది. - 127. కాబట్టి, ఈ సమయంలో ఏమి జరుగుతుందో A యొక్క డిస్ట్రాక్టర్ అంటారు. - 128. కాబట్టి, ఇది ఈ స్ట్రింగ్‌ను విముక్తి చేస్తుంది. - 129. కాబట్టి, ఈ జ్ఞాపకశక్తి వెళుతుంది మరియు నేను ఈ సమయంలో ఇక్కడకు తిరిగి వచ్చాను. - 130. నేను తిరిగి ఇక్కడకు వచ్చాను. - 131. ఇప్పుడు, ఈ జ్ఞాపకం పోతే? అప్పుడు s కోసం, str ఇప్పుడు ఏమీ చేయదని సూచిస్తుంది. - 132. ఆ చిరునామాను సూచించిన ప్రతిదీ మా వద్ద ఉంది, కానీ ఆ స్థలంలో, వైర్ అందుబాటులో లేదు ఎందుకంటే సిస్టమ్ విపత్తును కనిష్టంగా పిలుస్తుందని నేను ఇప్పటికే విముక్తి పొందాను. - 133. అందుకే నేను వాటిని ప్రింట్ చేయడానికి ప్రయత్నిస్తున్నప్పుడు, ఇది కొన్ని చెత్త అక్షరాలను ప్రింట్ చేస్తుంది. - 134. ఇది తప్పనిసరిగా ప్రశ్న గుర్తును సూచించదు. - 135. నేను ప్లేస్ హోల్డ్‌గా ప్రశ్న గుర్తును ఉంచాను. - 136. నేను దేనినైనా ప్రింట్ చేయగలను ఎందుకంటే ఇది ఎక్కడ నుండి ప్రింట్ అవుతుందో తెలియదు మరియు ఇది ప్రోగ్రామ్ క్రష్ యొక్క లోపానికి దారితీస్తుంది. - 137. కాబట్టి, బిట్ కాపీ కాపీ ఆబ్జెక్ట్ మాదిరిగానే లేదని ఈ ఉదాహరణ మీకు స్పష్టంగా చూపిస్తుంది మరియు ఇది మాకు రెండు వేర్వేరు భావనలను ఇస్తుంది. - 138. ఒక వస్తువు డైనమిక్‌గా సృష్టించబడిన ఇతర వస్తువులను సూచించే పాయింటర్లను కలిగి ఉన్నప్పుడు, దానిని కాపీ చేసేటప్పుడు, మనం పాయింటర్‌ను కాపీ చేస్తే, కానీ ఆబ్జెక్ట్ (మేము ఆ వస్తువును కాపీ చేయకపోతే, మేము నిస్సారమైన కాపీని చేస్తున్నామని చెప్తాము, కానీ దీనికి విరుద్ధంగా కాపీ ఆబ్జెక్ట్, మేము పాయింటర్‌ను కాపీ చేస్తే.), కానీ మీరు ఆబ్జెక్ట్‌ను కాపీ చేస్తే, మేము లోతైన కాపీని చేశామని చెబుతాము. - 139. కాబట్టి, మేము స్ట్రింగ్ కోసం కాపీ కన్స్ట్రక్టర్ వ్రాసినప్పుడు, మేము లోతైన కాపీని చేసాము, ఎందుకంటే స్ట్రాపర్‌ను డీప్ కాపీ అని పిలిచినప్పుడు, వేరే స్ట్రింగ్. డేటా సృష్టించబడింది మరియు strToUpper ఫంక్షన్ (ఫంక్షన్ ) ముగిసింది, కాని మేము చేసినప్పుడు కాదు, కంపైలర్‌ను ఉచిత కాపీ కన్స్ట్రక్టర్‌ను అందించడానికి మేము అనుమతించినప్పుడు. నిజమే, ఇది నిస్సారమైన కాపీకి దారితీసింది. - 140. అందువల్ల, స్ట్రాటోపార్ యొక్క స్థానిక పరామితి (లేదా పరామితి) నాశనం అయినప్పుడు, అసలు వాస్తవ పరామితి కూడా ఈ విలువను కోల్పోయింది. - 141. మీరు నిస్సార మరియు లోతైన కాపీ మధ్య తేడాను గుర్తించకపోతే మీరు పొందగలిగే సమస్య ఇది. - 142. మనం చూడాలనుకుంటున్న తదుపరిదాన్ని కాపీ అసైన్‌మెంట్ అంటారు. - 143. కాపీ అసైన్‌మెంట్‌లో, కొన్ని వస్తువులు సృష్టించబడినట్లు నన్ను క్షమించండి. - 144. ఈ అంశాలు నేరుగా తయారు చేయబడతాయి. - 145. C3 సృష్టి ద్వారా కాపీ చేయబడింది. - 146. మీకు ఇప్పటివరకు తెలిసిన వాటిని మేము ముద్రించాము, కాని అప్పుడు మీరు ఇప్పుడు చేయటానికి ప్రయత్నిస్తున్నది C1 కు C1 ను కేటాయించడం, అంటే ఇది రకాల్లో నిర్మించబడింది. - 147. మేము వస్తువును సూచిస్తూ కాపీలు కూడా చేస్తాము. - 148. ఇది కాపీ సృష్టి నుండి వేరు చేయాల్సిన అవసరం ఉంది, ఎందుకంటే నేను వ్రాసేటప్పుడు అది C2 C3 కు కాపీ చేయబడుతోంది, కాని C3 ఉనికిలో లేనందున, C3 ను సృష్టించి సృష్టించాలి. ఆ సమయంలో, ఇది C2 యొక్క కాపీ అయి ఉండాలి, మీరు ఈ నియామకాన్ని పరిగణనలోకి తీసుకుంటే, C1 C2 కు కేటాయించబడుతుంది, C2 ఇప్పటికే ఉంది, C1 కూడా ఉంది. - 149. సహజంగానే నేను C1 తీసుకొని C2 ను C1 కు కాపీ చేయాలనుకుంటున్నాను. - 150. కాబట్టి, రెండు సందర్భాలు కాపీ, కానీ ప్రాథమిక వ్యత్యాసంతో, ఈ సందర్భంలో, ముందు ఏ వస్తువు లేదు మరియు ఆ వస్తువు కాపీ ద్వారా సృష్టించబడింది మరియు ఈ సందర్భంలో ఆ వస్తువు ఉంది మరియు మేము ume హిస్తాము ఆబ్జెక్ట్ యొక్క డేటా సభ్యులు దాదాపు అదే సమయంలో మరొక వస్తువుతో భర్తీ చేయబడింది. - 151. అందువల్ల, కాపీ సృష్టి అని మేము చెప్పాము. - 152. కాపీ ఒక అసైన్‌మెంట్ అని మేము చెప్తాము లేదా కొన్ని సందర్భాల్లో ఇది ఒక సాధారణ అసైన్‌మెంట్ అని మేము చెప్పాము. - 153. అందువల్ల, సహజంగా మనం కాపీ అసైన్‌మెంట్ చేయవలసి వస్తే, మనకు ఈ రకమైన ఆపరేటర్ అవసరం. - 154. దీన్ని కాపీ ఆపరేటర్ అసైన్‌మెంట్ అంటారు. - 155. మీరు ఆపరేటర్‌కు లోడింగ్ చర్చలను గుర్తుచేసుకుంటే, ప్రతి ఆపరేటర్‌కు సంబంధిత ఆపరేటర్ ఫంక్షన్ ఉందని మరియు అసైన్‌మెంట్ ఆపరేటర్ కలిగి ఉందని మేము ఇంతకుముందు చర్చించాము ఎందుకంటే ఇది ఒక ఫంక్షన్ ఎందుకంటే నేను కేటాయించినది ఏమైనా, నాకు C1 ను C2 కి కేటాయించారు. - 156. కాబట్టి, ఇది సి 2 డాట్ ఆపరేటర్ (అసైన్‌మెంట్) సి 1 అని చెప్పడానికి సమానం. - 157. కాబట్టి, ఈ ఫంక్షన్ అసైన్‌మెంట్ ఆపరేటర్‌కు సంబంధించిన ఫంక్షన్. - 158. ఇది ఒకే సమయంలో ఒకే వస్తువు అయిన సి 1 ను తీసుకుంటుంది మరియు ఇది ఖచ్చితంగా ఒకే రకమైన వస్తువును పరీక్షిస్తుంది. - 159. ఎందుకు ఖచ్చితంగా అనుమానం? ఇది కాపీ చేసే వరకు దేనినీ తిరిగి ఇవ్వలేము, కాని అది ఒకే రకమైన వస్తువును ఎందుకు తిరిగి ఇవ్వాలో మేము చర్చిస్తాము మరియు ఈ ప్రక్రియలో, అది సంబంధిత డేటా సభ్యులను కాపీ చేస్తుంది. (కాపీ) మేము కోరుకున్నట్లు చేస్తుంది. - 160. అందువల్ల, మేము దీన్ని వ్రాసినప్పుడల్లా, అది ఆపరేటర్‌ను ఇన్వాయిస్ చేస్తుంది మరియు ఈ ఆపరేటర్ ప్రకారం, అసైన్‌మెంట్ అవుతుంది, అంటే ఈ వాదనలో నేను కాపీ చేసేదాన్ని నేను నిర్ణయించగలను. చేయాలనుకుంటున్నాను. - 161. కాబట్టి, ఈ ఒక కాపీ ఎప్పుడూ అర్ధం అది క్లోన్ లాంటిది, సరైనది. - 162. ఇది ఒక క్లోన్ అని నేను వదులుగా అర్ధం, ఇది నేను కాపీ చేస్తున్నదానికి సమానంగా ఉంటుంది, కానీ C ++ యొక్క వాస్తవ సందర్భంలో, ఒక కాపీ తప్పనిసరిగా క్లోన్ కాదు. - 163. నేను కాపీ చేయాలనుకుంటున్నది కాపీ. - 164. నేను ప్రతిదీ కాపీ చేయకూడదనుకుంటున్నాను, నేను కొంత భాగాన్ని కాపీ చేయాలనుకుంటున్నాను, లేదా నేను ఏదైనా చేయాలనుకుంటున్నాను ఎందుకంటే నేను కాపీ చేయగలిగిన ఆపరేటర్ ఫంక్షన్‌ను వ్రాస్తాను - 165. ఇప్పుడు, ఈ ప్రశ్నకు సమాధానం ఇవ్వడానికి, కాపీ ఆపరేటర్ యొక్క పరామితి తరగతితో ఎందుకు ఒకే రకంగా ఉండాలి అని అర్థం చేసుకోవడం సులభం. - 166. కాబట్టి, ఇది సంక్లిష్టంగా ఉండాలి. - 167. ఈ సూచన ఎందుకు ఉండాలో అర్థం చేసుకోవడం సులభం ఎందుకంటే ఇది సూచన కాకపోతే, మీరు అనవసరంగా ఒక కాపీని సృష్టించాలి మరియు అప్పగించినది. - 168. కాబట్టి, ఇది మీరు చేయాలనుకుంటున్నది కాదు. - 169. ఇది ఒక సూచన అయితే, అది ఎందుకు స్థిరంగా ఉండాలి అని అర్ధమే. దీనికి కారణం మీరు కాపీ చేస్తున్నప్పుడు, కుడి చేయి మారడం మీకు ఇష్టం లేదు. - 170. ఇది ఒక సాధారణ పదం. - 171. కాబట్టి, ఈ భాగం స్పష్టంగా ఉంది. - 172. ఏది స్పష్టంగా లేదు, అది ఒకే రకమైన వస్తువును ఎందుకు తిరిగి ఇస్తుంది? దాని కోసం, ఉదాహరణలోని తదుపరి పంక్తిని పరిశీలించండి. - 173. సి 1 అంటే ఏమిటి? C1 కు C2 కు కేటాయించినది ఏమిటి? - 174. దయచేసి మీ సి. - 175. సానుభూతి సరైన సందర్భం ఇది. - 176. ఇది కుడి నుండి ఎడమకు సంభవిస్తుందని దీని అర్థం. - 177. కాబట్టి, ఇది C1 ద్వారా పేర్కొన్న C2 ద్వారా పేర్కొన్న C3 కు సమానం. - 178. ఇది సమానమైన విలువ, అంటే C3 నుండి C2 వరకు అసైన్‌మెంట్ ఎల్లప్పుడూ విలువగా వ్యక్తీకరణగా ఉండాలి, నిజం. - 179. ఇది ఒక వ్యక్తీకరణ అయి ఉండాలి మరియు అది అలాంటి వ్యక్తీకరణ అయి ఉండాలి, తద్వారా నేను దానిని C1 కి కేటాయించగలను, అంటే ఇక్కడ వ్రాయబడినది పారామితి వలె ఒకే రకమైన పారామితి. వెళ్ళడానికి వీలు ఉండాలి. - 180. నాకు ఖచ్చితంగా తెలియకపోతే, నేను ఈ రకమైన గొలుసు అప్పగింతను వ్రాయలేను. - 181. నేను లెవల్ అసైన్‌మెంట్ C1 అసైన్ C2 ను వ్రాయగలను. - 182. ఆపరేటర్ అసైన్‌మెంట్ ఇప్పుడే ఏదైనా తిరిగి ఇస్తే లేదా తిరిగి ఇస్తే, నేను ఇంకా వ్రాయగలను ఎందుకంటే నేను C1 నుండి ఆబ్జెక్ట్ (ఆబ్జెక్ట్) C2 కు ఆబ్జెక్ట్ (ఆబ్జెక్ట్) కు మార్పులు చేసాను. - 183. కాబట్టి, ఇది నాకు అదే ప్రభావాన్ని ఇస్తుంది, కానీ నేను ఈ సిరీస్ అప్పగింతను వ్రాయలేను. - 184. కాపీ ఆపరేటర్ ఎల్లప్పుడూ ఒకే రకమైన ఆపరేటర్‌గా ఉండటానికి ఇది ఒక కారణం. - 185. ఇది తరగతికి ఇన్పుట్ లేదా పరామితిగా సూచించబడుతుంది మరియు అవుట్పుట్ (అవుట్పుట్) కోసం తిరిగి వచ్చే రకంగా ఆ తరగతికి సూచన, తద్వారా మీరు అలాంటి మార్పును సాధ్యం చేయవచ్చు. - 186. ఇప్పుడు, మీరు ఇప్పుడు దీని గుండా వెళితే, మేము త్వరగా వెళ్ళగలము; ఇవి మూడు నిర్మాణాలు. - 187. ఇవి సాధారణ నిర్మాణాలు మరియు అవి కాపీ క్రియేషన్స్, ఇక్కడ నుండి వస్తున్నది అదే. - 188. ఈ మూడు ముద్రణ ప్రకటనలు ఇక్కడి నుండే ఉన్నాయి. - 189. ఇది ఒక కాపీని చేస్తోంది. - 190. కాపీ ఆపరేటర్ అసైన్‌మెంట్‌లో, కాపీ క్లోన్ అంటే ఏమిటో మేము ప్రత్యేకంగా వ్రాసాము, తద్వారా ఇది మీ కాపీ అసైన్‌మెంట్ అసైన్‌మెంట్ ఆపరేటర్ నుండి ఏమిటో మీకు తెలుస్తుంది. - 191. కాబట్టి, ఇది C1 కు C2 ను కాపీ చేస్తుంది మరియు తరువాత, మీరు C2 అంటే ఏమిటో ప్రింట్ షోను చూడవచ్చు, ఆపై ఈ రెండు మొదటి C2 ను 3 కి కేటాయించిన తరువాత, ఫలితం C1 కు కేటాయించబడుతుంది మరియు తరువాత, అవి ముద్రించి సహజంగా వాటి క్రమాన్ని రివర్స్ చేస్తాయి విధ్వంసం. - 192. కాబట్టి, తరగతిలోని వేర్వేరు వస్తువులకు కాపీ కేటాయింపు ప్రక్రియను ఇది స్పష్టంగా మీకు చూపుతుంది. - 193. + ఇక్కడే కాపీ కన్స్ట్రక్టర్ ఇవ్వబడలేదు. + మరియు కంపైలర్ అందించే ఏకైక వ్యత్యాసం ఏమిటంటే, కాపీ కన్స్ట్రక్టర్ మాకు ఇవ్వలేదు, కాపీ సృష్టించబడుతోందని స్పష్టమైన సందేశం లేదు., లేకపోతే మీరు అవుట్పుట్ను పరిశీలిస్తే, అది సరిగ్గా అదే. + కాబట్టి, ఇది పట్టింపు లేదు, అంటే ఈ సందర్భంలో ఇతర సందర్భాల్లో బిట్‌లను కాపీ చేయడం వస్తువును కాపీ చేయడానికి సమానంగా ఉంటుంది, కానీ సాధారణీకరించవద్దు. + పట్టుకోండి, సాధారణీకరించవద్దు. + మనం పరిశీలిద్దాం, మన స్ట్రింగ్ క్లాస్‌కు తిరిగి వెళ్దాం మరియు మేము కాపీ చేయడానికి ప్రయత్నిస్తాము. + కాబట్టి, మీరు కాపీ చేయడానికి ప్రయత్నిస్తే, నేను కాపీ కన్స్ట్రక్టర్ వ్రాసాను, సరళమైనది. + కాపీ కన్స్ట్రక్టర్ ఏమి చేయాలి? మీరు స్ట్రింగ్ యొక్క కాపీని తయారు చేయాలి. + కాబట్టి, ఇది వస్తువును కాపీ చేయడానికి, S ఆబ్జెక్ట్ యొక్క స్ట్రింగ్ సభ్యునిపై మరొక స్ట్రాడ్‌డప్ చేస్తుంది మరియు ఇది స్ట్రింగ్‌కు కేటాయించిన పొడవును కాపీ చేస్తుంది.ఇది కాపీ చేయడానికి సరిపోతుంది. + ఈ కాపీ కన్స్ట్రక్టర్‌ను చూస్తే, మేము ఒక సరళమైన ఫంక్షన్‌ను కూడా వ్రాసాము, అది స్ట్రింగ్ తీసుకొని అప్పర్ కేస్‌కు మారుస్తుంది. + కాబట్టి, నేను ఒక స్ట్రింగ్‌ను క్రియేట్ చేసి ప్రింట్ చేసాను, అప్పుడు మేము strToUpper అని పిలుస్తాము, తరువాత దాన్ని మళ్ళీ ప్రింట్ చేయండి మరియు ఇది output హించిన అవుట్‌పుట్. చాలా బాగా చేస్తుంది మరియు స్ట్రింగ్‌లో, మేము దీన్ని నిజంగా పాస్ చేస్తామని గమనించండి విలువ. + StrToUpper ఫంక్షన్‌లో, మేము దానిని విలువగా ఆమోదించాము. + ఇప్పుడు, నేను అదే పని చేస్తున్నాను, కానీ ఒకే విషయం ఏమిటంటే, నేను కాపీ కన్స్ట్రక్టర్‌ను వ్యాఖ్యానిస్తున్నాను. + నేను కాపీ కన్స్ట్రక్టర్‌పై వ్యాఖ్యానించాను. + దురదృష్టవశాత్తు మా సౌలభ్యం కోసం, కంపైలర్ ఫిర్యాదు చేయదు. + కంపైలర్ మంచిది అని చెబుతుంది. + మీరు కాపీ మేకర్‌ను అందించలేదు. + ఉచిత కాపీ కన్స్ట్రక్టర్ అక్కడ ఉంటుంది, ఇది బిట్ నమూనాను కాపీ చేస్తుంది మరియు అందువల్ల, అదే ప్రోగ్రామ్ సరిగ్గా కంపైల్ చేస్తుంది మరియు ఇది కాపీ కాపీయర్‌ను నిర్వచించే వినియోగదారుతో అవుట్‌పుట్ అవుతుంది., కానీ నేను ఈ ప్రోగ్రామ్‌ను నడుపుతున్నప్పుడు, నాకు ఈ రకమైన లోపం వస్తుంది. + ఇది సరైనది; కానీ ఈ అంశాలను పరిశీలించండి. + నేను కొంత చెత్త ఉత్పత్తిని పొందుతాను, ఆపై, ప్రోగ్రామ్ క్రాష్ అవుతుంది. + ఇప్పుడు, ఇక్కడ ఏమి జరుగుతుందో మీరు కొంచెం అర్థం చేసుకోవాలి, మీరు అసలు వస్తువును చూస్తే, అసలు వస్తువు ఎలా ఉంటుంది. + కాబట్టి, ఇది పార్త్‌కు వెళుతుంది, ఇదే మార్గం మరియు ఇది పార్థ్‌కు వెళుతుంది. + ఇది x అయిన లెన్. + ఇప్పుడు, నేను కొంచెం కాపీ చేసినప్పటి నుండి, అదే బిట్స్ సమితిని కలిగి ఉన్న మరొక వస్తువు నాకు లభిస్తుంది, అంటే ఇది అసలు పాయింటర్‌కు సమానం. + కాబట్టి, నా కాపీ చేసిన వస్తువులో కూడా, పొడవుకు ఒకే విలువ 6 ఉంది మరియు ఇక్కడ ఉపయోగించిన అదే వస్తువు నాకు ఉంది. + నేను ఎగువకు పిలిచినప్పుడు, నేను దానిని తయారు చేసాను. + కాబట్టి, ఇది. + నేను ఇక్కడ పైభాగాన్ని పిలుస్తున్నాను. + ఇది s మరియు అధికారిక పరామితి a. + కాబట్టి, ఇది ఒకటి, మరియు ఈ విధంగా కాపీ చేయటానికి కారణం నేను కాపీ కన్స్ట్రక్టర్‌ను అందించలేదు. + నేను మునుపటిలాగే చేస్తే, అది పార్త్ 6 ను కలిగి ఉన్నట్లు అనిపిస్తుంది. + అప్పుడు ఇది 'a', ఇది పార్థాను కలిగి ఉంది, ఎందుకంటే నేను ఈ స్ట్రింగ్ యొక్క స్ట్రడప్‌ను కొత్త వస్తువు (స్ట్రింగ్) కు స్పష్టంగా తగ్గించాను, కాని నేను కాపీ కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) అందించనందున, బిట్ నమూనా కాపీ చేయబడింది. + కాబట్టి, సహజంగా సంకేతాలు ఒకటే. + వారు అదే విషయాన్ని సూచిస్తున్నారు. + కాబట్టి, నేను ఇక్కడ ఉన్నప్పుడు ఇదే జరుగుతుంది. + నేను strToUpper ఫంక్షన్‌లోకి ప్రవేశించినప్పుడు, సహజంగా దీనికి చెల్లుబాటు అయ్యే స్ట్రింగ్ ఉంటుంది. + కాబట్టి, ఇది పెద్ద కేసుకు విషయాలను కదిలిస్తుంది, ఇది పెద్ద కేసుకు విషయాలను కదిలిస్తుంది, దాన్ని ముద్రిస్తుంది, సరే. + ఈ సమయంలో ఏమి జరుగుతుంది, ఇవి strToUpper యొక్క పరిధి ముగుస్తుంది. + ఇది స్వయంచాలక వస్తువు అని మాకు తెలుసు మరియు ఈ సమయంలో దాని పరిధి ముగుస్తుంది, ఇది స్ట్రింగ్ దృష్టిని మరల్చేస్తుంది. + పరధ్యానంలో ఉన్న వ్యక్తి ఏమి చేస్తాడు? ఇది స్ట్రింగ్‌ను స్తంభింపజేస్తుంది. + కాబట్టి, ఈ సమయంలో ఏమి జరుగుతుందో A యొక్క డిస్ట్రాక్టర్ అంటారు. + కాబట్టి, ఇది ఈ స్ట్రింగ్‌ను విముక్తి చేస్తుంది. + కాబట్టి, ఈ జ్ఞాపకశక్తి వెళుతుంది మరియు నేను ఈ సమయంలో ఇక్కడకు తిరిగి వచ్చాను. + నేను తిరిగి ఇక్కడకు వచ్చాను. + ఇప్పుడు, ఈ జ్ఞాపకం పోతే? అప్పుడు s కోసం, str ఇప్పుడు ఏమీ చేయదని సూచిస్తుంది. + ఆ చిరునామాను సూచించిన ప్రతిదీ మా వద్ద ఉంది, కానీ ఆ స్థలంలో, వైర్ అందుబాటులో లేదు ఎందుకంటే సిస్టమ్ విపత్తును కనిష్టంగా పిలుస్తుందని నేను ఇప్పటికే విముక్తి పొందాను. + అందుకే నేను వాటిని ప్రింట్ చేయడానికి ప్రయత్నిస్తున్నప్పుడు, ఇది కొన్ని చెత్త అక్షరాలను ప్రింట్ చేస్తుంది. + ఇది తప్పనిసరిగా ప్రశ్న గుర్తును సూచించదు. + నేను ప్లేస్ హోల్డ్‌గా ప్రశ్న గుర్తును ఉంచాను. + నేను దేనినైనా ప్రింట్ చేయగలను ఎందుకంటే ఇది ఎక్కడ నుండి ప్రింట్ అవుతుందో తెలియదు మరియు ఇది ప్రోగ్రామ్ క్రష్ యొక్క లోపానికి దారితీస్తుంది. + కాబట్టి, బిట్ కాపీ కాపీ ఆబ్జెక్ట్ మాదిరిగానే లేదని ఈ ఉదాహరణ మీకు స్పష్టంగా చూపిస్తుంది మరియు ఇది మాకు రెండు వేర్వేరు భావనలను ఇస్తుంది. + ఒక వస్తువు డైనమిక్‌గా సృష్టించబడిన ఇతర వస్తువులను సూచించే పాయింటర్లను కలిగి ఉన్నప్పుడు, దానిని కాపీ చేసేటప్పుడు, మనం పాయింటర్‌ను కాపీ చేస్తే, కానీ ఆబ్జెక్ట్ (మేము ఆ వస్తువును కాపీ చేయకపోతే, మేము నిస్సారమైన కాపీని చేస్తున్నామని చెప్తాము, కానీ దీనికి విరుద్ధంగా కాపీ ఆబ్జెక్ట్, మేము పాయింటర్‌ను కాపీ చేస్తే.), కానీ మీరు ఆబ్జెక్ట్‌ను కాపీ చేస్తే, మేము లోతైన కాపీని చేశామని చెబుతాము. + కాబట్టి, మేము స్ట్రింగ్ కోసం కాపీ కన్స్ట్రక్టర్ వ్రాసినప్పుడు, మేము లోతైన కాపీని చేసాము, ఎందుకంటే స్ట్రాపర్‌ను డీప్ కాపీ అని పిలిచినప్పుడు, వేరే స్ట్రింగ్. డేటా సృష్టించబడింది మరియు strToUpper ఫంక్షన్ (ఫంక్షన్ ) ముగిసింది, కాని మేము చేసినప్పుడు కాదు, కంపైలర్‌ను ఉచిత కాపీ కన్స్ట్రక్టర్‌ను అందించడానికి మేము అనుమతించినప్పుడు. నిజమే, ఇది నిస్సారమైన కాపీకి దారితీసింది. + అందువల్ల, స్ట్రాటోపార్ యొక్క స్థానిక పరామితి (లేదా పరామితి) నాశనం అయినప్పుడు, అసలు వాస్తవ పరామితి కూడా ఈ విలువను కోల్పోయింది. + మీరు నిస్సార మరియు లోతైన కాపీ మధ్య తేడాను గుర్తించకపోతే మీరు పొందగలిగే సమస్య ఇది. + మనం చూడాలనుకుంటున్న తదుపరిదాన్ని కాపీ అసైన్‌మెంట్ అంటారు. + కాపీ అసైన్‌మెంట్‌లో, కొన్ని వస్తువులు సృష్టించబడినట్లు నన్ను క్షమించండి. + ఈ అంశాలు నేరుగా తయారు చేయబడతాయి. + C3 సృష్టి ద్వారా కాపీ చేయబడింది. + మీకు ఇప్పటివరకు తెలిసిన వాటిని మేము ముద్రించాము, కాని అప్పుడు మీరు ఇప్పుడు చేయటానికి ప్రయత్నిస్తున్నది C1 కు C1 ను కేటాయించడం, అంటే ఇది రకాల్లో నిర్మించబడింది. + మేము వస్తువును సూచిస్తూ కాపీలు కూడా చేస్తాము. + ఇది కాపీ సృష్టి నుండి వేరు చేయాల్సిన అవసరం ఉంది, ఎందుకంటే నేను వ్రాసేటప్పుడు అది C2 C3 కు కాపీ చేయబడుతోంది, కాని C3 ఉనికిలో లేనందున, C3 ను సృష్టించి సృష్టించాలి. ఆ సమయంలో, ఇది C2 యొక్క కాపీ అయి ఉండాలి, మీరు ఈ నియామకాన్ని పరిగణనలోకి తీసుకుంటే, C1 C2 కు కేటాయించబడుతుంది, C2 ఇప్పటికే ఉంది, C1 కూడా ఉంది. + సహజంగానే నేను C1 తీసుకొని C2 ను C1 కు కాపీ చేయాలనుకుంటున్నాను. + కాబట్టి, రెండు సందర్భాలు కాపీ, కానీ ప్రాథమిక వ్యత్యాసంతో, ఈ సందర్భంలో, ముందు ఏ వస్తువు లేదు మరియు ఆ వస్తువు కాపీ ద్వారా సృష్టించబడింది మరియు ఈ సందర్భంలో ఆ వస్తువు ఉంది మరియు మేము ume హిస్తాము ఆబ్జెక్ట్ యొక్క డేటా సభ్యులు దాదాపు అదే సమయంలో మరొక వస్తువుతో భర్తీ చేయబడింది. + అందువల్ల, కాపీ సృష్టి అని మేము చెప్పాము. + కాపీ ఒక అసైన్‌మెంట్ అని మేము చెప్తాము లేదా కొన్ని సందర్భాల్లో ఇది ఒక సాధారణ అసైన్‌మెంట్ అని మేము చెప్పాము. + అందువల్ల, సహజంగా మనం కాపీ అసైన్‌మెంట్ చేయవలసి వస్తే, మనకు ఈ రకమైన ఆపరేటర్ అవసరం. + దీన్ని కాపీ ఆపరేటర్ అసైన్‌మెంట్ అంటారు. + మీరు ఆపరేటర్‌కు లోడింగ్ చర్చలను గుర్తుచేసుకుంటే, ప్రతి ఆపరేటర్‌కు సంబంధిత ఆపరేటర్ ఫంక్షన్ ఉందని మరియు అసైన్‌మెంట్ ఆపరేటర్ కలిగి ఉందని మేము ఇంతకుముందు చర్చించాము ఎందుకంటే ఇది ఒక ఫంక్షన్ ఎందుకంటే నేను కేటాయించినది ఏమైనా, నాకు C1 ను C2 కి కేటాయించారు. + కాబట్టి, ఇది సి 2 డాట్ ఆపరేటర్ (అసైన్‌మెంట్) సి 1 అని చెప్పడానికి సమానం. + కాబట్టి, ఈ ఫంక్షన్ అసైన్‌మెంట్ ఆపరేటర్‌కు సంబంధించిన ఫంక్షన్. + ఇది ఒకే సమయంలో ఒకే వస్తువు అయిన సి 1 ను తీసుకుంటుంది మరియు ఇది ఖచ్చితంగా ఒకే రకమైన వస్తువును పరీక్షిస్తుంది. + ఎందుకు ఖచ్చితంగా అనుమానం? ఇది కాపీ చేసే వరకు దేనినీ తిరిగి ఇవ్వలేము, కాని అది ఒకే రకమైన వస్తువును ఎందుకు తిరిగి ఇవ్వాలో మేము చర్చిస్తాము మరియు ఈ ప్రక్రియలో, అది సంబంధిత డేటా సభ్యులను కాపీ చేస్తుంది. (కాపీ) మేము కోరుకున్నట్లు చేస్తుంది. + అందువల్ల, మేము దీన్ని వ్రాసినప్పుడల్లా, అది ఆపరేటర్‌ను ఇన్వాయిస్ చేస్తుంది మరియు ఈ ఆపరేటర్ ప్రకారం, అసైన్‌మెంట్ అవుతుంది, అంటే ఈ వాదనలో నేను కాపీ చేసేదాన్ని నేను నిర్ణయించగలను. చేయాలనుకుంటున్నాను. + కాబట్టి, ఈ ఒక కాపీ ఎప్పుడూ అర్ధం అది క్లోన్ లాంటిది, సరైనది. + ఇది ఒక క్లోన్ అని నేను వదులుగా అర్ధం, ఇది నేను కాపీ చేస్తున్నదానికి సమానంగా ఉంటుంది, కానీ C ++ యొక్క వాస్తవ సందర్భంలో, ఒక కాపీ తప్పనిసరిగా క్లోన్ కాదు. + నేను కాపీ చేయాలనుకుంటున్నది కాపీ. + నేను ప్రతిదీ కాపీ చేయకూడదనుకుంటున్నాను, నేను కొంత భాగాన్ని కాపీ చేయాలనుకుంటున్నాను, లేదా నేను ఏదైనా చేయాలనుకుంటున్నాను ఎందుకంటే నేను కాపీ చేయగలిగిన ఆపరేటర్ ఫంక్షన్‌ను వ్రాస్తాను + ఇప్పుడు, ఈ ప్రశ్నకు సమాధానం ఇవ్వడానికి, కాపీ ఆపరేటర్ యొక్క పరామితి తరగతితో ఎందుకు ఒకే రకంగా ఉండాలి అని అర్థం చేసుకోవడం సులభం. + కాబట్టి, ఇది సంక్లిష్టంగా ఉండాలి. + ఈ సూచన ఎందుకు ఉండాలో అర్థం చేసుకోవడం సులభం ఎందుకంటే ఇది సూచన కాకపోతే, మీరు అనవసరంగా ఒక కాపీని సృష్టించాలి మరియు అప్పగించినది. + కాబట్టి, ఇది మీరు చేయాలనుకుంటున్నది కాదు. + ఇది ఒక సూచన అయితే, అది ఎందుకు స్థిరంగా ఉండాలి అని అర్ధమే. దీనికి కారణం మీరు కాపీ చేస్తున్నప్పుడు, కుడి చేయి మారడం మీకు ఇష్టం లేదు. + ఇది ఒక సాధారణ పదం. + కాబట్టి, ఈ భాగం స్పష్టంగా ఉంది. + ఏది స్పష్టంగా లేదు, అది ఒకే రకమైన వస్తువును ఎందుకు తిరిగి ఇస్తుంది? దాని కోసం, ఉదాహరణలోని తదుపరి పంక్తిని పరిశీలించండి. + సి 1 అంటే ఏమిటి? C1 కు C2 కు కేటాయించినది ఏమిటి? + దయచేసి మీ సి. + సానుభూతి సరైన సందర్భం ఇది. + ఇది కుడి నుండి ఎడమకు సంభవిస్తుందని దీని అర్థం. + కాబట్టి, ఇది C1 ద్వారా పేర్కొన్న C2 ద్వారా పేర్కొన్న C3 కు సమానం. + ఇది సమానమైన విలువ, అంటే C3 నుండి C2 వరకు అసైన్‌మెంట్ ఎల్లప్పుడూ విలువగా వ్యక్తీకరణగా ఉండాలి, నిజం. + ఇది ఒక వ్యక్తీకరణ అయి ఉండాలి మరియు అది అలాంటి వ్యక్తీకరణ అయి ఉండాలి, తద్వారా నేను దానిని C1 కి కేటాయించగలను, అంటే ఇక్కడ వ్రాయబడినది పారామితి వలె ఒకే రకమైన పారామితి. వెళ్ళడానికి వీలు ఉండాలి. + నాకు ఖచ్చితంగా తెలియకపోతే, నేను ఈ రకమైన గొలుసు అప్పగింతను వ్రాయలేను. + నేను లెవల్ అసైన్‌మెంట్ C1 అసైన్ C2 ను వ్రాయగలను. + ఆపరేటర్ అసైన్‌మెంట్ ఇప్పుడే ఏదైనా తిరిగి ఇస్తే లేదా తిరిగి ఇస్తే, నేను ఇంకా వ్రాయగలను ఎందుకంటే నేను C1 నుండి ఆబ్జెక్ట్ (ఆబ్జెక్ట్) C2 కు ఆబ్జెక్ట్ (ఆబ్జెక్ట్) కు మార్పులు చేసాను. + కాబట్టి, ఇది నాకు అదే ప్రభావాన్ని ఇస్తుంది, కానీ నేను ఈ సిరీస్ అప్పగింతను వ్రాయలేను. + కాపీ ఆపరేటర్ ఎల్లప్పుడూ ఒకే రకమైన ఆపరేటర్‌గా ఉండటానికి ఇది ఒక కారణం. + ఇది తరగతికి ఇన్పుట్ లేదా పరామితిగా సూచించబడుతుంది మరియు అవుట్పుట్ (అవుట్పుట్) కోసం తిరిగి వచ్చే రకంగా ఆ తరగతికి సూచన, తద్వారా మీరు అలాంటి మార్పును సాధ్యం చేయవచ్చు. + ఇప్పుడు, మీరు ఇప్పుడు దీని గుండా వెళితే, మేము త్వరగా వెళ్ళగలము; ఇవి మూడు నిర్మాణాలు. + ఇవి సాధారణ నిర్మాణాలు మరియు అవి కాపీ క్రియేషన్స్, ఇక్కడ నుండి వస్తున్నది అదే. + ఈ మూడు ముద్రణ ప్రకటనలు ఇక్కడి నుండే ఉన్నాయి. + ఇది ఒక కాపీని చేస్తోంది. + కాపీ ఆపరేటర్ అసైన్‌మెంట్‌లో, కాపీ క్లోన్ అంటే ఏమిటో మేము ప్రత్యేకంగా వ్రాసాము, తద్వారా ఇది మీ కాపీ అసైన్‌మెంట్ అసైన్‌మెంట్ ఆపరేటర్ నుండి ఏమిటో మీకు తెలుస్తుంది. + కాబట్టి, ఇది C1 కు C2 ను కాపీ చేస్తుంది మరియు తరువాత, మీరు C2 అంటే ఏమిటో ప్రింట్ షోను చూడవచ్చు, ఆపై ఈ రెండు మొదటి C2 ను 3 కి కేటాయించిన తరువాత, ఫలితం C1 కు కేటాయించబడుతుంది మరియు తరువాత, అవి ముద్రించి సహజంగా వాటి క్రమాన్ని రివర్స్ చేస్తాయి విధ్వంసం. + కాబట్టి, తరగతిలోని వేర్వేరు వస్తువులకు కాపీ కేటాయింపు ప్రక్రియను ఇది స్పష్టంగా మీకు చూపుతుంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/15. ProgramminginCplusplus_Access Specifiers (Contd.) (lecture 22)-18dWcNZ7mR0.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/15. ProgramminginCplusplus_Access Specifiers (Contd.) (lecture 22)-18dWcNZ7mR0.txt index e4e0729d84bbbbca1d7a7af118ce3454bb827702..56157117ea6248a42c2b9e6d06604540da31413a 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/15. ProgramminginCplusplus_Access Specifiers (Contd.) (lecture 22)-18dWcNZ7mR0.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/15. ProgramminginCplusplus_Access Specifiers (Contd.) (lecture 22)-18dWcNZ7mR0.txt @@ -1,49 +1,49 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ మాడ్యూల్ 2 వ భాగం కు స్వాగతం. - 2. మేము ఈ మాడ్యూల్‌లో వేర్వేరు యాక్సెస్ స్పెసిఫైయర్‌లను చర్చించాము, అందువల్ల తరగతి సభ్యుడి దృశ్యమానత ఎంపికలు. - 3. పబ్లిక్ మరియు ప్రైవేట్ యాక్సెస్‌లు ఒక తరగతిలోని ఏ భాగాన్ని ఎవరు యాక్సెస్ చేయవచ్చో నియంత్రించడానికి ఉపయోగపడే స్పెసిఫైయర్‌లు అని మేము తెలుసుకున్నాము. - 4. పబ్లిక్ డిస్క్రిప్టర్స్ అంటే గ్లోబల్ ఫంక్షన్ లేదా మరొక తరగతి అయిన ఎవరైనా బహిరంగంగా పేర్కొన్న సభ్యుడిని యాక్సెస్ చేయవచ్చు, కాని కొంతమంది సభ్యుల డేటా (డేటా) సభ్యుడు లేదా పద్ధతి ప్రైవేట్ అయితే పేర్కొన్నట్లుగా, డేటా సభ్యుడు లేదా పద్ధతిని మాత్రమే యాక్సెస్ చేయవచ్చు లోపల నుండి. - 5. ఒక తరగతి యొక్క నిర్వచనం ఒకే తరగతి యొక్క ఇతర పద్ధతుల కంటే చాలా ఖచ్చితమైనది, కానీ దానిని మరెవరూ యాక్సెస్ చేయలేరు. - 6. దీని ఆధారంగా, సమాచారాన్ని దాచడం యొక్క సూత్రాన్ని మేము వివరించాము, అక్కడ మేము ఎల్లప్పుడూ గుణాలు లేదా డేటా సభ్యులను ప్రైవేట్‌గా కలిగి ఉండాలని మరియు వస్తువులో బహిరంగంగా ప్రవర్తించడానికి అనుమతించే పద్ధతులు వారు రాష్ట్ర మూలాన్ని దాచిపెడుతున్నారని మేము నిర్ణయించాము. - 7. మీరు డేటా సభ్యులను బహిరంగంగా ఉంచితే, మీరు అమలును హైలైట్ చేస్తే, ఒకరు అమలు చేసే ఇబ్బందులు మరియు నష్టాలు ఏమిటి, బదులుగా డేటా (డేటా) సభ్యులు ప్రైవేట్‌గా ఉంటే మరియు పద్ధతులు మాత్రమే స్టాక్ (స్టాక్ ) టైప్ లేదా స్టాక్ (స్టాక్) క్లాస్ (క్లాస్), పుష్ (పుష్), పాప్ (పాప్), టాప్ (టాప్) మరియు ఖాళీ పబ్లిక్, కాబట్టి ఒక అప్లికేషన్ ప్రాథమికంగా ఈ విషయం స్టాక్‌ను ఎంత ఖచ్చితంగా సంబంధం లేకుండా ఉపయోగించగలదు స్టాక్ (స్టాక్) ను దెబ్బతీసే ప్రమాదం లేకుండా రైట్ ప్రాసెస్‌లో స్టాక్ అమలు చేయబడుతుంది. - 8. అప్లికేషన్. - 9. చివరగా, శీర్షిక మరియు అమలు ఫైళ్ళ సందర్భంలో సమాచారాన్ని దాచడానికి కోడ్-ఆధారిత ఆబ్జెక్ట్ (కోడ్) ఆధారిత సి ++ కోడ్ సాధారణంగా ఎలా నిర్వహించాలో మేము చూపించాము. - 10. మేము తరువాత ఒక ఇడియమ్స్ గురించి మాట్లాడుతాము, దీనిని సాధారణంగా గేట్-సెట్ ఇడియమ్స్ అని పిలుస్తారు, ఇది తరగతి లేదా వస్తువు యొక్క వేర్వేరు సభ్యులలో ఉపయోగించబడుతుంది. ధాన్యం యాక్సెస్ నియంత్రణ కోసం ఉపయోగించబడుతుంది. - 11. మేము అన్ని లక్షణాలను ప్రైవేట్‌గా ఉంచుతామని మాకు తెలుసు మరియు మేము పద్ధతులను బహిరంగంగా ఉంచుతాము మరియు ఇది డేటాకు ప్రాప్యతను పూర్తిగా పరిమితం చేస్తుంది, ఇది మీకు ఉండవచ్చు. - 12. ఇప్పుడు సాధారణంగా మేము ఈ ప్రాప్యతను పరిష్కరించాలనుకుంటున్నాము మరియు మేము ఎంచుకున్న పబ్లిక్ మెంబర్ ఫంక్షన్లను అందించాలనుకుంటున్నాము లేదా ఫంక్షన్ (ఫంక్షన్) చదవాలనుకుంటున్నాము లేదా డేటాను పొందాలనుకుంటున్నాము లేదా ఫంక్షన్ (ఫంక్షన్) రాయాలి లేదా డేటా (డేటా) పై పద్ధతులను సెట్ చేయాలనుకుంటున్నాము. - 13. కాబట్టి, నేను మొత్తం ఆలోచనను ఒక ఉదాహరణ పరంగా వివరించాను, ఇక్కడ నేను ఉన్న తరగతి ఉంది. క్లాస్ మైక్లాస్‌గా చెప్పండి, ఇది చాలా ముఖ్యమైనది కాదు. - 14. నలుగురు డేటా సభ్యులు ఉన్నారు మరియు నేను ఇక్కడ క్లాస్ డెఫినిషన్ ప్రారంభం నుండి ఎటువంటి యాక్సెస్ స్పెసిఫైయర్‌ను ఉపయోగించలేదు, అంటే అప్రమేయంగా ఈ డేటా సభ్యులు అక్కడ ప్రైవేట్‌గా ఉన్నారు మరియు ఈ డేటా (డేటా) సభ్యుల ఉద్దేశ్యం అంటే మొదట చదివిన డేటా సభ్యులు డేటా సభ్యుడు, నేను డేటా సభ్యుని కాబట్టి, ఇది ప్రైవేట్, కాబట్టి ఎవరైనా నేరుగా రావచ్చు మరియు దాని విలువ మారదు, కానీ దాని ఉపయోగం పరంగా దాని విలువను చదివి వ్రాయాలనుకుంటున్నాను. - 15. ఉదాహరణకు, ఇది సంక్లిష్ట సంఖ్య యొక్క పున components- భాగాలు, సంక్లిష్ట సంఖ్య యొక్క im భాగాలు వంటి సభ్యుడు, నేను సంక్లిష్ట సంఖ్యను చదువుతుంటే ఈ భాగం యొక్క విలువను చదివి సెట్ చేయాలి. - 16. నేను సంక్లిష్ట సంఖ్య యొక్క ప్రస్తుత విలువను వ్రాస్తున్నట్లయితే, నేను మళ్ళీ చదవాలి, im భాగం మరియు మొదలైనవి. - 17. పెద్ద సంఖ్యలో డేటా సభ్యులు చదవలేనివారు. - 18. అందువల్ల, నేను దీన్ని చేయగలిగే కొన్ని యంత్రాంగాన్ని అందించాలి మరియు దీన్ని చేయటానికి సరళమైన మార్గం జత గేట్-సెట్ ఫంక్షన్‌ను అందించడం. - 19. మీకు ఏమి లభిస్తుంది, ఫంక్షన్ సెట్ చేయండి? ఈ వేరియబుల్‌లోని రీడ్ రైట్‌లో గెట్ ఫంక్షన్ ఒక పేరు getReadWrite అని చెబుతుంది, ఇది ఈ డేటా సభ్యుడిని తీసుకొని తిరిగి ఇస్తుంది. - 20. ఈ పద్ధతి బహిరంగ ప్రదేశంలో ఉంచబడుతుంది, కాబట్టి ఏదైనా బాహ్య ఫంక్షన్ (ఫంక్షన్) లేదా మరొక తరగతి (తరగతి) లోని ఏ ఇతర సభ్యుడు ఫంక్షన్ getReadWrite ఫంక్షన్ (ఫంక్షన్) ను స్థానికంగా పిలుస్తారు, ఎందుకంటే ఇది బహిరంగ ప్రదేశంలో లభిస్తుంది. - 21. మరియు అది ప్రైవేట్ సభ్యుడిని యాక్సెస్ చేస్తుంది మరియు దాని విలువను తిరిగి ఇస్తుంది. - 22. కాబట్టి ఒక విధంగా మనం బయటి ప్రపంచానికి ఎంపిక చేసుకుంటున్నాము, దాని విలువపై నియంత్రణతో ఒకరు దీన్ని ప్రత్యేకంగా చేయవలసి వచ్చినప్పుడల్లా ఈ ప్రత్యేకత ద్వారా వెళ్ళాలి, దాన్ని సాధించడం మధ్య ఒక ప్రాథమిక వ్యత్యాసం ఏమిటి మరియు నేను అని చెప్పనివ్వండి విలువను v తీసుకునే సమితిని కలిగి ఉండండి మరియు వాస్తవానికి డేటా సభ్యులు చదివే శాస్త్రం. - 23. కాబట్టి ప్రాథమికంగా, నేను గెట్ మరియు సెట్ రెండింటినీ కలిగి ఉంటే, నేను ఈ వేరియబుల్, రీడ్‌రైట్‌ను చదవగలను. - 24. ఇప్పుడు మీరు దీన్ని ప్రైవేట్‌గా ఎందుకు చేయాలనుకుంటున్నారో ఇప్పుడు మీరు ఆశ్చర్యపోతున్నారు, ఆపై దాన్ని పొందగలిగే మరియు సెట్ చేయగలిగే ఒక జత పబ్లిక్ పద్ధతులు ఉన్నాయి, మేము దీన్ని పబ్లిక్‌గా చేయగలము మరియు ఎవరైనా దీన్ని మార్చగలరు. - 25. కానీ అవును, చదవడం మరియు వ్రాయడం విషయంలో ఇది ఒకటే, కాని పెద్ద తేడా ఉంది ఎందుకంటే నేను దానిని బహిరంగంగా ఉంచితే ఆ వస్తువు ఎప్పటికీ తెలియదు, అది జరుగుతున్నప్పుడు అది ప్రత్యేక డేటా అవుతుంది. సభ్యుడు చదువుతున్నాడా లేదా అది పూర్తయినప్పుడు చదవండి. - 26. కానీ అది ఒక ఫంక్షన్ ద్వారా జరిగితే అది చదివేటప్పుడు ఒక పద్ధతి ఉంటుంది కాబట్టి నేను ఇక్కడ కొన్ని లెక్కలు కూడా చేయగలను. - 27. వ్రాసేటప్పుడు ఈ విలువ రాయడానికి ముందు లేదా తరువాత నేను కొన్ని లెక్కలు కూడా చేయగలను. - 28. అందువల్ల, రీడ్ రైట్ యొక్క విలువ మార్చబడిందని లేదా రీడ్ రైట్ యొక్క విలువను ఎవరైనా చదివారని ఆ వస్తువు ఎల్లప్పుడూ తెలుసుకుంటుంది. - 29. కాబట్టి, ఈ డేటా సభ్యుడిని పబ్లిక్ యాక్సెస్‌గా ఉంచడం సరికాదు. + ప్రోగ్రామింగ్ ఇన్ C ++ మాడ్యూల్ 2 వ భాగం కు స్వాగతం. + మేము ఈ మాడ్యూల్‌లో వేర్వేరు యాక్సెస్ స్పెసిఫైయర్‌లను చర్చించాము, అందువల్ల తరగతి సభ్యుడి దృశ్యమానత ఎంపికలు. + పబ్లిక్ మరియు ప్రైవేట్ యాక్సెస్‌లు ఒక తరగతిలోని ఏ భాగాన్ని ఎవరు యాక్సెస్ చేయవచ్చో నియంత్రించడానికి ఉపయోగపడే స్పెసిఫైయర్‌లు అని మేము తెలుసుకున్నాము. + పబ్లిక్ డిస్క్రిప్టర్స్ అంటే గ్లోబల్ ఫంక్షన్ లేదా మరొక తరగతి అయిన ఎవరైనా బహిరంగంగా పేర్కొన్న సభ్యుడిని యాక్సెస్ చేయవచ్చు, కాని కొంతమంది సభ్యుల డేటా (డేటా) సభ్యుడు లేదా పద్ధతి ప్రైవేట్ అయితే పేర్కొన్నట్లుగా, డేటా సభ్యుడు లేదా పద్ధతిని మాత్రమే యాక్సెస్ చేయవచ్చు లోపల నుండి. + ఒక తరగతి యొక్క నిర్వచనం ఒకే తరగతి యొక్క ఇతర పద్ధతుల కంటే చాలా ఖచ్చితమైనది, కానీ దానిని మరెవరూ యాక్సెస్ చేయలేరు. + దీని ఆధారంగా, సమాచారాన్ని దాచడం యొక్క సూత్రాన్ని మేము వివరించాము, అక్కడ మేము ఎల్లప్పుడూ గుణాలు లేదా డేటా సభ్యులను ప్రైవేట్‌గా కలిగి ఉండాలని మరియు వస్తువులో బహిరంగంగా ప్రవర్తించడానికి అనుమతించే పద్ధతులు వారు రాష్ట్ర మూలాన్ని దాచిపెడుతున్నారని మేము నిర్ణయించాము. + మీరు డేటా సభ్యులను బహిరంగంగా ఉంచితే, మీరు అమలును హైలైట్ చేస్తే, ఒకరు అమలు చేసే ఇబ్బందులు మరియు నష్టాలు ఏమిటి, బదులుగా డేటా (డేటా) సభ్యులు ప్రైవేట్‌గా ఉంటే మరియు పద్ధతులు మాత్రమే స్టాక్ (స్టాక్ ) టైప్ లేదా స్టాక్ (స్టాక్) క్లాస్ (క్లాస్), పుష్ (పుష్), పాప్ (పాప్), టాప్ (టాప్) మరియు ఖాళీ పబ్లిక్, కాబట్టి ఒక అప్లికేషన్ ప్రాథమికంగా ఈ విషయం స్టాక్‌ను ఎంత ఖచ్చితంగా సంబంధం లేకుండా ఉపయోగించగలదు స్టాక్ (స్టాక్) ను దెబ్బతీసే ప్రమాదం లేకుండా రైట్ ప్రాసెస్‌లో స్టాక్ అమలు చేయబడుతుంది. + అప్లికేషన్. + చివరగా, శీర్షిక మరియు అమలు ఫైళ్ళ సందర్భంలో సమాచారాన్ని దాచడానికి కోడ్-ఆధారిత ఆబ్జెక్ట్ (కోడ్) ఆధారిత సి ++ కోడ్ సాధారణంగా ఎలా నిర్వహించాలో మేము చూపించాము. + మేము తరువాత ఒక ఇడియమ్స్ గురించి మాట్లాడుతాము, దీనిని సాధారణంగా గేట్-సెట్ ఇడియమ్స్ అని పిలుస్తారు, ఇది తరగతి లేదా వస్తువు యొక్క వేర్వేరు సభ్యులలో ఉపయోగించబడుతుంది. ధాన్యం యాక్సెస్ నియంత్రణ కోసం ఉపయోగించబడుతుంది. + మేము అన్ని లక్షణాలను ప్రైవేట్‌గా ఉంచుతామని మాకు తెలుసు మరియు మేము పద్ధతులను బహిరంగంగా ఉంచుతాము మరియు ఇది డేటాకు ప్రాప్యతను పూర్తిగా పరిమితం చేస్తుంది, ఇది మీకు ఉండవచ్చు. + ఇప్పుడు సాధారణంగా మేము ఈ ప్రాప్యతను పరిష్కరించాలనుకుంటున్నాము మరియు మేము ఎంచుకున్న పబ్లిక్ మెంబర్ ఫంక్షన్లను అందించాలనుకుంటున్నాము లేదా ఫంక్షన్ (ఫంక్షన్) చదవాలనుకుంటున్నాము లేదా డేటాను పొందాలనుకుంటున్నాము లేదా ఫంక్షన్ (ఫంక్షన్) రాయాలి లేదా డేటా (డేటా) పై పద్ధతులను సెట్ చేయాలనుకుంటున్నాము. + కాబట్టి, నేను మొత్తం ఆలోచనను ఒక ఉదాహరణ పరంగా వివరించాను, ఇక్కడ నేను ఉన్న తరగతి ఉంది. క్లాస్ మైక్లాస్‌గా చెప్పండి, ఇది చాలా ముఖ్యమైనది కాదు. + నలుగురు డేటా సభ్యులు ఉన్నారు మరియు నేను ఇక్కడ క్లాస్ డెఫినిషన్ ప్రారంభం నుండి ఎటువంటి యాక్సెస్ స్పెసిఫైయర్‌ను ఉపయోగించలేదు, అంటే అప్రమేయంగా ఈ డేటా సభ్యులు అక్కడ ప్రైవేట్‌గా ఉన్నారు మరియు ఈ డేటా (డేటా) సభ్యుల ఉద్దేశ్యం అంటే మొదట చదివిన డేటా సభ్యులు డేటా సభ్యుడు, నేను డేటా సభ్యుని కాబట్టి, ఇది ప్రైవేట్, కాబట్టి ఎవరైనా నేరుగా రావచ్చు మరియు దాని విలువ మారదు, కానీ దాని ఉపయోగం పరంగా దాని విలువను చదివి వ్రాయాలనుకుంటున్నాను. + ఉదాహరణకు, ఇది సంక్లిష్ట సంఖ్య యొక్క పున components- భాగాలు, సంక్లిష్ట సంఖ్య యొక్క im భాగాలు వంటి సభ్యుడు, నేను సంక్లిష్ట సంఖ్యను చదువుతుంటే ఈ భాగం యొక్క విలువను చదివి సెట్ చేయాలి. + నేను సంక్లిష్ట సంఖ్య యొక్క ప్రస్తుత విలువను వ్రాస్తున్నట్లయితే, నేను మళ్ళీ చదవాలి, im భాగం మరియు మొదలైనవి. + పెద్ద సంఖ్యలో డేటా సభ్యులు చదవలేనివారు. + అందువల్ల, నేను దీన్ని చేయగలిగే కొన్ని యంత్రాంగాన్ని అందించాలి మరియు దీన్ని చేయటానికి సరళమైన మార్గం జత గేట్-సెట్ ఫంక్షన్‌ను అందించడం. + మీకు ఏమి లభిస్తుంది, ఫంక్షన్ సెట్ చేయండి? ఈ వేరియబుల్‌లోని రీడ్ రైట్‌లో గెట్ ఫంక్షన్ ఒక పేరు getReadWrite అని చెబుతుంది, ఇది ఈ డేటా సభ్యుడిని తీసుకొని తిరిగి ఇస్తుంది. + ఈ పద్ధతి బహిరంగ ప్రదేశంలో ఉంచబడుతుంది, కాబట్టి ఏదైనా బాహ్య ఫంక్షన్ (ఫంక్షన్) లేదా మరొక తరగతి (తరగతి) లోని ఏ ఇతర సభ్యుడు ఫంక్షన్ getReadWrite ఫంక్షన్ (ఫంక్షన్) ను స్థానికంగా పిలుస్తారు, ఎందుకంటే ఇది బహిరంగ ప్రదేశంలో లభిస్తుంది. + మరియు అది ప్రైవేట్ సభ్యుడిని యాక్సెస్ చేస్తుంది మరియు దాని విలువను తిరిగి ఇస్తుంది. + కాబట్టి ఒక విధంగా మనం బయటి ప్రపంచానికి ఎంపిక చేసుకుంటున్నాము, దాని విలువపై నియంత్రణతో ఒకరు దీన్ని ప్రత్యేకంగా చేయవలసి వచ్చినప్పుడల్లా ఈ ప్రత్యేకత ద్వారా వెళ్ళాలి, దాన్ని సాధించడం మధ్య ఒక ప్రాథమిక వ్యత్యాసం ఏమిటి మరియు నేను అని చెప్పనివ్వండి విలువను v తీసుకునే సమితిని కలిగి ఉండండి మరియు వాస్తవానికి డేటా సభ్యులు చదివే శాస్త్రం. + కాబట్టి ప్రాథమికంగా, నేను గెట్ మరియు సెట్ రెండింటినీ కలిగి ఉంటే, నేను ఈ వేరియబుల్, రీడ్‌రైట్‌ను చదవగలను. + ఇప్పుడు మీరు దీన్ని ప్రైవేట్‌గా ఎందుకు చేయాలనుకుంటున్నారో ఇప్పుడు మీరు ఆశ్చర్యపోతున్నారు, ఆపై దాన్ని పొందగలిగే మరియు సెట్ చేయగలిగే ఒక జత పబ్లిక్ పద్ధతులు ఉన్నాయి, మేము దీన్ని పబ్లిక్‌గా చేయగలము మరియు ఎవరైనా దీన్ని మార్చగలరు. + కానీ అవును, చదవడం మరియు వ్రాయడం విషయంలో ఇది ఒకటే, కాని పెద్ద తేడా ఉంది ఎందుకంటే నేను దానిని బహిరంగంగా ఉంచితే ఆ వస్తువు ఎప్పటికీ తెలియదు, అది జరుగుతున్నప్పుడు అది ప్రత్యేక డేటా అవుతుంది. సభ్యుడు చదువుతున్నాడా లేదా అది పూర్తయినప్పుడు చదవండి. + కానీ అది ఒక ఫంక్షన్ ద్వారా జరిగితే అది చదివేటప్పుడు ఒక పద్ధతి ఉంటుంది కాబట్టి నేను ఇక్కడ కొన్ని లెక్కలు కూడా చేయగలను. + వ్రాసేటప్పుడు ఈ విలువ రాయడానికి ముందు లేదా తరువాత నేను కొన్ని లెక్కలు కూడా చేయగలను. + అందువల్ల, రీడ్ రైట్ యొక్క విలువ మార్చబడిందని లేదా రీడ్ రైట్ యొక్క విలువను ఎవరైనా చదివారని ఆ వస్తువు ఎల్లప్పుడూ తెలుసుకుంటుంది. + కాబట్టి, ఈ డేటా సభ్యుడిని పబ్లిక్ యాక్సెస్‌గా ఉంచడం సరికాదు. ఇ - 30. ప్పుడు, మనం చదవడానికి మాత్రమే చేయాలనుకుంటున్న తదుపరిదాన్ని చూస్తే ఇతర డేటా సభ్యులకు వస్తోంది. - 31. అందువల్ల, ఏదైనా మోడల్ యొక్క విభిన్న వాస్తవ-ప్రపంచ డేటా రకాల పరంగా, ఎన్కప్సులేషన్ పుట్టిన తేదీ లాగా మాత్రమే చదివే డేటా చాలా ఉందని మేము కనుగొంటాము. - 32. ఒక వ్యక్తి పుట్టిన తేదీ మారదు, కాబట్టి ఆ వ్యక్తి కోసం ఒక వస్తువును సృష్టించేటప్పుడు దానిని ఏదో ఒకదానికి అమర్చాలి మరియు ఆ తరువాత దానిని మార్చడం సాధ్యం కాకూడదు, దానిని నియంత్రించడానికి ఉత్తమ మార్గం ఒక ప్రైవేట్ యాక్సెస్‌తో సృష్టించబడుతుంది ఆపై దానిపై ఒక ఫంక్షన్‌ను మాత్రమే స్వీకరించడానికి అనుమతించండి. - 33. కాబట్టి, అది ఎవరైనా పుట్టిన తేదీని చదవడానికి మరియు ఆ వ్యక్తి వయస్సును లెక్కించడానికి లేదా ఉద్యోగి ఐడిని చదివి తనిఖీ చేయడానికి, విద్యార్థి యొక్క రోల్ నంబర్‌ను చదవడానికి మరియు విద్యార్థి గ్రేడ్‌ను కనుగొనటానికి అనుమతిస్తుంది. - 34. ఈ ఫంక్షన్లన్నీ ఆ డేటాను పొందడానికి మాకు అనుమతిస్తాయి, కానీ ఆ డేటాను మార్చలేవు. - 35. కాబట్టి, దీని అర్థం నేను అందుకున్న ఫంక్షన్‌ను అందించినట్లయితే మరియు ప్రతిస్పందించే డేటా డేటాను మాత్రమే చదివితే. - 36. మీరు దాన్ని పొందిన తర్వాత, మిగిలినవి చాలా సరళంగా ముందుకు సాగుతాయి.ఇది సాధ్యమయ్యే అన్ని కలయికలను పూర్తి చేస్తుంది. మీరు ఆ వేరియబుల్‌పై సెట్ పద్ధతిని కలిగి ఉంటే మాత్రమే నిజమైన వేరియబుల్ అవుతుంది, కానీ మార్గం లేదు, కాబట్టి ఆశ్చర్యపోకండి ఒక వేరియబుల్ మాత్రమే వ్రాయబడుతుంది. చాలా వేరియబుల్స్ మాత్రమే వ్రాయబడతాయి. - 37. చాలా సాధారణ ఉదాహరణ పాస్వర్డ్, ఎందుకంటే పాస్వర్డ్ చాలా సున్నితంగా ఉంటుంది, సాధారణంగా మీరు కోరుకున్న పాస్వర్డ్ను చదవడానికి ఏ వ్యవస్థను అనుమతించకూడదని, అనుమతించవలసి ఉంటుంది, పాస్వర్డ్ను మార్చడానికి ఒక విధానం ఉంది. - 38. కాబట్టి, పాస్‌వర్డ్ మీరు టైప్ చేసే విషయం. మీరు ఆ విలువలను ఎప్పుడూ చదవరు. - 39. మీరు కేవలం వ్రాయగలిగే ఏ పనిని మాత్రమే సెట్ చేయవచ్చు మరియు చేయలేరు. - 40. అదేవిధంగా, చివరి సమూహంలో మీరు స్టాక్ లేదా డేటా శ్రేణి యొక్క స్టాక్ వంటి అదృశ్య సభ్యులను కలిగి ఉండవచ్చు. స్టాక్ వాటన్నింటినీ ఎలా నిర్వహిస్తుందో మీరు తెలుసుకోవద్దు. మీరు పుష్ (పాప్), పాప్, టాప్ మరియు ఖాళీ ఏమిటో తెలుసుకోవాలనుకుంటున్నారు మీరు పని చేయాలి. - 41. కాబట్టి, శీర్షికలు లేదా డేటా (డేటా) యొక్క విలువను చదవడం లేదా శీర్షాలు లేదా డేటా (డేటా) యొక్క విలువను మార్చడం / సెట్ చేయడం వంటి పద్ధతులు ఉండకూడదు మరియు అందువల్ల దానిపై సెట్-గెట్ పద్ధతులు ఉండకూడదు. - 42. కాబట్టి, ఈ సెట్-గేట్ ఇడియమ్‌లతో, డేటా సభ్యుల ప్రాప్యతపై మేము చాలా మంచి ధాన్యం నియంత్రణను సృష్టించగలము మరియు విభిన్న పద్ధతులను సమానంగా యాక్సెస్ చేయవచ్చు, అయితే, గేట్-సెట్ అనేది ఒక నిర్దిష్ట పదబంధం మరింత పరిమిత పనులు చేయడానికి మిమ్మల్ని అనుమతించే డేటా సభ్యులు. - 43. కలిసి మేము ఈ మాడ్యూల్ను మూసివేస్తాము. - 44. ఈ మాడ్యూల్‌లో, తరగతి సభ్యులు, ప్రభుత్వ మరియు ప్రైవేట్ వ్యక్తుల దృశ్యమానతను నియంత్రించడంలో ప్రాప్యత స్పేసర్‌లు ఎలా సహాయపడతాయో మేము అర్థం చేసుకున్నాము. - 45. ఒక తరగతి అమలు గురించి సమాచారాన్ని దాచడానికి, ఇంటర్‌ఫేస్ ద్వారా ప్రవర్తనను బహిర్గతం చేయడానికి మేము చూసినట్లుగా వీటిని ఉపయోగించవచ్చు మరియు గేట్-సెట్ యొక్క పద్ధతులు నిర్దిష్ట ఇడియమ్‌లను కలిగి ఉన్నాయని మేము ప్రత్యేకంగా చూశాము C ++ నుండి గొప్ప ధాన్యం నియంత్రణను అందిస్తుంది. - 46. మీ రూపకల్పనలో మీరు అందించాలనుకుంటున్న డేటా సభ్యుల పరంగా ఇంటర్ఫేస్. - 47. + ప్పుడు, మనం చదవడానికి మాత్రమే చేయాలనుకుంటున్న తదుపరిదాన్ని చూస్తే ఇతర డేటా సభ్యులకు వస్తోంది. + అందువల్ల, ఏదైనా మోడల్ యొక్క విభిన్న వాస్తవ-ప్రపంచ డేటా రకాల పరంగా, ఎన్కప్సులేషన్ పుట్టిన తేదీ లాగా మాత్రమే చదివే డేటా చాలా ఉందని మేము కనుగొంటాము. + ఒక వ్యక్తి పుట్టిన తేదీ మారదు, కాబట్టి ఆ వ్యక్తి కోసం ఒక వస్తువును సృష్టించేటప్పుడు దానిని ఏదో ఒకదానికి అమర్చాలి మరియు ఆ తరువాత దానిని మార్చడం సాధ్యం కాకూడదు, దానిని నియంత్రించడానికి ఉత్తమ మార్గం ఒక ప్రైవేట్ యాక్సెస్‌తో సృష్టించబడుతుంది ఆపై దానిపై ఒక ఫంక్షన్‌ను మాత్రమే స్వీకరించడానికి అనుమతించండి. + కాబట్టి, అది ఎవరైనా పుట్టిన తేదీని చదవడానికి మరియు ఆ వ్యక్తి వయస్సును లెక్కించడానికి లేదా ఉద్యోగి ఐడిని చదివి తనిఖీ చేయడానికి, విద్యార్థి యొక్క రోల్ నంబర్‌ను చదవడానికి మరియు విద్యార్థి గ్రేడ్‌ను కనుగొనటానికి అనుమతిస్తుంది. + ఈ ఫంక్షన్లన్నీ ఆ డేటాను పొందడానికి మాకు అనుమతిస్తాయి, కానీ ఆ డేటాను మార్చలేవు. + కాబట్టి, దీని అర్థం నేను అందుకున్న ఫంక్షన్‌ను అందించినట్లయితే మరియు ప్రతిస్పందించే డేటా డేటాను మాత్రమే చదివితే. + మీరు దాన్ని పొందిన తర్వాత, మిగిలినవి చాలా సరళంగా ముందుకు సాగుతాయి.ఇది సాధ్యమయ్యే అన్ని కలయికలను పూర్తి చేస్తుంది. మీరు ఆ వేరియబుల్‌పై సెట్ పద్ధతిని కలిగి ఉంటే మాత్రమే నిజమైన వేరియబుల్ అవుతుంది, కానీ మార్గం లేదు, కాబట్టి ఆశ్చర్యపోకండి ఒక వేరియబుల్ మాత్రమే వ్రాయబడుతుంది. చాలా వేరియబుల్స్ మాత్రమే వ్రాయబడతాయి. + చాలా సాధారణ ఉదాహరణ పాస్వర్డ్, ఎందుకంటే పాస్వర్డ్ చాలా సున్నితంగా ఉంటుంది, సాధారణంగా మీరు కోరుకున్న పాస్వర్డ్ను చదవడానికి ఏ వ్యవస్థను అనుమతించకూడదని, అనుమతించవలసి ఉంటుంది, పాస్వర్డ్ను మార్చడానికి ఒక విధానం ఉంది. + కాబట్టి, పాస్‌వర్డ్ మీరు టైప్ చేసే విషయం. మీరు ఆ విలువలను ఎప్పుడూ చదవరు. + మీరు కేవలం వ్రాయగలిగే ఏ పనిని మాత్రమే సెట్ చేయవచ్చు మరియు చేయలేరు. + అదేవిధంగా, చివరి సమూహంలో మీరు స్టాక్ లేదా డేటా శ్రేణి యొక్క స్టాక్ వంటి అదృశ్య సభ్యులను కలిగి ఉండవచ్చు. స్టాక్ వాటన్నింటినీ ఎలా నిర్వహిస్తుందో మీరు తెలుసుకోవద్దు. మీరు పుష్ (పాప్), పాప్, టాప్ మరియు ఖాళీ ఏమిటో తెలుసుకోవాలనుకుంటున్నారు మీరు పని చేయాలి. + కాబట్టి, శీర్షికలు లేదా డేటా (డేటా) యొక్క విలువను చదవడం లేదా శీర్షాలు లేదా డేటా (డేటా) యొక్క విలువను మార్చడం / సెట్ చేయడం వంటి పద్ధతులు ఉండకూడదు మరియు అందువల్ల దానిపై సెట్-గెట్ పద్ధతులు ఉండకూడదు. + కాబట్టి, ఈ సెట్-గేట్ ఇడియమ్‌లతో, డేటా సభ్యుల ప్రాప్యతపై మేము చాలా మంచి ధాన్యం నియంత్రణను సృష్టించగలము మరియు విభిన్న పద్ధతులను సమానంగా యాక్సెస్ చేయవచ్చు, అయితే, గేట్-సెట్ అనేది ఒక నిర్దిష్ట పదబంధం మరింత పరిమిత పనులు చేయడానికి మిమ్మల్ని అనుమతించే డేటా సభ్యులు. + కలిసి మేము ఈ మాడ్యూల్ను మూసివేస్తాము. + ఈ మాడ్యూల్‌లో, తరగతి సభ్యులు, ప్రభుత్వ మరియు ప్రైవేట్ వ్యక్తుల దృశ్యమానతను నియంత్రించడంలో ప్రాప్యత స్పేసర్‌లు ఎలా సహాయపడతాయో మేము అర్థం చేసుకున్నాము. + ఒక తరగతి అమలు గురించి సమాచారాన్ని దాచడానికి, ఇంటర్‌ఫేస్ ద్వారా ప్రవర్తనను బహిర్గతం చేయడానికి మేము చూసినట్లుగా వీటిని ఉపయోగించవచ్చు మరియు గేట్-సెట్ యొక్క పద్ధతులు నిర్దిష్ట ఇడియమ్‌లను కలిగి ఉన్నాయని మేము ప్రత్యేకంగా చూశాము C ++ నుండి గొప్ప ధాన్యం నియంత్రణను అందిస్తుంది. + మీ రూపకల్పనలో మీరు అందించాలనుకుంటున్న డేటా సభ్యుల పరంగా ఇంటర్ఫేస్. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/16. ProgramminginCplusplus_Dynamic Binding Part I (Lecture 41)-ZMKnEsTxN6w.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/16. ProgramminginCplusplus_Dynamic Binding Part I (Lecture 41)-ZMKnEsTxN6w.txt index cc5dec1148d157a9bc93b5b06f5d3023c5c2c3df..b4221586248e98b7f394a6e432fc757d9c67d4df 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/16. ProgramminginCplusplus_Dynamic Binding Part I (Lecture 41)-ZMKnEsTxN6w.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/16. ProgramminginCplusplus_Dynamic Binding Part I (Lecture 41)-ZMKnEsTxN6w.txt @@ -1,203 +1,203 @@ - 1. C ++ యొక్క ప్రోగ్రామింగ్ నుండి మాడ్యూల్ 26 కు స్వాగతం. - 2. మేము C ++ లో ఇన్హెరిటెన్స్ స్ట్రక్చర్ చూశాము. - 3. సాధారణంగా పాలిమార్ఫిజం అని పిలువబడే ఆబ్జెక్ట్-ఓరియెంటెడ్ ఇంప్లిమెంటేషన్‌కు మద్దతు ఇవ్వడానికి మేము సి ++ యొక్క అత్యంత శక్తివంతమైన లక్షణాలపై దృష్టి పెడతాము. - 4. పాలిమార్ఫిజం యొక్క చర్చలో మనం మరింత లోతుగా వెళ్ళేముందు, క్లాస్ సోపానక్రమంలో సాధ్యమయ్యే కాస్టింగ్ పరంగా మరికొంత అవగాహనతో మనల్ని మనం సిద్ధం చేసుకోవాలి. - 5. మరియు స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మధ్య ప్రధాన వ్యత్యాసం. - 6. కాబట్టి, ఈ డైనమిక్ బైండింగ్ చర్చ కొన్ని మాడ్యూళ్ళను కవర్ చేస్తుంది మరియు ఇది మొదటిది మరియు సి ++ లోని పాలిమార్ఫిజం యొక్క పూర్తి అవగాహనకు దారి తీస్తుంది. - 7. అందువల్ల, ఫ్రేమ్‌వర్క్ కాస్టింగ్ మరియు స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మీ స్క్రీన్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. - 8. కాబట్టి కాస్టింగ్ గురించి మాట్లాడుకుందాం. - 9. కాస్టింగ్ మనందరికీ తెలుసు, మీ అందరికీ తెలుసు సి. - 10. అందువల్ల, కాస్టింగ్ ప్రాథమికంగా ఒక రకమైన విలువను నిర్వహిస్తుందని మీకు తెలుసు, కొన్ని రకాలు ఉపయోగించబడతాయి, మరికొన్ని రకాలు మరొక రకాన్ని సూచిస్తాయి. - 11. కాబట్టి, ఉదాహరణకు, ఇక్కడ నేను పూర్ణాంక విలువ వేరియబుల్, d అనేది డబుల్ డబుల్ వేరియబుల్ మరియు నేను d / i వ్రాస్తున్నాను. - 12. అందువల్ల, నేను d అని చెబితే, నేను చెబితే / అప్పుడు దాని అర్థం / ఫ్లోటింగ్ పాయింట్ సంఖ్యల విభజన. - 13. కాబట్టి, ఇక్కడ అవసరం డబుల్ డబుల్) విలువ, కానీ నేను అందించినది, నేను పూర్ణాంక విలువను అందించాను. - 14. కాబట్టి, ఇది ఇప్పటికీ సి లో పనిచేస్తుంది. ఇది ఎలా పని చేస్తుంది? అందువల్ల ఈ పూర్ణాంక విలువను డబుల్ డబుల్ విలువగా మార్చడం మరియు తరువాత ఉపయోగించడం ద్వారా కొన్ని ప్రక్రియలు చేయాలి. - 15. కాబట్టి, ఈ యంత్రాంగం కాస్టింగ్ యొక్క విధానం, ఇది రెట్టింపుగా చొప్పించబడింది మరియు తరువాత ఉపయోగించబడుతుంది. - 16. కాబట్టి, ఇది మనం చూసిన ఒక సాధారణ and హ మరియు సి లో దీనిని మనందరికీ తెలిసిన మిశ్రమ మోడ్ ఆపరేషన్ అని సూచిస్తారు. - 17. ఇప్పుడు, ప్రారంభాన్ని కొంచెం ఎక్కువగా అభివృద్ధి చేద్దాం, కాస్టింగ్ ఉండవచ్చని మాకు తెలుసు లేదా అది స్పష్టంగా ఉంటుంది. - 18. ఉదాహరణకు, ఏ రకమైన వేరియబుల్ నేను పూర్ణాంక వేరియబుల్ అని మొదట చూడండి, d అనేది డబుల్ వేరియబుల్ మరియు p అనేది పాయింటర్ వేరియబుల్ పాయింటర్ రెట్టింపు. - 19. కాబట్టి, నేను i నుండి d వరకు అసైన్‌మెంట్ చేస్తే, అది రెట్టింపు మరియు అది పూర్ణాంకం. - 20. కాబట్టి, వాస్తవానికి అవి ఒకే రకమైన నియామకానికి సాధ్యం కాదు, కానీ స్పష్టంగా అది పూర్ణాంకాన్ని రెట్టింపు చేస్తుంది మరియు అలా చేయడానికి నన్ను అనుమతిస్తుంది. - 21. I కి కేటాయించబడుతున్న రివర్స్‌ను నేను రెట్టింపు చేయగలను. ఇది కూడా అనుమతించబడుతుంది, కాని సాధారణ కారణంతో ఒక మినహాయింపుతో డబుల్ చాలా పెద్ద డేటా రకం, అయితే int ఒక చిన్న డేటా రకం, కాబట్టి కొంత డేటా పోతుంది . వెళ్తుంది. - 22. దీనికి విరుద్ధంగా, నేను సి స్టైల్ కాస్టింగ్ అని పిలవబడేదాన్ని ఉపయోగించగలను, ఇది అందుబాటులో ఉన్న విలువకు ముందు అవసరమైన రకాన్ని ప్రసారం చేస్తుంది మరియు దానిని స్పష్టమైన కాస్టింగ్ అని పిలుస్తారు. - 23. ఇప్పుడు కంపైలర్ కేకలు వేయదు. - 24. కాబట్టి, నేను p వంటిది చేయటానికి ప్రయత్నిస్తే నేను ఒక పాయింట్ r మరియు నేను ఒక పూర్ణాంకం, నేను p ని కేటాయించాలనుకుంటే అది లోపం అని మీరు ఖచ్చితంగా చెప్పవచ్చు, మీరు ఖచ్చితంగా డబుల్ పాయింట్ తీసుకొని దానిని పూర్ణాంకంగా ఉపయోగించలేరు. - 25. నేను స్పష్టంగా ప్రసారం చేస్తే సి కంపైలర్ దీన్ని అనుమతిస్తుంది. - 26. కాస్టింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. - 27. ఇప్పుడు దానిని C ++ కు విస్తరించడానికి ప్రయత్నిద్దాం. - 28. అందువల్ల, అంతకుముందు మేము Int (పాయింటర్), డబుల్ ఎట్ సెటెరా రకాలు గురించి మాత్రమే మాట్లాడుతున్నాము. - 29. ఇప్పుడు, నాకు రెండు తరగతులు A మరియు B ఉన్నాయి మరియు నాకు రెండు వస్తువులు ఉన్నాయి, నాకు రెండు పాయింటర్లు ఉన్నాయి, ఒకటి రకం A మరియు ఒకటి రకం B యొక్కది, ఇది A యొక్క చిరునామాను కలిగి ఉంటుంది మరియు B యొక్క చిరునామా ఉంచుతుంది - 30. అసైన్‌మెంట్ ఇది కాస్టింగ్ లోపం ఎందుకంటే ఈ అసైన్‌మెంట్ ఏమి చెబుతోంది? B కి కేటాయించినది సగటు a; ఇది ఇప్పుడు ఆపరేటర్ అసైన్‌మెంట్ అని మనందరికీ తెలుసు b. - 31. కాబట్టి, దీని అర్థం ఈ తరగతి A, అది కలిగి ఉన్న తరగతి A కి చెందినది, దీనికి ఆపరేటర్ `= 'ఉంది, ఇది B రకం యొక్క ఒపెరాండ్ తీసుకుంటుంది, ఇది ప్రస్తుతం లేదు. - 32. మేము తారాగణం స్పష్టంగా ప్రసారం చేయడానికి ప్రయత్నిస్తే, అది కూడా విఫలమవుతుంది ఎందుకంటే స్పష్టమైన తారాగణం నిర్వచించబడలేదు. - 33. పూర్ణాంకానికి ఇష్టం లేదు, పూర్ణాంకానికి రెట్టింపుగా లేదా పూర్ణాంకానికి ఎలా మార్చాలో మీకు తెలుసు. - 34. అందువల్ల, మీరు వాటిని రివర్స్ మార్గంలో చేయడానికి ప్రయత్నిస్తే, అది విఫలమవుతుంది. - 35. మీరు B కి పాయింటర్‌లో రెండు రకాల పాయింటర్లను ఉంచడానికి ప్రయత్నిస్తే, అది విఫలమవుతుంది, ఇతర దిశ కూడా విఫలమవుతుంది. - 36. అందువల్ల, ఇవన్నీ వైఫల్యాలు ఎందుకంటే మీకు అలా చేయడానికి అనుమతి లేదు. - 37. మిమ్మల్ని బలవంతం చేయగల ఏకైక విషయం ఏమిటంటే మీరు & b, & b అని టైప్ చేసి A * కి బలవంతం చేయవచ్చు. - 38. అందువల్ల మీరు సంబంధం లేని తరగతుల పాయింటర్‌ను మరొకదానికి మార్చవచ్చు, కానీ బలవంతంగా. - 39. సహజంగానే, మీరు దీన్ని చేయలేరు p = q అనుమతించబడదు. - 40. ఇది B *, ఇది A *. - 41. మీరు అప్పగింతను సృష్టించలేరు, మీరు ఉపయోగించలేరు. - 42. B * A * పాయింటర్‌గా మారుతుందని మీరు బలవంతంగా చెబితే, మీరు ఈ నియామకాన్ని సృష్టించవచ్చు. - 43. దీని సుష్ట కూడా పని చేస్తుంది. - 44. కాబట్టి, ప్రాథమికంగా మనం C ++ ను ప్రారంభించినప్పుడు, తరగతుల మధ్య కాస్టింగ్ కథ ఉంది. - 45. ఇప్పుడు, సంబంధం లేని తరగతుల మధ్య మనం చూసినట్లుగా మేము కాస్టింగ్ చేస్తే, ఫలితాలు చాలా అనూహ్యమైనవి. - 46. అందువల్ల, నాకు రెండు సారూప్య తరగతులు మాత్రమే ఉన్నాయి. - 47. ఇప్పుడు, నేను డేటా సభ్యులను బహిరంగంగా ఉంచాను. - 48. నేను మీకు చూపించాలనుకుంటున్నాను. - 49. అందువల్ల, ఈ డేటా సభ్యులు ప్రారంభించబడ్డారు మరియు నాకు రకం P యొక్క పాయింటర్ ఉంది, అది A నుండి Q చిరునామాను కలిగి ఉన్న ఒక రకాన్ని కలిగి ఉంటుంది మరియు నేను విలువలను ముద్రించాను, వాస్తవానికి విలువలు సరిగ్గా ముద్రించబడతాయి. - 50. a. ; p -> i ప్రాథమికంగా a.i ఇది 5, q -> d 7.2. - 51. ఇప్పుడు, నేను దానిని బలవంతంగా ప్రసారం చేస్తానని అనుకుందాం. - 52. కాబట్టి, నేను బలవంతంగా ప్రసారం చేస్తే, నేను కోరుకున్నది ఇదే అని చెప్పాను. - 53. ఇది ఒక వస్తువు మరియు నేను పాయింటర్‌ను ఒక బిందువుగా వేశాను, ఆపై నేను దీన్ని చేయడానికి ప్రయత్నిస్తున్నాను. - 54. ఇది ప్రింట్ చేస్తుంది. - 55. మీరు దీన్ని ప్రయత్నిస్తే అది ప్రింట్ చేయవలసిన అవసరం లేదు. - 56. నా సిస్టమ్‌లో అది ప్రింట్ చేసింది, కాని ఇది ఖచ్చితంగా కొంత చెత్తను ప్రింట్ చేస్తుంది. - 57. ఇది ఎందుకు జరుగుతోంది? ఇది జరుగుతోంది ఎందుకంటే మీరు ఒక వస్తువును పూర్ణాంకంగా చూస్తే. - 58. మేము 32 బిట్ సిస్టమ్‌లో ఉన్నామని మాకు తెలియజేయండి. - 59. కాబట్టి, పూర్ణాంకానికి 4 బైట్లు ఉన్నాయి, దీనిలో ఈ విలువ 5 వ్రాయబడుతుంది. - 60. ఒక వస్తువులో, నాకు డబుల్ ఉంది, అది బహుశా 8 బైట్లు కలిగి ఉంటుంది. - 61. ఇప్పుడు, నేను A రకం పాయింటర్ తీసుకుంటే; దీని అర్థం, నేను p -> i అని వ్రాస్తే, కంపైలర్‌కు ఎల్లప్పుడూ 2 మరియు ఒక రకమైన వస్తువు అవసరమని తెలుసు, ఇది వరుసగా 4 బైట్లు తీసుకొని దానిని పూర్ణాంకంగా చేస్తుంది. - 62. ఇప్పుడు, నేను ఉల్లంఘించినది ఇదే. - 63. నేనేం చేశాను? నేను నిజంగా తాగాను మరియు B ని పరిష్కరించడానికి సూచించాను. - 64. ఇప్పుడు ఇక్కడ 8 బైట్లలో వ్రాయబడినది 7.2 అని వ్రాయబడింది, అయితే p కి ఇది A రకం అని తెలుసు. - 65. కాబట్టి, ఇది 4 బైట్లు చదవవలసి ఉందని తెలుసు మరియు ఇది ఒక పూర్ణాంకం అని భావిస్తుంది. - 66. కాబట్టి, 7.2 యొక్క ఫ్లోటింగ్ పాయింట్ పాయింట్ ప్రాతినిధ్యం మొదటి నాలుగు బైట్‌లను ఏకపక్షంగా చదివి, అది ఒక పూర్ణాంకం అని ఆలోచించడం ప్రారంభించి, పూర్ణాంకంగా ముద్రిస్తుంది. - 67. రివర్స్ గురించి ఆలోచించినప్పుడు నేను ఏమి చేస్తున్నాను? నాకు q టైప్ చేసే q పాయింటర్ ఉంది. - 68. కాబట్టి, నేను q -> d చేస్తే 8 బైట్లు డబుల్‌ను సూచిస్తాయని ఆశిస్తోంది. - 69. ఇప్పుడు, నేను ఈ వస్తువును సూచించాను q, అంటే ఇది వాస్తవానికి 8 బైట్లు చదువుతోంది, వీటిలో మొదటి 4 బైట్లు 5 యొక్క పూర్ణాంక ప్రాతినిధ్యం. - 70. తదుపరి 4 బైట్లు, అది ఏమిటో దేవునికి తెలుసు. - 71. ఇది జ్ఞాపకశక్తి యొక్క చెల్లని భాగం, అది అక్కడికి వెళుతుంది.ఇది విలువ వ్యాఖ్యానాన్ని తాత్కాలిక సంఖ్యగా తీసుకొని ప్రింట్ చేస్తుంది. - 72. కాబట్టి, కాస్టింగ్‌లో మీరు పొందగల ప్రాథమిక సమస్య ఇది. - 73. కాబట్టి, ప్రసారం చేయడం ప్రమాదకరమైన విషయం. - 74. ఇప్పుడు, మీరు సోపానక్రమంలో దీన్ని చేయడానికి ప్రయత్నిస్తే కాస్టింగ్ ఎలా ఉంటుందో చూద్దాం. - 75. కాబట్టి, మనకు క్లాస్ ఎ మరియు క్లాస్ బి ఉన్నాయి, ఇది ఎ యొక్క స్పెషలైజేషన్. - 76. అందువల్ల, నాకు రెండు తరగతి రకాల రెండు ఆధారాలు ఉన్నాయి. - 77. ఇప్పుడు ఇంతకుముందు సంబంధం లేని రకాలు సాధ్యం కానప్పుడు, ఒక రకమైన పాయింటర్‌ను మరొక బిందువుకు కేటాయించడం సాధ్యం కాలేదు, కానీ ఇప్పుడు నేను pb ని pa కి కేటాయించగలను మరియు ఇది అనుమతించబడుతుంది. - 78. నేను రివర్స్ పిబి అప్పగించడానికి పిబి చేయడానికి ప్రయత్నిస్తే అది అనుమతించబడదు. - 79. కారణం సులభం. - 80. నేను ఒక వస్తువును కలిగి ఉంటే మరియు B ఆ వస్తువు గురించి ఆలోచిస్తే, B వస్తువు ఏమి కలిగి ఉంటుంది? ఇది A యొక్క ప్రత్యేకత, కాబట్టి B వస్తువు అంతర్గతంగా ఒక వస్తువును కలిగి ఉంటుంది, ఇది మూల వస్తువు. - 81. కాబట్టి, నాకు టైప్ పా ఉంటే, ఇది టైప్ ఎ యొక్క పాయింటర్, అప్పుడు అది టైప్ ఎ యొక్క పాయింటర్. - 82. అప్పుడు, నేను దానికి పిబిని కేటాయించినప్పుడు, పిబి అంటే ఏమిటి? రకం pb B యొక్క పాయింటర్ ఉంది, ఇది ఈ వైపు పాయింటర్. - 83. కాబట్టి, నేను దీనిని and హించి A కి ఇచ్చినప్పుడు, అదే ప్రాంతం p a ని సూచిస్తుంది. - 84. కానీ, pa కి ఏమి తెలుసు, pa కి ఇది ఒక రకమైన పాయింటర్ అని తెలుసు, అంటే pa కి ఒక వస్తువు వస్తుందని తెలుసు. - 85. కాబట్టి, అది ఏమి చేస్తుంది? ఇది B యొక్క విస్తరించిన భాగాన్ని గ్రహించదు, కానీ అది చెల్లుబాటు అయ్యే ఒక వస్తువును పొందుతుంది, ఇది B వస్తువు యొక్క మూల భాగం మరియు మీకు ఆ వస్తువును మాత్రమే ఇస్తుంది. - 86. అందువల్ల, అలా చేస్తే సరిపోతుంది. - 87. మీరు దాని యొక్క పరిమిత వీక్షణను పొందుతారు. - 88. కానీ మీరు దీన్ని మరొక విధంగా చేయడానికి ప్రయత్నిస్తే, మేము పిబిని తీసుకొని దానిని వస్తువుకు సూచించడానికి ప్రయత్నిస్తే, పిబి విషయాలు ఆబ్జెక్ట్ బేస్ పార్ట్ అని తెలుసు, ఆపై మరిన్ని విషయాలు ఉన్నాయి. - 89. కాబట్టి, ఈ మొత్తం విషయం నిజంగా ఉనికిలో లేని B వస్తువు అని అనుకోవడానికి ప్రయత్నిస్తాము, ఒక వస్తువు మాత్రమే ఉంది. - 90. కాబట్టి, జ్ఞాపకశక్తిని ఉల్లంఘించి కనుగొనడం ప్రమాదకరం. - 91. కాబట్టి, అందుకే ఇది అనుమతించబడుతుంది. - 92. ఇది అనుమతించబడనప్పుడు రంగును మార్చనివ్వండి. - 93. మరియు మేము దీన్ని చేస్తున్నప్పుడు, నేను సోపానక్రమం రేఖాచిత్రానికి తిరిగి వెళితే, ఈ రేఖాచిత్రం B ISA A. - 94. నేను చేస్తున్నప్పుడు నేను B లేదా నిర్దిష్ట వస్తువు నుండి సాధారణీకరించిన వస్తువు వైపు కదులుతున్నాను కాబట్టి నేను పైకి వెళ్తున్నాను. - 95. కాబట్టి, ఇది అనుమతించబడే అప్‌కాస్ట్ అని మేము చెప్తాము. - 96. నేను క్రిందికి వెళ్ళడానికి ప్రయత్నిస్తే, నేను సాధారణీకరించిన వస్తువును తీసుకొని అది ఒక ప్రత్యేకమైనదిగా భావిస్తే, తిరస్కరించవలసిన డౌన్‌కాస్ట్ చెప్పండి. - 97. వాస్తవానికి, అదే ఉదాహరణలో మీకు సున్నా పాయింటర్ ఉంటే ఏమి జరుగుతుందో కూడా చూపించాను. - 98. వాస్తవానికి మీరు ఏ రకమైన వస్తువులను అయినా తీసుకోవచ్చు మరియు అవును ఆ చిరునామాను సున్నా పాయింటర్‌లో ఉంచండి, మీరు రకాన్ని కోల్పోతారు. - 99. అదేవిధంగా, మీరు రివర్స్ చేయవచ్చు.ఈ అక్షరదోషాలు ఇక్కడ అక్షర దోషం అని నేను అనుకున్నదాన్ని రివర్స్ చేయడానికి ప్రయత్నించండి. నేను - 100. దీనిని తరువాత ప్రదర్శనలో సరిదిద్దుతాను. - 101. కాబట్టి, p కి పివి ఇస్తే లేదా పిబికి పివి ఇస్తే ఈ లోపాలన్నీ సంభవిస్తాయి ఎందుకంటే పిఎ సున్నా * పివి సున్నా * పాయింటర్. - 102. కాబట్టి, ఇది ఎక్కడ సూచిస్తుందో తెలియదు? ఇది ఎన్ని ప్రాంతాలను ఏ పరిమాణాన్ని సూచించాలో తెలియదు. - 103. కాబట్టి, మీరు దానిని తీసుకొని దానిని A గా అర్థం చేసుకోవడానికి ప్రయత్నిస్తే, అప్పుడు మీకు అన్ని రకాల ప్రమాదాలు ఉన్నాయి. - 104. కాబట్టి, అవి అనుమతించబడవు, కానీ మీరు నిజంగా ఏదైనా రకమైన పాయింటర్‌ను తీసుకొని శూన్య పాయింటర్‌లో ఉంచితే చాలా మంచిది. - 105. వాస్తవానికి, C ++ లో మనం దాని కోసం ఏదైనా ఉపయోగం చెడుగా జరుగుతుందని చూస్తాము. - 106. ఇప్పుడు, మేము అప్‌కాస్టింగ్‌ను పరిశీలిస్తే, మేము డేటా సభ్యులతో మాత్రమే ఒక తరగతిని విస్తరించగలము మరియు ఒక వస్తువు కోసం విలువ 2 ను ఉంచినట్లయితే, ఆ డేటా భాగం ఒక వస్తువు. ఎవరి విలువ 3 మరియు 5. - 107. కాబట్టి, ఇది 2 అనే వస్తువు. - 108. ఇది 3, ఒక భాగం మరియు 5 లో ఉన్న బి ఆబ్జెక్ట్. - 109. ఆపై మేము వారి చిరునామాలను తీసుకొని ఫీల్డ్లను ప్రింట్ చేయడానికి ప్రయత్నిస్తే. - 110. మనకు 2 మరియు 3, 5 లభిస్తాయి. - 111. ఇది ఒక వస్తువును ముద్రిస్తుంది, ఇది b వస్తువును ముద్రిస్తుంది. - 112. ఇప్పుడు, మేము అప్కాస్ట్ చేసాము. - 113. ఇది నేను బిని గుర్తించి, ఎ. - 114. కాబట్టి, pa ఏమి చూడటానికి వస్తుంది? పా ఇక్కడ ఎత్తి చూపుతున్నాడు, కాని అతనికి ఒక జ్ఞానం మాత్రమే ఉంది. - 115. కాబట్టి, ఈ భాగాన్ని చూడటం మాత్రమే జరుగుతుంది. - 116. కాబట్టి, నేను pa -> dataA_ ను ప్రింట్ చేయడానికి ప్రయత్నిస్తే ఏమి జరుగుతుంది, అది ప్రింట్ చేస్తుంది మరియు మీరు expected హించిన విధంగా 3 పొందుతారు, కానీ మీరు ఈ pa-> డేటా B_ చేయడానికి ప్రయత్నిస్తే, మీరు దానిని ప్రింట్ చేయడానికి ప్రయత్నిస్తే, కంపైలర్ మీకు ఇస్తుంది లోపం ఎందుకంటే కంపైలర్‌కు pa అనేది ఒక డేటాబేస్_ సభ్యుడు లేని ఒక రకమైన పాయింటర్ (పాయింటర్) అని తెలుసు కాబట్టి, అది అనుమతించబడదు. - 117. అందువల్ల, ఉద్వేగభరితంగా ఉంటే, మీరు లోపం ఉన్న స్థితికి చేరుకునే పరిస్థితి లేదు, ఎందుకంటే మీరు తరగతి యొక్క మూల భాగాన్ని చేరుకుంటారు, ఇది పరిమిత ప్రాప్యతను మాత్రమే చేస్తుంది, ఇది మంచిది లేదా మీరు మరియు కంపైలర్. వాస్తవానికి ఉనికిలో లేని నిర్దిష్ట తరగతిలోని ఏదైనా భాగాన్ని యాక్సెస్ చేయడం. - 118. కాబట్టి, అప్‌కాస్టింగ్ సురక్షితం. - 119. డౌన్కాస్ట్ డౌన్కాస్టింగ్ ప్రమాదకరమని మీరు చాలా సులభంగా వాదించవచ్చు. - 120. నేను స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క ప్రాథమిక భావనను పరిచయం చేస్తున్నాను మరియు నేను కాస్టింగ్ ప్రారంభించటానికి ముందు ఎందుకు చర్చించాను అనేది క్రమంగా స్పష్టమవుతుంది. అందువల్ల, నాకు చాలా సులభమైన పరిస్థితి ఉంది. - 121. నన్ను రెడ్ బ్యాక్ చేద్దాం - 122. కాబట్టి, చాలా సరళమైన పరిస్థితి బేస్ క్లాస్ మరియు ప్రత్యేకమైన డెరైవ్ క్లాస్ బి, క్లాస్ డి. - 123. మేము ఇంతకు ముందు చూశాము. - 124. కాబట్టి, బేస్ క్లాస్ f () పద్ధతిలో ఒక ఫంక్షన్ f () వారసత్వంగా పొందిన తరగతి నుండి తీసుకోబడింది మరియు తరువాత ఈ పద్ధతి భర్తీ చేయబడుతుంది. - 125. అతని గురించి ప్రత్యేకంగా ఏమీ లేదు. - 126. బేస్ క్లాస్‌కు మరొక ఫంక్షన్ (ఫంక్షన్) జి () ఉంది మరియు ఉత్పన్నమైన క్లాస్ (క్లాస్) కూడా ఆ ఫంక్షన్‌ను భర్తీ చేస్తుంది. - 127. దీనిలోని విభిన్న విషయం ఏమిటంటే, ఫంక్షన్ G విషయంలో, మేము మరొక అదనపు పద కీవర్డ్ వర్చువల్ వ్రాసాము మరియు ప్రవర్తన ఎలా మారుతుందో చూద్దాం. - 128. కాబట్టి, ఎల్లప్పుడూ ఈ రేఖాచిత్రాన్ని గుర్తుంచుకోండి. - 129. కాబట్టి, నాకు రెండు ఉదాహరణలు నిర్మించబడ్డాయి మరియు మనకు పిబి మరియు పిడి రెండూ రెండు పాయింటర్లు ఉన్నాయి, ఇవి స్థిర తరగతి రకానికి చెందినవి. - 130. కాబట్టి, నేను పిబి పాయింటర్ (పాయింటర్) లో ఒక బి చిరునామాను ఉంచాను మరియు ఇది పి క్లాస్ లో డి యొక్క చిరునామాను ఉంచాను, ఇది బి క్లాస్ రకానికి చెందిన పాయింటర్, అంటే నేను అప్‌కాస్ట్ చేస్తున్నాను. - 131. A అనేది ఒక వస్తువు. వాస్తవానికి ఇక్కడ పాయింటర్ ఈ రకమైనది. - 132. అందువల్ల, నేను ఇక్కడ ప్రాతినిధ్య పని చేస్తున్నాను. - 133. అందువల్ల, నేను అప్‌కాస్ట్ చేసాను. - 134. అదేవిధంగా, సందర్భం ప్రకారం నేను వ్రాసినది అదే. - 135. ఈ rb సూచన ఆబ్జెక్ట్ b కు సూచన, rd d అనేది వస్తువుకు సూచన, కానీ rd మాత్రమే B రకాన్ని సూచిస్తుంది. - 136. కాబట్టి, ఇది RD ను ప్రసారం చేస్తుంది మరియు D ను B రకం యొక్క వస్తువుగా భావిస్తుంది. - 137. ఇది ఈ సెట్టింగ్‌ను కలిగి ఉంది మరియు దీనిలో మేము అన్ని రకాల ఫంక్షన్‌లను పిలవడానికి ప్రయత్నిస్తున్నాము. - 138. కాబట్టి, మేము రెండు అంశాలను b మరియు d అని పిలుస్తున్నాము. - 139. మేము రెండు ఫంక్షన్లను పిలుస్తాము. - 140. కాబట్టి, నాలుగు కలయికలు మరియు మేము వాటిని మూడు రకాలుగా చెబుతాము. - 141. మొదట, మేము వస్తువును ఉపయోగించి ఒక ఫంక్షన్ అని పిలుస్తాము. - 142. కాబట్టి, బి. f (), బి. g (), డి. ఎఫ్ డి. g (). - 143. ఏ ఫంక్షన్ b .f () అని పిలువబడుతుందో మాకు తెలుసు. ఈ ఫంక్షన్‌ను బి అంటారు. g () అని పిలుస్తారు, ఈ ఫంక్షన్ (ఫంక్షన్) ను b .d () అని పిలుస్తారు, అయితే ఈ ఫంక్షన్ (ఫంక్షన్) అంటారు. - 144. ఆ తరగతికి సంబంధించిన పని అంటారు. - 145. కాబట్టి, ఇది ఆశ్చర్యం కలిగించదు. - 146. ఇప్పుడు, పాయింటర్ ద్వారా ఆ ఫంక్షన్ కాల్ చేయడానికి ప్రయత్నిస్తాము. - 147. కాబట్టి, pb b అనేది వస్తువు యొక్క పాయింటర్, p d అనేది వస్తువు యొక్క పాయింటర్, కానీ రెండూ B రకం. - 148. కాబట్టి, అవి B రకం కాబట్టి, నేను pb -> f () ను ఇన్వోక్ చేస్తే, B క్లాస్ (క్లాస్) యొక్క ఫంక్షన్ అమలు అవుతుందని నేను ఆశిస్తున్నాను. - 149. కాబట్టి, pb -> f () ఈ ఫంక్షన్‌ను B :: f () ను ప్రారంభించాలి. - 150. అదేవిధంగా, తదుపరి pb -> g () g ఫంక్షన్‌ను ప్రారంభించాలి; pd -> f () pd కూడా ఒక రకమైన బేస్ క్లాస్. - 151. కాబట్టి, పిడికి కూడా ఈ రెండు ఫంక్షన్ల గురించి మాత్రమే తెలుసు. - 152. కాబట్టి, నేను పిడి -> ఎఫ్ () చేస్తే, అది మళ్ళీ బి క్లాస్ యొక్క ఎఫ్ ఫంక్షన్‌ను ప్రారంభిస్తుంది. - 153. మీరు PD -> G () చేసినప్పుడు పూర్తిగా ఆశ్చర్యపోతారు. - 154. మైండ్ యు పిడి ఈ రకమైన పాయింటర్. - 155. ఇది వాస్తవానికి ఈ రకమైన వస్తువును సూచిస్తుంది. - 156. కాబట్టి, ఇక్కడ పిడి రకం. - 157. ఆ వస్తువు వాస్తవానికి ఇక్కడ ఉంది, కానీ నేను పద్ధతిని ప్రారంభించినప్పుడు, అది వాస్తవానికి ప్రకటన వస్తువును కలిగి ఉందని గుర్తించగలదు మరియు ఈ ఫంక్షన్ (ఫంక్షన్) ను అమలు చేయడానికి బదులుగా ఇది వాస్తవానికి ఈ ఫంక్షన్‌ను అందిస్తుంది. (ఫంక్షన్). - 158. మరియు డైనమిక్ బైండింగ్ అంటారు. - 159. కాబట్టి, డైనమిక్ బైండింగ్ అంటే ఏమిటి? బైండింగ్ అనేది ఏ ఫంక్షన్ అని పిలవబడుతుందో మీరు నిర్ణయించుకునే సందర్భంలో ఒక వ్యక్తీకరణ. - 160. అందువల్ల, ఓవర్‌లోడింగ్ పరంగా కూడా మేము బైండింగ్ రిఫరెన్స్ చేసాము, బహుళ టాస్క్‌లు ఓవర్‌లోడ్ ఉంటే ఏ పని కట్టుబడి ఉంటుంది. - 161. కాబట్టి, ఇది ఇలాంటి భావన. - 162. కాబట్టి, ఇది పి పాయింట్ (పి) లేదా పిబి -> ఎఫ్ () లేదా పిడి -> జి () ప్రశ్న, ఈ కాల్‌తో ముడిపడి ఉన్న నిర్దిష్ట ఫంక్షన్‌ను మనం అడగాలనుకుంటున్నాము. - 163. ఇప్పుడు, మనం చూసేది ఫంక్షన్ విషయంలో f బైండింగ్ స్థిరంగా ఉంటుంది అంటే బైండింగ్ బైండింగ్ ద్వారా పరిష్కరించబడింది. దీన్ని మళ్ళీ స్పష్టం చేద్దాం. - 164. కాబట్టి, ఇక్కడ ఫంక్షన్ f విషయంలో మరియు బైండింగ్ ఇక్కడ స్థిరంగా ఉంటుంది అంటే ఇది ఏ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుందో అది పాయింటర్ రకాన్ని బట్టి ఉంటుంది. - 165. అంటే కంపైల్ టైమ్ కంపైలర్‌లో ఎప్పుడూ తెలిసిన, స్థిరంగా తెలిసిన ఏదో, పాయింటర్ రకం ఏమిటో తెలుసు, కాని వాస్తవం ఏమిటంటే ఈ పాయింటర్ (పాయింట్ ఎర్) ఇన్ బి ఆబ్జెక్ట్ బి ఆబ్జెక్ట్‌ను సూచిస్తుంది, పాయింటర్ అయితే D వస్తువుకు గురిపెట్టి. - 166. స్టాటిక్ బైండింగ్ విషయంలో, ఇది పరిగణించబడదు, ఇది B రకం పాయింటర్, ఇది కూడా B రకం పాయింటర్. - 167. కాబట్టి, నేను f ను ఇన్వోక్ చేస్తే, ఇది B :: f () బేస్ క్లాస్ యొక్క పద్ధతి. - 168. ఇది బేస్ క్లాస్ యొక్క ఎఫ్ పద్ధతిని కూడా ప్రారంభిస్తుంది. - 169. రెండవ సందర్భంలో, దృష్టాంతంలో మార్పు, ఇక్కడ మీరు వీటిని తిరిగి సందర్శిస్తే మేము డైనమిక్‌ను కట్టిపడేస్తున్నామని మేము చెప్తాము, అప్పుడు ఇవి రెండూ బేస్ టైప్ సిగ్నల్స్. - 170. మరియు ఈ బి వస్తువును సూచిస్తుంది, ఇది ప్రకటన వస్తువును సూచిస్తుంది. - 171. ఇప్పుడు, ఈ పాయింటర్ b ఆబ్జెక్ట్‌కు గురిపెట్టినప్పుడు, B :: g () ఇక్కడ ఈ ఫంక్షన్ (ఫంక్షన్) ప్రారంభించబడుతుందని మేము కనుగొన్నాము. - 172. పాయింటర్ ఇప్పటికీ B * రకానికి చెందిన ప్రత్యేక సజాతీయ వ్యక్తీకరణగా, కానీ అది g () ను ప్రారంభించినప్పుడు అది వాస్తవానికి సూచించే వస్తువు ప్రకటన రకం అని ఇవ్వబడుతుంది. వస్తువు D: g (), ఇది ఉత్పన్న తరగతిలో పిలువబడే ఓవర్రైడ్ ఫంక్షన్. - 173. కాబట్టి, ఇది పాయింటర్ రకంపై ఆధారపడి ఉండదు. - 174. అందువల్ల, కంపైలర్‌కు pb -> g () లేదా pd -> g () గా నిర్ణయించడానికి మార్గం లేదు, ఇది పాయింటర్ (పాయింటర్) రకం ద్వారా పరిష్కరించబడనందున దీనిని పిలుస్తుంది, కానీ దానిని నిర్ణయించడం వాస్తవానికి రన్ టైమ్‌లో ఉంది . - 175. వస్తువు యొక్క రకం ఏమిటి లేదా అది దేనిని సూచిస్తుంది. - 176. కాబట్టి, pd -> g మరియు ఫంక్షన్ల మధ్య B: g () లేదా D :: g (), ఈ బైండింగ్ యొక్క వ్యక్తీకరణ దానిని ఇక్కడ బంధిస్తుంది లేదా అది ఇక్కడ బంధిస్తుంది, ఈ పాయింటర్ ఆధారపడి ఉండదు. - 177. ఇది పాయింటి వస్తువుపై ఆధారపడి ఉంటుంది. - 178. ఇది పిడిపై ఆధారపడదు.ఇది పాయింటెడ్ ఆబ్జెక్ట్ రకాన్ని బట్టి ఉంటుంది. - 179. సూచించిన వస్తువు రకం ఇక్కడ రకం b గా ఉన్నట్లయితే, అప్పుడు బేస్ క్లాస్ యొక్క g పద్ధతి అమలు చేయబడుతుంది. - 180. ఇది d రకం అయితే, అప్పుడు ఉత్పన్నమైన తరగతి యొక్క G పద్ధతి వర్తించబడుతుంది. - 181. అందువల్ల, దీనిని స్టాటిక్ బైండింగ్‌కు విరుద్ధంగా డైనమిక్ బైండింగ్ అంటారు. - 182. ఇంకేముంది? ఈ కీ పదం ఫంక్షన్ ముందు వేరు చేయబడుతుంది. - 183. కాబట్టి, రెండు ఫంక్షన్ల కొరకు, దీనిని వర్చువల్ ఫంక్షన్ అంటారు, ఇక్కడ నేను ముందు భాగంలో వర్చువల్ వ్రాసాను మరియు దానిని వర్చువల్ కాని ఫంక్షన్ అంటారు. - 184. నేను ఇంతకు ముందు కలిగి ఉన్న నాన్-వర్చువల్ ఫంక్షన్ కలిగి ఉంటే. - 185. నేను స్టాటిక్ బైండింగ్ కలిగి ఉంటాను మరియు నాకు వర్చువల్ ఫంక్షన్ ఉంటే నేను డైనమిక్ బైండింగ్ కలిగి ఉంటాను, అక్కడ నేను ఆ ఫంక్షన్‌ను పాయింటర్ ద్వారా పిలిస్తే అది పాయింటర్ రకంపై ఆధారపడి ఉండదు, బదులుగా అది పాయింటర్ యొక్క నిజమైన ఆబ్జెక్ట్ రకంపై ఆధారపడి ఉంటుంది. పాయింటర్ రన్ సమయానికి సూచిస్తుంది. - 186. కాబట్టి, ఇది ఖచ్చితంగా స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మధ్య ప్రాథమిక వ్యత్యాసం, నేను మీకు సెమాంటిక్స్ పరిచయం చేయడానికి ప్రయత్నిస్తున్నాను. - 187. మేము దీన్ని ఎందుకు చేస్తున్నామో అర్థం చేసుకోవడానికి ఇంకా చిన్న మార్గం ఉంది. - 188. మోడలింగ్ విషయంలో ఇది వాస్తవానికి ఎలా సహాయపడుతుంది, కానీ వర్చువల్ ఫంక్షన్ మరియు డైనమిక్ బైండింగ్ యొక్క ఈ ప్రాథమిక భావన మేము ఇక్కడ నుండి అర్థం చేసుకోవాలనుకుంటున్నాము. - 189. మరియు మనం సందర్భం ఉపయోగించే చివరి విభాగంలో సరిగ్గా అదే ప్రవర్తనను చూడవచ్చు. - 190. ఈ రెండు ఇక్కడ ఉన్నాయి సూచనలు BB వస్తువును సూచిస్తుంది; rd అనేది d వస్తువును సూచిస్తుంది. - 191. ఫంక్షన్ (ఎఫ్) ఎఫ్ కోసం నేను సందర్భం ద్వారా చేస్తే నాకు స్టాటిక్ బైండింగ్ ఉంది, అయితే నేను ఆర్బి మరియు ఆర్డి కోసం జి ఫంక్షన్ (ఫంక్షన్) గ్రా పద్ధతిని ప్రారంభిస్తే నేను ఎందుకంటే ఆర్డి డి ప్రకటన వస్తువును సూచిస్తుంది మరియు ఎందుకంటే RB ఒక వస్తువు వస్తువును సూచిస్తుంది. - 192. ఈ సందర్భంలో డైనమిక్ బైండింగ్ ప్రకారం, నేను పొందిన విలోమం యొక్క g ఫంక్షన్లను పొందుతాను. - 193. ఈ సందర్భంలో, నేను బేస్ క్లాస్ యొక్క g ఫంక్షన్‌ను ప్రారంభించాను. - 194. అందువల్ల, నేను ఫంక్షన్‌ను ఒక వస్తువుగా యాక్సెస్ చేస్తే అవి ఎల్లప్పుడూ స్థిరంగా ఉంటాయి. - 195. అవి ఎల్లప్పుడూ ఆ వస్తువు రకం మీద ఆధారపడి ఉంటాయి. - 196. నేను ఒక ఫంక్షన్ ద్వారా లేదా రిఫరెన్స్ ద్వారా పద్ధతులను ప్రారంభిస్తే, నేను స్టాటిక్ లేదా డైనమిక్ బైండింగ్ కలిగి ఉంటాను, అది నేను ఏ సభ్యునిపై ఆధారపడి ఉంటుంది. నేను చేస్తున్న ఫంక్షన్ ఒక వర్చువల్ కానిది, ఇక్కడ స్టాటిక్ బైండింగ్ ఉంటుంది లేదా సభ్యుల ఫంక్షన్ ఉన్నప్పుడు డైనమిక్ బైండింగ్ ఉన్న వర్చువల్ ఒకటి. - 197. కాబట్టి, మరింత నిర్మించబడే బైండింగ్ యొక్క ప్రాథమిక భావనను ప్రవేశపెట్టడం మాత్రమే. - 198. అందువల్ల, మొత్తంగా, మేము కాస్టింగ్ భావనను ప్రవేశపెట్టాము మరియు పైకి క్రిందికి ఉన్న ప్రాథమిక భావనను చర్చించాము మరియు అప్ కాస్ట్ సురక్షితం మరియు డౌన్ కాస్ట్ ప్రమాదకరమని గమనించాము. - 199. మేము దీన్ని చేసాము, ఎందుకంటే తరువాతి మాడ్యూల్‌లో, కాస్టింగ్ యొక్క ఈ భావనను బైండింగ్ సందర్భంలో ఉపయోగించాల్సి ఉంటుంది. - 200. ఆ తరువాత మేము స్టాటిక్ కాస్టింగ్ మరియు డైనమిక్ కాస్టింగ్ లేదా వర్చువల్ ఫంక్షన్ యొక్క ప్రాథమిక నిర్వచనాన్ని ప్రవేశపెట్టాము, ఇది కొత్త రకం సభ్యుల ఫంక్షన్, ఇది మేము మరిన్ని తరగతులలో ప్రదర్శిస్తున్నాము. - 201. మేము తదుపరి మాడ్యూల్‌లో డైనమిక్ బైండింగ్ గురించి చర్చించడం కొనసాగిస్తాము. - 202. + C ++ యొక్క ప్రోగ్రామింగ్ నుండి మాడ్యూల్ 26 కు స్వాగతం. + మేము C ++ లో ఇన్హెరిటెన్స్ స్ట్రక్చర్ చూశాము. + సాధారణంగా పాలిమార్ఫిజం అని పిలువబడే ఆబ్జెక్ట్-ఓరియెంటెడ్ ఇంప్లిమెంటేషన్‌కు మద్దతు ఇవ్వడానికి మేము సి ++ యొక్క అత్యంత శక్తివంతమైన లక్షణాలపై దృష్టి పెడతాము. + పాలిమార్ఫిజం యొక్క చర్చలో మనం మరింత లోతుగా వెళ్ళేముందు, క్లాస్ సోపానక్రమంలో సాధ్యమయ్యే కాస్టింగ్ పరంగా మరికొంత అవగాహనతో మనల్ని మనం సిద్ధం చేసుకోవాలి. + మరియు స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మధ్య ప్రధాన వ్యత్యాసం. + కాబట్టి, ఈ డైనమిక్ బైండింగ్ చర్చ కొన్ని మాడ్యూళ్ళను కవర్ చేస్తుంది మరియు ఇది మొదటిది మరియు సి ++ లోని పాలిమార్ఫిజం యొక్క పూర్తి అవగాహనకు దారి తీస్తుంది. + అందువల్ల, ఫ్రేమ్‌వర్క్ కాస్టింగ్ మరియు స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మీ స్క్రీన్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. + కాబట్టి కాస్టింగ్ గురించి మాట్లాడుకుందాం. + కాస్టింగ్ మనందరికీ తెలుసు, మీ అందరికీ తెలుసు సి. + అందువల్ల, కాస్టింగ్ ప్రాథమికంగా ఒక రకమైన విలువను నిర్వహిస్తుందని మీకు తెలుసు, కొన్ని రకాలు ఉపయోగించబడతాయి, మరికొన్ని రకాలు మరొక రకాన్ని సూచిస్తాయి. + కాబట్టి, ఉదాహరణకు, ఇక్కడ నేను పూర్ణాంక విలువ వేరియబుల్, d అనేది డబుల్ డబుల్ వేరియబుల్ మరియు నేను d / i వ్రాస్తున్నాను. + అందువల్ల, నేను d అని చెబితే, నేను చెబితే / అప్పుడు దాని అర్థం / ఫ్లోటింగ్ పాయింట్ సంఖ్యల విభజన. + కాబట్టి, ఇక్కడ అవసరం డబుల్ డబుల్) విలువ, కానీ నేను అందించినది, నేను పూర్ణాంక విలువను అందించాను. + కాబట్టి, ఇది ఇప్పటికీ సి లో పనిచేస్తుంది. ఇది ఎలా పని చేస్తుంది? అందువల్ల ఈ పూర్ణాంక విలువను డబుల్ డబుల్ విలువగా మార్చడం మరియు తరువాత ఉపయోగించడం ద్వారా కొన్ని ప్రక్రియలు చేయాలి. + కాబట్టి, ఈ యంత్రాంగం కాస్టింగ్ యొక్క విధానం, ఇది రెట్టింపుగా చొప్పించబడింది మరియు తరువాత ఉపయోగించబడుతుంది. + కాబట్టి, ఇది మనం చూసిన ఒక సాధారణ and హ మరియు సి లో దీనిని మనందరికీ తెలిసిన మిశ్రమ మోడ్ ఆపరేషన్ అని సూచిస్తారు. + ఇప్పుడు, ప్రారంభాన్ని కొంచెం ఎక్కువగా అభివృద్ధి చేద్దాం, కాస్టింగ్ ఉండవచ్చని మాకు తెలుసు లేదా అది స్పష్టంగా ఉంటుంది. + ఉదాహరణకు, ఏ రకమైన వేరియబుల్ నేను పూర్ణాంక వేరియబుల్ అని మొదట చూడండి, d అనేది డబుల్ వేరియబుల్ మరియు p అనేది పాయింటర్ వేరియబుల్ పాయింటర్ రెట్టింపు. + కాబట్టి, నేను i నుండి d వరకు అసైన్‌మెంట్ చేస్తే, అది రెట్టింపు మరియు అది పూర్ణాంకం. + కాబట్టి, వాస్తవానికి అవి ఒకే రకమైన నియామకానికి సాధ్యం కాదు, కానీ స్పష్టంగా అది పూర్ణాంకాన్ని రెట్టింపు చేస్తుంది మరియు అలా చేయడానికి నన్ను అనుమతిస్తుంది. + I కి కేటాయించబడుతున్న రివర్స్‌ను నేను రెట్టింపు చేయగలను. ఇది కూడా అనుమతించబడుతుంది, కాని సాధారణ కారణంతో ఒక మినహాయింపుతో డబుల్ చాలా పెద్ద డేటా రకం, అయితే int ఒక చిన్న డేటా రకం, కాబట్టి కొంత డేటా పోతుంది . వెళ్తుంది. + దీనికి విరుద్ధంగా, నేను సి స్టైల్ కాస్టింగ్ అని పిలవబడేదాన్ని ఉపయోగించగలను, ఇది అందుబాటులో ఉన్న విలువకు ముందు అవసరమైన రకాన్ని ప్రసారం చేస్తుంది మరియు దానిని స్పష్టమైన కాస్టింగ్ అని పిలుస్తారు. + ఇప్పుడు కంపైలర్ కేకలు వేయదు. + కాబట్టి, నేను p వంటిది చేయటానికి ప్రయత్నిస్తే నేను ఒక పాయింట్ r మరియు నేను ఒక పూర్ణాంకం, నేను p ని కేటాయించాలనుకుంటే అది లోపం అని మీరు ఖచ్చితంగా చెప్పవచ్చు, మీరు ఖచ్చితంగా డబుల్ పాయింట్ తీసుకొని దానిని పూర్ణాంకంగా ఉపయోగించలేరు. + నేను స్పష్టంగా ప్రసారం చేస్తే సి కంపైలర్ దీన్ని అనుమతిస్తుంది. + కాస్టింగ్ యొక్క ప్రాథమిక నియమాలు ఇవి. + ఇప్పుడు దానిని C ++ కు విస్తరించడానికి ప్రయత్నిద్దాం. + అందువల్ల, అంతకుముందు మేము Int (పాయింటర్), డబుల్ ఎట్ సెటెరా రకాలు గురించి మాత్రమే మాట్లాడుతున్నాము. + ఇప్పుడు, నాకు రెండు తరగతులు A మరియు B ఉన్నాయి మరియు నాకు రెండు వస్తువులు ఉన్నాయి, నాకు రెండు పాయింటర్లు ఉన్నాయి, ఒకటి రకం A మరియు ఒకటి రకం B యొక్కది, ఇది A యొక్క చిరునామాను కలిగి ఉంటుంది మరియు B యొక్క చిరునామా ఉంచుతుంది + అసైన్‌మెంట్ ఇది కాస్టింగ్ లోపం ఎందుకంటే ఈ అసైన్‌మెంట్ ఏమి చెబుతోంది? B కి కేటాయించినది సగటు a; ఇది ఇప్పుడు ఆపరేటర్ అసైన్‌మెంట్ అని మనందరికీ తెలుసు b. + కాబట్టి, దీని అర్థం ఈ తరగతి A, అది కలిగి ఉన్న తరగతి A కి చెందినది, దీనికి ఆపరేటర్ `= 'ఉంది, ఇది B రకం యొక్క ఒపెరాండ్ తీసుకుంటుంది, ఇది ప్రస్తుతం లేదు. + మేము తారాగణం స్పష్టంగా ప్రసారం చేయడానికి ప్రయత్నిస్తే, అది కూడా విఫలమవుతుంది ఎందుకంటే స్పష్టమైన తారాగణం నిర్వచించబడలేదు. + పూర్ణాంకానికి ఇష్టం లేదు, పూర్ణాంకానికి రెట్టింపుగా లేదా పూర్ణాంకానికి ఎలా మార్చాలో మీకు తెలుసు. + అందువల్ల, మీరు వాటిని రివర్స్ మార్గంలో చేయడానికి ప్రయత్నిస్తే, అది విఫలమవుతుంది. + మీరు B కి పాయింటర్‌లో రెండు రకాల పాయింటర్లను ఉంచడానికి ప్రయత్నిస్తే, అది విఫలమవుతుంది, ఇతర దిశ కూడా విఫలమవుతుంది. + అందువల్ల, ఇవన్నీ వైఫల్యాలు ఎందుకంటే మీకు అలా చేయడానికి అనుమతి లేదు. + మిమ్మల్ని బలవంతం చేయగల ఏకైక విషయం ఏమిటంటే మీరు & b, & b అని టైప్ చేసి A * కి బలవంతం చేయవచ్చు. + అందువల్ల మీరు సంబంధం లేని తరగతుల పాయింటర్‌ను మరొకదానికి మార్చవచ్చు, కానీ బలవంతంగా. + సహజంగానే, మీరు దీన్ని చేయలేరు p = q అనుమతించబడదు. + ఇది B *, ఇది A *. + మీరు అప్పగింతను సృష్టించలేరు, మీరు ఉపయోగించలేరు. + B * A * పాయింటర్‌గా మారుతుందని మీరు బలవంతంగా చెబితే, మీరు ఈ నియామకాన్ని సృష్టించవచ్చు. + దీని సుష్ట కూడా పని చేస్తుంది. + కాబట్టి, ప్రాథమికంగా మనం C ++ ను ప్రారంభించినప్పుడు, తరగతుల మధ్య కాస్టింగ్ కథ ఉంది. + ఇప్పుడు, సంబంధం లేని తరగతుల మధ్య మనం చూసినట్లుగా మేము కాస్టింగ్ చేస్తే, ఫలితాలు చాలా అనూహ్యమైనవి. + అందువల్ల, నాకు రెండు సారూప్య తరగతులు మాత్రమే ఉన్నాయి. + ఇప్పుడు, నేను డేటా సభ్యులను బహిరంగంగా ఉంచాను. + నేను మీకు చూపించాలనుకుంటున్నాను. + అందువల్ల, ఈ డేటా సభ్యులు ప్రారంభించబడ్డారు మరియు నాకు రకం P యొక్క పాయింటర్ ఉంది, అది A నుండి Q చిరునామాను కలిగి ఉన్న ఒక రకాన్ని కలిగి ఉంటుంది మరియు నేను విలువలను ముద్రించాను, వాస్తవానికి విలువలు సరిగ్గా ముద్రించబడతాయి. + a. ; p -> i ప్రాథమికంగా a.i ఇది 5, q -> d 7.2. + ఇప్పుడు, నేను దానిని బలవంతంగా ప్రసారం చేస్తానని అనుకుందాం. + కాబట్టి, నేను బలవంతంగా ప్రసారం చేస్తే, నేను కోరుకున్నది ఇదే అని చెప్పాను. + ఇది ఒక వస్తువు మరియు నేను పాయింటర్‌ను ఒక బిందువుగా వేశాను, ఆపై నేను దీన్ని చేయడానికి ప్రయత్నిస్తున్నాను. + ఇది ప్రింట్ చేస్తుంది. + మీరు దీన్ని ప్రయత్నిస్తే అది ప్రింట్ చేయవలసిన అవసరం లేదు. + నా సిస్టమ్‌లో అది ప్రింట్ చేసింది, కాని ఇది ఖచ్చితంగా కొంత చెత్తను ప్రింట్ చేస్తుంది. + ఇది ఎందుకు జరుగుతోంది? ఇది జరుగుతోంది ఎందుకంటే మీరు ఒక వస్తువును పూర్ణాంకంగా చూస్తే. + మేము 32 బిట్ సిస్టమ్‌లో ఉన్నామని మాకు తెలియజేయండి. + కాబట్టి, పూర్ణాంకానికి 4 బైట్లు ఉన్నాయి, దీనిలో ఈ విలువ 5 వ్రాయబడుతుంది. + ఒక వస్తువులో, నాకు డబుల్ ఉంది, అది బహుశా 8 బైట్లు కలిగి ఉంటుంది. + ఇప్పుడు, నేను A రకం పాయింటర్ తీసుకుంటే; దీని అర్థం, నేను p -> i అని వ్రాస్తే, కంపైలర్‌కు ఎల్లప్పుడూ 2 మరియు ఒక రకమైన వస్తువు అవసరమని తెలుసు, ఇది వరుసగా 4 బైట్లు తీసుకొని దానిని పూర్ణాంకంగా చేస్తుంది. + ఇప్పుడు, నేను ఉల్లంఘించినది ఇదే. + నేనేం చేశాను? నేను నిజంగా తాగాను మరియు B ని పరిష్కరించడానికి సూచించాను. + ఇప్పుడు ఇక్కడ 8 బైట్లలో వ్రాయబడినది 7.2 అని వ్రాయబడింది, అయితే p కి ఇది A రకం అని తెలుసు. + కాబట్టి, ఇది 4 బైట్లు చదవవలసి ఉందని తెలుసు మరియు ఇది ఒక పూర్ణాంకం అని భావిస్తుంది. + కాబట్టి, 7.2 యొక్క ఫ్లోటింగ్ పాయింట్ పాయింట్ ప్రాతినిధ్యం మొదటి నాలుగు బైట్‌లను ఏకపక్షంగా చదివి, అది ఒక పూర్ణాంకం అని ఆలోచించడం ప్రారంభించి, పూర్ణాంకంగా ముద్రిస్తుంది. + రివర్స్ గురించి ఆలోచించినప్పుడు నేను ఏమి చేస్తున్నాను? నాకు q టైప్ చేసే q పాయింటర్ ఉంది. + కాబట్టి, నేను q -> d చేస్తే 8 బైట్లు డబుల్‌ను సూచిస్తాయని ఆశిస్తోంది. + ఇప్పుడు, నేను ఈ వస్తువును సూచించాను q, అంటే ఇది వాస్తవానికి 8 బైట్లు చదువుతోంది, వీటిలో మొదటి 4 బైట్లు 5 యొక్క పూర్ణాంక ప్రాతినిధ్యం. + తదుపరి 4 బైట్లు, అది ఏమిటో దేవునికి తెలుసు. + ఇది జ్ఞాపకశక్తి యొక్క చెల్లని భాగం, అది అక్కడికి వెళుతుంది.ఇది విలువ వ్యాఖ్యానాన్ని తాత్కాలిక సంఖ్యగా తీసుకొని ప్రింట్ చేస్తుంది. + కాబట్టి, కాస్టింగ్‌లో మీరు పొందగల ప్రాథమిక సమస్య ఇది. + కాబట్టి, ప్రసారం చేయడం ప్రమాదకరమైన విషయం. + ఇప్పుడు, మీరు సోపానక్రమంలో దీన్ని చేయడానికి ప్రయత్నిస్తే కాస్టింగ్ ఎలా ఉంటుందో చూద్దాం. + కాబట్టి, మనకు క్లాస్ ఎ మరియు క్లాస్ బి ఉన్నాయి, ఇది ఎ యొక్క స్పెషలైజేషన్. + అందువల్ల, నాకు రెండు తరగతి రకాల రెండు ఆధారాలు ఉన్నాయి. + ఇప్పుడు ఇంతకుముందు సంబంధం లేని రకాలు సాధ్యం కానప్పుడు, ఒక రకమైన పాయింటర్‌ను మరొక బిందువుకు కేటాయించడం సాధ్యం కాలేదు, కానీ ఇప్పుడు నేను pb ని pa కి కేటాయించగలను మరియు ఇది అనుమతించబడుతుంది. + నేను రివర్స్ పిబి అప్పగించడానికి పిబి చేయడానికి ప్రయత్నిస్తే అది అనుమతించబడదు. + కారణం సులభం. + నేను ఒక వస్తువును కలిగి ఉంటే మరియు B ఆ వస్తువు గురించి ఆలోచిస్తే, B వస్తువు ఏమి కలిగి ఉంటుంది? ఇది A యొక్క ప్రత్యేకత, కాబట్టి B వస్తువు అంతర్గతంగా ఒక వస్తువును కలిగి ఉంటుంది, ఇది మూల వస్తువు. + కాబట్టి, నాకు టైప్ పా ఉంటే, ఇది టైప్ ఎ యొక్క పాయింటర్, అప్పుడు అది టైప్ ఎ యొక్క పాయింటర్. + అప్పుడు, నేను దానికి పిబిని కేటాయించినప్పుడు, పిబి అంటే ఏమిటి? రకం pb B యొక్క పాయింటర్ ఉంది, ఇది ఈ వైపు పాయింటర్. + కాబట్టి, నేను దీనిని and హించి A కి ఇచ్చినప్పుడు, అదే ప్రాంతం p a ని సూచిస్తుంది. + కానీ, pa కి ఏమి తెలుసు, pa కి ఇది ఒక రకమైన పాయింటర్ అని తెలుసు, అంటే pa కి ఒక వస్తువు వస్తుందని తెలుసు. + కాబట్టి, అది ఏమి చేస్తుంది? ఇది B యొక్క విస్తరించిన భాగాన్ని గ్రహించదు, కానీ అది చెల్లుబాటు అయ్యే ఒక వస్తువును పొందుతుంది, ఇది B వస్తువు యొక్క మూల భాగం మరియు మీకు ఆ వస్తువును మాత్రమే ఇస్తుంది. + అందువల్ల, అలా చేస్తే సరిపోతుంది. + మీరు దాని యొక్క పరిమిత వీక్షణను పొందుతారు. + కానీ మీరు దీన్ని మరొక విధంగా చేయడానికి ప్రయత్నిస్తే, మేము పిబిని తీసుకొని దానిని వస్తువుకు సూచించడానికి ప్రయత్నిస్తే, పిబి విషయాలు ఆబ్జెక్ట్ బేస్ పార్ట్ అని తెలుసు, ఆపై మరిన్ని విషయాలు ఉన్నాయి. + కాబట్టి, ఈ మొత్తం విషయం నిజంగా ఉనికిలో లేని B వస్తువు అని అనుకోవడానికి ప్రయత్నిస్తాము, ఒక వస్తువు మాత్రమే ఉంది. + కాబట్టి, జ్ఞాపకశక్తిని ఉల్లంఘించి కనుగొనడం ప్రమాదకరం. + కాబట్టి, అందుకే ఇది అనుమతించబడుతుంది. + ఇది అనుమతించబడనప్పుడు రంగును మార్చనివ్వండి. + మరియు మేము దీన్ని చేస్తున్నప్పుడు, నేను సోపానక్రమం రేఖాచిత్రానికి తిరిగి వెళితే, ఈ రేఖాచిత్రం B ISA A. + నేను చేస్తున్నప్పుడు నేను B లేదా నిర్దిష్ట వస్తువు నుండి సాధారణీకరించిన వస్తువు వైపు కదులుతున్నాను కాబట్టి నేను పైకి వెళ్తున్నాను. + కాబట్టి, ఇది అనుమతించబడే అప్‌కాస్ట్ అని మేము చెప్తాము. + నేను క్రిందికి వెళ్ళడానికి ప్రయత్నిస్తే, నేను సాధారణీకరించిన వస్తువును తీసుకొని అది ఒక ప్రత్యేకమైనదిగా భావిస్తే, తిరస్కరించవలసిన డౌన్‌కాస్ట్ చెప్పండి. + వాస్తవానికి, అదే ఉదాహరణలో మీకు సున్నా పాయింటర్ ఉంటే ఏమి జరుగుతుందో కూడా చూపించాను. + వాస్తవానికి మీరు ఏ రకమైన వస్తువులను అయినా తీసుకోవచ్చు మరియు అవును ఆ చిరునామాను సున్నా పాయింటర్‌లో ఉంచండి, మీరు రకాన్ని కోల్పోతారు. + అదేవిధంగా, మీరు రివర్స్ చేయవచ్చు.ఈ అక్షరదోషాలు ఇక్కడ అక్షర దోషం అని నేను అనుకున్నదాన్ని రివర్స్ చేయడానికి ప్రయత్నించండి. నేను + దీనిని తరువాత ప్రదర్శనలో సరిదిద్దుతాను. + కాబట్టి, p కి పివి ఇస్తే లేదా పిబికి పివి ఇస్తే ఈ లోపాలన్నీ సంభవిస్తాయి ఎందుకంటే పిఎ సున్నా * పివి సున్నా * పాయింటర్. + కాబట్టి, ఇది ఎక్కడ సూచిస్తుందో తెలియదు? ఇది ఎన్ని ప్రాంతాలను ఏ పరిమాణాన్ని సూచించాలో తెలియదు. + కాబట్టి, మీరు దానిని తీసుకొని దానిని A గా అర్థం చేసుకోవడానికి ప్రయత్నిస్తే, అప్పుడు మీకు అన్ని రకాల ప్రమాదాలు ఉన్నాయి. + కాబట్టి, అవి అనుమతించబడవు, కానీ మీరు నిజంగా ఏదైనా రకమైన పాయింటర్‌ను తీసుకొని శూన్య పాయింటర్‌లో ఉంచితే చాలా మంచిది. + వాస్తవానికి, C ++ లో మనం దాని కోసం ఏదైనా ఉపయోగం చెడుగా జరుగుతుందని చూస్తాము. + ఇప్పుడు, మేము అప్‌కాస్టింగ్‌ను పరిశీలిస్తే, మేము డేటా సభ్యులతో మాత్రమే ఒక తరగతిని విస్తరించగలము మరియు ఒక వస్తువు కోసం విలువ 2 ను ఉంచినట్లయితే, ఆ డేటా భాగం ఒక వస్తువు. ఎవరి విలువ 3 మరియు 5. + కాబట్టి, ఇది 2 అనే వస్తువు. + ఇది 3, ఒక భాగం మరియు 5 లో ఉన్న బి ఆబ్జెక్ట్. + ఆపై మేము వారి చిరునామాలను తీసుకొని ఫీల్డ్లను ప్రింట్ చేయడానికి ప్రయత్నిస్తే. + మనకు 2 మరియు 3, 5 లభిస్తాయి. + ఇది ఒక వస్తువును ముద్రిస్తుంది, ఇది b వస్తువును ముద్రిస్తుంది. + ఇప్పుడు, మేము అప్కాస్ట్ చేసాము. + ఇది నేను బిని గుర్తించి, ఎ. + కాబట్టి, pa ఏమి చూడటానికి వస్తుంది? పా ఇక్కడ ఎత్తి చూపుతున్నాడు, కాని అతనికి ఒక జ్ఞానం మాత్రమే ఉంది. + కాబట్టి, ఈ భాగాన్ని చూడటం మాత్రమే జరుగుతుంది. + కాబట్టి, నేను pa -> dataA_ ను ప్రింట్ చేయడానికి ప్రయత్నిస్తే ఏమి జరుగుతుంది, అది ప్రింట్ చేస్తుంది మరియు మీరు expected హించిన విధంగా 3 పొందుతారు, కానీ మీరు ఈ pa-> డేటా B_ చేయడానికి ప్రయత్నిస్తే, మీరు దానిని ప్రింట్ చేయడానికి ప్రయత్నిస్తే, కంపైలర్ మీకు ఇస్తుంది లోపం ఎందుకంటే కంపైలర్‌కు pa అనేది ఒక డేటాబేస్_ సభ్యుడు లేని ఒక రకమైన పాయింటర్ (పాయింటర్) అని తెలుసు కాబట్టి, అది అనుమతించబడదు. + అందువల్ల, ఉద్వేగభరితంగా ఉంటే, మీరు లోపం ఉన్న స్థితికి చేరుకునే పరిస్థితి లేదు, ఎందుకంటే మీరు తరగతి యొక్క మూల భాగాన్ని చేరుకుంటారు, ఇది పరిమిత ప్రాప్యతను మాత్రమే చేస్తుంది, ఇది మంచిది లేదా మీరు మరియు కంపైలర్. వాస్తవానికి ఉనికిలో లేని నిర్దిష్ట తరగతిలోని ఏదైనా భాగాన్ని యాక్సెస్ చేయడం. + కాబట్టి, అప్‌కాస్టింగ్ సురక్షితం. + డౌన్కాస్ట్ డౌన్కాస్టింగ్ ప్రమాదకరమని మీరు చాలా సులభంగా వాదించవచ్చు. + నేను స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క ప్రాథమిక భావనను పరిచయం చేస్తున్నాను మరియు నేను కాస్టింగ్ ప్రారంభించటానికి ముందు ఎందుకు చర్చించాను అనేది క్రమంగా స్పష్టమవుతుంది. అందువల్ల, నాకు చాలా సులభమైన పరిస్థితి ఉంది. + నన్ను రెడ్ బ్యాక్ చేద్దాం + కాబట్టి, చాలా సరళమైన పరిస్థితి బేస్ క్లాస్ మరియు ప్రత్యేకమైన డెరైవ్ క్లాస్ బి, క్లాస్ డి. + మేము ఇంతకు ముందు చూశాము. + కాబట్టి, బేస్ క్లాస్ f () పద్ధతిలో ఒక ఫంక్షన్ f () వారసత్వంగా పొందిన తరగతి నుండి తీసుకోబడింది మరియు తరువాత ఈ పద్ధతి భర్తీ చేయబడుతుంది. + అతని గురించి ప్రత్యేకంగా ఏమీ లేదు. + బేస్ క్లాస్‌కు మరొక ఫంక్షన్ (ఫంక్షన్) జి () ఉంది మరియు ఉత్పన్నమైన క్లాస్ (క్లాస్) కూడా ఆ ఫంక్షన్‌ను భర్తీ చేస్తుంది. + దీనిలోని విభిన్న విషయం ఏమిటంటే, ఫంక్షన్ G విషయంలో, మేము మరొక అదనపు పద కీవర్డ్ వర్చువల్ వ్రాసాము మరియు ప్రవర్తన ఎలా మారుతుందో చూద్దాం. + కాబట్టి, ఎల్లప్పుడూ ఈ రేఖాచిత్రాన్ని గుర్తుంచుకోండి. + కాబట్టి, నాకు రెండు ఉదాహరణలు నిర్మించబడ్డాయి మరియు మనకు పిబి మరియు పిడి రెండూ రెండు పాయింటర్లు ఉన్నాయి, ఇవి స్థిర తరగతి రకానికి చెందినవి. + కాబట్టి, నేను పిబి పాయింటర్ (పాయింటర్) లో ఒక బి చిరునామాను ఉంచాను మరియు ఇది పి క్లాస్ లో డి యొక్క చిరునామాను ఉంచాను, ఇది బి క్లాస్ రకానికి చెందిన పాయింటర్, అంటే నేను అప్‌కాస్ట్ చేస్తున్నాను. + A అనేది ఒక వస్తువు. వాస్తవానికి ఇక్కడ పాయింటర్ ఈ రకమైనది. + అందువల్ల, నేను ఇక్కడ ప్రాతినిధ్య పని చేస్తున్నాను. + అందువల్ల, నేను అప్‌కాస్ట్ చేసాను. + అదేవిధంగా, సందర్భం ప్రకారం నేను వ్రాసినది అదే. + ఈ rb సూచన ఆబ్జెక్ట్ b కు సూచన, rd d అనేది వస్తువుకు సూచన, కానీ rd మాత్రమే B రకాన్ని సూచిస్తుంది. + కాబట్టి, ఇది RD ను ప్రసారం చేస్తుంది మరియు D ను B రకం యొక్క వస్తువుగా భావిస్తుంది. + ఇది ఈ సెట్టింగ్‌ను కలిగి ఉంది మరియు దీనిలో మేము అన్ని రకాల ఫంక్షన్‌లను పిలవడానికి ప్రయత్నిస్తున్నాము. + కాబట్టి, మేము రెండు అంశాలను b మరియు d అని పిలుస్తున్నాము. + మేము రెండు ఫంక్షన్లను పిలుస్తాము. + కాబట్టి, నాలుగు కలయికలు మరియు మేము వాటిని మూడు రకాలుగా చెబుతాము. + మొదట, మేము వస్తువును ఉపయోగించి ఒక ఫంక్షన్ అని పిలుస్తాము. + కాబట్టి, బి. f (), బి. g (), డి. ఎఫ్ డి. g (). + ఏ ఫంక్షన్ b .f () అని పిలువబడుతుందో మాకు తెలుసు. ఈ ఫంక్షన్‌ను బి అంటారు. g () అని పిలుస్తారు, ఈ ఫంక్షన్ (ఫంక్షన్) ను b .d () అని పిలుస్తారు, అయితే ఈ ఫంక్షన్ (ఫంక్షన్) అంటారు. + ఆ తరగతికి సంబంధించిన పని అంటారు. + కాబట్టి, ఇది ఆశ్చర్యం కలిగించదు. + ఇప్పుడు, పాయింటర్ ద్వారా ఆ ఫంక్షన్ కాల్ చేయడానికి ప్రయత్నిస్తాము. + కాబట్టి, pb b అనేది వస్తువు యొక్క పాయింటర్, p d అనేది వస్తువు యొక్క పాయింటర్, కానీ రెండూ B రకం. + కాబట్టి, అవి B రకం కాబట్టి, నేను pb -> f () ను ఇన్వోక్ చేస్తే, B క్లాస్ (క్లాస్) యొక్క ఫంక్షన్ అమలు అవుతుందని నేను ఆశిస్తున్నాను. + కాబట్టి, pb -> f () ఈ ఫంక్షన్‌ను B :: f () ను ప్రారంభించాలి. + అదేవిధంగా, తదుపరి pb -> g () g ఫంక్షన్‌ను ప్రారంభించాలి; pd -> f () pd కూడా ఒక రకమైన బేస్ క్లాస్. + కాబట్టి, పిడికి కూడా ఈ రెండు ఫంక్షన్ల గురించి మాత్రమే తెలుసు. + కాబట్టి, నేను పిడి -> ఎఫ్ () చేస్తే, అది మళ్ళీ బి క్లాస్ యొక్క ఎఫ్ ఫంక్షన్‌ను ప్రారంభిస్తుంది. + మీరు PD -> G () చేసినప్పుడు పూర్తిగా ఆశ్చర్యపోతారు. + మైండ్ యు పిడి ఈ రకమైన పాయింటర్. + ఇది వాస్తవానికి ఈ రకమైన వస్తువును సూచిస్తుంది. + కాబట్టి, ఇక్కడ పిడి రకం. + ఆ వస్తువు వాస్తవానికి ఇక్కడ ఉంది, కానీ నేను పద్ధతిని ప్రారంభించినప్పుడు, అది వాస్తవానికి ప్రకటన వస్తువును కలిగి ఉందని గుర్తించగలదు మరియు ఈ ఫంక్షన్ (ఫంక్షన్) ను అమలు చేయడానికి బదులుగా ఇది వాస్తవానికి ఈ ఫంక్షన్‌ను అందిస్తుంది. (ఫంక్షన్). + మరియు డైనమిక్ బైండింగ్ అంటారు. + కాబట్టి, డైనమిక్ బైండింగ్ అంటే ఏమిటి? బైండింగ్ అనేది ఏ ఫంక్షన్ అని పిలవబడుతుందో మీరు నిర్ణయించుకునే సందర్భంలో ఒక వ్యక్తీకరణ. + అందువల్ల, ఓవర్‌లోడింగ్ పరంగా కూడా మేము బైండింగ్ రిఫరెన్స్ చేసాము, బహుళ టాస్క్‌లు ఓవర్‌లోడ్ ఉంటే ఏ పని కట్టుబడి ఉంటుంది. + కాబట్టి, ఇది ఇలాంటి భావన. + కాబట్టి, ఇది పి పాయింట్ (పి) లేదా పిబి -> ఎఫ్ () లేదా పిడి -> జి () ప్రశ్న, ఈ కాల్‌తో ముడిపడి ఉన్న నిర్దిష్ట ఫంక్షన్‌ను మనం అడగాలనుకుంటున్నాము. + ఇప్పుడు, మనం చూసేది ఫంక్షన్ విషయంలో f బైండింగ్ స్థిరంగా ఉంటుంది అంటే బైండింగ్ బైండింగ్ ద్వారా పరిష్కరించబడింది. దీన్ని మళ్ళీ స్పష్టం చేద్దాం. + కాబట్టి, ఇక్కడ ఫంక్షన్ f విషయంలో మరియు బైండింగ్ ఇక్కడ స్థిరంగా ఉంటుంది అంటే ఇది ఏ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుందో అది పాయింటర్ రకాన్ని బట్టి ఉంటుంది. + అంటే కంపైల్ టైమ్ కంపైలర్‌లో ఎప్పుడూ తెలిసిన, స్థిరంగా తెలిసిన ఏదో, పాయింటర్ రకం ఏమిటో తెలుసు, కాని వాస్తవం ఏమిటంటే ఈ పాయింటర్ (పాయింట్ ఎర్) ఇన్ బి ఆబ్జెక్ట్ బి ఆబ్జెక్ట్‌ను సూచిస్తుంది, పాయింటర్ అయితే D వస్తువుకు గురిపెట్టి. + స్టాటిక్ బైండింగ్ విషయంలో, ఇది పరిగణించబడదు, ఇది B రకం పాయింటర్, ఇది కూడా B రకం పాయింటర్. + కాబట్టి, నేను f ను ఇన్వోక్ చేస్తే, ఇది B :: f () బేస్ క్లాస్ యొక్క పద్ధతి. + ఇది బేస్ క్లాస్ యొక్క ఎఫ్ పద్ధతిని కూడా ప్రారంభిస్తుంది. + రెండవ సందర్భంలో, దృష్టాంతంలో మార్పు, ఇక్కడ మీరు వీటిని తిరిగి సందర్శిస్తే మేము డైనమిక్‌ను కట్టిపడేస్తున్నామని మేము చెప్తాము, అప్పుడు ఇవి రెండూ బేస్ టైప్ సిగ్నల్స్. + మరియు ఈ బి వస్తువును సూచిస్తుంది, ఇది ప్రకటన వస్తువును సూచిస్తుంది. + ఇప్పుడు, ఈ పాయింటర్ b ఆబ్జెక్ట్‌కు గురిపెట్టినప్పుడు, B :: g () ఇక్కడ ఈ ఫంక్షన్ (ఫంక్షన్) ప్రారంభించబడుతుందని మేము కనుగొన్నాము. + పాయింటర్ ఇప్పటికీ B * రకానికి చెందిన ప్రత్యేక సజాతీయ వ్యక్తీకరణగా, కానీ అది g () ను ప్రారంభించినప్పుడు అది వాస్తవానికి సూచించే వస్తువు ప్రకటన రకం అని ఇవ్వబడుతుంది. వస్తువు D: g (), ఇది ఉత్పన్న తరగతిలో పిలువబడే ఓవర్రైడ్ ఫంక్షన్. + కాబట్టి, ఇది పాయింటర్ రకంపై ఆధారపడి ఉండదు. + అందువల్ల, కంపైలర్‌కు pb -> g () లేదా pd -> g () గా నిర్ణయించడానికి మార్గం లేదు, ఇది పాయింటర్ (పాయింటర్) రకం ద్వారా పరిష్కరించబడనందున దీనిని పిలుస్తుంది, కానీ దానిని నిర్ణయించడం వాస్తవానికి రన్ టైమ్‌లో ఉంది . + వస్తువు యొక్క రకం ఏమిటి లేదా అది దేనిని సూచిస్తుంది. + కాబట్టి, pd -> g మరియు ఫంక్షన్ల మధ్య B: g () లేదా D :: g (), ఈ బైండింగ్ యొక్క వ్యక్తీకరణ దానిని ఇక్కడ బంధిస్తుంది లేదా అది ఇక్కడ బంధిస్తుంది, ఈ పాయింటర్ ఆధారపడి ఉండదు. + ఇది పాయింటి వస్తువుపై ఆధారపడి ఉంటుంది. + ఇది పిడిపై ఆధారపడదు.ఇది పాయింటెడ్ ఆబ్జెక్ట్ రకాన్ని బట్టి ఉంటుంది. + సూచించిన వస్తువు రకం ఇక్కడ రకం b గా ఉన్నట్లయితే, అప్పుడు బేస్ క్లాస్ యొక్క g పద్ధతి అమలు చేయబడుతుంది. + ఇది d రకం అయితే, అప్పుడు ఉత్పన్నమైన తరగతి యొక్క G పద్ధతి వర్తించబడుతుంది. + అందువల్ల, దీనిని స్టాటిక్ బైండింగ్‌కు విరుద్ధంగా డైనమిక్ బైండింగ్ అంటారు. + ఇంకేముంది? ఈ కీ పదం ఫంక్షన్ ముందు వేరు చేయబడుతుంది. + కాబట్టి, రెండు ఫంక్షన్ల కొరకు, దీనిని వర్చువల్ ఫంక్షన్ అంటారు, ఇక్కడ నేను ముందు భాగంలో వర్చువల్ వ్రాసాను మరియు దానిని వర్చువల్ కాని ఫంక్షన్ అంటారు. + నేను ఇంతకు ముందు కలిగి ఉన్న నాన్-వర్చువల్ ఫంక్షన్ కలిగి ఉంటే. + నేను స్టాటిక్ బైండింగ్ కలిగి ఉంటాను మరియు నాకు వర్చువల్ ఫంక్షన్ ఉంటే నేను డైనమిక్ బైండింగ్ కలిగి ఉంటాను, అక్కడ నేను ఆ ఫంక్షన్‌ను పాయింటర్ ద్వారా పిలిస్తే అది పాయింటర్ రకంపై ఆధారపడి ఉండదు, బదులుగా అది పాయింటర్ యొక్క నిజమైన ఆబ్జెక్ట్ రకంపై ఆధారపడి ఉంటుంది. పాయింటర్ రన్ సమయానికి సూచిస్తుంది. + కాబట్టి, ఇది ఖచ్చితంగా స్టాటిక్ మరియు డైనమిక్ బైండింగ్ మధ్య ప్రాథమిక వ్యత్యాసం, నేను మీకు సెమాంటిక్స్ పరిచయం చేయడానికి ప్రయత్నిస్తున్నాను. + మేము దీన్ని ఎందుకు చేస్తున్నామో అర్థం చేసుకోవడానికి ఇంకా చిన్న మార్గం ఉంది. + మోడలింగ్ విషయంలో ఇది వాస్తవానికి ఎలా సహాయపడుతుంది, కానీ వర్చువల్ ఫంక్షన్ మరియు డైనమిక్ బైండింగ్ యొక్క ఈ ప్రాథమిక భావన మేము ఇక్కడ నుండి అర్థం చేసుకోవాలనుకుంటున్నాము. + మరియు మనం సందర్భం ఉపయోగించే చివరి విభాగంలో సరిగ్గా అదే ప్రవర్తనను చూడవచ్చు. + ఈ రెండు ఇక్కడ ఉన్నాయి సూచనలు BB వస్తువును సూచిస్తుంది; rd అనేది d వస్తువును సూచిస్తుంది. + ఫంక్షన్ (ఎఫ్) ఎఫ్ కోసం నేను సందర్భం ద్వారా చేస్తే నాకు స్టాటిక్ బైండింగ్ ఉంది, అయితే నేను ఆర్బి మరియు ఆర్డి కోసం జి ఫంక్షన్ (ఫంక్షన్) గ్రా పద్ధతిని ప్రారంభిస్తే నేను ఎందుకంటే ఆర్డి డి ప్రకటన వస్తువును సూచిస్తుంది మరియు ఎందుకంటే RB ఒక వస్తువు వస్తువును సూచిస్తుంది. + ఈ సందర్భంలో డైనమిక్ బైండింగ్ ప్రకారం, నేను పొందిన విలోమం యొక్క g ఫంక్షన్లను పొందుతాను. + ఈ సందర్భంలో, నేను బేస్ క్లాస్ యొక్క g ఫంక్షన్‌ను ప్రారంభించాను. + అందువల్ల, నేను ఫంక్షన్‌ను ఒక వస్తువుగా యాక్సెస్ చేస్తే అవి ఎల్లప్పుడూ స్థిరంగా ఉంటాయి. + అవి ఎల్లప్పుడూ ఆ వస్తువు రకం మీద ఆధారపడి ఉంటాయి. + నేను ఒక ఫంక్షన్ ద్వారా లేదా రిఫరెన్స్ ద్వారా పద్ధతులను ప్రారంభిస్తే, నేను స్టాటిక్ లేదా డైనమిక్ బైండింగ్ కలిగి ఉంటాను, అది నేను ఏ సభ్యునిపై ఆధారపడి ఉంటుంది. నేను చేస్తున్న ఫంక్షన్ ఒక వర్చువల్ కానిది, ఇక్కడ స్టాటిక్ బైండింగ్ ఉంటుంది లేదా సభ్యుల ఫంక్షన్ ఉన్నప్పుడు డైనమిక్ బైండింగ్ ఉన్న వర్చువల్ ఒకటి. + కాబట్టి, మరింత నిర్మించబడే బైండింగ్ యొక్క ప్రాథమిక భావనను ప్రవేశపెట్టడం మాత్రమే. + అందువల్ల, మొత్తంగా, మేము కాస్టింగ్ భావనను ప్రవేశపెట్టాము మరియు పైకి క్రిందికి ఉన్న ప్రాథమిక భావనను చర్చించాము మరియు అప్ కాస్ట్ సురక్షితం మరియు డౌన్ కాస్ట్ ప్రమాదకరమని గమనించాము. + మేము దీన్ని చేసాము, ఎందుకంటే తరువాతి మాడ్యూల్‌లో, కాస్టింగ్ యొక్క ఈ భావనను బైండింగ్ సందర్భంలో ఉపయోగించాల్సి ఉంటుంది. + ఆ తరువాత మేము స్టాటిక్ కాస్టింగ్ మరియు డైనమిక్ కాస్టింగ్ లేదా వర్చువల్ ఫంక్షన్ యొక్క ప్రాథమిక నిర్వచనాన్ని ప్రవేశపెట్టాము, ఇది కొత్త రకం సభ్యుల ఫంక్షన్, ఇది మేము మరిన్ని తరగతులలో ప్రదర్శిస్తున్నాము. + మేము తదుపరి మాడ్యూల్‌లో డైనమిక్ బైండింగ్ గురించి చర్చించడం కొనసాగిస్తాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/18. ProgramminginCplusplus_Static Members (Lecture 31)-l1JYbPhh9Vw.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/18. ProgramminginCplusplus_Static Members (Lecture 31)-l1JYbPhh9Vw.txt index c26c5ba27732a80dde0134344ced9a05a65ef595..928271e5bf5fde207071472bb0820587ec57e891 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/18. ProgramminginCplusplus_Static Members (Lecture 31)-l1JYbPhh9Vw.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/18. ProgramminginCplusplus_Static Members (Lecture 31)-l1JYbPhh9Vw.txt @@ -1,188 +1,188 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ యొక్క మాడ్యూల్ 16 కు స్వాగతం. - 2. ఈ మాడ్యూల్ లో, మనము స్టాటిక్ మెంబర్స్ గురించి మాట్లాడతాము; ప్రత్యేకంగా మనము స్టాటిక్ డేటా మెంబర్స్ మరియు స్టాటిక్ మెంబర్ ఫంక్షన్ ను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. - 3. ఈ ఆకృతిలో రెండు రకాల మెంబర్స్ ఉంటుంది, మరియు సింగిల్టన్ క్లాసెస్ (singleton classes) గురించిన ఒక చర్చ ఉంటుంది. - 4. ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున అవుట్లైన్ కనిపిస్తుంది. - 5. స్టాటిక్ డేటా సభ్యుడు, మేము డేటా సభ్యుల గురించి తెలుసుకున్నాము. - 6. కాబట్టి, డేటా సభ్యుడు తరగతి నిర్మాణంలో ఒక భాగం. - 7. అందువల్ల, ఒక వస్తువు ఒక వస్తువును సూచించినప్పుడు, ఆ వస్తువులో డేటా సభ్యులు ఉంటారు, మరియు మనకు తెలిసిన డేటా సభ్యులు, వాటిని ఆబ్జెక్ట్ యొక్క పాయింటర్ నుండి లేదా వస్తువు యొక్క సభ్యుల ఫంక్షన్ల నుండి యాక్సెస్ చేయవచ్చు. - 8. స్టాటిక్ డేటా సభ్యుడి పరంగా, విషయాలు చాలా భిన్నంగా ఉంటాయి. - 9. స్టాటిక్ డేటా సభ్యులు వస్తువుతో సంబంధం కలిగి ఉండరు; డేటా సభ్యులు వంటి వస్తువుకు సాధారణ డేటా సభ్యులు జతచేయబడతారు, కాని స్టాటిక్ డేటా సభ్యులు దీనికి విరుద్ధంగా ఉంటారు, వీటిలో తరగతి సభ్యులు శ్రేణికి జతచేయబడతారు. - 10. కాబట్టి, స్టాటిక్ డేటా సభ్యుడి యొక్క ముఖ్యమైన ఆస్తి ఏమిటంటే, ఏ తరగతి యొక్క స్టాటిక్ డేటా సభ్యుడితో సంబంధం లేకుండా, ఏ తరగతికి ఎన్ని ఉదాహరణలు సృష్టించబడతాయి.ఒక ఉదాహరణ మాత్రమే ఉంటుంది. - 11. కాబట్టి, ఇది తరగతిలోని అన్ని వస్తువులచే పంచుకోబడుతుంది. - 12. వాస్తవానికి, వ్యక్తిగత సందర్భాల్లో మనం చూసే ఆసక్తికరమైన విషయం ఏమిటంటే, తరగతికి వస్తువు లేనప్పుడు కూడా స్టాటిక్ డేటా సభ్యుడు ఉండగలడు. - 13. కాబట్టి, స్టాటిక్ సభ్యుని యొక్క ఉద్దేశ్యం ప్రధానంగా తరగతికి ప్రత్యేకమైన డేటాను నిర్వహించడానికి డేటాను నిలుపుకోవడం, కానీ ప్రతి సందర్భానికి ప్రత్యేకమైనది కాదు. - 14. మరియు చాలా ప్రోగ్రామింగ్ పరిస్థితులు ఉన్నాయని మేము చూస్తాము, అలాంటి స్టాటిక్ డేటా సభ్యుడు నిజంగా సహాయపడే అనేక సమస్యలు. - 15. మీలో జావాతో పరిచయం ఉన్నవారికి, ఉదాహరణ వేరియబుల్ మాదిరిగా కాకుండా, స్టాటిక్ డేటా సభ్యుడు జావాలో క్లాస్ వేరియబుల్, ఇది సి ++ లో సాధారణ నాన్-స్టాటిక్ డేటా సభ్యుడు. డేటా సభ్యుడు. - 16. స్టాటిక్ డేటా సభ్యుడి కోసం, మేము కొన్ని అదనపు అడ్డంకులను చూస్తాము; సాధారణ డేటా సభ్యుల మాదిరిగా తరగతి లోపల స్టాటిక్ డేటా సభ్యులను ప్రకటించినట్లు మనం చూస్తాము. - 17. ఇది తరగతి వెలుపల నిర్వచించాల్సిన అవసరం ఉంది, ఇది స్టాటిక్ డేటా సభ్యునికి మెమరీ బైండింగ్, ఇది తరగతి వెలుపల చేయాలి, సాధారణంగా ఒక సోర్స్ ఫైల్‌లో, ఇది ప్రారంభించబడుతుంది. చేయవచ్చు. - 18. మరియు ఆసక్తికరమైన విషయం ఏమిటంటే ఇది ఖచ్చితంగా స్టాటిక్ సభ్యుడు, డేటా సభ్యుడు ఒక వస్తువు కావచ్చు. - 19. కాబట్టి, స్టాటిక్ డేటా సభ్యుడు కూడా ఒక వస్తువు. - 20. ప్రధాన పని ప్రారంభమయ్యే ముందు స్టాటిక్ డేటా సభ్యులు సృష్టించబడతారు; ఇది మీరు మునుపటి సందర్భాలలో చూడని విషయం. - 21. మేము అమలు చేయడం ప్రారంభించినప్పుడు, ప్రధానమైనది వస్తువు (లు) నిర్మించడం ప్రారంభించినప్పుడు, కాని స్టాటిక్ సభ్యులను సృష్టించవచ్చు లేదా ప్రధాన ప్రారంభానికి ముందు సృష్టించబడుతుంది మరియు సుష్టంగా ఉంటాయి అవి ప్రధానమైన తర్వాత పూర్తవుతాయి. వాపసు. - 22. కాబట్టి, మేము దీనిని ఉదాహరణ ద్వారా చూస్తాము, స్టాటిక్ డేటా సభ్యుడు పబ్లిక్ లేదా ప్రైవేట్ కావచ్చు ఏదైనా యాక్సెస్ స్పెసిఫైయర్ కోసం. - 23. ఇప్పుడు స్టాటిక్ డేటా సభ్యుడిని యాక్సెస్ చేసే విషయంలో మనం క్లాస్ పేరును ఉపయోగించాల్సి ఉంటుంది ఎందుకంటే నేను ఇక్కడ ఇప్పటికే చెప్పినట్లుగా ఇది క్లాస్‌తో సంబంధం కలిగి ఉంది మరియు ఒక వస్తువుతో కాదు. (ఆబ్జెక్ట్) తో. - 24. కాబట్టి, స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయడానికి నిర్దిష్ట ఆబ్జెక్ట్ డాట్‌ను యాక్సెస్ చేయడానికి సంజ్ఞామానం ఉత్తమ మార్గం కాదు. - 25. క్లాస్ అనే పెద్దప్రేగు-పెద్దప్రేగు లేదా స్కోప్ రిజల్యూషన్ ఆపరేటర్‌ను ఉపయోగించడం ద్వారా వాటిని యాక్సెస్ చేస్తారు. - 26. మరియు వాడుక పరంగా, స్టాటిక్ డేటా సభ్యులు గ్లోబల్ వేరియబుల్స్ మాదిరిగానే ఉండరు. - 27. గ్లోబల్ స్కోప్‌లో గ్లోబల్ వేరియబుల్స్ ఉనికిలో ఉన్న ఏకైక తేడా లేదా ముఖ్యమైన తేడా ఏమిటంటే, స్టాటిక్ డేటా సభ్యుడు (స్కోప్) డేటా సభ్యుడు) తరగతి పరిధిలో స్టాటిక్ మెంబర్ సభ్యుడు ఉంటాడు. - 28. అందువల్ల, ప్రోగ్రామ్‌లో ఏదైనా గ్లోబల్ డేటా ఉండవలసిన అవసరాన్ని అవి తొలగిస్తాయి. - 29. కాబట్టి, ఈ పరిచయంతో, ఒక సాధారణ ఉదాహరణ ద్వారా మీకు చెప్తాను, ఆపై ఈ అంశాలు మరింత స్పష్టంగా తెలుస్తాయి. - 30. ఇది స్టాటిక్ డేటా సభ్యునికి ఉదాహరణ; ఇది చాలా సులభమైన కేసు. - 31. కాబట్టి, నా దగ్గర ఉన్నదంతా ఒక తరగతి, ఇది ఈ తరగతిని చాలా అర్ధవంతం చేయని విషయం, దీనిని నా తరగతి పిలుస్తారు మరియు దీనికి సాధారణ డేటా సభ్యుడు ఉన్నారు. Int x. - 32. కాబట్టి, ఎడమ కాలమ్‌లో, మీరు చూసేది స్టాటిక్ సభ్యుడిని ఉపయోగించదు.డేటా సభ్యులు మరియు సభ్యుల ఫంక్షన్ల పరంగా మీరు ఇంతకు ముందు పరిచయం చేయబడ్డారు. - 33. కాబట్టి, x అనేది డేటా సభ్యుడు, x వద్ద 15 నుండి ప్రారంభమయ్యే సభ్యుల ఫంక్షన్. - 34. మరియు ప్రింట్ మెంబర్ ఫంక్షన్ ఉంది, ఇది x యొక్క ప్రస్తుత విలువను తీసుకుంటుంది, దానిని పెంచుతుంది లేదా దానికి 10 ని జోడిస్తుంది, ఆపై ఆ విలువను ప్రింట్ చేస్తుంది. - 35. కాబట్టి, ఇది మేము చేయడానికి ప్రయత్నిస్తున్న సాధారణ విషయం. - 36. కాబట్టి, ఇప్పుడు మనం ఇక్కడ అప్లికేషన్ కోడ్‌ను పరిశీలిస్తే, ఆబ్జెక్ట్ 1 మరియు ఆబ్జెక్ట్ 2 అనే రెండు వస్తువులను సృష్టిస్తున్నాము, మీరు చూడగలిగినట్లుగా క్లాస్‌లో కన్స్ట్రక్టర్ లేరు. - 37. కాబట్టి, ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్ ఉపయోగించబడుతుందని మాకు తెలుసు; మరియు ఆ కన్స్ట్రక్టర్ ద్వారా, x ఒక నిర్దిష్ట విలువకు కేటాయించబడదు. - 38. కాబట్టి, మేము ఆబ్జెక్ట్ 1 ను పిలుస్తాము. - 39. కాబట్టి, మనం ఇక్కడ ఆబ్జెక్ట్ 1 వద్దకు వస్తే, ఆబ్జెక్ట్ 1 కోసం, కాబట్టి నేను దానిలో డ్రా చేయగలిగితే, ఇది నా ఆబ్జెక్ట్ 1, ఇది నా ఆబ్జెక్ట్ (ఆబ్జెక్ట్) 2, కాబట్టి రెండింటిలో నాకు x ఉంది. - 40. నేను ఆబ్జెక్ట్ 1 ను పొందినప్పుడు, అది 15 అవుతుంది; నేను ఆబ్జెక్ట్ 2 కోసం వచ్చినప్పుడు, అది 15 అవుతుంది, ఆపై నేను ప్రింట్ చేస్తే, ఆబ్జెక్ట్ ఒకదానికి ప్రింట్‌ను పిలుస్తుంది, కాబట్టి ఇది ప్రింట్ చేస్తుంది (ప్రింట్) ఈ విలువను 15 గా తీసుకుంటుంది ఎందుకంటే ఇక్కడ దీనికి 10 జోడించండి. - 41. కాబట్టి, ఇది 25 అవుతుంది, అందువల్ల, ఇది 25 ను ప్రింట్ చేస్తుంది. - 42. ఇది x 25 ముద్రణకు సమానం. - 43. అదేవిధంగా, ఆబ్జెక్ట్ 2 కోసం మళ్ళీ ప్రింట్ చేయండి, ఇది మళ్ళీ 15 అని అనుకుంటుంది, ఇది 15 కి 10 ని జతచేస్తుంది, ఎందుకంటే నేను ప్రింట్, విలువ 25 అని పిలిచాను మరియు ఇది ప్రింట్. - 44. కాబట్టి, మీరు ఈ ప్రవర్తనను చూస్తే, ఈ ప్రవర్తన మీ కోసం ఇప్పటికే స్పష్టంగా ఉంది. - 45. కాబట్టి, నేను ఆబ్జెక్ట్స్ 1 మరియు ఆబ్జెక్ట్ 2 లతో ఒకే పని చేస్తున్నానని మీకు తెలుస్తుంది, అందువల్ల, రెండూ x కోసం ఒకే విలువను 25 ప్రింట్ చేస్తాయి. - 46. ఇప్పుడు, మనం స్టాటిక్ డేటా మెంబర్‌ను ఉపయోగించడానికి ప్రయత్నిస్తున్న కుడి కాలమ్‌ను చూద్దాం. - 47. కాబట్టి, నేను స్టాటిక్ సభ్యుడిని ఎలా ఉపయోగించగలను, అంతకుముందు నేను int x అని చెప్తున్నాను, ఇప్పుడు నేను స్టాటిక్ int x అని చెప్తున్నాను. - 48. అందువల్ల, నేను డేటా సభ్యుల ప్రకటనకు స్టాటిక్ కీవర్డ్‌ను ప్రిఫిక్స్ చేసాను. - 49. కాబట్టి, ఇది నాన్-స్టాటిక్ డిక్లరేషన్, ఇది ఇప్పుడు స్టాటిక్ డిక్లరేషన్ గా మారింది. - 50. ఇప్పుడు వ్యత్యాసం ఏమిటంటే, నేను నాన్-స్టాటిక్ డేటాతో ఉన్న వైపు ఉంటే, నేను 1 ఆబ్జెక్ట్, ఆబ్జెక్ట్ 2, డేటా మెంబర్ x, డేటా మెంబర్ (డేటా మెంబర్) x ను పొందుతాను. పంక్తి, నాకు ఆబ్జెక్ట్ 1 ఉంది, నాకు ఆబ్జెక్ట్ 2 ఉంది, కానీ ఆబ్జెక్ట్ 1 మరియు ఆబ్జెక్ట్ 2 ఎక్స్‌లోని ఏవైనా వస్తువులు డేటా సభ్యుడి రూపంలో లేవు ఎందుకంటే x ఒక స్టాటిక్ డేటా సభ్యుడు మరియు నిర్దిష్ట వస్తువుతో సంబంధం లేదు. కాబట్టి, మైక్లాస్ :: x, నా క్లాస్ :: x అనే మరో వస్తువు ఉంది, ఇది ఈ తరగతి యొక్క స్టాటిక్ డేటా సభ్యుడు x. - 51. కాబట్టి, నేను నిర్వచించిన క్షణం స్థిరంగా ఉందని, నా డేటా సభ్యుడు ఆబ్జెక్ట్ యొక్క భాగం కాదని, ఆబ్జెక్ట్ పార్ట్ 1 లేదా ఆబ్జెక్ట్ (ఆబ్జెక్ట్) 2 లో ఒక భాగం కాదని మీరు చూడవచ్చు, కానీ అది ఒక ప్రత్యేక స్థలం అవుతుంది, అది ప్రత్యేక వస్తువు అవుతుంది. - 52. ఇప్పుడు x అని పేరు పెట్టని ఏకైక విషయం మైక్లాస్: x అంటే అది క్లాస్ పేరుతో అర్హత పొందింది మరియు నేను దానిని ఎలా యాక్సెస్ చేస్తాను. - 53. కాబట్టి, నేను కలిగి ఉన్న అదే అనువర్తనాన్ని ఉపయోగించి నేను దానిని ఉపయోగించటానికి ప్రయత్నించినప్పుడు, ఈ అనువర్తనానికి మరియు ప్రధానంగా ఈ అనువర్తనానికి తేడా లేదు. - 54. మనం చూసినట్లుగా వస్తువులు సృష్టించబడతాయి. - 55. నాకు లభిస్తుంది, కాబట్టి x 15 కి కేటాయించబడుతుంది. - 56. కాబట్టి, దీని అర్థం x, x అంటే x ఇక్కడ మైక్లాస్ యొక్క x, కాబట్టి ఇది వేరియబుల్. - 57. కాబట్టి, ఇది 15 అవుతుంది. - 58. ఇది స్థిర విలువ 15 అవుతుంది. - 59. ఆబ్జెక్ట్ 2 ను పొందడానికి నేను ఎగ్జిక్యూట్ చేస్తాను, అదే x 15 ని కేటాయించబడుతుంది, ఎందుకంటే x స్టాటిక్. ఇది రెండు వస్తువుల మధ్య సాధారణం. - 60. కాబట్టి, x రెండుసార్లు 15 కు సెట్ చేయబడింది. - 61. ఇప్పుడు నేను ఆబ్జెక్ట్ 1 కోసం ప్రింట్ అని పిలుస్తాను, కాబట్టి x యొక్క విలువ 15 మరియు 10 దానికి జోడించబడుతుంది, కాబట్టి x యొక్క విలువ ఇప్పుడు 25 అవుతుంది, ఎందుకంటే 10 జోడించబడింది మరియు ప్రింట్ చేయబడే విలువ. - 62. కాబట్టి, నేను obj1.print x 25 గా ముద్రించినప్పుడు. - 63. ఈ సమయం వరకు, నాన్-స్టాటిక్ కేసు నుండి ప్రవర్తనలో తేడా లేదు. - 64. ఆబ్జెక్ట్ 2 కు ప్రింట్ వర్తించినప్పుడు తదుపరిదాన్ని పరిగణించండి. - 65. ఆబ్జెక్ట్ 2 కోసం ముద్రణను పిలిచినప్పుడు, x యొక్క విలువ ఇప్పుడు 25, ఇది ఇకపై పదిహేను కాదు. - 66. కాబట్టి, ఇది 10 కు జోడిస్తుంది, ఇప్పుడు అది 35 అవుతుంది మరియు x ఇప్పుడు 35 అవుతుంది. - 67. అందువల్ల, నేను ఈ ముద్రణ పద్ధతి ప్రకారం ముద్రించినప్పుడు, నేను ముద్రించే విలువ 35 అవుతుంది, ఎందుకంటే స్టాటిక్ ఆబ్జెక్ట్ రెండూ ఆబ్జెక్ట్. - 68. అందువల్ల, నేను రెండుసార్లు ముద్రణను, ఒకసారి ఆబ్జెక్ట్ 1 ద్వారా, మరియు ఒకసారి ఆబ్జెక్ట్ 2 ద్వారా, 10 విలువ x కు రెండుసార్లు జోడించబడుతుంది. - 69. కాబట్టి, అంతకుముందు ఇది 25; రెండవ సందర్భంలో, ఇప్పుడు స్టాటిక్ డేటా సభ్యుడితో, ఇది 35 అవుతుంది, కాబట్టి ఇది మనం నేర్చుకోవలసిన స్టాటిక్ డేటా సభ్యుడి ప్రాథమిక ప్రవర్తన. - 70. అందువల్ల, x ఒక స్టాటిక్ డేటా సభ్యుడు అని మేము గుర్తించాము, అవి ఎలా పంచుకున్నాయో మనం చూసిన రెండు వస్తువుల ద్వారా భాగస్వామ్యం చేయబడతాయి. - 71. మరియు ఈ తదుపరి పాయింట్ చాలా ముఖ్యం, ఈ విషయాన్ని వివరిస్తాను. - 72. మీరు ఇక్కడ స్టాటిక్ కీవర్డ్ కాకుండా రెండు ప్రోగ్రామ్‌లను పోల్చినట్లయితే, అదనపు లైన్ ఉంది. - 73. డేటా సభ్యుడు స్టాటిక్ అని చెప్పినప్పుడు, ఇది దాదాపు డిక్లరేషన్ అని, అంటే ఈ వేరియబుల్ పేరు x ఈజ్ అని చెప్తున్నట్లు అది నిర్వచించిందని, ఇది క్లాస్ వేరియబుల్ అని మేము అంటున్నాము. - 74. దీనికి ఉదాహరణ తరగతికి ఉంటుంది, ఈ రకం పూర్ణాంకానికి చెందినది, కానీ ఇది ఈ వేరియబుల్‌తో ఏ మెమరీని అనుబంధించదు. - 75. ఇది నాన్-స్టాటిక్ అయినప్పుడు, నేను దాని గురించి పట్టించుకోను, ఎందుకంటే ఇది స్టాటిక్ కానిది అయితే, ఆబ్జెక్ట్ 1 లాగా ఏదో ఒక సమయంలో ఏదో ఒక వస్తువు వెంటనే కనుగొనబడుతుందని నాకు తెలుసు; మరియు ఆబ్జెక్ట్ 1 యొక్క శీఘ్ర మూల్యాంకనం ఉన్నచోట, x దానిలో ఒక భాగం అవుతుంది. - 76. కాబట్టి, ఆబ్జెక్ట్ 1 యొక్క ఆవశ్యకత ద్వారా x దాని జ్ఞాపకశక్తిని పొందుతుంది, కాని స్టాటిక్ విషయంలో ఇది కేవలం డిక్లరేషన్ మాత్రమే, ఎందుకంటే ఆబ్జెక్ట్ 1 వెంటనే కనుగొనబడినప్పుడు క్లాస్ (క్లాస్) వేరియబుల్ x ఈ వస్తువులో భాగం కాదు. - 77. కాబట్టి, నేను ఒక మెమరీని సృష్టించాలి లేదా ఈ డేటా సభ్యునికి మెమరీని బంధించాలి - స్టాటిక్ డేటా సభ్యుడు విడిగా మరియు ఇది ఒక నిర్వచనం అని పిలుస్తారు, దీని ద్వారా నేను దానిని తయారు చేస్తాను. - 78. కాబట్టి, ఈ నిర్వచనం ఇది గ్లోబల్ స్కోప్‌లో జరిగిందని చెప్తుంది, ఇది వేరియబుల్ మైక్లాస్ :: x, క్లాస్ (క్లాస్) పేరు :: వేరియబుల్ పేరు అని చెప్పాను. - 79. రకం పూర్ణాంకానికి ఉంది. - 80. కాబట్టి, ఒక రకం వ్యత్యాసం ఉందని నేను చెప్తున్నాను మరియు నేను ఇక్కడ ఉంచిన ప్రారంభాన్ని 0 గా ఉంచాను. - 81. ఇది స్టాటిక్ డేటా సభ్యుడిని నిర్వచించడం. - 82. అందువల్ల, మీరు స్టాటిక్ డేటా సభ్యుడిని కలిగి ఉన్న ప్రోగ్రామ్‌ను వ్రాస్తే, మరియు మీరు అలా చేయకపోతే, దాన్ని చొప్పించవద్దు, కంపైలర్ ఇది ఒక ప్రత్యేక స్టాటిక్ డేటా సభ్యుడు అని ఏడుపు ప్రారంభిస్తుంది. సభ్యుడు) మైక్లాస్: x నిర్వచించబడలేదు , అందువలన జ్ఞాపకశక్తి లభించదు. - 83. కాబట్టి, స్టాటిక్ డేటా సభ్యుడి కోసం మీరు గుర్తుంచుకోవలసిన ప్రత్యేకత ఏమిటంటే వారికి ప్రత్యేక నిర్వచనం అవసరం మరియు ప్రోగ్రామ్ పనిచేయడం ప్రారంభించినప్పుడు ప్రారంభించాలి. - 84. కాబట్టి, అది ఎప్పుడు అమలు చేస్తుంది, x విలువ 0 ను ఎప్పుడు పొందుతుంది, అది ప్రధాన ప్రారంభంలో ప్రారంభమయ్యే ముందు విలువ 0 ను పొందుతుంది. - 85. కాబట్టి, మేము ప్రోగ్రామ్‌ను అమలు చేయడం ప్రారంభించినప్పుడు, మొదట అన్ని తరగతుల స్టాటిక్ డేటా సభ్యులు (స్టాటిక్ డేటా సభ్యులు) సృష్టించబడతారు మరియు ప్రారంభించబడతారు మరియు అప్పుడు మాత్రమే కోర్ పనిచేయడం ప్రారంభిస్తుంది. - 86. అదేవిధంగా, ఆ తర్వాత మాత్రమే ప్రధాన ముగుస్తున్నప్పుడు, అన్ని తరగతుల స్టాటిక్ డేటా సభ్యులు వారు సృష్టించిన రివర్స్ క్రమంలో నాశనం అవుతారు. - 87. వాస్తవానికి, ఈ ప్రత్యేక ఉదాహరణలో, మీరు ఆ సృష్టి, విధ్వంసం ప్రక్రియను చూడలేరు, ఎందుకంటే ఈ సందర్భంలో స్టాటిక్ డేటా సభ్యుడు అంతర్నిర్మిత రకం, ఇక్కడ స్పష్టమైన కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) లేదా డిస్ట్రక్టర్ అందుబాటులో లేదని మాకు తెలుసు . - 88. కాబట్టి, మేము దీనితో ముందుకు వెళ్తాము మరియు కొంచెం పెద్ద ఉదాహరణను చూడండి, స్టాటిక్ డేటా సభ్యుడిని ఉపయోగించటానికి మరింత వాస్తవిక ఉదాహరణ. - 89. కాబట్టి, మేము ఇక్కడ ఏమి చేయటానికి ప్రయత్నిస్తున్నాము, మేము ప్రతి ప్రింటింగ్ ఉద్యోగంలో ముద్రించడానికి చాలా పేజీలను కలిగి ఉన్న క్లాస్ ప్రింట్ జాబ్‌ను సృష్టిస్తున్నాము. - 90. నేను ప్రింట్ జాబ్ ఆబ్జెక్ట్‌ని సృష్టించినప్పుడు, ఈ ఉద్యోగంలో ఎన్ని పేజీలు ఉండాలో నాకు తెలుసు. - 91. ఇప్పుడు నేను దీని ద్వారా ఏమి ట్రాక్ చేయాలనుకుంటున్నాను? ఈ ప్రింట్ ఉద్యోగాలన్నీ వాస్తవానికి ప్రింటర్ అని నేను am హిస్తున్నాను, కాని ప్రింటింగ్‌ను నిప్పు పెడుతుంది. - 92. అందువల్ల, ప్రింట్ ఉద్యోగాలు వాస్తవానికి అక్కడకు వెళ్తాయి. - 93. అందువల్ల, నేను రెండు నోటిఫికేషన్‌లను ట్రాక్ చేయాలనుకుంటున్నాను; ప్రస్తుతం, ఎన్ని వేర్వేరు ప్రింట్ ఉద్యోగాలు ఉన్నాయి, కాబట్టి నేను ఆ n ఉద్యోగం అని పిలుస్తాను. - 94. ఇప్పుడు సహజంగానే ఎన్ని ఉద్యోగాలు ప్రింటింగ్ కోసం సిద్ధంగా ఉన్నాయి, ఇది నిర్దిష్ట ఉద్యోగంపై ఆధారపడదు, ఇది పైన ఉన్న మొత్తం ప్రింట్ జాబ్ వస్తువుల సంఖ్యపై ఆధారపడి ఉంటుంది. ఇవి నిర్మించబడ్డాయి. - 95. కాబట్టి, ఇది తరగతి స్థాయిలో ఉన్న ఆస్తి, ఇది స్టాటిక్ ఆస్తి మరియు అందువల్ల నేను దీనిని స్టాటిక్ ఇంట్ జాబ్స్ అని పిలుస్తాను. - 96. అదేవిధంగా, నా ప్రింటర్‌లో నిర్దిష్ట సంఖ్యలో పేజీలు లోడ్ చేయబడిన ప్రింటింగ్ ట్రే ఉన్నందున, ఆ ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయో నేను ట్రాక్ చేయాలనుకుంటున్నాను. - 97. కాబట్టి, నేను ఒక n ట్రే పేజ్ డేటా సభ్యుడిని సృష్టిస్తాను, నేను కూడా స్టాటిక్ చేస్తాను, ఎందుకంటే ఇది ఒక నిర్దిష్ట ఉద్యోగానికి ప్రత్యేకమైనది కాదు, కానీ ఇది మొత్తం ప్రింట్ జాబ్ క్లాస్ కోసం. - 98. ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయో ప్రత్యేకంగా చెప్పండి. - 99. దీనితో, ఇప్పుడు సహజంగా ఇక్కడ కాబట్టి ఈ ఇద్దరు స్టాటిక్ డేటా సభ్యులు ఈ సమయంలో సృష్టించబడ్డారు మరియు ప్రారంభించబడ్డారు మరియు తరువాత నేను చాలా పని చేస్తాను. - 100. నేను మొదట n ఉద్యోగాల విలువను ప్రింట్ చేస్తాను, అది ఇక్కడ 0 అవుట్‌పుట్‌గా ఉండాలి, ఆపై ట్రేలో ఉన్న పేజీల సంఖ్యను ప్రింట్ చేస్తాను. ప్రారంభంలో 500 తో. - 101. అందువల్ల, అవుట్పుట్ 500 ఉండాలి, ఆపై నేను ఉద్యోగం యొక్క ముద్రణ వస్తువును సృష్టిస్తాను. - 102. అందువల్ల, నా ఉద్యోగాల సంఖ్యను 1 పెంచాలి మరియు ఈ ఉద్యోగాన్ని ముద్రించడానికి నా మిగిలిన పేజీల సంఖ్యను పేజీల సంఖ్య నుండి తీసివేయాలి. - 103. కాబట్టి, దీనిని 10 నుండి తీసివేయాలి. - 104. కాబట్టి, ఈ వస్తువును సృష్టించిన తరువాత, నేను ఉద్యోగాలు మరియు ప్రస్తుతం అందుబాటులో ఉన్న పేజీలను ముద్రించినప్పుడు, నాకు ఉద్యోగం లభిస్తుంది, ఇప్పుడు 0 నుండి 1 ఇంక్రిమెంట్ జరుగుతుంది, మరియు మిగిలిన పేజీల సంఖ్య 490 వరకు ఉంది, ఇది 500 విలువ నుండి 10 కి తగ్గించబడింది . - 105. అప్పుడు నేను ఈ ప్రత్యేక పరిధికి వచ్చాను, అక్కడ నేను మరో రెండు వస్తువులను సృష్టించి, ఆపై ఉద్యోగాల విలువ ఏమిటో చూస్తాను, మరియు పేజీల సంఖ్య 3 అవుతుంది, ఎందుకంటే రెండు మరియు ముద్రణ కార్యకలాపాలు కొనసాగుతున్నాయి మరియు పేజీల సంఖ్య మరింత తగ్గుతుంది 30 మరియు 20 వరకు. - 106. కాబట్టి, ఇది 30 నుండి 460 వరకు, 20 నుండి తక్కువ, 440 వరకు వెళుతుంది, కాబట్టి మిగిలిన పేజీల సంఖ్య అది. - 107. ఆపై నేను 100 పేజీలను లోడ్ చేస్తున్నట్లుగా, ట్రేలోని పేజీల సంఖ్యను 100 పెంచుతాను, కాబట్టి నా పేజీల సంఖ్య 440 ఉండాలి. - 108. ఆపై నేను ఈ దశకు వచ్చాను మరియు స్కోప్ బయటకు వెళ్తున్నందున, ఈ ఆబ్జెక్ట్ జాబ్ 1 మరియు స్కోప్ చేసిన ఈ ఆబ్జెక్ట్ జాబ్ 2 నాశనం అవుతాయని మీరు బాగా అర్థం చేసుకోవచ్చు. - 109. అందువల్ల, అవి నాశనమైతే, ఉద్యోగాల సంఖ్య 3 నుండి 1 కి తగ్గుతుంది. - 110. కాబట్టి, నేను ఇక్కడ ప్రింట్ చేసినప్పుడు నాకు ఉద్యోగం ఉంది, మరియు మిగిలిన పేజీల సంఖ్యను ప్రింట్ చేసినప్పుడు, నేను మరో 100 పేజీలను లోడ్ చేసాను, కాబట్టి ఇది 540 లో సంఖ్య అవుతుంది, ఇది ఈ విధంగా ప్రవర్తిస్తుంది. - 111. అందువల్ల, స్టాటిక్ డేటా సభ్యులను ఉపయోగించి, ఈ ప్రోగ్రామ్‌లో నేను ప్రతి ఉద్యోగానికి ప్రత్యేకమైన కొన్ని సమాచారాన్ని ట్రాక్ చేయగలను, కాని ఇది మొత్తం ప్రింట్ ఉద్యోగాల సేకరణ. దీనికి ప్రత్యేకమైనది, ప్రస్తుతం పనిచేస్తున్న ప్రింట్ ఉద్యోగాల సంఖ్య; ఇది ప్రాథమికంగా వ్యవస్థలో ప్రస్తుతం ఉన్న తరగతి యొక్క వస్తువు (ల) సంఖ్యను మరియు నేను తారుమారు చేస్తున్న ట్రేలోని పేజీల సంఖ్యను లెక్కించే ప్రపంచ వనరు. - 112. కాబట్టి, ఇది స్టాటిక్ డేటా సభ్యుని యొక్క సాధారణ ఉపయోగం. - 113. - 114. ఇప్పుడు సహజంగా మీరు ఇక్కడ చూడగలిగినట్లుగా స్టాటిక్ డేటా సభ్యులు పబ్లిక్ దృశ్యమానత స్థలంలో ఉన్నారు, కాబట్టి నా అప్లికేషన్ మారుతున్న వెంటనే, ఎవరైనా వాస్తవానికి వచ్చి ఈ విలువలను మార్చవచ్చు ఇంక్రిమెంట్ లేదా క్షీణత పరంగా కొత్త విలువను లేదా మార్పును మాత్రమే అందించగలదు. - 115. కాబట్టి, నేను తదుపరి చేయడానికి ప్రయత్నించాలి, వాటిని ప్రైవేట్‌గా చేయడానికి ప్రయత్నించండి, తద్వారా వాటిని నేరుగా మార్చలేరు. - 116. ఇప్పుడు నేను వాటిని ప్రైవేట్‌గా చేస్తే ఒక ప్రశ్న వస్తుంది, నేను దానిని ఎలా మార్చగలను? నేను దీన్ని ఇకపై మార్చలేను, ఎందుకంటే నేను దీన్ని ప్రైవేట్‌గా చేస్తే, సహజంగానే నేను ట్రేల సంఖ్య లేదా ట్రేలోని పేజీల సంఖ్యను మార్చలేను. - 117. కాబట్టి, నాకు కొన్ని విధులు అవసరం, నాకు సభ్యుల విధులు ఉన్నాయి, ఇవి డేటా సభ్యులను మార్చగలవు, నాకు స్టాటిక్ డేటా సభ్యుల విలువలు ఉన్న ఫంక్షన్లు కావాలి. మార్చవచ్చు + ప్రోగ్రామింగ్ ఇన్ C ++ యొక్క మాడ్యూల్ 16 కు స్వాగతం. + ఈ మాడ్యూల్ లో, మనము స్టాటిక్ మెంబర్స్ గురించి మాట్లాడతాము; ప్రత్యేకంగా మనము స్టాటిక్ డేటా మెంబర్స్ మరియు స్టాటిక్ మెంబర్ ఫంక్షన్ ను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. + ఈ ఆకృతిలో రెండు రకాల మెంబర్స్ ఉంటుంది, మరియు సింగిల్టన్ క్లాసెస్ (singleton classes) గురించిన ఒక చర్చ ఉంటుంది. + ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున అవుట్లైన్ కనిపిస్తుంది. + స్టాటిక్ డేటా సభ్యుడు, మేము డేటా సభ్యుల గురించి తెలుసుకున్నాము. + కాబట్టి, డేటా సభ్యుడు తరగతి నిర్మాణంలో ఒక భాగం. + అందువల్ల, ఒక వస్తువు ఒక వస్తువును సూచించినప్పుడు, ఆ వస్తువులో డేటా సభ్యులు ఉంటారు, మరియు మనకు తెలిసిన డేటా సభ్యులు, వాటిని ఆబ్జెక్ట్ యొక్క పాయింటర్ నుండి లేదా వస్తువు యొక్క సభ్యుల ఫంక్షన్ల నుండి యాక్సెస్ చేయవచ్చు. + స్టాటిక్ డేటా సభ్యుడి పరంగా, విషయాలు చాలా భిన్నంగా ఉంటాయి. + స్టాటిక్ డేటా సభ్యులు వస్తువుతో సంబంధం కలిగి ఉండరు; డేటా సభ్యులు వంటి వస్తువుకు సాధారణ డేటా సభ్యులు జతచేయబడతారు, కాని స్టాటిక్ డేటా సభ్యులు దీనికి విరుద్ధంగా ఉంటారు, వీటిలో తరగతి సభ్యులు శ్రేణికి జతచేయబడతారు. + కాబట్టి, స్టాటిక్ డేటా సభ్యుడి యొక్క ముఖ్యమైన ఆస్తి ఏమిటంటే, ఏ తరగతి యొక్క స్టాటిక్ డేటా సభ్యుడితో సంబంధం లేకుండా, ఏ తరగతికి ఎన్ని ఉదాహరణలు సృష్టించబడతాయి.ఒక ఉదాహరణ మాత్రమే ఉంటుంది. + కాబట్టి, ఇది తరగతిలోని అన్ని వస్తువులచే పంచుకోబడుతుంది. + వాస్తవానికి, వ్యక్తిగత సందర్భాల్లో మనం చూసే ఆసక్తికరమైన విషయం ఏమిటంటే, తరగతికి వస్తువు లేనప్పుడు కూడా స్టాటిక్ డేటా సభ్యుడు ఉండగలడు. + కాబట్టి, స్టాటిక్ సభ్యుని యొక్క ఉద్దేశ్యం ప్రధానంగా తరగతికి ప్రత్యేకమైన డేటాను నిర్వహించడానికి డేటాను నిలుపుకోవడం, కానీ ప్రతి సందర్భానికి ప్రత్యేకమైనది కాదు. + మరియు చాలా ప్రోగ్రామింగ్ పరిస్థితులు ఉన్నాయని మేము చూస్తాము, అలాంటి స్టాటిక్ డేటా సభ్యుడు నిజంగా సహాయపడే అనేక సమస్యలు. + మీలో జావాతో పరిచయం ఉన్నవారికి, ఉదాహరణ వేరియబుల్ మాదిరిగా కాకుండా, స్టాటిక్ డేటా సభ్యుడు జావాలో క్లాస్ వేరియబుల్, ఇది సి ++ లో సాధారణ నాన్-స్టాటిక్ డేటా సభ్యుడు. డేటా సభ్యుడు. + స్టాటిక్ డేటా సభ్యుడి కోసం, మేము కొన్ని అదనపు అడ్డంకులను చూస్తాము; సాధారణ డేటా సభ్యుల మాదిరిగా తరగతి లోపల స్టాటిక్ డేటా సభ్యులను ప్రకటించినట్లు మనం చూస్తాము. + ఇది తరగతి వెలుపల నిర్వచించాల్సిన అవసరం ఉంది, ఇది స్టాటిక్ డేటా సభ్యునికి మెమరీ బైండింగ్, ఇది తరగతి వెలుపల చేయాలి, సాధారణంగా ఒక సోర్స్ ఫైల్‌లో, ఇది ప్రారంభించబడుతుంది. చేయవచ్చు. + మరియు ఆసక్తికరమైన విషయం ఏమిటంటే ఇది ఖచ్చితంగా స్టాటిక్ సభ్యుడు, డేటా సభ్యుడు ఒక వస్తువు కావచ్చు. + కాబట్టి, స్టాటిక్ డేటా సభ్యుడు కూడా ఒక వస్తువు. + ప్రధాన పని ప్రారంభమయ్యే ముందు స్టాటిక్ డేటా సభ్యులు సృష్టించబడతారు; ఇది మీరు మునుపటి సందర్భాలలో చూడని విషయం. + మేము అమలు చేయడం ప్రారంభించినప్పుడు, ప్రధానమైనది వస్తువు (లు) నిర్మించడం ప్రారంభించినప్పుడు, కాని స్టాటిక్ సభ్యులను సృష్టించవచ్చు లేదా ప్రధాన ప్రారంభానికి ముందు సృష్టించబడుతుంది మరియు సుష్టంగా ఉంటాయి అవి ప్రధానమైన తర్వాత పూర్తవుతాయి. వాపసు. + కాబట్టి, మేము దీనిని ఉదాహరణ ద్వారా చూస్తాము, స్టాటిక్ డేటా సభ్యుడు పబ్లిక్ లేదా ప్రైవేట్ కావచ్చు ఏదైనా యాక్సెస్ స్పెసిఫైయర్ కోసం. + ఇప్పుడు స్టాటిక్ డేటా సభ్యుడిని యాక్సెస్ చేసే విషయంలో మనం క్లాస్ పేరును ఉపయోగించాల్సి ఉంటుంది ఎందుకంటే నేను ఇక్కడ ఇప్పటికే చెప్పినట్లుగా ఇది క్లాస్‌తో సంబంధం కలిగి ఉంది మరియు ఒక వస్తువుతో కాదు. (ఆబ్జెక్ట్) తో. + కాబట్టి, స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయడానికి నిర్దిష్ట ఆబ్జెక్ట్ డాట్‌ను యాక్సెస్ చేయడానికి సంజ్ఞామానం ఉత్తమ మార్గం కాదు. + క్లాస్ అనే పెద్దప్రేగు-పెద్దప్రేగు లేదా స్కోప్ రిజల్యూషన్ ఆపరేటర్‌ను ఉపయోగించడం ద్వారా వాటిని యాక్సెస్ చేస్తారు. + మరియు వాడుక పరంగా, స్టాటిక్ డేటా సభ్యులు గ్లోబల్ వేరియబుల్స్ మాదిరిగానే ఉండరు. + గ్లోబల్ స్కోప్‌లో గ్లోబల్ వేరియబుల్స్ ఉనికిలో ఉన్న ఏకైక తేడా లేదా ముఖ్యమైన తేడా ఏమిటంటే, స్టాటిక్ డేటా సభ్యుడు (స్కోప్) డేటా సభ్యుడు) తరగతి పరిధిలో స్టాటిక్ మెంబర్ సభ్యుడు ఉంటాడు. + అందువల్ల, ప్రోగ్రామ్‌లో ఏదైనా గ్లోబల్ డేటా ఉండవలసిన అవసరాన్ని అవి తొలగిస్తాయి. + కాబట్టి, ఈ పరిచయంతో, ఒక సాధారణ ఉదాహరణ ద్వారా మీకు చెప్తాను, ఆపై ఈ అంశాలు మరింత స్పష్టంగా తెలుస్తాయి. + ఇది స్టాటిక్ డేటా సభ్యునికి ఉదాహరణ; ఇది చాలా సులభమైన కేసు. + కాబట్టి, నా దగ్గర ఉన్నదంతా ఒక తరగతి, ఇది ఈ తరగతిని చాలా అర్ధవంతం చేయని విషయం, దీనిని నా తరగతి పిలుస్తారు మరియు దీనికి సాధారణ డేటా సభ్యుడు ఉన్నారు. Int x. + కాబట్టి, ఎడమ కాలమ్‌లో, మీరు చూసేది స్టాటిక్ సభ్యుడిని ఉపయోగించదు.డేటా సభ్యులు మరియు సభ్యుల ఫంక్షన్ల పరంగా మీరు ఇంతకు ముందు పరిచయం చేయబడ్డారు. + కాబట్టి, x అనేది డేటా సభ్యుడు, x వద్ద 15 నుండి ప్రారంభమయ్యే సభ్యుల ఫంక్షన్. + మరియు ప్రింట్ మెంబర్ ఫంక్షన్ ఉంది, ఇది x యొక్క ప్రస్తుత విలువను తీసుకుంటుంది, దానిని పెంచుతుంది లేదా దానికి 10 ని జోడిస్తుంది, ఆపై ఆ విలువను ప్రింట్ చేస్తుంది. + కాబట్టి, ఇది మేము చేయడానికి ప్రయత్నిస్తున్న సాధారణ విషయం. + కాబట్టి, ఇప్పుడు మనం ఇక్కడ అప్లికేషన్ కోడ్‌ను పరిశీలిస్తే, ఆబ్జెక్ట్ 1 మరియు ఆబ్జెక్ట్ 2 అనే రెండు వస్తువులను సృష్టిస్తున్నాము, మీరు చూడగలిగినట్లుగా క్లాస్‌లో కన్స్ట్రక్టర్ లేరు. + కాబట్టి, ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్ ఉపయోగించబడుతుందని మాకు తెలుసు; మరియు ఆ కన్స్ట్రక్టర్ ద్వారా, x ఒక నిర్దిష్ట విలువకు కేటాయించబడదు. + కాబట్టి, మేము ఆబ్జెక్ట్ 1 ను పిలుస్తాము. + కాబట్టి, మనం ఇక్కడ ఆబ్జెక్ట్ 1 వద్దకు వస్తే, ఆబ్జెక్ట్ 1 కోసం, కాబట్టి నేను దానిలో డ్రా చేయగలిగితే, ఇది నా ఆబ్జెక్ట్ 1, ఇది నా ఆబ్జెక్ట్ (ఆబ్జెక్ట్) 2, కాబట్టి రెండింటిలో నాకు x ఉంది. + నేను ఆబ్జెక్ట్ 1 ను పొందినప్పుడు, అది 15 అవుతుంది; నేను ఆబ్జెక్ట్ 2 కోసం వచ్చినప్పుడు, అది 15 అవుతుంది, ఆపై నేను ప్రింట్ చేస్తే, ఆబ్జెక్ట్ ఒకదానికి ప్రింట్‌ను పిలుస్తుంది, కాబట్టి ఇది ప్రింట్ చేస్తుంది (ప్రింట్) ఈ విలువను 15 గా తీసుకుంటుంది ఎందుకంటే ఇక్కడ దీనికి 10 జోడించండి. + కాబట్టి, ఇది 25 అవుతుంది, అందువల్ల, ఇది 25 ను ప్రింట్ చేస్తుంది. + ఇది x 25 ముద్రణకు సమానం. + అదేవిధంగా, ఆబ్జెక్ట్ 2 కోసం మళ్ళీ ప్రింట్ చేయండి, ఇది మళ్ళీ 15 అని అనుకుంటుంది, ఇది 15 కి 10 ని జతచేస్తుంది, ఎందుకంటే నేను ప్రింట్, విలువ 25 అని పిలిచాను మరియు ఇది ప్రింట్. + కాబట్టి, మీరు ఈ ప్రవర్తనను చూస్తే, ఈ ప్రవర్తన మీ కోసం ఇప్పటికే స్పష్టంగా ఉంది. + కాబట్టి, నేను ఆబ్జెక్ట్స్ 1 మరియు ఆబ్జెక్ట్ 2 లతో ఒకే పని చేస్తున్నానని మీకు తెలుస్తుంది, అందువల్ల, రెండూ x కోసం ఒకే విలువను 25 ప్రింట్ చేస్తాయి. + ఇప్పుడు, మనం స్టాటిక్ డేటా మెంబర్‌ను ఉపయోగించడానికి ప్రయత్నిస్తున్న కుడి కాలమ్‌ను చూద్దాం. + కాబట్టి, నేను స్టాటిక్ సభ్యుడిని ఎలా ఉపయోగించగలను, అంతకుముందు నేను int x అని చెప్తున్నాను, ఇప్పుడు నేను స్టాటిక్ int x అని చెప్తున్నాను. + అందువల్ల, నేను డేటా సభ్యుల ప్రకటనకు స్టాటిక్ కీవర్డ్‌ను ప్రిఫిక్స్ చేసాను. + కాబట్టి, ఇది నాన్-స్టాటిక్ డిక్లరేషన్, ఇది ఇప్పుడు స్టాటిక్ డిక్లరేషన్ గా మారింది. + ఇప్పుడు వ్యత్యాసం ఏమిటంటే, నేను నాన్-స్టాటిక్ డేటాతో ఉన్న వైపు ఉంటే, నేను 1 ఆబ్జెక్ట్, ఆబ్జెక్ట్ 2, డేటా మెంబర్ x, డేటా మెంబర్ (డేటా మెంబర్) x ను పొందుతాను. పంక్తి, నాకు ఆబ్జెక్ట్ 1 ఉంది, నాకు ఆబ్జెక్ట్ 2 ఉంది, కానీ ఆబ్జెక్ట్ 1 మరియు ఆబ్జెక్ట్ 2 ఎక్స్‌లోని ఏవైనా వస్తువులు డేటా సభ్యుడి రూపంలో లేవు ఎందుకంటే x ఒక స్టాటిక్ డేటా సభ్యుడు మరియు నిర్దిష్ట వస్తువుతో సంబంధం లేదు. కాబట్టి, మైక్లాస్ :: x, నా క్లాస్ :: x అనే మరో వస్తువు ఉంది, ఇది ఈ తరగతి యొక్క స్టాటిక్ డేటా సభ్యుడు x. + కాబట్టి, నేను నిర్వచించిన క్షణం స్థిరంగా ఉందని, నా డేటా సభ్యుడు ఆబ్జెక్ట్ యొక్క భాగం కాదని, ఆబ్జెక్ట్ పార్ట్ 1 లేదా ఆబ్జెక్ట్ (ఆబ్జెక్ట్) 2 లో ఒక భాగం కాదని మీరు చూడవచ్చు, కానీ అది ఒక ప్రత్యేక స్థలం అవుతుంది, అది ప్రత్యేక వస్తువు అవుతుంది. + ఇప్పుడు x అని పేరు పెట్టని ఏకైక విషయం మైక్లాస్: x అంటే అది క్లాస్ పేరుతో అర్హత పొందింది మరియు నేను దానిని ఎలా యాక్సెస్ చేస్తాను. + కాబట్టి, నేను కలిగి ఉన్న అదే అనువర్తనాన్ని ఉపయోగించి నేను దానిని ఉపయోగించటానికి ప్రయత్నించినప్పుడు, ఈ అనువర్తనానికి మరియు ప్రధానంగా ఈ అనువర్తనానికి తేడా లేదు. + మనం చూసినట్లుగా వస్తువులు సృష్టించబడతాయి. + నాకు లభిస్తుంది, కాబట్టి x 15 కి కేటాయించబడుతుంది. + కాబట్టి, దీని అర్థం x, x అంటే x ఇక్కడ మైక్లాస్ యొక్క x, కాబట్టి ఇది వేరియబుల్. + కాబట్టి, ఇది 15 అవుతుంది. + ఇది స్థిర విలువ 15 అవుతుంది. + ఆబ్జెక్ట్ 2 ను పొందడానికి నేను ఎగ్జిక్యూట్ చేస్తాను, అదే x 15 ని కేటాయించబడుతుంది, ఎందుకంటే x స్టాటిక్. ఇది రెండు వస్తువుల మధ్య సాధారణం. + కాబట్టి, x రెండుసార్లు 15 కు సెట్ చేయబడింది. + ఇప్పుడు నేను ఆబ్జెక్ట్ 1 కోసం ప్రింట్ అని పిలుస్తాను, కాబట్టి x యొక్క విలువ 15 మరియు 10 దానికి జోడించబడుతుంది, కాబట్టి x యొక్క విలువ ఇప్పుడు 25 అవుతుంది, ఎందుకంటే 10 జోడించబడింది మరియు ప్రింట్ చేయబడే విలువ. + కాబట్టి, నేను obj1.print x 25 గా ముద్రించినప్పుడు. + ఈ సమయం వరకు, నాన్-స్టాటిక్ కేసు నుండి ప్రవర్తనలో తేడా లేదు. + ఆబ్జెక్ట్ 2 కు ప్రింట్ వర్తించినప్పుడు తదుపరిదాన్ని పరిగణించండి. + ఆబ్జెక్ట్ 2 కోసం ముద్రణను పిలిచినప్పుడు, x యొక్క విలువ ఇప్పుడు 25, ఇది ఇకపై పదిహేను కాదు. + కాబట్టి, ఇది 10 కు జోడిస్తుంది, ఇప్పుడు అది 35 అవుతుంది మరియు x ఇప్పుడు 35 అవుతుంది. + అందువల్ల, నేను ఈ ముద్రణ పద్ధతి ప్రకారం ముద్రించినప్పుడు, నేను ముద్రించే విలువ 35 అవుతుంది, ఎందుకంటే స్టాటిక్ ఆబ్జెక్ట్ రెండూ ఆబ్జెక్ట్. + అందువల్ల, నేను రెండుసార్లు ముద్రణను, ఒకసారి ఆబ్జెక్ట్ 1 ద్వారా, మరియు ఒకసారి ఆబ్జెక్ట్ 2 ద్వారా, 10 విలువ x కు రెండుసార్లు జోడించబడుతుంది. + కాబట్టి, అంతకుముందు ఇది 25; రెండవ సందర్భంలో, ఇప్పుడు స్టాటిక్ డేటా సభ్యుడితో, ఇది 35 అవుతుంది, కాబట్టి ఇది మనం నేర్చుకోవలసిన స్టాటిక్ డేటా సభ్యుడి ప్రాథమిక ప్రవర్తన. + అందువల్ల, x ఒక స్టాటిక్ డేటా సభ్యుడు అని మేము గుర్తించాము, అవి ఎలా పంచుకున్నాయో మనం చూసిన రెండు వస్తువుల ద్వారా భాగస్వామ్యం చేయబడతాయి. + మరియు ఈ తదుపరి పాయింట్ చాలా ముఖ్యం, ఈ విషయాన్ని వివరిస్తాను. + మీరు ఇక్కడ స్టాటిక్ కీవర్డ్ కాకుండా రెండు ప్రోగ్రామ్‌లను పోల్చినట్లయితే, అదనపు లైన్ ఉంది. + డేటా సభ్యుడు స్టాటిక్ అని చెప్పినప్పుడు, ఇది దాదాపు డిక్లరేషన్ అని, అంటే ఈ వేరియబుల్ పేరు x ఈజ్ అని చెప్తున్నట్లు అది నిర్వచించిందని, ఇది క్లాస్ వేరియబుల్ అని మేము అంటున్నాము. + దీనికి ఉదాహరణ తరగతికి ఉంటుంది, ఈ రకం పూర్ణాంకానికి చెందినది, కానీ ఇది ఈ వేరియబుల్‌తో ఏ మెమరీని అనుబంధించదు. + ఇది నాన్-స్టాటిక్ అయినప్పుడు, నేను దాని గురించి పట్టించుకోను, ఎందుకంటే ఇది స్టాటిక్ కానిది అయితే, ఆబ్జెక్ట్ 1 లాగా ఏదో ఒక సమయంలో ఏదో ఒక వస్తువు వెంటనే కనుగొనబడుతుందని నాకు తెలుసు; మరియు ఆబ్జెక్ట్ 1 యొక్క శీఘ్ర మూల్యాంకనం ఉన్నచోట, x దానిలో ఒక భాగం అవుతుంది. + కాబట్టి, ఆబ్జెక్ట్ 1 యొక్క ఆవశ్యకత ద్వారా x దాని జ్ఞాపకశక్తిని పొందుతుంది, కాని స్టాటిక్ విషయంలో ఇది కేవలం డిక్లరేషన్ మాత్రమే, ఎందుకంటే ఆబ్జెక్ట్ 1 వెంటనే కనుగొనబడినప్పుడు క్లాస్ (క్లాస్) వేరియబుల్ x ఈ వస్తువులో భాగం కాదు. + కాబట్టి, నేను ఒక మెమరీని సృష్టించాలి లేదా ఈ డేటా సభ్యునికి మెమరీని బంధించాలి - స్టాటిక్ డేటా సభ్యుడు విడిగా మరియు ఇది ఒక నిర్వచనం అని పిలుస్తారు, దీని ద్వారా నేను దానిని తయారు చేస్తాను. + కాబట్టి, ఈ నిర్వచనం ఇది గ్లోబల్ స్కోప్‌లో జరిగిందని చెప్తుంది, ఇది వేరియబుల్ మైక్లాస్ :: x, క్లాస్ (క్లాస్) పేరు :: వేరియబుల్ పేరు అని చెప్పాను. + రకం పూర్ణాంకానికి ఉంది. + కాబట్టి, ఒక రకం వ్యత్యాసం ఉందని నేను చెప్తున్నాను మరియు నేను ఇక్కడ ఉంచిన ప్రారంభాన్ని 0 గా ఉంచాను. + ఇది స్టాటిక్ డేటా సభ్యుడిని నిర్వచించడం. + అందువల్ల, మీరు స్టాటిక్ డేటా సభ్యుడిని కలిగి ఉన్న ప్రోగ్రామ్‌ను వ్రాస్తే, మరియు మీరు అలా చేయకపోతే, దాన్ని చొప్పించవద్దు, కంపైలర్ ఇది ఒక ప్రత్యేక స్టాటిక్ డేటా సభ్యుడు అని ఏడుపు ప్రారంభిస్తుంది. సభ్యుడు) మైక్లాస్: x నిర్వచించబడలేదు , అందువలన జ్ఞాపకశక్తి లభించదు. + కాబట్టి, స్టాటిక్ డేటా సభ్యుడి కోసం మీరు గుర్తుంచుకోవలసిన ప్రత్యేకత ఏమిటంటే వారికి ప్రత్యేక నిర్వచనం అవసరం మరియు ప్రోగ్రామ్ పనిచేయడం ప్రారంభించినప్పుడు ప్రారంభించాలి. + కాబట్టి, అది ఎప్పుడు అమలు చేస్తుంది, x విలువ 0 ను ఎప్పుడు పొందుతుంది, అది ప్రధాన ప్రారంభంలో ప్రారంభమయ్యే ముందు విలువ 0 ను పొందుతుంది. + కాబట్టి, మేము ప్రోగ్రామ్‌ను అమలు చేయడం ప్రారంభించినప్పుడు, మొదట అన్ని తరగతుల స్టాటిక్ డేటా సభ్యులు (స్టాటిక్ డేటా సభ్యులు) సృష్టించబడతారు మరియు ప్రారంభించబడతారు మరియు అప్పుడు మాత్రమే కోర్ పనిచేయడం ప్రారంభిస్తుంది. + అదేవిధంగా, ఆ తర్వాత మాత్రమే ప్రధాన ముగుస్తున్నప్పుడు, అన్ని తరగతుల స్టాటిక్ డేటా సభ్యులు వారు సృష్టించిన రివర్స్ క్రమంలో నాశనం అవుతారు. + వాస్తవానికి, ఈ ప్రత్యేక ఉదాహరణలో, మీరు ఆ సృష్టి, విధ్వంసం ప్రక్రియను చూడలేరు, ఎందుకంటే ఈ సందర్భంలో స్టాటిక్ డేటా సభ్యుడు అంతర్నిర్మిత రకం, ఇక్కడ స్పష్టమైన కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) లేదా డిస్ట్రక్టర్ అందుబాటులో లేదని మాకు తెలుసు . + కాబట్టి, మేము దీనితో ముందుకు వెళ్తాము మరియు కొంచెం పెద్ద ఉదాహరణను చూడండి, స్టాటిక్ డేటా సభ్యుడిని ఉపయోగించటానికి మరింత వాస్తవిక ఉదాహరణ. + కాబట్టి, మేము ఇక్కడ ఏమి చేయటానికి ప్రయత్నిస్తున్నాము, మేము ప్రతి ప్రింటింగ్ ఉద్యోగంలో ముద్రించడానికి చాలా పేజీలను కలిగి ఉన్న క్లాస్ ప్రింట్ జాబ్‌ను సృష్టిస్తున్నాము. + నేను ప్రింట్ జాబ్ ఆబ్జెక్ట్‌ని సృష్టించినప్పుడు, ఈ ఉద్యోగంలో ఎన్ని పేజీలు ఉండాలో నాకు తెలుసు. + ఇప్పుడు నేను దీని ద్వారా ఏమి ట్రాక్ చేయాలనుకుంటున్నాను? ఈ ప్రింట్ ఉద్యోగాలన్నీ వాస్తవానికి ప్రింటర్ అని నేను am హిస్తున్నాను, కాని ప్రింటింగ్‌ను నిప్పు పెడుతుంది. + అందువల్ల, ప్రింట్ ఉద్యోగాలు వాస్తవానికి అక్కడకు వెళ్తాయి. + అందువల్ల, నేను రెండు నోటిఫికేషన్‌లను ట్రాక్ చేయాలనుకుంటున్నాను; ప్రస్తుతం, ఎన్ని వేర్వేరు ప్రింట్ ఉద్యోగాలు ఉన్నాయి, కాబట్టి నేను ఆ n ఉద్యోగం అని పిలుస్తాను. + ఇప్పుడు సహజంగానే ఎన్ని ఉద్యోగాలు ప్రింటింగ్ కోసం సిద్ధంగా ఉన్నాయి, ఇది నిర్దిష్ట ఉద్యోగంపై ఆధారపడదు, ఇది పైన ఉన్న మొత్తం ప్రింట్ జాబ్ వస్తువుల సంఖ్యపై ఆధారపడి ఉంటుంది. ఇవి నిర్మించబడ్డాయి. + కాబట్టి, ఇది తరగతి స్థాయిలో ఉన్న ఆస్తి, ఇది స్టాటిక్ ఆస్తి మరియు అందువల్ల నేను దీనిని స్టాటిక్ ఇంట్ జాబ్స్ అని పిలుస్తాను. + అదేవిధంగా, నా ప్రింటర్‌లో నిర్దిష్ట సంఖ్యలో పేజీలు లోడ్ చేయబడిన ప్రింటింగ్ ట్రే ఉన్నందున, ఆ ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయో నేను ట్రాక్ చేయాలనుకుంటున్నాను. + కాబట్టి, నేను ఒక n ట్రే పేజ్ డేటా సభ్యుడిని సృష్టిస్తాను, నేను కూడా స్టాటిక్ చేస్తాను, ఎందుకంటే ఇది ఒక నిర్దిష్ట ఉద్యోగానికి ప్రత్యేకమైనది కాదు, కానీ ఇది మొత్తం ప్రింట్ జాబ్ క్లాస్ కోసం. + ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయో ప్రత్యేకంగా చెప్పండి. + దీనితో, ఇప్పుడు సహజంగా ఇక్కడ కాబట్టి ఈ ఇద్దరు స్టాటిక్ డేటా సభ్యులు ఈ సమయంలో సృష్టించబడ్డారు మరియు ప్రారంభించబడ్డారు మరియు తరువాత నేను చాలా పని చేస్తాను. + నేను మొదట n ఉద్యోగాల విలువను ప్రింట్ చేస్తాను, అది ఇక్కడ 0 అవుట్‌పుట్‌గా ఉండాలి, ఆపై ట్రేలో ఉన్న పేజీల సంఖ్యను ప్రింట్ చేస్తాను. ప్రారంభంలో 500 తో. + అందువల్ల, అవుట్పుట్ 500 ఉండాలి, ఆపై నేను ఉద్యోగం యొక్క ముద్రణ వస్తువును సృష్టిస్తాను. + అందువల్ల, నా ఉద్యోగాల సంఖ్యను 1 పెంచాలి మరియు ఈ ఉద్యోగాన్ని ముద్రించడానికి నా మిగిలిన పేజీల సంఖ్యను పేజీల సంఖ్య నుండి తీసివేయాలి. + కాబట్టి, దీనిని 10 నుండి తీసివేయాలి. + కాబట్టి, ఈ వస్తువును సృష్టించిన తరువాత, నేను ఉద్యోగాలు మరియు ప్రస్తుతం అందుబాటులో ఉన్న పేజీలను ముద్రించినప్పుడు, నాకు ఉద్యోగం లభిస్తుంది, ఇప్పుడు 0 నుండి 1 ఇంక్రిమెంట్ జరుగుతుంది, మరియు మిగిలిన పేజీల సంఖ్య 490 వరకు ఉంది, ఇది 500 విలువ నుండి 10 కి తగ్గించబడింది . + అప్పుడు నేను ఈ ప్రత్యేక పరిధికి వచ్చాను, అక్కడ నేను మరో రెండు వస్తువులను సృష్టించి, ఆపై ఉద్యోగాల విలువ ఏమిటో చూస్తాను, మరియు పేజీల సంఖ్య 3 అవుతుంది, ఎందుకంటే రెండు మరియు ముద్రణ కార్యకలాపాలు కొనసాగుతున్నాయి మరియు పేజీల సంఖ్య మరింత తగ్గుతుంది 30 మరియు 20 వరకు. + కాబట్టి, ఇది 30 నుండి 460 వరకు, 20 నుండి తక్కువ, 440 వరకు వెళుతుంది, కాబట్టి మిగిలిన పేజీల సంఖ్య అది. + ఆపై నేను 100 పేజీలను లోడ్ చేస్తున్నట్లుగా, ట్రేలోని పేజీల సంఖ్యను 100 పెంచుతాను, కాబట్టి నా పేజీల సంఖ్య 440 ఉండాలి. + ఆపై నేను ఈ దశకు వచ్చాను మరియు స్కోప్ బయటకు వెళ్తున్నందున, ఈ ఆబ్జెక్ట్ జాబ్ 1 మరియు స్కోప్ చేసిన ఈ ఆబ్జెక్ట్ జాబ్ 2 నాశనం అవుతాయని మీరు బాగా అర్థం చేసుకోవచ్చు. + అందువల్ల, అవి నాశనమైతే, ఉద్యోగాల సంఖ్య 3 నుండి 1 కి తగ్గుతుంది. + కాబట్టి, నేను ఇక్కడ ప్రింట్ చేసినప్పుడు నాకు ఉద్యోగం ఉంది, మరియు మిగిలిన పేజీల సంఖ్యను ప్రింట్ చేసినప్పుడు, నేను మరో 100 పేజీలను లోడ్ చేసాను, కాబట్టి ఇది 540 లో సంఖ్య అవుతుంది, ఇది ఈ విధంగా ప్రవర్తిస్తుంది. + అందువల్ల, స్టాటిక్ డేటా సభ్యులను ఉపయోగించి, ఈ ప్రోగ్రామ్‌లో నేను ప్రతి ఉద్యోగానికి ప్రత్యేకమైన కొన్ని సమాచారాన్ని ట్రాక్ చేయగలను, కాని ఇది మొత్తం ప్రింట్ ఉద్యోగాల సేకరణ. దీనికి ప్రత్యేకమైనది, ప్రస్తుతం పనిచేస్తున్న ప్రింట్ ఉద్యోగాల సంఖ్య; ఇది ప్రాథమికంగా వ్యవస్థలో ప్రస్తుతం ఉన్న తరగతి యొక్క వస్తువు (ల) సంఖ్యను మరియు నేను తారుమారు చేస్తున్న ట్రేలోని పేజీల సంఖ్యను లెక్కించే ప్రపంచ వనరు. + కాబట్టి, ఇది స్టాటిక్ డేటా సభ్యుని యొక్క సాధారణ ఉపయోగం. + + ఇప్పుడు సహజంగా మీరు ఇక్కడ చూడగలిగినట్లుగా స్టాటిక్ డేటా సభ్యులు పబ్లిక్ దృశ్యమానత స్థలంలో ఉన్నారు, కాబట్టి నా అప్లికేషన్ మారుతున్న వెంటనే, ఎవరైనా వాస్తవానికి వచ్చి ఈ విలువలను మార్చవచ్చు ఇంక్రిమెంట్ లేదా క్షీణత పరంగా కొత్త విలువను లేదా మార్పును మాత్రమే అందించగలదు. + కాబట్టి, నేను తదుపరి చేయడానికి ప్రయత్నించాలి, వాటిని ప్రైవేట్‌గా చేయడానికి ప్రయత్నించండి, తద్వారా వాటిని నేరుగా మార్చలేరు. + ఇప్పుడు నేను వాటిని ప్రైవేట్‌గా చేస్తే ఒక ప్రశ్న వస్తుంది, నేను దానిని ఎలా మార్చగలను? నేను దీన్ని ఇకపై మార్చలేను, ఎందుకంటే నేను దీన్ని ప్రైవేట్‌గా చేస్తే, సహజంగానే నేను ట్రేల సంఖ్య లేదా ట్రేలోని పేజీల సంఖ్యను మార్చలేను. + కాబట్టి, నాకు కొన్ని విధులు అవసరం, నాకు సభ్యుల విధులు ఉన్నాయి, ఇవి డేటా సభ్యులను మార్చగలవు, నాకు స్టాటిక్ డేటా సభ్యుల విలువలు ఉన్న ఫంక్షన్లు కావాలి. మార్చవచ్చు మరియు ఇది స్టాటిక్ మెంబర్ ఫంక్షన్ల భావనకు మనలను తీసుకువస్తుంది. - 118. ఇప్పుడు, స్టాటిక్ మెంబర్ ఫంక్షన్ల గురించి ముఖ్యమైన విషయం ఫంక్షన్ల మాదిరిగానే ఉంటుంది. - 119. అవి ముందు స్టాటిక్ కీవర్డ్‌తో వ్రాయబడ్డాయి, కాని ఈ పాయింటర్‌లో కాకుండా స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్ లేని ఇతర సభ్యుల ఫంక్షన్లతో తేడా ముఖ్యమైనది. - 120. ఎందుకంటే, స్టాటిక్ డేటా మెంబర్ వలె, స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్ కూడా ఏ వస్తువుతోనూ సంబంధం కలిగి ఉండదు, ఇది క్లాస్‌తో మాత్రమే సంబంధం కలిగి ఉంటుంది ఎందుకంటే ఇది ఆబ్జెక్ట్‌తో సంబంధం కలిగి ఉండదు, ఇది ఈ పాయింటర్ యొక్క ఆబ్జెక్ట్ చిరునామాను కలిగి ఉండదు. - 121. అందువల్ల, ఫలితం తదుపరి వివరణ ఎందుకంటే ఇది ఈ పాయింటర్‌లో లేదు, ఇది వస్తువు యొక్క డేటా సభ్యుల చిరునామాను తెలుసుకోదు, ఎందుకంటే ఇది ఏ వస్తువును సూచించదు. - 122. కాబట్టి, ఇది తరగతి యొక్క నాన్-స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయలేము. - 123. ఇది తరగతి యొక్క నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్లను ప్రారంభించదు ఎందుకంటే వారందరికీ ఈ పాయింటర్ అవసరం. - 124. కాబట్టి, ఈ పాయింటర్‌లో లేకపోవటం యొక్క ఒక పరిణామం ఏమిటంటే, స్టాటిక్ మెంబర్ ఫంక్షన్ వాటిలో దేనినీ యాక్సెస్ చేయదు. - 125. కాబట్టి, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్‌ను ఎలా ఉపయోగిస్తున్నారు, మీరు స్టాటిక్ డేటా సభ్యుడిలా ఉన్నారు, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలువబడే క్లాస్ పేరును ఉపయోగిస్తారు. (ఫంక్షన్), ఇది క్లాస్ పేరు: స్కోప్ రిజల్యూషన్ ఆపరేటర్ క్లాస్ పేరు కొలోన్-కోలన్, సభ్యుల ఫంక్షన్ పేరు. - 126. ఇప్పుడు, మనకు అవి ఎందుకు అవసరమో నేను ఇప్పటికే చెప్పడం మొదలుపెట్టాను, ఎందుకంటే నేను స్టాటిక్ డేటా సభ్యులను చదవడం మరియు వ్రాయడం కోరుకున్నాను. - 127. అయితే, మొదటి ఉదాహరణలో, స్టాటిక్ డేటా సభ్యులు ఎన్‌క్యాప్సులేషన్ సమస్యలను కలిగి ఉన్న పబ్లిక్ అని మేము చూపించాము? కాబట్టి, నేను స్టాటిక్ డేటా సభ్యులను (డేటా మెంబర్స్) ప్రైవేట్‌గా గుప్తీకరిస్తే, స్టాటిక్ మెంబర్ ఫంక్షన్లు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లను ఉపయోగించి నేను వాటిని మార్చగలను, చదవగలను మరియు వ్రాయగలను. - 128. అవి క్లాస్ స్పెసిఫిక్ అయినందున, వారు క్లాస్ నిర్దిష్ట స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయవచ్చు ( డేటా సభ్యులు) మరియు వాటిని కలిసి మార్చండి. - 129. కాబట్టి దీని అర్థం స్టాటిక్ డేటా సభ్యులు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లు మళ్ళీ ఇదే రకమైన ఎన్‌క్యాప్సులేషన్‌ను అమలు చేయడానికి నన్ను అనుమతిస్తాయి, అయినప్పటికీ క్లాస్ లెవెల్ నంబర్ వద్ద ఆబ్జెక్ట్ స్థాయిలో. - 130. నేను స్టాటిక్ డేటా సభ్యుడు స్టాటిక్ డేటా సభ్యుడు స్టాటిక్ మెంబర్ సభ్యుడు మరియు మన వద్ద ఉన్న స్టాటిక్ డేటా సభ్యులతో ఇలాంటి ఇడియమ్ సెట్‌ను సృష్టించగలను. - 131. స్టాటిక్ డేటా సభ్యుడు నాన్-స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్‌తో ఉండలేరని ఏదో ఒక సమయంలో గమనించవచ్చు. స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) అదే పేరు యొక్క నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్ తో ఉండకూడదు, అది మీకు క్లాస్ యొక్క సభ్యుల ఫంక్షన్ (మెంబర్ ఫంక్షన్) ఉండకూడదు, అది స్టాటిక్, మరియు మరొకటి అదే పేరుతో స్టాటిక్ కానిది అనుమతించబడదు. - 132. మరియు స్టాటిక్ డేటా సభ్యులను ప్రసారం చేయలేము, ఇది ఈ పాయింటర్‌ను కలిగి ఉండకపోవటం యొక్క పరిణామం, ఎందుకంటే సభ్యుల ఫంక్షన్ ఒక కాన్స్టాంట్ కాదా అని మాకు తెలుసు, ఆపై ప్రాథమికంగా ఈ పాయింటర్ రకం మారుతుంది. - 133. ఈ పాయింటర్ స్టాటిక్ ఆబ్జెక్ట్‌కు పాయింటర్‌గా మారుతుంది, స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్‌ను సూచించడానికి ఏ వస్తువు లేదు.అది స్థిరంగా పిలవడంలో అర్థం లేదు. - 134. దీనితో, మనం తిరిగి వెళ్లి, మన ప్రింట్ జాబ్ ఉదాహరణను మెరుగుపరుద్దాం. - 135. అందువల్ల, మేము ఇక్కడ ఏమి చేసాము, మేము స్టాటిక్ సభ్యులను తరగతి ప్రకటన యొక్క ప్రైవేట్ భాగానికి తరలించాము. - 136. అందువల్ల, ఇప్పుడు ప్రధానంగా, మీరు వాటిని నేరుగా మార్చలేరు. వాటిని నేరుగా మార్చడం సాధ్యం కాదు, ఎందుకంటే అవి ఇప్పుడు ప్రైవేట్‌గా ఉన్నాయి. - 137. అందువల్ల, మేము వాటిని చదవడానికి లేదా వ్రాయడానికి ఉపయోగపడే స్టాటిక్ మెంబర్ ఫంక్షన్ల సమితిని ప్రవేశపెట్టాము, ఉదాహరణకు, GetJobs చదువుతుంది, ప్రస్తుతం ఎన్ని ఉద్యోగాలు ఉన్నాయి; చెక్‌పేజీలు చదివి, ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయి; loadPages, దానిపై క్రొత్త పేజీలను లోడ్ చేస్తుంది మరియు మొదలైనవి. - 138. కాబట్టి, అదే ఉత్పత్తిని ఉత్పత్తి చేసే అదే అనువర్తనం అని మేము తిరిగి వ్రాసాము, కాని ఈ స్టాటిక్ డేటా సభ్యులను నేరుగా యాక్సెస్ చేయడానికి బదులుగా, మనం ఇప్పుడు స్టాటిక్ (స్టాటిక్) సభ్యులను కలిగి ఉండవచ్చు.) సభ్యుల ఫంక్షన్లను ఉపయోగిస్తుంది, ఎన్ని ఉద్యోగాలు ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాను , నేను printJobs :: getJobs చేస్తాను. ఇది తరగతి పేరు :: స్టాటిక్ (స్టాటిక్) సభ్యుల ఫంక్షన్ పేరు అని మళ్ళీ గమనించండి. - 139. నేను ప్రింట్‌జాబ్స్: చెక్‌పేజీలు చేస్తున్న పేజీల సంఖ్యను తనిఖీ చేయాలనుకున్నప్పుడు మరియు అది నాకు మిగిలిన పేజీల సంఖ్యను ఇస్తుంది, ఈ ఫంక్షన్‌ను అమలు చేయడం ద్వారా ఇక్కడ నుండి మిగిలిన పేజీల సంఖ్యను నాకు ఇస్తానని క్షమించండి. - 140. వాస్తవానికి, ఈ స్టాటిక్ మెంబర్ ఫంక్షన్లలో ఏదీ ఈ సూచికను కలిగి లేదని దయచేసి గమనించండి. - 141. అందువల్ల, వారు నాన్-స్టాటిక్ డేటాను (స్టాటిక్ డేటా) యాక్సెస్ చేయలేరు, వాటిలో ఏవీ ఇప్పటికే ఉన్న nPages డేటా (డేటా) ను యాక్సెస్ చేయలేవు. - 142. వారు తరగతి కోసం ఉన్న స్టాటిక్ డేటాతో మాత్రమే పని చేయాలి. - 143. మీరు ఈ ఉదాహరణను మీరు ఈ ఉదాహరణ ద్వారా వెళ్ళగలిగే స్థాయికి తరలించవచ్చు మరియు మునుపటి సందర్భంలో మాదిరిగానే మాకు అదే కార్యాచరణ ఉందని మీరే వివరించండి, కాని మేము ఎన్‌క్యాప్సులేషన్ మెరుగుపరచగలుగుతాము. - 144. ఇప్పుడు మేము మూసివేసే ముందు, స్టాటిక్ సభ్యుల యొక్క నిర్దిష్ట ఉపయోగాన్ని గ్రహించే పరంగా మీకు త్వరగా చూపించాలనుకుంటున్నాను, దీనిని మేము సింగిల్టన్ క్లాస్ అని పిలుస్తాము. - 145. సింగిల్టన్ క్లాస్ అనేది ఒక రకమైన డిజైన్ నమూనా, ఇది ఒక తరగతిని సింగిల్టన్ అని పిలుస్తారు, ఆ సమయంలో మీకు ఒకే తరగతి మాత్రమే ఉంటే - ఒక సమయంలో ఒకే ఉదాహరణ. - 146. మొదట్లో, నాకు అలాంటి తరగతులు ఎందుకు అవసరమో కాస్త వింతగా అనిపిస్తుంది. - 147. మీరు ఆలోచించి, చుట్టూ చూస్తే, చాలా తరగతులు భారత రాష్ట్రపతిలా ప్రవర్తిస్తాయని మీరు కనుగొంటారు, భారతదేశంలో ఒక రాష్ట్రపతి మాత్రమే ఉన్నారు, భారతదేశానికి ఒక ప్రధానమంత్రి మాత్రమే ఉన్నారు, ఐఐటి ఖరగ్పూర్ యొక్క ఒక డైరెక్టర్ మాత్రమే సంభవిస్తారు. అనేక విభాగాలలో ఉదాహరణ. - 148. ఇప్పుడు నేను ఒక తరగతి ఇలా ఉండాలని కోరుకుంటే, అలాంటి తరగతిని ఎలా అమలు చేయాలి? ఒక ఉదాహరణగా ఉండలేని తరగతిని రూపొందించడం సహజంగానే సులభం. - 149. కన్స్ట్రక్టర్‌ను ప్రైవేట్‌గా చేయడానికి మీరు చేయాల్సిందల్లా. - 150. మీరు కన్స్ట్రక్టర్‌ను ప్రైవేట్‌గా చేస్తే, దాన్ని ఎవరూ పిలవలేరు మరియు అందువల్ల, మీకు ఆ తరగతి యొక్క ఏదైనా ఉదాహరణ ఉండకూడదు. - 151. కానీ మీరు ఒక వస్తువును మాత్రమే సృష్టించగలరని ఎలా నిర్ధారిస్తారు, కానీ ఒకటి కంటే ఎక్కువ వస్తువులు కాదు, కాబట్టి ఇది స్టాటిక్ డేటా సభ్యుడు మరియు స్టాటిక్ సభ్యుడు ఇది స్టాటిక్ మెంబర్ ఫంక్షన్‌ను ఉపయోగించి చాలా సులభంగా చేయవచ్చు. - 152. అందువల్ల, మీరు చేస్తున్నది ఒక తరగతి. - 153. కాబట్టి, ప్రింటర్‌ను సింగిల్‌టన్‌గా ఎలా తయారు చేయవచ్చో చూపించడానికి నేను ప్రయత్నిస్తున్నాను, అదే పరిస్థితి సంస్థలో ఉంది, నాకు బహుశా ఒక ప్రింటర్ మాత్రమే ఉంది. - 154. అందువల్ల, ఒకటి కంటే ఎక్కువ ప్రింటర్లను తక్షణం చూడకుండా చూసుకోవాలి. - 155. కాబట్టి, ప్రింటర్ తరగతిలో, ఇవి స్టాటిక్ కాని లక్షణాలు, అవి పరిపూర్ణత కోసం మాత్రమే; దాని గురించి చింతించకండి, కాని ఇక్కడ కన్స్ట్రక్టర్ ప్రైవేట్‌గా చేశారు. - 156. ఇది ప్రైవేట్ భాగంలో ఉందని చూడండి. - 157. కాబట్టి, ప్రింటర్ క్లాస్ యొక్క ఏదైనా వస్తువును నేరుగా సృష్టించలేరు. - 158. ఇది నిస్సందేహంగా, బహిరంగంగా ఉంచబడుతుంది; ఎందుకంటే కన్స్ట్రక్టర్ ప్రైవేట్ అయిన తర్వాత మీరు దానిని నిర్మించలేరు. - 159. కాబట్టి, డిస్ట్రాయర్ ఇంకా లోపల ఉండగలదు. - 160. ఇప్పుడు మీరు సృష్టించినది, మీరు స్టాటిక్ డేటా సభ్యుడిని పరిచయం చేస్తారు, ఇది ప్రింటర్‌కు సూచిక, మరియు ప్రైవేటులో కూడా ఉంచబడుతుంది, తద్వారా ఎవరూ దీన్ని నేరుగా చేయలేరు. - 161. కాబట్టి, మీ ఆలోచన ఏమిటంటే, ప్రింటర్ అయిన ఈ స్టాటిక్ డేటా సభ్యుడు :: myprinter ఇది నేను కలిగి ఉన్న అదే ప్రింటర్ వస్తువును సూచిస్తుంది. - 162. ఇప్పుడు, వాస్తవానికి, నేను ఈ ఏకైక ప్రింటర్ వస్తువును ఎలా సృష్టించాను. - 163. కాబట్టి, దాని కోసం, బహిరంగంగా, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్‌ను పరిచయం చేస్తారు. - 164. ఈ సభ్యుల ఫంక్షన్‌ను ప్రింటర్ అంటారు. - 165. ఇప్పుడు అది ఏమిటంటే, మీకు ప్రింటర్ అవసరమైనప్పుడు, మీకు ప్రింటర్ ఆబ్జెక్ట్ అవసరమైనప్పుడు, మీరు నేరుగా వస్తువును యాక్సెస్ చేయడానికి ప్రయత్నించరు, ఎందుకంటే ఆ వస్తువు ఎక్కడ ఉందో మీకు తెలియదు. - 166. మీరు చేసే దానికి బదులుగా, మీరు ఈ నిర్దిష్ట స్టాటిక్ మెంబర్ ఫంక్షన్‌ను అమలు చేస్తారు, స్టాటిక్ మెంబర్ ఫంక్షన్ ఏమి చేస్తుంది, ప్రింటర్ పాయింటర్ శూన్యంగా ఉందా లేదా శూన్యంగా ఉందా అని మొదట్లో తనిఖీ చేస్తుంది - 167. ఇక్కడ, ప్రారంభంలో ఏమి జరుగుతుందో నేను నిర్వచించాను మరియు ప్రారంభించాను. - 168. కాబట్టి, ప్రారంభంలో ఈ సూచిక సున్నా అవుతుంది, ప్రింటర్ లేదు. - 169. ఇది సున్నా అయితే, మీరు ప్రింటర్‌ను సృష్టించి, పాయింటర్‌ను ఇక్కడ ఉంచండి. - 170. కాబట్టి, మీరు ప్రింటర్‌ను సృష్టించి ఇక్కడ ఉంచండి. - 171. ఈ ప్రత్యేకమైన స్టాటిక్ మెంబర్ ఫంక్షన్ ప్రింటర్‌ను సృష్టించగలదని ఇప్పుడు మీరు అనుకుంటున్నారు, ఎందుకంటే ఇది సభ్యుల ఫంక్షన్. - 172. అందువల్ల, ఇది ప్రైవేట్ సభ్యులను చేరుతుంది. - 173. అందువల్ల, ఇది క్రొత్త ప్రింటర్‌ను అందుకుంటుంది మరియు ఆ ప్రింటర్‌ను మీకు తిరిగి ఇస్తుంది. - 174. దీని తరువాత, మీరు ఈ నిర్దిష్ట స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలిచినప్పుడల్లా, మీరు దానిని సున్నా కానిదిగా కనుగొంటారు. - 175. అందువల్ల, మీరు ఈ ఉత్పాదక విధానాన్ని దాటవేస్తారు మరియు మీరు ఇంతకు ముందు సృష్టించిన ప్రింటర్‌ను ఎల్లప్పుడూ తిరిగి ఇస్తారు. - 176. ఈ ప్రక్రియలో, మొదటి కాల్ మాత్రమే ఈ ప్రింటర్ ఆబ్జెక్ట్‌లో కొత్త పని చేస్తుంది మరియు నేను మీకు ప్రింటర్ వస్తువును ఇస్తాను; ఆ సమయం నుండి, ప్రతిసారీ మనకు అదే వస్తువు తిరిగి వస్తుంది. - 177. కాబట్టి, మీరు దీనిని ఉపయోగంలో చూస్తే మీరు ప్రింట్ ఫంక్షన్ చేయాలనుకుంటున్నారు, కాబట్టి ప్రింటర్ కోలన్ కోలన్ ప్రింటర్ (ప్రింటర్) ఈ భాగం అంటే ఈ సభ్యుల ఫంక్షన్ అని మీరు అంటున్నారు. - 178. కాబట్టి, ఈ సభ్యుల ఫంక్షన్ అప్పుడు ప్రింట్ అవుతుంది, కాబట్టి ఇది ప్రింటర్ మనస్సును మీకు తిరిగి ఇస్తుంది. ఇది రిఫరెన్స్ ద్వారా తిరిగి వస్తుంది. - 179. కాబట్టి, ఈ వస్తువు ప్రింటర్‌ను తిరిగి ఇస్తుంది, కాబట్టి ఆ వస్తువు (ప్రింటర్) పై మీరు ప్రింట్ (ప్రింట్) ఇది స్టాటిక్ కాని సభ్యుల ఫంక్షన్.) మరియు ప్రింటింగ్ అవుతుంది. - 180. అదేవిధంగా, మీరు మళ్ళీ 20 ను ప్రింట్ చేయవచ్చు. - 181. కాబట్టి, ఈ ప్రింటర్ నిర్మించబడిందని, 10 పేజీలు ముద్రించబడిందని, 20 పేజీలు ముద్రించబడిందని మీరు చూడవచ్చు. - 182. మరియు మీరు సహజంగా జరిగినప్పుడు మీరు ఈ వస్తువును సృష్టించారు, కాబట్టి ఆ వస్తువును నాశనం చేయాల్సిన బాధ్యత మీపై ఉంది మరియు అందువల్ల, మీరు డిస్ట్రాయర్ అని పిలుస్తారు మరియు ఆ వస్తువు నాశనం చేయగలదు. - 183. కాబట్టి, ఇది ఒక సాధారణ మార్గం, మీరు స్టాటిక్ డేటా సభ్యులు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లను ఉపయోగిస్తే, సింగిల్టన్ చాలా సురక్షితంగా అమలు చేయవచ్చు. - 184. నేను దీన్ని ప్రింటర్ క్లాస్‌తో చూపించాను, కాని సింగిల్టన్ అవసరమయ్యే ఏ ఇతర క్లాస్‌తోనైనా చేయవచ్చు. - 185. కాబట్టి, సారాంశంలో, మేము స్టాటిక్ డేటా సభ్యులను మరియు స్టాటిక్ మెంబర్ సభ్యులను పరిచయం చేసాము మరియు తరగతి స్థాయిలో మరియు ప్రత్యేకించి ఏదైనా డేటాను నిర్వహించడానికి అవి ఉపయోగించబడుతున్నాయని మేము చూపించాము. సింగిల్టన్ వస్తువులను నిష్పాక్షికంగా సృష్టించడానికి, వస్తువులను లెక్కించడం వేర్వేరు కోసం చేయవచ్చు ప్రయోజనాల కోసం. - 186. + ఇప్పుడు, స్టాటిక్ మెంబర్ ఫంక్షన్ల గురించి ముఖ్యమైన విషయం ఫంక్షన్ల మాదిరిగానే ఉంటుంది. + అవి ముందు స్టాటిక్ కీవర్డ్‌తో వ్రాయబడ్డాయి, కాని ఈ పాయింటర్‌లో కాకుండా స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్ లేని ఇతర సభ్యుల ఫంక్షన్లతో తేడా ముఖ్యమైనది. + ఎందుకంటే, స్టాటిక్ డేటా మెంబర్ వలె, స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్ కూడా ఏ వస్తువుతోనూ సంబంధం కలిగి ఉండదు, ఇది క్లాస్‌తో మాత్రమే సంబంధం కలిగి ఉంటుంది ఎందుకంటే ఇది ఆబ్జెక్ట్‌తో సంబంధం కలిగి ఉండదు, ఇది ఈ పాయింటర్ యొక్క ఆబ్జెక్ట్ చిరునామాను కలిగి ఉండదు. + అందువల్ల, ఫలితం తదుపరి వివరణ ఎందుకంటే ఇది ఈ పాయింటర్‌లో లేదు, ఇది వస్తువు యొక్క డేటా సభ్యుల చిరునామాను తెలుసుకోదు, ఎందుకంటే ఇది ఏ వస్తువును సూచించదు. + కాబట్టి, ఇది తరగతి యొక్క నాన్-స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయలేము. + ఇది తరగతి యొక్క నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్లను ప్రారంభించదు ఎందుకంటే వారందరికీ ఈ పాయింటర్ అవసరం. + కాబట్టి, ఈ పాయింటర్‌లో లేకపోవటం యొక్క ఒక పరిణామం ఏమిటంటే, స్టాటిక్ మెంబర్ ఫంక్షన్ వాటిలో దేనినీ యాక్సెస్ చేయదు. + కాబట్టి, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్‌ను ఎలా ఉపయోగిస్తున్నారు, మీరు స్టాటిక్ డేటా సభ్యుడిలా ఉన్నారు, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలువబడే క్లాస్ పేరును ఉపయోగిస్తారు. (ఫంక్షన్), ఇది క్లాస్ పేరు: స్కోప్ రిజల్యూషన్ ఆపరేటర్ క్లాస్ పేరు కొలోన్-కోలన్, సభ్యుల ఫంక్షన్ పేరు. + ఇప్పుడు, మనకు అవి ఎందుకు అవసరమో నేను ఇప్పటికే చెప్పడం మొదలుపెట్టాను, ఎందుకంటే నేను స్టాటిక్ డేటా సభ్యులను చదవడం మరియు వ్రాయడం కోరుకున్నాను. + అయితే, మొదటి ఉదాహరణలో, స్టాటిక్ డేటా సభ్యులు ఎన్‌క్యాప్సులేషన్ సమస్యలను కలిగి ఉన్న పబ్లిక్ అని మేము చూపించాము? కాబట్టి, నేను స్టాటిక్ డేటా సభ్యులను (డేటా మెంబర్స్) ప్రైవేట్‌గా గుప్తీకరిస్తే, స్టాటిక్ మెంబర్ ఫంక్షన్లు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లను ఉపయోగించి నేను వాటిని మార్చగలను, చదవగలను మరియు వ్రాయగలను. + అవి క్లాస్ స్పెసిఫిక్ అయినందున, వారు క్లాస్ నిర్దిష్ట స్టాటిక్ డేటా సభ్యులను యాక్సెస్ చేయవచ్చు ( డేటా సభ్యులు) మరియు వాటిని కలిసి మార్చండి. + కాబట్టి దీని అర్థం స్టాటిక్ డేటా సభ్యులు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లు మళ్ళీ ఇదే రకమైన ఎన్‌క్యాప్సులేషన్‌ను అమలు చేయడానికి నన్ను అనుమతిస్తాయి, అయినప్పటికీ క్లాస్ లెవెల్ నంబర్ వద్ద ఆబ్జెక్ట్ స్థాయిలో. + నేను స్టాటిక్ డేటా సభ్యుడు స్టాటిక్ డేటా సభ్యుడు స్టాటిక్ మెంబర్ సభ్యుడు మరియు మన వద్ద ఉన్న స్టాటిక్ డేటా సభ్యులతో ఇలాంటి ఇడియమ్ సెట్‌ను సృష్టించగలను. + స్టాటిక్ డేటా సభ్యుడు నాన్-స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్‌తో ఉండలేరని ఏదో ఒక సమయంలో గమనించవచ్చు. స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) అదే పేరు యొక్క నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్ తో ఉండకూడదు, అది మీకు క్లాస్ యొక్క సభ్యుల ఫంక్షన్ (మెంబర్ ఫంక్షన్) ఉండకూడదు, అది స్టాటిక్, మరియు మరొకటి అదే పేరుతో స్టాటిక్ కానిది అనుమతించబడదు. + మరియు స్టాటిక్ డేటా సభ్యులను ప్రసారం చేయలేము, ఇది ఈ పాయింటర్‌ను కలిగి ఉండకపోవటం యొక్క పరిణామం, ఎందుకంటే సభ్యుల ఫంక్షన్ ఒక కాన్స్టాంట్ కాదా అని మాకు తెలుసు, ఆపై ప్రాథమికంగా ఈ పాయింటర్ రకం మారుతుంది. + ఈ పాయింటర్ స్టాటిక్ ఆబ్జెక్ట్‌కు పాయింటర్‌గా మారుతుంది, స్టాటిక్ మెంబర్ మెంబర్ ఫంక్షన్‌ను సూచించడానికి ఏ వస్తువు లేదు.అది స్థిరంగా పిలవడంలో అర్థం లేదు. + దీనితో, మనం తిరిగి వెళ్లి, మన ప్రింట్ జాబ్ ఉదాహరణను మెరుగుపరుద్దాం. + అందువల్ల, మేము ఇక్కడ ఏమి చేసాము, మేము స్టాటిక్ సభ్యులను తరగతి ప్రకటన యొక్క ప్రైవేట్ భాగానికి తరలించాము. + అందువల్ల, ఇప్పుడు ప్రధానంగా, మీరు వాటిని నేరుగా మార్చలేరు. వాటిని నేరుగా మార్చడం సాధ్యం కాదు, ఎందుకంటే అవి ఇప్పుడు ప్రైవేట్‌గా ఉన్నాయి. + అందువల్ల, మేము వాటిని చదవడానికి లేదా వ్రాయడానికి ఉపయోగపడే స్టాటిక్ మెంబర్ ఫంక్షన్ల సమితిని ప్రవేశపెట్టాము, ఉదాహరణకు, GetJobs చదువుతుంది, ప్రస్తుతం ఎన్ని ఉద్యోగాలు ఉన్నాయి; చెక్‌పేజీలు చదివి, ట్రేలో ఎన్ని పేజీలు మిగిలి ఉన్నాయి; loadPages, దానిపై క్రొత్త పేజీలను లోడ్ చేస్తుంది మరియు మొదలైనవి. + కాబట్టి, అదే ఉత్పత్తిని ఉత్పత్తి చేసే అదే అనువర్తనం అని మేము తిరిగి వ్రాసాము, కాని ఈ స్టాటిక్ డేటా సభ్యులను నేరుగా యాక్సెస్ చేయడానికి బదులుగా, మనం ఇప్పుడు స్టాటిక్ (స్టాటిక్) సభ్యులను కలిగి ఉండవచ్చు.) సభ్యుల ఫంక్షన్లను ఉపయోగిస్తుంది, ఎన్ని ఉద్యోగాలు ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాను , నేను printJobs :: getJobs చేస్తాను. ఇది తరగతి పేరు :: స్టాటిక్ (స్టాటిక్) సభ్యుల ఫంక్షన్ పేరు అని మళ్ళీ గమనించండి. + నేను ప్రింట్‌జాబ్స్: చెక్‌పేజీలు చేస్తున్న పేజీల సంఖ్యను తనిఖీ చేయాలనుకున్నప్పుడు మరియు అది నాకు మిగిలిన పేజీల సంఖ్యను ఇస్తుంది, ఈ ఫంక్షన్‌ను అమలు చేయడం ద్వారా ఇక్కడ నుండి మిగిలిన పేజీల సంఖ్యను నాకు ఇస్తానని క్షమించండి. + వాస్తవానికి, ఈ స్టాటిక్ మెంబర్ ఫంక్షన్లలో ఏదీ ఈ సూచికను కలిగి లేదని దయచేసి గమనించండి. + అందువల్ల, వారు నాన్-స్టాటిక్ డేటాను (స్టాటిక్ డేటా) యాక్సెస్ చేయలేరు, వాటిలో ఏవీ ఇప్పటికే ఉన్న nPages డేటా (డేటా) ను యాక్సెస్ చేయలేవు. + వారు తరగతి కోసం ఉన్న స్టాటిక్ డేటాతో మాత్రమే పని చేయాలి. + మీరు ఈ ఉదాహరణను మీరు ఈ ఉదాహరణ ద్వారా వెళ్ళగలిగే స్థాయికి తరలించవచ్చు మరియు మునుపటి సందర్భంలో మాదిరిగానే మాకు అదే కార్యాచరణ ఉందని మీరే వివరించండి, కాని మేము ఎన్‌క్యాప్సులేషన్ మెరుగుపరచగలుగుతాము. + ఇప్పుడు మేము మూసివేసే ముందు, స్టాటిక్ సభ్యుల యొక్క నిర్దిష్ట ఉపయోగాన్ని గ్రహించే పరంగా మీకు త్వరగా చూపించాలనుకుంటున్నాను, దీనిని మేము సింగిల్టన్ క్లాస్ అని పిలుస్తాము. + సింగిల్టన్ క్లాస్ అనేది ఒక రకమైన డిజైన్ నమూనా, ఇది ఒక తరగతిని సింగిల్టన్ అని పిలుస్తారు, ఆ సమయంలో మీకు ఒకే తరగతి మాత్రమే ఉంటే - ఒక సమయంలో ఒకే ఉదాహరణ. + మొదట్లో, నాకు అలాంటి తరగతులు ఎందుకు అవసరమో కాస్త వింతగా అనిపిస్తుంది. + మీరు ఆలోచించి, చుట్టూ చూస్తే, చాలా తరగతులు భారత రాష్ట్రపతిలా ప్రవర్తిస్తాయని మీరు కనుగొంటారు, భారతదేశంలో ఒక రాష్ట్రపతి మాత్రమే ఉన్నారు, భారతదేశానికి ఒక ప్రధానమంత్రి మాత్రమే ఉన్నారు, ఐఐటి ఖరగ్పూర్ యొక్క ఒక డైరెక్టర్ మాత్రమే సంభవిస్తారు. అనేక విభాగాలలో ఉదాహరణ. + ఇప్పుడు నేను ఒక తరగతి ఇలా ఉండాలని కోరుకుంటే, అలాంటి తరగతిని ఎలా అమలు చేయాలి? ఒక ఉదాహరణగా ఉండలేని తరగతిని రూపొందించడం సహజంగానే సులభం. + కన్స్ట్రక్టర్‌ను ప్రైవేట్‌గా చేయడానికి మీరు చేయాల్సిందల్లా. + మీరు కన్స్ట్రక్టర్‌ను ప్రైవేట్‌గా చేస్తే, దాన్ని ఎవరూ పిలవలేరు మరియు అందువల్ల, మీకు ఆ తరగతి యొక్క ఏదైనా ఉదాహరణ ఉండకూడదు. + కానీ మీరు ఒక వస్తువును మాత్రమే సృష్టించగలరని ఎలా నిర్ధారిస్తారు, కానీ ఒకటి కంటే ఎక్కువ వస్తువులు కాదు, కాబట్టి ఇది స్టాటిక్ డేటా సభ్యుడు మరియు స్టాటిక్ సభ్యుడు ఇది స్టాటిక్ మెంబర్ ఫంక్షన్‌ను ఉపయోగించి చాలా సులభంగా చేయవచ్చు. + అందువల్ల, మీరు చేస్తున్నది ఒక తరగతి. + కాబట్టి, ప్రింటర్‌ను సింగిల్‌టన్‌గా ఎలా తయారు చేయవచ్చో చూపించడానికి నేను ప్రయత్నిస్తున్నాను, అదే పరిస్థితి సంస్థలో ఉంది, నాకు బహుశా ఒక ప్రింటర్ మాత్రమే ఉంది. + అందువల్ల, ఒకటి కంటే ఎక్కువ ప్రింటర్లను తక్షణం చూడకుండా చూసుకోవాలి. + కాబట్టి, ప్రింటర్ తరగతిలో, ఇవి స్టాటిక్ కాని లక్షణాలు, అవి పరిపూర్ణత కోసం మాత్రమే; దాని గురించి చింతించకండి, కాని ఇక్కడ కన్స్ట్రక్టర్ ప్రైవేట్‌గా చేశారు. + ఇది ప్రైవేట్ భాగంలో ఉందని చూడండి. + కాబట్టి, ప్రింటర్ క్లాస్ యొక్క ఏదైనా వస్తువును నేరుగా సృష్టించలేరు. + ఇది నిస్సందేహంగా, బహిరంగంగా ఉంచబడుతుంది; ఎందుకంటే కన్స్ట్రక్టర్ ప్రైవేట్ అయిన తర్వాత మీరు దానిని నిర్మించలేరు. + కాబట్టి, డిస్ట్రాయర్ ఇంకా లోపల ఉండగలదు. + ఇప్పుడు మీరు సృష్టించినది, మీరు స్టాటిక్ డేటా సభ్యుడిని పరిచయం చేస్తారు, ఇది ప్రింటర్‌కు సూచిక, మరియు ప్రైవేటులో కూడా ఉంచబడుతుంది, తద్వారా ఎవరూ దీన్ని నేరుగా చేయలేరు. + కాబట్టి, మీ ఆలోచన ఏమిటంటే, ప్రింటర్ అయిన ఈ స్టాటిక్ డేటా సభ్యుడు :: myprinter ఇది నేను కలిగి ఉన్న అదే ప్రింటర్ వస్తువును సూచిస్తుంది. + ఇప్పుడు, వాస్తవానికి, నేను ఈ ఏకైక ప్రింటర్ వస్తువును ఎలా సృష్టించాను. + కాబట్టి, దాని కోసం, బహిరంగంగా, మీరు స్టాటిక్ మెంబర్ ఫంక్షన్‌ను పరిచయం చేస్తారు. + ఈ సభ్యుల ఫంక్షన్‌ను ప్రింటర్ అంటారు. + ఇప్పుడు అది ఏమిటంటే, మీకు ప్రింటర్ అవసరమైనప్పుడు, మీకు ప్రింటర్ ఆబ్జెక్ట్ అవసరమైనప్పుడు, మీరు నేరుగా వస్తువును యాక్సెస్ చేయడానికి ప్రయత్నించరు, ఎందుకంటే ఆ వస్తువు ఎక్కడ ఉందో మీకు తెలియదు. + మీరు చేసే దానికి బదులుగా, మీరు ఈ నిర్దిష్ట స్టాటిక్ మెంబర్ ఫంక్షన్‌ను అమలు చేస్తారు, స్టాటిక్ మెంబర్ ఫంక్షన్ ఏమి చేస్తుంది, ప్రింటర్ పాయింటర్ శూన్యంగా ఉందా లేదా శూన్యంగా ఉందా అని మొదట్లో తనిఖీ చేస్తుంది + ఇక్కడ, ప్రారంభంలో ఏమి జరుగుతుందో నేను నిర్వచించాను మరియు ప్రారంభించాను. + కాబట్టి, ప్రారంభంలో ఈ సూచిక సున్నా అవుతుంది, ప్రింటర్ లేదు. + ఇది సున్నా అయితే, మీరు ప్రింటర్‌ను సృష్టించి, పాయింటర్‌ను ఇక్కడ ఉంచండి. + కాబట్టి, మీరు ప్రింటర్‌ను సృష్టించి ఇక్కడ ఉంచండి. + ఈ ప్రత్యేకమైన స్టాటిక్ మెంబర్ ఫంక్షన్ ప్రింటర్‌ను సృష్టించగలదని ఇప్పుడు మీరు అనుకుంటున్నారు, ఎందుకంటే ఇది సభ్యుల ఫంక్షన్. + అందువల్ల, ఇది ప్రైవేట్ సభ్యులను చేరుతుంది. + అందువల్ల, ఇది క్రొత్త ప్రింటర్‌ను అందుకుంటుంది మరియు ఆ ప్రింటర్‌ను మీకు తిరిగి ఇస్తుంది. + దీని తరువాత, మీరు ఈ నిర్దిష్ట స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలిచినప్పుడల్లా, మీరు దానిని సున్నా కానిదిగా కనుగొంటారు. + అందువల్ల, మీరు ఈ ఉత్పాదక విధానాన్ని దాటవేస్తారు మరియు మీరు ఇంతకు ముందు సృష్టించిన ప్రింటర్‌ను ఎల్లప్పుడూ తిరిగి ఇస్తారు. + ఈ ప్రక్రియలో, మొదటి కాల్ మాత్రమే ఈ ప్రింటర్ ఆబ్జెక్ట్‌లో కొత్త పని చేస్తుంది మరియు నేను మీకు ప్రింటర్ వస్తువును ఇస్తాను; ఆ సమయం నుండి, ప్రతిసారీ మనకు అదే వస్తువు తిరిగి వస్తుంది. + కాబట్టి, మీరు దీనిని ఉపయోగంలో చూస్తే మీరు ప్రింట్ ఫంక్షన్ చేయాలనుకుంటున్నారు, కాబట్టి ప్రింటర్ కోలన్ కోలన్ ప్రింటర్ (ప్రింటర్) ఈ భాగం అంటే ఈ సభ్యుల ఫంక్షన్ అని మీరు అంటున్నారు. + కాబట్టి, ఈ సభ్యుల ఫంక్షన్ అప్పుడు ప్రింట్ అవుతుంది, కాబట్టి ఇది ప్రింటర్ మనస్సును మీకు తిరిగి ఇస్తుంది. ఇది రిఫరెన్స్ ద్వారా తిరిగి వస్తుంది. + కాబట్టి, ఈ వస్తువు ప్రింటర్‌ను తిరిగి ఇస్తుంది, కాబట్టి ఆ వస్తువు (ప్రింటర్) పై మీరు ప్రింట్ (ప్రింట్) ఇది స్టాటిక్ కాని సభ్యుల ఫంక్షన్.) మరియు ప్రింటింగ్ అవుతుంది. + అదేవిధంగా, మీరు మళ్ళీ 20 ను ప్రింట్ చేయవచ్చు. + కాబట్టి, ఈ ప్రింటర్ నిర్మించబడిందని, 10 పేజీలు ముద్రించబడిందని, 20 పేజీలు ముద్రించబడిందని మీరు చూడవచ్చు. + మరియు మీరు సహజంగా జరిగినప్పుడు మీరు ఈ వస్తువును సృష్టించారు, కాబట్టి ఆ వస్తువును నాశనం చేయాల్సిన బాధ్యత మీపై ఉంది మరియు అందువల్ల, మీరు డిస్ట్రాయర్ అని పిలుస్తారు మరియు ఆ వస్తువు నాశనం చేయగలదు. + కాబట్టి, ఇది ఒక సాధారణ మార్గం, మీరు స్టాటిక్ డేటా సభ్యులు మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లను ఉపయోగిస్తే, సింగిల్టన్ చాలా సురక్షితంగా అమలు చేయవచ్చు. + నేను దీన్ని ప్రింటర్ క్లాస్‌తో చూపించాను, కాని సింగిల్టన్ అవసరమయ్యే ఏ ఇతర క్లాస్‌తోనైనా చేయవచ్చు. + కాబట్టి, సారాంశంలో, మేము స్టాటిక్ డేటా సభ్యులను మరియు స్టాటిక్ మెంబర్ సభ్యులను పరిచయం చేసాము మరియు తరగతి స్థాయిలో మరియు ప్రత్యేకించి ఏదైనా డేటాను నిర్వహించడానికి అవి ఉపయోగించబడుతున్నాయని మేము చూపించాము. సింగిల్టన్ వస్తువులను నిష్పాక్షికంగా సృష్టించడానికి, వస్తువులను లెక్కించడం వేర్వేరు కోసం చేయవచ్చు ప్రయోజనాల కోసం. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/19. ProgramminginCplusplus_Reference and Pointer ( Lecture 10)-bFRalJVopZA.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/19. ProgramminginCplusplus_Reference and Pointer ( Lecture 10)-bFRalJVopZA.txt index eebfa3f4d418b6cf0fddb3367c1b0bdf622c7ad0..2ec1ecac29b5b2088361f77777398bc412bc74a0 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/19. ProgramminginCplusplus_Reference and Pointer ( Lecture 10)-bFRalJVopZA.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/19. ProgramminginCplusplus_Reference and Pointer ( Lecture 10)-bFRalJVopZA.txt @@ -1,241 +1,241 @@ - 1. ప్రోగ్రామింగ్ C ++ లో మాడ్యూల్ 7 కు  స్వాగతం. - 2. మేము C + లోకి సి యొక్క విధానపరమైన పొడిగింపు గురించి చర్చించడాన్ని కొనసాగిస్తాము. - 3. మేము మాడ్యూల్ 6 లో పరిచయం చేసాము మరియు సివి-క్వాలిఫైయర్ యొక్క రెండు ప్రాథమిక అంశాలను చర్చించాము, నిరంతర మరియు అస్థిరాలను క్వాలిఫైయర్ మరియు ఇన్లైన్ ఫంక్షన్ల ఉపయోగం. - 4. ఈ మాడ్యూల్‌లో, మేము మరొక భావనను ప్రవేశపెడతాము, దీనిని రిఫరెన్స్ అంటారు. - 5. రిఫరెన్స్  యొక్క ఈ భావన చాలా దగ్గరి సంబంధం కలిగి ఉంటుంది, కానీ పాయింటర్ భావన నుండి చాలా భిన్నంగా ఉంటుంది. - 6. కాబట్టి, మేము కూడా చేస్తాము; మేము మాడ్యూల్ గుండా వెళ్ళినప్పుడు, మనము సూచన మరియు పాయింటర్( pointer) మధ్య పోల్చడానికి మరియు విరుద్ధంగా ప్రయత్నిస్తాము. - 7. కాబట్టి, వారి ఉద్దేశం అర్థం మరియు ఈ విరుద్ధతను అర్థం చేసుకోవడం. - 8. ఈ మేము ద్వారా వెళ్ళే వివిధ నిర్దిష్ట విషయాలు. - 9. ఒక ప్రస్తావన ఇప్పటికే ఉన్న వేరియబుల్( variables) కోసం అలియాస్ లేదా పర్యాయపదంగా ఉంటుంది. - 10. కాబట్టి, అలియాస్ మా స్వంత పేర్ల పరంగా మాకు ఉన్నది. - 11. మాకు ఇచ్చిన పేరు ఉంది. - 12. మేము కొన్ని పెంపుడు జంతువు పేర్లను కలిగి ఉన్నాము మరియు వాటి పేర్లతో దీనిని పిలుస్తాము. - 13. కాబట్టి, ఇక్కడ సూచన వేరియబుల్ (variables) కూడా అదే ప్రయోజనం ఉంది. - 14. కాబట్టి, నేను ప్రకటించబడిన ఒక వేరియబుల్(variables). - 15. ఇక్కడ అది 15 కు ప్రారంభించబడుతుంది మరియు ఈ సందర్భంలో మేము ఒక వేరియబుల్ i ను కలిగి ఉంది, ఇది నిర్వచించబడింది. - 16. ఇది ప్రాధమిక విలువ 15 ఉంది. ఇప్పుడు, నేను మరొక వేరియబుల్ని నిర్వచించాను మరియు ప్రత్యేకంగా ఈ చిహ్నాన్ని ఇక్కడ & చిహ్నాన్ని చూడండి. - 17. మేము వేరియబుల్ j ని నిర్వచించి దానిని ప్రారంభించాము. - 18. ఇటువంటి వేరియబుల్ (వేరియబుల్) j ని i కి రిఫరెన్స్ లేదా i కోసం రిఫరెన్స్ వేరియబుల్ అంటారు. - 19. కాబట్టి, ఈ సూచన వేరియబుల్ వాస్తవానికి i ప్రత్యామ్నాయ పేరు మరియు అలియాస్ పేరు. - 20. కాబట్టి, నేను మెమరీని ( memory)పరిశీలిస్తే, i మరియు j రెండూ నిజానికి ఒకే మెమరీ (memory) స్థానాన్ని సూచిస్తాయి. - 21. కాబట్టి, నాకు మెమరీ చిరునామా 200 ఉంటే, నేను క్రింద చూపినట్లుగా, అది i యొక్క చిరునామా మరియు దాని కంటెంట్ 15 అయితే, j యొక్క చిరునామా కూడా 200 అవుతుంది, నేను 200. - 22. కాబట్టి, ఇది ఇకపై అప్రధానమైనది, ఈ ప్రత్యేక సూచన (j) ప్రవేశపెట్టబడింది.నేను నేను i గా సూచిస్తాను లేదా నేను j గా సూచిస్తాను. - 23. ఇది సూచన యొక్క ప్రాథమిక భావన. - 24. అందువల్ల, సూచన యొక్క ప్రవర్తనను అర్థం చేసుకోవడానికి ఒక చిన్న ప్రోగ్రామ్ పై దృష్టి పెడదాం. - 25. ఈ ప్రోగ్రామ్‌లో, నేను మీకు చూపిస్తాను, A వేరియబుల్ మరియు B సూచనగా సెట్ చేయబడింది. - 26. తరువాత రెండు అవుట్పుట్ స్టేట్మెంట్లలో, మేము మొదట a మరియు b యొక్క విలువను ప్రింట్ చేస్తాము. - 27. మేము ఇక్కడ అవుట్పుట్ చూడవచ్చు; 10 మరియు 10; ఎందుకంటే 10 మరియు బి ఇంటిపేరు (అలియాస్). - 28. అందువల్ల, నేను B ను ప్రింట్ చేసినా, 10 ను ప్రింట్ చేస్తాను. - 29. మరియు మంచం యొక్క రెండవ వరుసలో, ఇక్కడ ఒక పంక్తి ఉందని మేము ముద్రించాము. - 30. మేము a యొక్క చిరునామాను ప్రింట్ చేస్తాము మరియు b యొక్క చిరునామాను ప్రింట్ చేస్తాము. - 31. ఈ పంక్తిని ముద్రించే చిరునామాలు ఇవి. - 32. అవి ఒకే చిరునామా అని మనం మళ్ళీ తనిఖీ చేయవచ్చు. - 33. అవి వాస్తవానికి ఒకే వేరియబుల్, అవి రెండు వేర్వేరు పేర్లు. - 34. కాబట్టి, వేరియబుల్ విలువను మార్చడానికి ప్రయత్నిద్దాం. - 35. కాబట్టి, ఇక్కడ మనం ఇంక్రిమెంట్ చేస్తాము, ఆపై దాన్ని మళ్ళీ అవుట్పుట్ చేయండి. - 36. మేము ఇంక్రిమెంట్ చేస్తే, అది 11 అవుతుంది, కాబట్టి మీరు ఇక్కడ A 11 అవుతుంది, మరియు B, ఇప్పుడు B తో ఆపరేషన్ చేసినప్పటికీ, B కూడా పదకొండు అవుతుంది. - 37. మరియు, మీరు దీన్ని ఇతర మార్గాల్లో కూడా చేయవచ్చు. - 38. మీరు b ని పెంచుకుంటే, b 12 అవుతుంది. మరియు a, b ను సూచించే వేరియబుల్ కూడా 12 గా మారింది. అనగా, అవి చాలా బలంగా కలిసి ఉంటాయి మరియు ఏదైనా ఒకదాని యొక్క ప్రయోజనం కోసం ఉపయోగించబడతాయి. - 39. కాబట్టి, ఇది ప్రాథమిక వేగం. - 40. ఇప్పుడు, మీరు దీన్ని చేయడానికి ప్రయత్నిస్తే, మీరు మీ స్వంతంగా పొందగలిగే కొన్ని నిర్దిష్ట ఆపదలు ఉన్నాయని మీరు జాగ్రత్తగా ఉండాలి. - 41. అందువల్ల, నేను ఇక్కడ స్పష్టం చేసే మూడు సాధారణ ఆపదలు; ఇది ఎక్కువగా ఉండవచ్చు. - 42. అంటే, మనం కేవలం ఒక సూచనను నిర్వచించటానికి ప్రయత్నిస్తే, కానీ దానిని వేరియబుల్‌తో ప్రారంభించకుండా. - 43. అప్పుడు, కంపైలర్ మీకు లోపం ఇస్తుంది ఎందుకంటే రిఫరెన్స్ కొన్ని ఇతర వేరియబుల్‌కు మారుపేరు. - 44. కాబట్టి, మీరు దానితో వేరియబుల్‌ను నిర్వచించకపోతే, దానితో వేరియబుల్‌ను ప్రారంభించండి, దీనికి రిఫరెన్స్ తీసుకోవడానికి సూచన లేదు. - 45. కాబట్టి, ఇది తప్పు. - 46. కాబట్టి, మీరు టేబుల్ వద్ద మాత్రమే చూస్తే, ఎడమ వైపున నేను తప్పు ప్రకటనను చూపిస్తాను మరియు కుడి వైపున నేను సంబంధిత సరైన సంస్కరణను చూపిస్తాను మరియు ఇచ్చిన కారణాన్ని మీరు అర్థం చేసుకోవచ్చు. - 47. నేను తరువాతిదాన్ని చూస్తే, అంటే, నేను ఇక్కడ చూస్తే, మీరు స్థిరమైన విలువను సూచించడానికి ప్రయత్నిస్తున్నారు. - 48. ఇది కూడా లోపం ఎందుకంటే స్థిరమైన విలువ కేవలం విలువ. - 49. దీనికి నివసించడానికి చిరునామా లేదు. - 50. అందువల్ల, మీరు విలువకు సూచనను కలిగి ఉండలేరు, కానీ మీరు విలువకు స్థిరమైన సూచనను కలిగి ఉండవచ్చు; ఎందుకంటే ఇది స్థిరమైన విలువ. - 51. కాబట్టి, సూచన కూడా స్థిరంగా ఉండాలి. - 52. లేకపోతే, మీరు సంభవించే ప్రమాదం గురించి ఆలోచించవచ్చు; మేము సమ్మతితో చూపించినట్లు ఇది ప్రమాదకరమైనది. - 53. నేను, అది నిజమైతే, అది సరైనదని ume హించుకోండి, అప్పుడు j 5. - 54. ఇప్పుడు, నేను ++ j చేస్తే? ఎవరైతే దానిని ప్రస్తావిస్తున్నారో వారు పెరుగుతారు. - 55. కాబట్టి, అది అవుతుంది; కాబట్టి, స్థిరమైన 5 స్థిరమైన 6 అవుతుంది, ఇది సాధ్యం కాదు. - 56. అందువల్ల, ఇది ఒక కాన్స్టాంట్‌గా నిర్వచించబడింది, తద్వారా మీరు దీనికి ఎటువంటి మార్పులు చేయలేరు. - 57. అదేవిధంగా, మీరు ఇక్కడ చూస్తే, తరువాతి భాగంలో నాకు j + k అనే వ్యక్తీకరణ ఉంది. - 58. మరియు, నేను అదే సూచన చేయడానికి ప్రయత్నిస్తున్నాను. - 59. అయితే, మళ్ళీ వ్యక్తీకరణ యొక్క చిరునామా లేదు. - 60. J + k యొక్క లెక్కింపు తాత్కాలిక స్థానంగా మాత్రమే నిల్వ చేయబడుతుంది మరియు ఆ తాత్కాలిక స్థానాలు నిర్వహించబడవు. - 61. అందువల్ల, మళ్ళీ నేను దాని గురించి ప్రస్తావించలేను. - 62. నేను రిఫరెన్స్ కలిగి ఉండాలనుకుంటే, ఆ రిఫరెన్స్ స్థిరంగా ఉండాలి, ఇది రిఫరెన్స్ విలువగా లెక్కించినట్లు j + k విలువను సూచిస్తుంది. - 63. అందువల్ల, మీరు దానిని మార్చలేరు ఎందుకంటే j + k వ్యక్తీకరణను మార్చలేము. - 64. అందువలన, నేను చేస్తే; మేము సూచనను అనుమతిస్తే, మేము దానిని మార్చగలుగుతాము; వ్యక్తీకరణకు సూచన చేయబడుతుంటే ఇది అర్థపరంగా చెల్లుబాటు కాదు. - 65. కాబట్టి, మీరు ఇవన్నీ చెప్పగలరు. - 66. ఈ సమయంలో, j + k కి కొంత విలువ ఉంది; ఇది స్థిరంగా పరిగణించబడుతుంది. - 67. మరియు, నాకు దీనికి సూచన ఉంది. - 68. అందువల్ల, ఆ సూచనలన్నీ స్థిరంగా ఉంచాలి. - 69. ఎక్కువ నష్టం జరగవచ్చు, కానీ ఇవి సాధారణం. - 70. అందువల్ల, నేను వాటిని చర్చించడానికి ఎంచుకుంటాను. - 71. ఇప్పుడు, మేము దీన్ని ఎందుకు చేస్తున్నాము? అందువల్ల, ఫంక్షన్లకు పారామితులను పంపే పూర్తిగా కొత్త భావనను నేను ప్రవేశపెట్టాలి. - 72. సి నుండి ఫంక్షన్ వరకు పరామితి ఎలా పంపబడుతుందో మాకు తెలుసు. - 73. దీనిని విలువ ద్వారా కాల్ అంటారు. - 74. శీఘ్ర పునరావృతం కోసం, నిర్వచించిన ఫంక్షన్ అధికారిక పారామితులను కలిగి ఉంటుంది. - 75. దీనిని పిలిచినప్పుడు, నాకు అసలు పారామితులు ఉన్నాయి. - 76. స్థానాల క్రమం మరియు కాల్ సమయం లో, ప్రతి వాస్తవ పారామితుల విలువలు అధికారిక పారామితిలోకి కాపీ చేయబడతాయి మరియు తరువాత ఫంక్షన్ అని పిలువబడతాయి. - 77. అందువల్ల, పిలిచినప్పుడు, ఫంక్షన్ కాల్‌లో ఉంటుంది. - 78. వాస్తవ పారామితులు కొంత మెమరీలో ఉంటాయి మరియు ఇలాంటి ఫార్మల్ పారామితులు వేర్వేరు మెమరీలో ఉంటాయి. - 79. దీనికి విరుద్ధంగా, మేము కాల్ ద్వారా పిలవబడేదాన్ని రిఫరెన్స్ ద్వారా చేయవచ్చు. - 80. అందువల్ల, మీరు ఈ ప్రత్యేకమైన పంక్తిపై దృష్టి పెట్టాలని నేను కోరుకుంటున్నాను. - 81. మేము ప్రయత్నిస్తున్నాము, మేము ఫంక్షన్ హెడర్ ఇచ్చాము. - 82. అంతిమ పరీక్షలో పని ఒక నమూనా. - 83. ఈ మొదటి పరామితిని చూద్దాం, ఇక్కడ & తో ముందే ఉన్న పరామితి పేరును వ్రాస్తాము, ఇది సూచన కోసం సంజ్ఞామానం. - 84. ఇటువంటి పరామితిని రిఫరెన్స్ పరామితి అంటారు. - 85. ఆ ఫంక్షన్‌లో నాకు మరొక పరామితి సి కూడా ఉంది, ఇది నిర్దిష్ట విలువ పరామితి మరియు మేము విలువ నియమాల ప్రకారం కాల్‌ను అనుసరిస్తాము. - 86. ఇప్పుడు, వాడుక యొక్క ఈ భాగాన్ని చూద్దాం. - 87. కాబట్టి, దాన్ని వాడండి మరియు మేము వేరియబుల్ కోసం ఎంచుకుంటాము మరియు ఫంక్షన్ అని పిలుస్తాము. - 88. అంటే, నిజమైన పారామితిగా మనం రెండు అధికారిక పారామితుల స్థానంలో ఒకదాన్ని పాస్ చేస్తాము. - 89. మళ్ళీ, ఇది ఫంక్షన్ యొక్క నిర్వచనం; రెండు పారామితులు ఇవ్వబడిన చోట, మేము వాటి విలువను మాత్రమే ప్రింట్ చేస్తాము మరియు మేము వారి చిరునామాను మాత్రమే ప్రింట్ చేస్తాము. - 90. ఇప్పుడు, అవుట్పుట్ చూద్దాం. - 91. కాబట్టి మేము ఇలా చేస్తే, ఫంక్షన్ కాల్కు ముందు మొదటి అవుట్పుట్ (అవుట్పుట్) ఈ స్లైడ్ నుండి వస్తుంది, ఇది అవుట్పుట్, ఇది స్థానంలో ఉందని నాకు చెబుతుంది. - 92. మరియు, ఇది చిరునామా. - 93. రెండవ అవుట్పుట్ ఈ కౌట్ నుండి వస్తుంది, ఇది b ను ప్రింట్ చేస్తుంది మరియు b యొక్క చిరునామాను ఇస్తుంది. - 94. చాలా ఆసక్తికరంగా చూడండి - 95. B యొక్క చిరునామా విలువ వ్యవస్థ ద్వారా మేము కాల్‌లో ఆశించని చిరునామాకు సమానం. - 96. మరియు, విలువ ద్వారా పిలువబడేదాన్ని చూపించడానికి, మీరు మూడవ అవుట్పుట్ లైన్ మంచం మరియు పారామితి సి యొక్క సంబంధిత అవుట్పుట్ చూస్తారు. - 97. మరియు, సి యొక్క విలువ ఒకేలా ఉన్నప్పటికీ, అది ఉండాలి, సి యొక్క చిరునామా భిన్నంగా ఉంటుంది. - 98. కాబట్టి, B మరియు C అనే రెండు పారామితుల మధ్య, C అసలు నియమం ద్వారా అసలు కాల్‌ను అనుసరిస్తుందని ఇది స్పష్టంగా చూపిస్తుంది, దీని ద్వారా c నుండి కాపీ చేయబడిన ఒక విలువ మాత్రమే ఉంటుంది. - 99. a మరియు c రెండు వేర్వేరు మెమరీ స్థానాల్లో ఉన్నాయి, అయితే, b అనేది ప్రాథమికంగా a కి వేరే పేరు. - 100. ఇది a కి మారుపేరు (అయాస్) గా మారింది. - 101. నేను వేర్వేరు పేర్లతో రెండు వేరియబుల్స్ కలిగి ఉన్నప్పుడు అలియాస్ లక్షణాలపై మనం చూసిన ఈ లక్షణాలు, కానీ అవి ఒకే మెమరీ స్థలాన్ని ఆనందిస్తాయి మరియు అందువల్ల ఒకే విలువను కలిగి ఉంటాయి. - 102. కాబట్టి, ఇది రిఫరెన్స్ వేరియబుల్. - 103. కాబట్టి మేము పారామితులలో పారామితులు, రిఫరెన్స్ వేరియబుల్స్ ఉపయోగించినప్పుడు, మేము వాటిని రిఫరెన్స్ మెకానిజం ద్వారా కాల్స్ అని పిలుస్తాము. - 104. అందువల్ల, రిఫరెన్స్‌లోని కాల్ మరియు ఫార్మల్ పరామితి అసలు పరామితి యొక్క సూచనలో కాలర్ మరియు కాలీలో వేర్వేరు పేర్లను కలిగి ఉంటాయి, కానీ అవి ఒకే మెమరీ స్థానాన్ని కలిగి ఉంటాయి. - 105. కాబట్టి, ఇది C ++ మాకు అనుమతించే క్రొత్త లక్షణం. - 106. ఇక్కడ, నేను చెప్పినవన్నీ స్లైడ్ దిగువన వ్రాయబడ్డాయి. - 107. మీరు చదవగలిగేది అంతే. - 108. ఇప్పుడు, మేము కొంతకాలం అధ్యక్షత వహిస్తాము. - 109. రిఫరెన్స్ మెకానిజం ద్వారా కాల్ అంటే ఏమిటో మాత్రమే నేర్చుకున్నాము. - 110. కానీ, మేము దీన్ని ఎందుకు చేస్తున్నామో ఇంకా ఆలోచిస్తాము. - 111. అందువల్ల, మేము దీన్ని ఎందుకు ప్రయత్నిస్తున్నామో అర్థం చేసుకోవడానికి, నేను సి నుండి ఒక ఉదాహరణ తీసుకుంటాను. - 112. మరియు, ఇది ఒక ఉదాహరణ, సి గురించి చాలా తక్కువ చేసిన మీలో ప్రతి ఒక్కరికీ, నేను స్వాప్ ఫంక్షన్ రాయడానికి ప్రయత్నిస్తున్నానని నాకు తెలుసు. - 113. ఇది రెండు వేరియబుల్స్ మరియు బి తీసుకుంటుంది మరియు వాటిని మార్చుకోవడానికి ప్రయత్నిస్తుంది. - 114. అందువల్ల, మేము దీనిపై దృష్టి పెడుతున్నాము. - 115. ఇది ఒక సంతకం. - 116. నేను ఈ ఫంక్షన్‌ను వ్రాస్తే, నేను ఈ కోడ్‌ను ఇక్కడ వ్రాస్తే నేను స్వాప్ అని చెప్తున్నాను మరియు a మరియు b యొక్క విలువ ఏమిటో తెలుసుకోవడానికి. - 117. కాబట్టి, ఈ ప్రత్యేకమైన ముద్రణ నుండి వచ్చిన మొదటి ముద్రణ ఇది; A మరియు B స్వాప్ 10 మరియు 15 విలువలను కలిగి ఉన్నాయని ఇది చూపిస్తుంది, ఎందుకంటే అవి ప్రారంభించబడ్డాయి. - 118. అప్పుడు, నేను స్వాప్ చేయడానికి వెళ్తాను. - 119. కాబట్టి, సి మరియు డి 10 మరియు 15 అవుతుంది, స్వాప్ కోడ్ వాటిని మార్పిడి చేస్తుంది మరియు వెనుకకు, నేను మళ్ళీ ప్రింట్ చేస్తాను. - 120. కానీ, దురదృష్టవశాత్తు విలువలు, వాస్తవ పారామితులు పరస్పరం మార్చుకోబడలేదు. - 121. అందువల్ల, స్వాప్ పని చేయలేదు మరియు should హించాలి. - 122. ఎందుకంటే తంత్రం అంటే ఏమిటి? విలువ ద్వారా విధానం కాల్; అంటే నేను ఫంక్షన్ స్వాప్ అని పిలిచినప్పుడు, ఫంక్షన్ దానిని కాపీ చేయడానికి c కి తీసుకుంది, b యొక్క విలువను d కి కాపీ చేస్తుంది. - 123. ఆపై, ఫంక్షన్ అది చేయాలనుకున్నది చేసింది. - 124. ఇది సి మరియు డిలను మార్చుకుంది. - 125. కానీ, ఈ సి మరియు డి లు a మరియు b ల నుండి వేర్వేరు ప్రదేశాలను కలిగి ఉంటాయి. - 126. కాబట్టి, ఏమీ జరగలేదు, మరియు బి. - 127. అవి నిజమైన పారామితులుగా బాగా సంరక్షించబడతాయి. - 128. అందువల్ల, ఫంక్షన్ తిరిగి వచ్చినప్పుడు, మరియు B ఒకే విధంగా ఉంటాయి. - 129. అవి స్వాప్ కాలేదు. - 130. అందువల్ల, ఇచ్చిపుచ్చుకోవడం ఆ విధంగా పనిచేయదు. - 131. అందువల్ల, మేము ఈ విధంగా స్వాప్ రాయలేమని సి లో నేర్చుకున్నాము. - 132. నేను ఏమి చేయాలి? నేను చుట్టూ యుక్తి చేయాలి; కొన్ని ఉపాయాలు - 133. కాబట్టి, మనం ఏమి చేయాలి? మేము చేయడానికి ప్రయత్నించే ఉపాయం స్వాప్‌ను నిర్వచించడం. - 134. నేను దానిని చిరునామాగా పేర్కొన్నాను; చిరునామా ద్వారా కాల్ చాలా అధికారికంగా ఆమోదించబడిన పేరు కాదు. - 135. దీనిని వాస్తవానికి విలువ అని పిలుస్తారు, కాని ఒకే తేడా ఏమిటంటే మనం ఇక్కడ పాస్ చేసే పరామితి పాయింటర్ రకం పరామితి. - 136. కాబట్టి, మేము రెండు పూర్ణాంకాలను మార్చుకునే బదులు, ఇప్పుడు పూర్ణాంకాల కోసం రెండు పాయింట్లను మార్చుకుంటాము. - 137. అందువల్ల, ఈ కోడ్ పాయింటర్లతో కూడా వ్రాయబడుతుంది, ఈ పాయింటర్లు ఎక్కడ ఉన్నాయి. - 138. నేను మొదటిదాన్ని ప్రస్తావించాల్సినప్పుడల్లా, నేను దీన్ని ఇప్పుడు * x మరియు రెండవదాన్ని * y తో చేయాలి మరియు మేము దీన్ని చేస్తాము. - 139. కాబట్టి, ఇవి సంకేతాలు, నేను వాటిని ఈ స్లైడ్‌లో పిలవవలసి వస్తే, a, మరియు b అనే రెండు నిజమైన పారామితులను తప్పనిసరిగా a యొక్క చిరునామాగా మరియు b యొక్క చిరునామాగా పంపించాలి. - 140. కాబట్టి, మేము రెండు చిరునామాలను పాస్ చేస్తాము. - 141. ఇప్పుడు, ఏమి జరుగుతుందో, నేను X ని చూస్తే; ఒకదానికి పాయింటర్ ఉంది. - 142. y అనేది బి యొక్క పాయింటర్. - 143. ఇప్పుడు, అది ఏమి చేస్తోంది? ఇది * x మరియు * y విలువలను మార్పిడి చేయడానికి ప్రయత్నిస్తోంది. - 144. ఇది x మరియు y విలువను మార్చడం లేదు. - 145. ఇది మార్చుకోలేనిది కాదు. - 146. ఇది * x మరియు * y విలువలను మార్చుకుంటుంది. - 147. * X అంటే ఏమిటి? * x నిజానికి a. - 148. X a చిరునామా అయితే, * x వాస్తవానికి. - 149. కాబట్టి, నేను * y లో స్వాప్ (స్వాప్) * x మరియు అలా చేసినప్పుడు, ఇది వాస్తవానికి బి. - 150. కాబట్టి, నేను * x తో * x ను మార్పిడి చేసినప్పుడు, నేను నిజంగా b తో మార్పిడి చేస్తున్నాను (స్వాప్). - 151. కాబట్టి, నేను చేస్తున్నది ప్రాథమికంగా విలువ ద్వారా కాల్ అసలు పరామితిని మార్చడానికి నన్ను అనుమతించదు, నేను వారి చిరునామాను పంపుతున్నాను మరియు రిమోట్‌గా నేను పారామితులను వాస్తవంగా మార్చుకుంటాను చిరునామాను సూచించడానికి చిరునామాను అనుమతించడం, ఆపై మార్పులు చేయండి. - 152. కాబట్టి, ఒక విధంగా నేను విలువ ద్వారా కాల్ నియమాన్ని ఉల్లంఘిస్తున్నాను ఎందుకంటే అది లేకుండా నేను మార్పును తిరిగి పొందలేను. - 153. కాబట్టి, ఇక్కడ మనకు అది ఉంటుంది; మేము దానిని చూస్తాము. - 154. మేము నేరుగా విలువలను మార్చుకోలేనందున, మేము చిరునామా రకం వ్యవస్థ నుండి కాల్‌ని ఉపయోగిస్తాము, అక్కడ మేము చిరునామాను మరియు ఆ విలువలను ఆ చిరునామాకు పంపిస్తాము. - 155. ఖచ్చితంగా, ఫలితాలను పొందడానికి ఇది బ్యాక్ డోర్ రకం. - 156. మరియు, మేము దీన్ని ఎందుకు చేస్తున్నాము? మనం దీన్ని చేయవలసిన ప్రాథమిక లక్షణాలు ఏమిటి? ఒక నిర్దిష్ట ఉదాహరణ స్వాప్ కావచ్చు. - 157. లక్షణం ఏమిటంటే, మేము విలువ ద్వారా పిలిస్తే, అసలు పరామితి అధికారిక పరామితిలోకి కాపీ చేయబడుతుంది. - 158. అందువల్ల, మీరు ఒక అధికారిక పరామితితో ఒక ఫంక్షన్‌లో ఏమి చేసినా, ఆ ప్రభావాలు అసలు పరామితికి తిరిగి రావు. - 159. ఇది మేము కోరుకున్నది. - 160. అయితే, స్వాప్‌లో మనం అసలు పరామితికి తిరిగి రావడానికి అధికారిక పరామితిని మార్చాలి. - 161. అప్పుడే, స్వాప్ సంభవించవచ్చు. - 162. నేను ఒక స్వాప్ (స్వాప్) చేస్తుంటే, మరియు B మారదు మరియు B మారదు వరకు B స్వాప్ (స్వాప్) చేయదు. - 163. కాబట్టి సాధారణీకరించడానికి, విలువ ద్వారా కాల్ మాకు ఇన్పుట్ రకం పారామితులను మాత్రమే కలిగి ఉండటానికి అనుమతిస్తుంది; విలువలు కాలర్ ఫంక్షన్ నుండి పిలువబడే ఫంక్షన్కు వెళ్ళగలవా? - 164. అయినప్పటికీ, విలువకు కాల్ నన్ను అవుట్పుట్ రకం పరామితిని నిర్వహించడానికి అనుమతించదు; అంటే, నేను ఫంక్షన్‌లోని విలువను లెక్కించలేను మరియు దానిని పరామితికి తిరిగి ఇవ్వలేను. - 165. కాబట్టి, ఫంక్షన్ వంటివి ఒకే విలువను మాత్రమే ఇస్తాయి. - 166. కాబట్టి, నేను ఒకటి కంటే ఎక్కువ అవుట్పుట్ కోరుకునే ఫంక్షన్ కావాలనుకుంటే, నాకు యంత్రాంగం లేదు, సి. - 167. స్ట్రెయిట్ ద్వారా విలువ యంత్రాంగం. - 168. అందువల్ల, చిరునామాలను ఉపయోగించడం మరియు దానిని ఒక రౌండ్లో చేయడం మాత్రమే ఇతర విధానం. - 169. ఇప్పుడు, మేము చూస్తాము. - 170. ఇప్పుడు, మనం మాట్లాడిన రెండు అంశాలను కలపడానికి ప్రయత్నిద్దాం. - 171. ఒకటి, మేము రిఫరెన్స్ అనే భావనను ప్రవేశపెట్టాము, రిఫరెన్స్ ద్వారా కాల్ చేసాము మరియు ఒక ఫంక్షన్ (ఫంక్షన్) నుండి ఒక సి ఫంక్షన్ (ఫంక్షన్) వరకు బహుళ అవుట్‌పుట్‌లను కలిగి ఉండటంలో ఇబ్బంది గురించి మాట్లాడాము. - 172. కాబట్టి, ముఖ్యంగా స్వాప్ ఉదాహరణను మళ్ళీ చూద్దాం. - 173. ఇప్పుడు, రండి. - 174. ఎడమ వైపున, ఉదాహరణకు మాకు కాల్ ఉంది. - 175. మేము చూసిన ఉదాహరణ వాస్తవానికి తప్పు, ఎందుకంటే అది మారదు ఎందుకంటే అది మారకూడదు. - 176. ఈ విలువ ప్రోటోటైప్ ద్వారా వచ్చిన కాల్. - 177. ఇప్పుడు, సి ++ లో మనం ఇక్కడ చేసిన అన్ని మార్పులు కేవలం విలువ ఆధారంగా కాల్ చేయడం కంటే. - 178. ఇప్పుడు మనకు రెండు పారామితులు ఉన్నాయని చెప్తున్నారు, వీటిని రిఫరెన్స్ ద్వారా పిలుస్తారు. - 179. ఈ పారామితులు సాధారణ పారామితులు కావు. - 180. అవి రిఫరెన్స్ పారామితులు. - 181. మరియు, ఇప్పుడు మీరు రిఫరెన్స్ పరామితితో మొత్తం వ్రాస్తారు. - 182. ఇది కాక, మీరు C లో చూసే వాటికి మరియు C ++ లో మీరు చూసే వాటికి మధ్య ఉన్న కోడ్ ఒకే విధంగా ఉంటుంది. - 183. మార్పులు చేసిన రెండు ప్రదేశాలు ఇవి. - 184. ప్రభావం ఏమిటి? ఇది రిఫరెన్స్ నుండి వచ్చిన కాల్ అయితే, అది ప్రత్యేక కాల్ అయినప్పుడు, నిజమైన పరామితి A మరియు ఇక్కడ అధికారిక పారామితి X, అవి, అవి ఒకే స్థలాన్ని ఆనందిస్తాయి; x అనేది a కి మరొక పేరు, y అనేది b కి మరొక పేరు. - 185. అందువల్ల, నేను x మరియు y లను పరస్పరం మార్చుకుంటే అది A, మరియు B లను మార్పిడి చేస్తుంది. - 186. కాబట్టి, నేను నా కోడ్‌లో పూర్తి ప్రభావాన్ని పొందగలను. - 187. కాబట్టి, అలా చేయడం ద్వారా నేను ఎలా ప్రయోజనం పొందగలను? అనేక విషయాలు; ఒకటి నేను వెనుక తలుపుకు తీసుకోవలసిన అవసరం లేదు. - 188. నాకు పరామితి ఇన్పుట్ కావాలంటే, నేను విలువ ప్రకారం పిలుస్తాను; పరామితి అవుట్‌పుట్ కావాలని నేను కోరుకుంటే, అప్పుడు నేను రిఫరెన్స్ ద్వారా పిలుస్తాను ఎందుకంటే ఫంక్షన్‌లోని ఆ ఫార్మల్ పరామితిలో చేసిన మార్పులు అసలు పారామితులు అవుతాయి.ఇది కూడా అందుబాటులో ఉంటుంది ఎందుకంటే అసలు పరామితి మరియు సంబంధిత అధికారిక పరామితి ఒకే చిరునామాను ఆనందిస్తాయి. - 189. కాబట్టి, C ++ లో రిఫరెన్స్ మెకానిజం ద్వారా రిఫరెన్స్ మరియు కాలింగ్ ఉపయోగించడం యొక్క ప్రయోజనం ఇది. - 190. ఇది ఖచ్చితంగా కోడ్‌ను చాలా క్లీనర్ చేస్తుంది. - 191. ఇది ప్రోగ్రామ్‌లను రాయడం మరింత సులభం మరియు నమ్మదగినదిగా చేస్తుంది. - 192. మరియు, మేము తరువాత చూడబోతున్నట్లుగా, ఇది చాలా ప్రయత్నాలను ఆదా చేస్తుంది ఎందుకంటే విలువ ద్వారా పిలుపులో మీరు ఆ విలువ యొక్క కాపీని తయారు చేయాలి. - 193. ఇప్పుడు, మీ విలువ పూర్ణాంకం ఉన్నంత వరకు, కాపీని తయారు చేయడం ఖరీదైనది కాకపోవచ్చు. - 194. అయితే, మీరు వెళుతున్న పరామితి బహుశా 10 కిలోల బైట్‌లను కలిగి ఉండే ఒక నిర్మాణం అయితే 200 వేర్వేరు సభ్యులు, 200 వేర్వేరు భాగాలు కలిగి ఉంటే imagine హించుకోండి, కాబట్టి దాన్ని కాపీ చేయడం మీకు చాలా ఖరీదైనది. - 195. కాబట్టి, మీరు ఆ ఖర్చును భరించకూడదు. - 196. మీరు సూచనను మాత్రమే ఉపయోగించగలరు. - 197. రిఫరెన్స్ పరామితిని ఉపయోగించడం యొక్క ఒక దుష్ప్రభావం. - 198. ఇప్పుడు, మేము రిఫరెన్స్ పరామితిని చేస్తే, అనగా మేము కాల్ ద్వారా రిఫరెన్స్ ద్వారా ఉపయోగిస్తే, అప్పుడు పరామితి వాస్తవానికి ఇన్పుట్ మరియు అవుట్పుట్.) పరామితి. - 199. ఇది ఇన్పుట్ ఎందుకంటే, నిజమైన పరామితికి ఏ విలువ ఉందో నేను చెప్పినప్పుడు, అధికారిక పరామితి కూడా అదే విలువను కలిగి ఉంటుంది. - 200. కాబట్టి, ఇది ఇన్పుట్ యొక్క ప్రయోజనాన్ని అందిస్తుంది. - 201. కాబట్టి, నన్ను నిజంగా పిలవవలసిన అవసరం లేదు. - 202. నేను సూచనల ద్వారా మాత్రమే కాల్‌లను ఉపయోగించగలను. - 203. కానీ, నేను రిఫరెన్స్ నుండి పిలిస్తే, సంభావ్యత ఏమిటంటే, అధికారిక పరామితిలో ఏదైనా మార్పు వాస్తవ పరామితిలో కూడా ప్రతిబింబిస్తుంది. - 204. అందువల్ల, అధికారిక పరామితిలో ఏదైనా అనధికారిక మార్పు లేదా అధికారిక పరామితిలో ఉద్దేశపూర్వక మార్పు నా అసలు పరామితిని పాడు చేస్తుంది. - 205. కాబట్టి, నేను కాల్‌ను రిఫరెన్స్ ద్వారా ఉపయోగించగలిగేదాన్ని మనం చేయగలమా, కాని దాన్ని ఇన్‌పుట్ పరామితిగా మార్చండి. - 206. కాబట్టి, దీన్ని చేయడానికి, మీరు const ను ఉపయోగిస్తారు. - 207. కాబట్టి, ఇక్కడ ఏమి ఉంది? ఇక్కడ కోడ్ చూడండి. - 208. ఈ ఫంక్షన్ పై ప్రత్యేకంగా దృష్టి పెట్టండి, ఇది x రకం రకం యొక్క అధికారిక పారామితిని తీసుకుంటుంది. - 209. కానీ, మేము ఏమి చేసాము? ఇంతకుముందు ఇది కాన్స్ట్ అని చెప్పాము. - 210. కాబట్టి దాని అర్థం ఏమిటి? ఎందుకంటే ఇది రిఫరెన్స్ ద్వారా పిలుపు ఎందుకంటే ఇది రిఫరెన్స్ పరామితి, కాబట్టి నేను ఈ సమయంలో A అని పిలిచినప్పుడు; A మరియు X ఒకే చిరునామాను సూచిస్తాయి. - 211. అయితే, రిఫరెన్స్ x స్థిరంగా ఉందని నేను చెప్తున్నాను; అంటే x యొక్క మార్పు సాధ్యం కాదు. - 212. ఇది పాయింటర్ లేకపోవడం మరియు పాయింటర్ డేటా యొక్క సంగ్రహణ పరంగా చర్చించిన పరిస్థితి. - 213. డేటా స్వయంగా స్థిరంగా ఉండదని మేము ఖచ్చితంగా అనుకుంటున్నాము, కాని నేను ఆ డేటాకు సూచించబడిన స్థిరాంకాన్ని కలిగి ఉంటే, ఆ పాయింటర్ (పాయింటర్) డేటాను మార్చడానికి నన్ను అనుమతించదు. - 214. అందువల్ల, అదేవిధంగా ఇక్కడ నాకు స్థిరమైన సూచన ఉంది లేదా డేటా యొక్క సంక్షిప్తతకు నాకు సూచన ఉంది. - 215. కాబట్టి, x నన్ను మార్చడానికి అనుమతించదు. - 216. కాబట్టి, ఒక ఫంక్షన్ లోపల ఉంటే, నేను ++ x వంటిదాన్ని వ్రాయడానికి ప్రయత్నిస్తాను. - 217. ఈ కోడ్ కంపైల్ చేయదు ఎందుకంటే నేను x విలువను x గా మార్చడానికి ప్రయత్నిస్తున్నాను. - 218. అయితే, x అనేది స్థిరమైన సూచన. - 219. x అనేది స్థిరమైన విలువ. - 220. కాబట్టి, దానితో ఏది ప్రారంభమైంది. - 221. దానితో ఏమి ప్రారంభమైంది? ఇది ఏకకాలంలో ప్రారంభమైంది. - 222. కాల్ చేసినప్పుడు అది మార్చబడదు. - 223. కాబట్టి, ఇప్పుడు ఏమి జరుగుతుంది? వీలునామా విలువ కాల్ సమయంలో x విలువగా లభిస్తుంది. - 224. అది చిరునామా. - 225. కానీ x, మీరు ఫంక్షన్ లోపల మార్చలేరు. - 226. అందువల్ల, గొడ్డలిలో ఏదైనా మార్పు అసలు పరామితిని ప్రభావితం చేయదు. - 227. అందువల్ల, ప్రభావం తిరిగి రాకపోవచ్చు. - 228. కాబట్టి, ఇప్పుడు, పరామితి పూర్తిగా ఇన్పుట్ పరామితి అవుతుంది. - 229. అందువల్ల, రిఫరెన్స్ ఉపయోగించి మనం ఇన్పుట్ పరామితిని సృష్టించవచ్చు లేదా మనం స్థిరమైన రిఫరెన్స్ (పారామితి). రిఫరెన్స్) పరామితి అయితే మాత్రమే ఇన్పుట్ పరామితిని తయారు చేయవచ్చు. - 230. అందువల్ల, విలువలను బట్టి కాల్‌లను ఉపయోగించకుండా, పెద్ద సంఖ్యలో కేసులలో స్థిరమైన రిఫరెన్స్ పరామితిని మాత్రమే ఉపయోగించడానికి ప్రయత్నిస్తాము; ఎందుకంటే మీరు కాపీ చేయనవసరం లేదు. - 231. మరియు, మా వాస్తవ పరామితి ప్రభావితం కాదని మేము ఇంకా సురక్షితంగా ఉంటాము. - 232. అందువల్ల, కుడి వైపున మేము దీన్ని చేయడానికి సరైన మార్గం ఏమిటో ప్రదర్శిస్తాము, ఇక్కడ x అనేది స్థిరమైన సూచన మరియు మీరు దీన్ని చేయడానికి ప్రయత్నించరు. - 233. ఇక్కడ, మేము x ని పెంచడానికి ప్రయత్నిస్తున్నాము మరియు దానిని తిరిగి ఇస్తాము. - 234. ఇక్కడ, మేము దీన్ని చేయము. - 235. మేము x ను దానికి ఒకదాన్ని జోడించి, దానిని తిరిగి ఇవ్వడం ద్వారా లెక్కిస్తాము. - 236. కుడి వైపున ఉన్న కోడ్ సంకలనం చేయబడింది మరియు బాగా నడుస్తుంది. - 237. ఉల్లంఘన లేదు. - 238. ఎడమ వైపున ఉన్న కోడ్ సంకలన లోపాన్ని కలిగి ఉంటుంది మరియు మేము దానికి కొనసాగలేము. - 239. ఈ సమయంలో, మేము ఆగిపోతాము మరియు మేము తరువాతి భాగానికి కొనసాగుతాము. - 240. + ప్రోగ్రామింగ్ C ++ లో మాడ్యూల్ 7 కు  స్వాగతం. + మేము C + లోకి సి యొక్క విధానపరమైన పొడిగింపు గురించి చర్చించడాన్ని కొనసాగిస్తాము. + మేము మాడ్యూల్ 6 లో పరిచయం చేసాము మరియు సివి-క్వాలిఫైయర్ యొక్క రెండు ప్రాథమిక అంశాలను చర్చించాము, నిరంతర మరియు అస్థిరాలను క్వాలిఫైయర్ మరియు ఇన్లైన్ ఫంక్షన్ల ఉపయోగం. + ఈ మాడ్యూల్‌లో, మేము మరొక భావనను ప్రవేశపెడతాము, దీనిని రిఫరెన్స్ అంటారు. + రిఫరెన్స్  యొక్క ఈ భావన చాలా దగ్గరి సంబంధం కలిగి ఉంటుంది, కానీ పాయింటర్ భావన నుండి చాలా భిన్నంగా ఉంటుంది. + కాబట్టి, మేము కూడా చేస్తాము; మేము మాడ్యూల్ గుండా వెళ్ళినప్పుడు, మనము సూచన మరియు పాయింటర్( pointer) మధ్య పోల్చడానికి మరియు విరుద్ధంగా ప్రయత్నిస్తాము. + కాబట్టి, వారి ఉద్దేశం అర్థం మరియు ఈ విరుద్ధతను అర్థం చేసుకోవడం. + ఈ మేము ద్వారా వెళ్ళే వివిధ నిర్దిష్ట విషయాలు. + ఒక ప్రస్తావన ఇప్పటికే ఉన్న వేరియబుల్( variables) కోసం అలియాస్ లేదా పర్యాయపదంగా ఉంటుంది. + కాబట్టి, అలియాస్ మా స్వంత పేర్ల పరంగా మాకు ఉన్నది. + మాకు ఇచ్చిన పేరు ఉంది. + మేము కొన్ని పెంపుడు జంతువు పేర్లను కలిగి ఉన్నాము మరియు వాటి పేర్లతో దీనిని పిలుస్తాము. + కాబట్టి, ఇక్కడ సూచన వేరియబుల్ (variables) కూడా అదే ప్రయోజనం ఉంది. + కాబట్టి, నేను ప్రకటించబడిన ఒక వేరియబుల్(variables). + ఇక్కడ అది 15 కు ప్రారంభించబడుతుంది మరియు ఈ సందర్భంలో మేము ఒక వేరియబుల్ i ను కలిగి ఉంది, ఇది నిర్వచించబడింది. + ఇది ప్రాధమిక విలువ 15 ఉంది. ఇప్పుడు, నేను మరొక వేరియబుల్ని నిర్వచించాను మరియు ప్రత్యేకంగా ఈ చిహ్నాన్ని ఇక్కడ & చిహ్నాన్ని చూడండి. + మేము వేరియబుల్ j ని నిర్వచించి దానిని ప్రారంభించాము. + ఇటువంటి వేరియబుల్ (వేరియబుల్) j ని i కి రిఫరెన్స్ లేదా i కోసం రిఫరెన్స్ వేరియబుల్ అంటారు. + కాబట్టి, ఈ సూచన వేరియబుల్ వాస్తవానికి i ప్రత్యామ్నాయ పేరు మరియు అలియాస్ పేరు. + కాబట్టి, నేను మెమరీని ( memory)పరిశీలిస్తే, i మరియు j రెండూ నిజానికి ఒకే మెమరీ (memory) స్థానాన్ని సూచిస్తాయి. + కాబట్టి, నాకు మెమరీ చిరునామా 200 ఉంటే, నేను క్రింద చూపినట్లుగా, అది i యొక్క చిరునామా మరియు దాని కంటెంట్ 15 అయితే, j యొక్క చిరునామా కూడా 200 అవుతుంది, నేను 200. + కాబట్టి, ఇది ఇకపై అప్రధానమైనది, ఈ ప్రత్యేక సూచన (j) ప్రవేశపెట్టబడింది.నేను నేను i గా సూచిస్తాను లేదా నేను j గా సూచిస్తాను. + ఇది సూచన యొక్క ప్రాథమిక భావన. + అందువల్ల, సూచన యొక్క ప్రవర్తనను అర్థం చేసుకోవడానికి ఒక చిన్న ప్రోగ్రామ్ పై దృష్టి పెడదాం. + ఈ ప్రోగ్రామ్‌లో, నేను మీకు చూపిస్తాను, A వేరియబుల్ మరియు B సూచనగా సెట్ చేయబడింది. + తరువాత రెండు అవుట్పుట్ స్టేట్మెంట్లలో, మేము మొదట a మరియు b యొక్క విలువను ప్రింట్ చేస్తాము. + మేము ఇక్కడ అవుట్పుట్ చూడవచ్చు; 10 మరియు 10; ఎందుకంటే 10 మరియు బి ఇంటిపేరు (అలియాస్). + అందువల్ల, నేను B ను ప్రింట్ చేసినా, 10 ను ప్రింట్ చేస్తాను. + మరియు మంచం యొక్క రెండవ వరుసలో, ఇక్కడ ఒక పంక్తి ఉందని మేము ముద్రించాము. + మేము a యొక్క చిరునామాను ప్రింట్ చేస్తాము మరియు b యొక్క చిరునామాను ప్రింట్ చేస్తాము. + ఈ పంక్తిని ముద్రించే చిరునామాలు ఇవి. + అవి ఒకే చిరునామా అని మనం మళ్ళీ తనిఖీ చేయవచ్చు. + అవి వాస్తవానికి ఒకే వేరియబుల్, అవి రెండు వేర్వేరు పేర్లు. + కాబట్టి, వేరియబుల్ విలువను మార్చడానికి ప్రయత్నిద్దాం. + కాబట్టి, ఇక్కడ మనం ఇంక్రిమెంట్ చేస్తాము, ఆపై దాన్ని మళ్ళీ అవుట్పుట్ చేయండి. + మేము ఇంక్రిమెంట్ చేస్తే, అది 11 అవుతుంది, కాబట్టి మీరు ఇక్కడ A 11 అవుతుంది, మరియు B, ఇప్పుడు B తో ఆపరేషన్ చేసినప్పటికీ, B కూడా పదకొండు అవుతుంది. + మరియు, మీరు దీన్ని ఇతర మార్గాల్లో కూడా చేయవచ్చు. + మీరు b ని పెంచుకుంటే, b 12 అవుతుంది. మరియు a, b ను సూచించే వేరియబుల్ కూడా 12 గా మారింది. అనగా, అవి చాలా బలంగా కలిసి ఉంటాయి మరియు ఏదైనా ఒకదాని యొక్క ప్రయోజనం కోసం ఉపయోగించబడతాయి. + కాబట్టి, ఇది ప్రాథమిక వేగం. + ఇప్పుడు, మీరు దీన్ని చేయడానికి ప్రయత్నిస్తే, మీరు మీ స్వంతంగా పొందగలిగే కొన్ని నిర్దిష్ట ఆపదలు ఉన్నాయని మీరు జాగ్రత్తగా ఉండాలి. + అందువల్ల, నేను ఇక్కడ స్పష్టం చేసే మూడు సాధారణ ఆపదలు; ఇది ఎక్కువగా ఉండవచ్చు. + అంటే, మనం కేవలం ఒక సూచనను నిర్వచించటానికి ప్రయత్నిస్తే, కానీ దానిని వేరియబుల్‌తో ప్రారంభించకుండా. + అప్పుడు, కంపైలర్ మీకు లోపం ఇస్తుంది ఎందుకంటే రిఫరెన్స్ కొన్ని ఇతర వేరియబుల్‌కు మారుపేరు. + కాబట్టి, మీరు దానితో వేరియబుల్‌ను నిర్వచించకపోతే, దానితో వేరియబుల్‌ను ప్రారంభించండి, దీనికి రిఫరెన్స్ తీసుకోవడానికి సూచన లేదు. + కాబట్టి, ఇది తప్పు. + కాబట్టి, మీరు టేబుల్ వద్ద మాత్రమే చూస్తే, ఎడమ వైపున నేను తప్పు ప్రకటనను చూపిస్తాను మరియు కుడి వైపున నేను సంబంధిత సరైన సంస్కరణను చూపిస్తాను మరియు ఇచ్చిన కారణాన్ని మీరు అర్థం చేసుకోవచ్చు. + నేను తరువాతిదాన్ని చూస్తే, అంటే, నేను ఇక్కడ చూస్తే, మీరు స్థిరమైన విలువను సూచించడానికి ప్రయత్నిస్తున్నారు. + ఇది కూడా లోపం ఎందుకంటే స్థిరమైన విలువ కేవలం విలువ. + దీనికి నివసించడానికి చిరునామా లేదు. + అందువల్ల, మీరు విలువకు సూచనను కలిగి ఉండలేరు, కానీ మీరు విలువకు స్థిరమైన సూచనను కలిగి ఉండవచ్చు; ఎందుకంటే ఇది స్థిరమైన విలువ. + కాబట్టి, సూచన కూడా స్థిరంగా ఉండాలి. + లేకపోతే, మీరు సంభవించే ప్రమాదం గురించి ఆలోచించవచ్చు; మేము సమ్మతితో చూపించినట్లు ఇది ప్రమాదకరమైనది. + నేను, అది నిజమైతే, అది సరైనదని ume హించుకోండి, అప్పుడు j 5. + ఇప్పుడు, నేను ++ j చేస్తే? ఎవరైతే దానిని ప్రస్తావిస్తున్నారో వారు పెరుగుతారు. + కాబట్టి, అది అవుతుంది; కాబట్టి, స్థిరమైన 5 స్థిరమైన 6 అవుతుంది, ఇది సాధ్యం కాదు. + అందువల్ల, ఇది ఒక కాన్స్టాంట్‌గా నిర్వచించబడింది, తద్వారా మీరు దీనికి ఎటువంటి మార్పులు చేయలేరు. + అదేవిధంగా, మీరు ఇక్కడ చూస్తే, తరువాతి భాగంలో నాకు j + k అనే వ్యక్తీకరణ ఉంది. + మరియు, నేను అదే సూచన చేయడానికి ప్రయత్నిస్తున్నాను. + అయితే, మళ్ళీ వ్యక్తీకరణ యొక్క చిరునామా లేదు. + J + k యొక్క లెక్కింపు తాత్కాలిక స్థానంగా మాత్రమే నిల్వ చేయబడుతుంది మరియు ఆ తాత్కాలిక స్థానాలు నిర్వహించబడవు. + అందువల్ల, మళ్ళీ నేను దాని గురించి ప్రస్తావించలేను. + నేను రిఫరెన్స్ కలిగి ఉండాలనుకుంటే, ఆ రిఫరెన్స్ స్థిరంగా ఉండాలి, ఇది రిఫరెన్స్ విలువగా లెక్కించినట్లు j + k విలువను సూచిస్తుంది. + అందువల్ల, మీరు దానిని మార్చలేరు ఎందుకంటే j + k వ్యక్తీకరణను మార్చలేము. + అందువలన, నేను చేస్తే; మేము సూచనను అనుమతిస్తే, మేము దానిని మార్చగలుగుతాము; వ్యక్తీకరణకు సూచన చేయబడుతుంటే ఇది అర్థపరంగా చెల్లుబాటు కాదు. + కాబట్టి, మీరు ఇవన్నీ చెప్పగలరు. + ఈ సమయంలో, j + k కి కొంత విలువ ఉంది; ఇది స్థిరంగా పరిగణించబడుతుంది. + మరియు, నాకు దీనికి సూచన ఉంది. + అందువల్ల, ఆ సూచనలన్నీ స్థిరంగా ఉంచాలి. + ఎక్కువ నష్టం జరగవచ్చు, కానీ ఇవి సాధారణం. + అందువల్ల, నేను వాటిని చర్చించడానికి ఎంచుకుంటాను. + ఇప్పుడు, మేము దీన్ని ఎందుకు చేస్తున్నాము? అందువల్ల, ఫంక్షన్లకు పారామితులను పంపే పూర్తిగా కొత్త భావనను నేను ప్రవేశపెట్టాలి. + సి నుండి ఫంక్షన్ వరకు పరామితి ఎలా పంపబడుతుందో మాకు తెలుసు. + దీనిని విలువ ద్వారా కాల్ అంటారు. + శీఘ్ర పునరావృతం కోసం, నిర్వచించిన ఫంక్షన్ అధికారిక పారామితులను కలిగి ఉంటుంది. + దీనిని పిలిచినప్పుడు, నాకు అసలు పారామితులు ఉన్నాయి. + స్థానాల క్రమం మరియు కాల్ సమయం లో, ప్రతి వాస్తవ పారామితుల విలువలు అధికారిక పారామితిలోకి కాపీ చేయబడతాయి మరియు తరువాత ఫంక్షన్ అని పిలువబడతాయి. + అందువల్ల, పిలిచినప్పుడు, ఫంక్షన్ కాల్‌లో ఉంటుంది. + వాస్తవ పారామితులు కొంత మెమరీలో ఉంటాయి మరియు ఇలాంటి ఫార్మల్ పారామితులు వేర్వేరు మెమరీలో ఉంటాయి. + దీనికి విరుద్ధంగా, మేము కాల్ ద్వారా పిలవబడేదాన్ని రిఫరెన్స్ ద్వారా చేయవచ్చు. + అందువల్ల, మీరు ఈ ప్రత్యేకమైన పంక్తిపై దృష్టి పెట్టాలని నేను కోరుకుంటున్నాను. + మేము ప్రయత్నిస్తున్నాము, మేము ఫంక్షన్ హెడర్ ఇచ్చాము. + అంతిమ పరీక్షలో పని ఒక నమూనా. + ఈ మొదటి పరామితిని చూద్దాం, ఇక్కడ & తో ముందే ఉన్న పరామితి పేరును వ్రాస్తాము, ఇది సూచన కోసం సంజ్ఞామానం. + ఇటువంటి పరామితిని రిఫరెన్స్ పరామితి అంటారు. + ఆ ఫంక్షన్‌లో నాకు మరొక పరామితి సి కూడా ఉంది, ఇది నిర్దిష్ట విలువ పరామితి మరియు మేము విలువ నియమాల ప్రకారం కాల్‌ను అనుసరిస్తాము. + ఇప్పుడు, వాడుక యొక్క ఈ భాగాన్ని చూద్దాం. + కాబట్టి, దాన్ని వాడండి మరియు మేము వేరియబుల్ కోసం ఎంచుకుంటాము మరియు ఫంక్షన్ అని పిలుస్తాము. + అంటే, నిజమైన పారామితిగా మనం రెండు అధికారిక పారామితుల స్థానంలో ఒకదాన్ని పాస్ చేస్తాము. + మళ్ళీ, ఇది ఫంక్షన్ యొక్క నిర్వచనం; రెండు పారామితులు ఇవ్వబడిన చోట, మేము వాటి విలువను మాత్రమే ప్రింట్ చేస్తాము మరియు మేము వారి చిరునామాను మాత్రమే ప్రింట్ చేస్తాము. + ఇప్పుడు, అవుట్పుట్ చూద్దాం. + కాబట్టి మేము ఇలా చేస్తే, ఫంక్షన్ కాల్కు ముందు మొదటి అవుట్పుట్ (అవుట్పుట్) ఈ స్లైడ్ నుండి వస్తుంది, ఇది అవుట్పుట్, ఇది స్థానంలో ఉందని నాకు చెబుతుంది. + మరియు, ఇది చిరునామా. + రెండవ అవుట్పుట్ ఈ కౌట్ నుండి వస్తుంది, ఇది b ను ప్రింట్ చేస్తుంది మరియు b యొక్క చిరునామాను ఇస్తుంది. + చాలా ఆసక్తికరంగా చూడండి + B యొక్క చిరునామా విలువ వ్యవస్థ ద్వారా మేము కాల్‌లో ఆశించని చిరునామాకు సమానం. + మరియు, విలువ ద్వారా పిలువబడేదాన్ని చూపించడానికి, మీరు మూడవ అవుట్పుట్ లైన్ మంచం మరియు పారామితి సి యొక్క సంబంధిత అవుట్పుట్ చూస్తారు. + మరియు, సి యొక్క విలువ ఒకేలా ఉన్నప్పటికీ, అది ఉండాలి, సి యొక్క చిరునామా భిన్నంగా ఉంటుంది. + కాబట్టి, B మరియు C అనే రెండు పారామితుల మధ్య, C అసలు నియమం ద్వారా అసలు కాల్‌ను అనుసరిస్తుందని ఇది స్పష్టంగా చూపిస్తుంది, దీని ద్వారా c నుండి కాపీ చేయబడిన ఒక విలువ మాత్రమే ఉంటుంది. + a మరియు c రెండు వేర్వేరు మెమరీ స్థానాల్లో ఉన్నాయి, అయితే, b అనేది ప్రాథమికంగా a కి వేరే పేరు. + ఇది a కి మారుపేరు (అయాస్) గా మారింది. + నేను వేర్వేరు పేర్లతో రెండు వేరియబుల్స్ కలిగి ఉన్నప్పుడు అలియాస్ లక్షణాలపై మనం చూసిన ఈ లక్షణాలు, కానీ అవి ఒకే మెమరీ స్థలాన్ని ఆనందిస్తాయి మరియు అందువల్ల ఒకే విలువను కలిగి ఉంటాయి. + కాబట్టి, ఇది రిఫరెన్స్ వేరియబుల్. + కాబట్టి మేము పారామితులలో పారామితులు, రిఫరెన్స్ వేరియబుల్స్ ఉపయోగించినప్పుడు, మేము వాటిని రిఫరెన్స్ మెకానిజం ద్వారా కాల్స్ అని పిలుస్తాము. + అందువల్ల, రిఫరెన్స్‌లోని కాల్ మరియు ఫార్మల్ పరామితి అసలు పరామితి యొక్క సూచనలో కాలర్ మరియు కాలీలో వేర్వేరు పేర్లను కలిగి ఉంటాయి, కానీ అవి ఒకే మెమరీ స్థానాన్ని కలిగి ఉంటాయి. + కాబట్టి, ఇది C ++ మాకు అనుమతించే క్రొత్త లక్షణం. + ఇక్కడ, నేను చెప్పినవన్నీ స్లైడ్ దిగువన వ్రాయబడ్డాయి. + మీరు చదవగలిగేది అంతే. + ఇప్పుడు, మేము కొంతకాలం అధ్యక్షత వహిస్తాము. + రిఫరెన్స్ మెకానిజం ద్వారా కాల్ అంటే ఏమిటో మాత్రమే నేర్చుకున్నాము. + కానీ, మేము దీన్ని ఎందుకు చేస్తున్నామో ఇంకా ఆలోచిస్తాము. + అందువల్ల, మేము దీన్ని ఎందుకు ప్రయత్నిస్తున్నామో అర్థం చేసుకోవడానికి, నేను సి నుండి ఒక ఉదాహరణ తీసుకుంటాను. + మరియు, ఇది ఒక ఉదాహరణ, సి గురించి చాలా తక్కువ చేసిన మీలో ప్రతి ఒక్కరికీ, నేను స్వాప్ ఫంక్షన్ రాయడానికి ప్రయత్నిస్తున్నానని నాకు తెలుసు. + ఇది రెండు వేరియబుల్స్ మరియు బి తీసుకుంటుంది మరియు వాటిని మార్చుకోవడానికి ప్రయత్నిస్తుంది. + అందువల్ల, మేము దీనిపై దృష్టి పెడుతున్నాము. + ఇది ఒక సంతకం. + నేను ఈ ఫంక్షన్‌ను వ్రాస్తే, నేను ఈ కోడ్‌ను ఇక్కడ వ్రాస్తే నేను స్వాప్ అని చెప్తున్నాను మరియు a మరియు b యొక్క విలువ ఏమిటో తెలుసుకోవడానికి. + కాబట్టి, ఈ ప్రత్యేకమైన ముద్రణ నుండి వచ్చిన మొదటి ముద్రణ ఇది; A మరియు B స్వాప్ 10 మరియు 15 విలువలను కలిగి ఉన్నాయని ఇది చూపిస్తుంది, ఎందుకంటే అవి ప్రారంభించబడ్డాయి. + అప్పుడు, నేను స్వాప్ చేయడానికి వెళ్తాను. + కాబట్టి, సి మరియు డి 10 మరియు 15 అవుతుంది, స్వాప్ కోడ్ వాటిని మార్పిడి చేస్తుంది మరియు వెనుకకు, నేను మళ్ళీ ప్రింట్ చేస్తాను. + కానీ, దురదృష్టవశాత్తు విలువలు, వాస్తవ పారామితులు పరస్పరం మార్చుకోబడలేదు. + అందువల్ల, స్వాప్ పని చేయలేదు మరియు should హించాలి. + ఎందుకంటే తంత్రం అంటే ఏమిటి? విలువ ద్వారా విధానం కాల్; అంటే నేను ఫంక్షన్ స్వాప్ అని పిలిచినప్పుడు, ఫంక్షన్ దానిని కాపీ చేయడానికి c కి తీసుకుంది, b యొక్క విలువను d కి కాపీ చేస్తుంది. + ఆపై, ఫంక్షన్ అది చేయాలనుకున్నది చేసింది. + ఇది సి మరియు డిలను మార్చుకుంది. + కానీ, ఈ సి మరియు డి లు a మరియు b ల నుండి వేర్వేరు ప్రదేశాలను కలిగి ఉంటాయి. + కాబట్టి, ఏమీ జరగలేదు, మరియు బి. + అవి నిజమైన పారామితులుగా బాగా సంరక్షించబడతాయి. + అందువల్ల, ఫంక్షన్ తిరిగి వచ్చినప్పుడు, మరియు B ఒకే విధంగా ఉంటాయి. + అవి స్వాప్ కాలేదు. + అందువల్ల, ఇచ్చిపుచ్చుకోవడం ఆ విధంగా పనిచేయదు. + అందువల్ల, మేము ఈ విధంగా స్వాప్ రాయలేమని సి లో నేర్చుకున్నాము. + నేను ఏమి చేయాలి? నేను చుట్టూ యుక్తి చేయాలి; కొన్ని ఉపాయాలు + కాబట్టి, మనం ఏమి చేయాలి? మేము చేయడానికి ప్రయత్నించే ఉపాయం స్వాప్‌ను నిర్వచించడం. + నేను దానిని చిరునామాగా పేర్కొన్నాను; చిరునామా ద్వారా కాల్ చాలా అధికారికంగా ఆమోదించబడిన పేరు కాదు. + దీనిని వాస్తవానికి విలువ అని పిలుస్తారు, కాని ఒకే తేడా ఏమిటంటే మనం ఇక్కడ పాస్ చేసే పరామితి పాయింటర్ రకం పరామితి. + కాబట్టి, మేము రెండు పూర్ణాంకాలను మార్చుకునే బదులు, ఇప్పుడు పూర్ణాంకాల కోసం రెండు పాయింట్లను మార్చుకుంటాము. + అందువల్ల, ఈ కోడ్ పాయింటర్లతో కూడా వ్రాయబడుతుంది, ఈ పాయింటర్లు ఎక్కడ ఉన్నాయి. + నేను మొదటిదాన్ని ప్రస్తావించాల్సినప్పుడల్లా, నేను దీన్ని ఇప్పుడు * x మరియు రెండవదాన్ని * y తో చేయాలి మరియు మేము దీన్ని చేస్తాము. + కాబట్టి, ఇవి సంకేతాలు, నేను వాటిని ఈ స్లైడ్‌లో పిలవవలసి వస్తే, a, మరియు b అనే రెండు నిజమైన పారామితులను తప్పనిసరిగా a యొక్క చిరునామాగా మరియు b యొక్క చిరునామాగా పంపించాలి. + కాబట్టి, మేము రెండు చిరునామాలను పాస్ చేస్తాము. + ఇప్పుడు, ఏమి జరుగుతుందో, నేను X ని చూస్తే; ఒకదానికి పాయింటర్ ఉంది. + y అనేది బి యొక్క పాయింటర్. + ఇప్పుడు, అది ఏమి చేస్తోంది? ఇది * x మరియు * y విలువలను మార్పిడి చేయడానికి ప్రయత్నిస్తోంది. + ఇది x మరియు y విలువను మార్చడం లేదు. + ఇది మార్చుకోలేనిది కాదు. + ఇది * x మరియు * y విలువలను మార్చుకుంటుంది. + * X అంటే ఏమిటి? * x నిజానికి a. + X a చిరునామా అయితే, * x వాస్తవానికి. + కాబట్టి, నేను * y లో స్వాప్ (స్వాప్) * x మరియు అలా చేసినప్పుడు, ఇది వాస్తవానికి బి. + కాబట్టి, నేను * x తో * x ను మార్పిడి చేసినప్పుడు, నేను నిజంగా b తో మార్పిడి చేస్తున్నాను (స్వాప్). + కాబట్టి, నేను చేస్తున్నది ప్రాథమికంగా విలువ ద్వారా కాల్ అసలు పరామితిని మార్చడానికి నన్ను అనుమతించదు, నేను వారి చిరునామాను పంపుతున్నాను మరియు రిమోట్‌గా నేను పారామితులను వాస్తవంగా మార్చుకుంటాను చిరునామాను సూచించడానికి చిరునామాను అనుమతించడం, ఆపై మార్పులు చేయండి. + కాబట్టి, ఒక విధంగా నేను విలువ ద్వారా కాల్ నియమాన్ని ఉల్లంఘిస్తున్నాను ఎందుకంటే అది లేకుండా నేను మార్పును తిరిగి పొందలేను. + కాబట్టి, ఇక్కడ మనకు అది ఉంటుంది; మేము దానిని చూస్తాము. + మేము నేరుగా విలువలను మార్చుకోలేనందున, మేము చిరునామా రకం వ్యవస్థ నుండి కాల్‌ని ఉపయోగిస్తాము, అక్కడ మేము చిరునామాను మరియు ఆ విలువలను ఆ చిరునామాకు పంపిస్తాము. + ఖచ్చితంగా, ఫలితాలను పొందడానికి ఇది బ్యాక్ డోర్ రకం. + మరియు, మేము దీన్ని ఎందుకు చేస్తున్నాము? మనం దీన్ని చేయవలసిన ప్రాథమిక లక్షణాలు ఏమిటి? ఒక నిర్దిష్ట ఉదాహరణ స్వాప్ కావచ్చు. + లక్షణం ఏమిటంటే, మేము విలువ ద్వారా పిలిస్తే, అసలు పరామితి అధికారిక పరామితిలోకి కాపీ చేయబడుతుంది. + అందువల్ల, మీరు ఒక అధికారిక పరామితితో ఒక ఫంక్షన్‌లో ఏమి చేసినా, ఆ ప్రభావాలు అసలు పరామితికి తిరిగి రావు. + ఇది మేము కోరుకున్నది. + అయితే, స్వాప్‌లో మనం అసలు పరామితికి తిరిగి రావడానికి అధికారిక పరామితిని మార్చాలి. + అప్పుడే, స్వాప్ సంభవించవచ్చు. + నేను ఒక స్వాప్ (స్వాప్) చేస్తుంటే, మరియు B మారదు మరియు B మారదు వరకు B స్వాప్ (స్వాప్) చేయదు. + కాబట్టి సాధారణీకరించడానికి, విలువ ద్వారా కాల్ మాకు ఇన్పుట్ రకం పారామితులను మాత్రమే కలిగి ఉండటానికి అనుమతిస్తుంది; విలువలు కాలర్ ఫంక్షన్ నుండి పిలువబడే ఫంక్షన్కు వెళ్ళగలవా? + అయినప్పటికీ, విలువకు కాల్ నన్ను అవుట్పుట్ రకం పరామితిని నిర్వహించడానికి అనుమతించదు; అంటే, నేను ఫంక్షన్‌లోని విలువను లెక్కించలేను మరియు దానిని పరామితికి తిరిగి ఇవ్వలేను. + కాబట్టి, ఫంక్షన్ వంటివి ఒకే విలువను మాత్రమే ఇస్తాయి. + కాబట్టి, నేను ఒకటి కంటే ఎక్కువ అవుట్పుట్ కోరుకునే ఫంక్షన్ కావాలనుకుంటే, నాకు యంత్రాంగం లేదు, సి. + స్ట్రెయిట్ ద్వారా విలువ యంత్రాంగం. + అందువల్ల, చిరునామాలను ఉపయోగించడం మరియు దానిని ఒక రౌండ్లో చేయడం మాత్రమే ఇతర విధానం. + ఇప్పుడు, మేము చూస్తాము. + ఇప్పుడు, మనం మాట్లాడిన రెండు అంశాలను కలపడానికి ప్రయత్నిద్దాం. + ఒకటి, మేము రిఫరెన్స్ అనే భావనను ప్రవేశపెట్టాము, రిఫరెన్స్ ద్వారా కాల్ చేసాము మరియు ఒక ఫంక్షన్ (ఫంక్షన్) నుండి ఒక సి ఫంక్షన్ (ఫంక్షన్) వరకు బహుళ అవుట్‌పుట్‌లను కలిగి ఉండటంలో ఇబ్బంది గురించి మాట్లాడాము. + కాబట్టి, ముఖ్యంగా స్వాప్ ఉదాహరణను మళ్ళీ చూద్దాం. + ఇప్పుడు, రండి. + ఎడమ వైపున, ఉదాహరణకు మాకు కాల్ ఉంది. + మేము చూసిన ఉదాహరణ వాస్తవానికి తప్పు, ఎందుకంటే అది మారదు ఎందుకంటే అది మారకూడదు. + ఈ విలువ ప్రోటోటైప్ ద్వారా వచ్చిన కాల్. + ఇప్పుడు, సి ++ లో మనం ఇక్కడ చేసిన అన్ని మార్పులు కేవలం విలువ ఆధారంగా కాల్ చేయడం కంటే. + ఇప్పుడు మనకు రెండు పారామితులు ఉన్నాయని చెప్తున్నారు, వీటిని రిఫరెన్స్ ద్వారా పిలుస్తారు. + ఈ పారామితులు సాధారణ పారామితులు కావు. + అవి రిఫరెన్స్ పారామితులు. + మరియు, ఇప్పుడు మీరు రిఫరెన్స్ పరామితితో మొత్తం వ్రాస్తారు. + ఇది కాక, మీరు C లో చూసే వాటికి మరియు C ++ లో మీరు చూసే వాటికి మధ్య ఉన్న కోడ్ ఒకే విధంగా ఉంటుంది. + మార్పులు చేసిన రెండు ప్రదేశాలు ఇవి. + ప్రభావం ఏమిటి? ఇది రిఫరెన్స్ నుండి వచ్చిన కాల్ అయితే, అది ప్రత్యేక కాల్ అయినప్పుడు, నిజమైన పరామితి A మరియు ఇక్కడ అధికారిక పారామితి X, అవి, అవి ఒకే స్థలాన్ని ఆనందిస్తాయి; x అనేది a కి మరొక పేరు, y అనేది b కి మరొక పేరు. + అందువల్ల, నేను x మరియు y లను పరస్పరం మార్చుకుంటే అది A, మరియు B లను మార్పిడి చేస్తుంది. + కాబట్టి, నేను నా కోడ్‌లో పూర్తి ప్రభావాన్ని పొందగలను. + కాబట్టి, అలా చేయడం ద్వారా నేను ఎలా ప్రయోజనం పొందగలను? అనేక విషయాలు; ఒకటి నేను వెనుక తలుపుకు తీసుకోవలసిన అవసరం లేదు. + నాకు పరామితి ఇన్పుట్ కావాలంటే, నేను విలువ ప్రకారం పిలుస్తాను; పరామితి అవుట్‌పుట్ కావాలని నేను కోరుకుంటే, అప్పుడు నేను రిఫరెన్స్ ద్వారా పిలుస్తాను ఎందుకంటే ఫంక్షన్‌లోని ఆ ఫార్మల్ పరామితిలో చేసిన మార్పులు అసలు పారామితులు అవుతాయి.ఇది కూడా అందుబాటులో ఉంటుంది ఎందుకంటే అసలు పరామితి మరియు సంబంధిత అధికారిక పరామితి ఒకే చిరునామాను ఆనందిస్తాయి. + కాబట్టి, C ++ లో రిఫరెన్స్ మెకానిజం ద్వారా రిఫరెన్స్ మరియు కాలింగ్ ఉపయోగించడం యొక్క ప్రయోజనం ఇది. + ఇది ఖచ్చితంగా కోడ్‌ను చాలా క్లీనర్ చేస్తుంది. + ఇది ప్రోగ్రామ్‌లను రాయడం మరింత సులభం మరియు నమ్మదగినదిగా చేస్తుంది. + మరియు, మేము తరువాత చూడబోతున్నట్లుగా, ఇది చాలా ప్రయత్నాలను ఆదా చేస్తుంది ఎందుకంటే విలువ ద్వారా పిలుపులో మీరు ఆ విలువ యొక్క కాపీని తయారు చేయాలి. + ఇప్పుడు, మీ విలువ పూర్ణాంకం ఉన్నంత వరకు, కాపీని తయారు చేయడం ఖరీదైనది కాకపోవచ్చు. + అయితే, మీరు వెళుతున్న పరామితి బహుశా 10 కిలోల బైట్‌లను కలిగి ఉండే ఒక నిర్మాణం అయితే 200 వేర్వేరు సభ్యులు, 200 వేర్వేరు భాగాలు కలిగి ఉంటే imagine హించుకోండి, కాబట్టి దాన్ని కాపీ చేయడం మీకు చాలా ఖరీదైనది. + కాబట్టి, మీరు ఆ ఖర్చును భరించకూడదు. + మీరు సూచనను మాత్రమే ఉపయోగించగలరు. + రిఫరెన్స్ పరామితిని ఉపయోగించడం యొక్క ఒక దుష్ప్రభావం. + ఇప్పుడు, మేము రిఫరెన్స్ పరామితిని చేస్తే, అనగా మేము కాల్ ద్వారా రిఫరెన్స్ ద్వారా ఉపయోగిస్తే, అప్పుడు పరామితి వాస్తవానికి ఇన్పుట్ మరియు అవుట్పుట్.) పరామితి. + ఇది ఇన్పుట్ ఎందుకంటే, నిజమైన పరామితికి ఏ విలువ ఉందో నేను చెప్పినప్పుడు, అధికారిక పరామితి కూడా అదే విలువను కలిగి ఉంటుంది. + కాబట్టి, ఇది ఇన్పుట్ యొక్క ప్రయోజనాన్ని అందిస్తుంది. + కాబట్టి, నన్ను నిజంగా పిలవవలసిన అవసరం లేదు. + నేను సూచనల ద్వారా మాత్రమే కాల్‌లను ఉపయోగించగలను. + కానీ, నేను రిఫరెన్స్ నుండి పిలిస్తే, సంభావ్యత ఏమిటంటే, అధికారిక పరామితిలో ఏదైనా మార్పు వాస్తవ పరామితిలో కూడా ప్రతిబింబిస్తుంది. + అందువల్ల, అధికారిక పరామితిలో ఏదైనా అనధికారిక మార్పు లేదా అధికారిక పరామితిలో ఉద్దేశపూర్వక మార్పు నా అసలు పరామితిని పాడు చేస్తుంది. + కాబట్టి, నేను కాల్‌ను రిఫరెన్స్ ద్వారా ఉపయోగించగలిగేదాన్ని మనం చేయగలమా, కాని దాన్ని ఇన్‌పుట్ పరామితిగా మార్చండి. + కాబట్టి, దీన్ని చేయడానికి, మీరు const ను ఉపయోగిస్తారు. + కాబట్టి, ఇక్కడ ఏమి ఉంది? ఇక్కడ కోడ్ చూడండి. + ఈ ఫంక్షన్ పై ప్రత్యేకంగా దృష్టి పెట్టండి, ఇది x రకం రకం యొక్క అధికారిక పారామితిని తీసుకుంటుంది. + కానీ, మేము ఏమి చేసాము? ఇంతకుముందు ఇది కాన్స్ట్ అని చెప్పాము. + కాబట్టి దాని అర్థం ఏమిటి? ఎందుకంటే ఇది రిఫరెన్స్ ద్వారా పిలుపు ఎందుకంటే ఇది రిఫరెన్స్ పరామితి, కాబట్టి నేను ఈ సమయంలో A అని పిలిచినప్పుడు; A మరియు X ఒకే చిరునామాను సూచిస్తాయి. + అయితే, రిఫరెన్స్ x స్థిరంగా ఉందని నేను చెప్తున్నాను; అంటే x యొక్క మార్పు సాధ్యం కాదు. + ఇది పాయింటర్ లేకపోవడం మరియు పాయింటర్ డేటా యొక్క సంగ్రహణ పరంగా చర్చించిన పరిస్థితి. + డేటా స్వయంగా స్థిరంగా ఉండదని మేము ఖచ్చితంగా అనుకుంటున్నాము, కాని నేను ఆ డేటాకు సూచించబడిన స్థిరాంకాన్ని కలిగి ఉంటే, ఆ పాయింటర్ (పాయింటర్) డేటాను మార్చడానికి నన్ను అనుమతించదు. + అందువల్ల, అదేవిధంగా ఇక్కడ నాకు స్థిరమైన సూచన ఉంది లేదా డేటా యొక్క సంక్షిప్తతకు నాకు సూచన ఉంది. + కాబట్టి, x నన్ను మార్చడానికి అనుమతించదు. + కాబట్టి, ఒక ఫంక్షన్ లోపల ఉంటే, నేను ++ x వంటిదాన్ని వ్రాయడానికి ప్రయత్నిస్తాను. + ఈ కోడ్ కంపైల్ చేయదు ఎందుకంటే నేను x విలువను x గా మార్చడానికి ప్రయత్నిస్తున్నాను. + అయితే, x అనేది స్థిరమైన సూచన. + x అనేది స్థిరమైన విలువ. + కాబట్టి, దానితో ఏది ప్రారంభమైంది. + దానితో ఏమి ప్రారంభమైంది? ఇది ఏకకాలంలో ప్రారంభమైంది. + కాల్ చేసినప్పుడు అది మార్చబడదు. + కాబట్టి, ఇప్పుడు ఏమి జరుగుతుంది? వీలునామా విలువ కాల్ సమయంలో x విలువగా లభిస్తుంది. + అది చిరునామా. + కానీ x, మీరు ఫంక్షన్ లోపల మార్చలేరు. + అందువల్ల, గొడ్డలిలో ఏదైనా మార్పు అసలు పరామితిని ప్రభావితం చేయదు. + అందువల్ల, ప్రభావం తిరిగి రాకపోవచ్చు. + కాబట్టి, ఇప్పుడు, పరామితి పూర్తిగా ఇన్పుట్ పరామితి అవుతుంది. + అందువల్ల, రిఫరెన్స్ ఉపయోగించి మనం ఇన్పుట్ పరామితిని సృష్టించవచ్చు లేదా మనం స్థిరమైన రిఫరెన్స్ (పారామితి). రిఫరెన్స్) పరామితి అయితే మాత్రమే ఇన్పుట్ పరామితిని తయారు చేయవచ్చు. + అందువల్ల, విలువలను బట్టి కాల్‌లను ఉపయోగించకుండా, పెద్ద సంఖ్యలో కేసులలో స్థిరమైన రిఫరెన్స్ పరామితిని మాత్రమే ఉపయోగించడానికి ప్రయత్నిస్తాము; ఎందుకంటే మీరు కాపీ చేయనవసరం లేదు. + మరియు, మా వాస్తవ పరామితి ప్రభావితం కాదని మేము ఇంకా సురక్షితంగా ఉంటాము. + అందువల్ల, కుడి వైపున మేము దీన్ని చేయడానికి సరైన మార్గం ఏమిటో ప్రదర్శిస్తాము, ఇక్కడ x అనేది స్థిరమైన సూచన మరియు మీరు దీన్ని చేయడానికి ప్రయత్నించరు. + ఇక్కడ, మేము x ని పెంచడానికి ప్రయత్నిస్తున్నాము మరియు దానిని తిరిగి ఇస్తాము. + ఇక్కడ, మేము దీన్ని చేయము. + మేము x ను దానికి ఒకదాన్ని జోడించి, దానిని తిరిగి ఇవ్వడం ద్వారా లెక్కిస్తాము. + కుడి వైపున ఉన్న కోడ్ సంకలనం చేయబడింది మరియు బాగా నడుస్తుంది. + ఉల్లంఘన లేదు. + ఎడమ వైపున ఉన్న కోడ్ సంకలన లోపాన్ని కలిగి ఉంటుంది మరియు మేము దానికి కొనసాగలేము. + ఈ సమయంలో, మేము ఆగిపోతాము మరియు మేము తరువాతి భాగానికి కొనసాగుతాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/20. ProgramminginCplusplus_Dynamic Binding (Polymorphism)Part III (Lecture 43)-TF5mzUmAza4.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/20. ProgramminginCplusplus_Dynamic Binding (Polymorphism)Part III (Lecture 43)-TF5mzUmAza4.txt index 6f345030280b7010742117a2638bba2377a0c3b6..bd0f16419e736621929edae9aa7f7cf2cc224c7d 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/20. ProgramminginCplusplus_Dynamic Binding (Polymorphism)Part III (Lecture 43)-TF5mzUmAza4.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/20. ProgramminginCplusplus_Dynamic Binding (Polymorphism)Part III (Lecture 43)-TF5mzUmAza4.txt @@ -1,209 +1,209 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్ 28 కు స్వాగతం. - 2. మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి చర్చించాము. - 3. ఈ సందర్భంలో మాడ్యూల్ 26 లో, మేము ప్రత్యేకంగా కాస్టింగ్ మరియు డౌన్ కాస్టింగ్ సమస్యల అప్ కాస్టింగ్ గురించి చర్చించాము. - 4. ఆపై చివరి మాడ్యూల్ లో, మేము అధికారికంగా బైండింగ్ యొక్క నోషన్ను ప్రవేశపెట్టారు. - 5. ఒక పాయింటర్ లేదా రెఫరెన్స్ లో నేను ఒక ఫంక్షన్ వాడకాన్ని ప్రారంభించేటప్పుడు, కంపైలర్ ఇన్వోక్ చేయబడే యక్చువల్ ఫంక్షన్ను ఎలా పరిష్కరించగలదు, అది నాన్-వర్చువల్ ఫంక్షన్ల కోసం చేయబడే స్టాటిక్ స్ట్రాటజీ పై ఆధారపడినదా లేదా వర్చువల్ ఫంక్షన్ల కోసం డైనమిక్ స్ట్రాటజీ పై ఆధారపడినదా అని. - 6. C ++ లో నిశ్చయించబడిన స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క ప్రాధమిక నియమాలు ఏమిటో చూశాము. - 7. మరియు మేము చూసినప్పుడు ఒక నిర్దిష్ట క్లాస్ ఒక వర్చువల్ ఫంక్షన్ ఉన్నప్పుడు ఆ ఫంక్షన్ ఇన్హెరిటడ్ గా లేదా ఫంక్షన్ ఆ క్లాస్ లో పరిచయం ఇది ఒక పాలిమార్ఫిక్ టైప్ అవుతుంది. - 8. మరియు ఆ ఆధారంగా, మేము సాధారణంగా పాలిమార్ఫిక్ హైరార్కీలు గురించి చర్చించడం మరియు పూర్తిగా ఆబ్జెక్ట్ ఓరియంటెడ్ పేరాడిమమ్ పరంగా వారు చాలా ఉపయోగకరంగా మోడలింగ్ మరియు ప్రోగ్రామింగ్ సాధనంగా ఎలా మీరు వర్ణించేందుకు ప్రయత్నించాము. - 9. ఈ ప్రత్యేక మాడ్యూల్ లో, మేము ఆ పాలిమార్ఫిక్ టైప్ ని కొనసాగిస్తాము. - 10. మరియు ప్రత్యేకంగా పాలిమార్ఫికల్ హైరార్కీలో డిస్ట్రక్టర్స్ ఎందుకు వాస్తవికంగా ఉండాలి ఎందుకు అర్థం చేసుకోవడానికి ప్రయత్నించండి. - 11. మరియు మేము పాలిమార్ఫిక్ హైరార్కీ తో ఎలా పని చేయాలో తెలుసుకునేందుకు కూడా ప్రయత్నిస్తాము. - 12. కాబట్టి, ఒక ప్రత్యేకమైన విషయంలో మా సరిహద్దును రూపొందించడానికి చర్చించటానికి మూడు అంశాలు ఉన్నాయి మరియు మనకు ఎడమ చేతి వైపు కనిపిస్తాయి. - 13. సో, మొదట వర్చువల్ డిస్ట్రక్టర్. - 14. కాబట్టి, మాకు ఒక ఉదాహరణతో ప్రారంభించండి. - 15. కాబట్టి, ఇది ఉదాహరణ. - 16. క్లాస్ B, బేస్ క్లాస్ ఉంది, ఇది కొన్ని Int టైప్ డేటాను కలిగి ఉంటుంది. - 17. B నుండి ప్రత్యేకంగా ఉన్న క్లాస్ D మరియు ఇది ఇంటీజర్ టైప్ కి చెందిన డేటాకు ఒక పాయింటర్. - 18. కన్స్ట్రక్టర్ వద్ద చూడండి, కన్స్ట్రక్టర్ కేవలం విలువను తీసుకుంటుంది మరియు మెంబర్ కు సెట్స్ ను కేటాయించవచ్చు. - 19. డిస్ట్రక్టర్ అది ఏమీ చేయదు. - 20. మేము కన్స్ట్రక్టర్ కి మరియు డిస్ట్రక్టర్ లో మెసేజస్ (messages)ను ఉంచాము, తద్వారా మేము ఏమి జరుగుతుందో తెలుసుకోవచ్చు మరియు అర్థం చేసుకోవచ్చు. - 21. అదేవిధంగా, నేను డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ ని కలిగి ఉంటే, అది రెండు నంబర్స్ ను తీసుకుంటుంది; మొదట బేస్ పార్ట్ ని కన్స్ట్రక్ట్ చేయడానికి ఉపయోగిస్తుంది, ఒక బేస్ పార్ట్ కన్స్ట్రక్టర్ ని కాల్ చేస్తుంది; రెండవది దాని స్వంత పాయింటర్ డేటాను ప్రారంభించడం కోసం ఉపయోగిస్తుంది, ఇది డైనమిక్ D 2 యొక్క విలువతో ఇంటీజర్ ను కేటాయించి మరియు Ptr మెంబర్ కి ఒక పాయింటర్ను సెట్ చేస్తుంది. - 22. ఇది జరిగింది అని చెప్పడానికి ఒక మెసేజ్ ఉంది. - 23. Derived క్లాస్ యొక్క destructor వస్తున్నట్లు, మేము డిస్ట్రక్టర్ వాడుతున్నారు అని ఒక మెసేజ్ ను కలిగి ఉంది. - 24. మరియు ఇప్పుడు అప్పటి నుండి ఆబ్జెక్ట్ డిస్ట్రాయ్ చేయబడబోతుంది; అది ptr పాయింటర్లో డైనమిక్ కేటాయింపును కలిగి ఉంది, కాబట్టి కేటాయింపు విడుదల చేయబడాలి. - 25. కాబట్టి, మనము ఇక్కడే డెలీట్ చేద్దాం. - 26. క్లాస్ ల లోపల ఏమిటో చూడగలగడంతో పాటు, మేము ఒక ఉపయోగ ప్రింట్ ఫంక్షన్లను ఉపయోగిస్తాము మరియు మనము ప్రింట్ ఫంక్షన్ వర్చువల్ని ఇన్వోక్ చేస్తాము, కాబట్టి ఇది పాయింటర్ నుండి తీసుకోబడుతుంది మరియు ఆబ్జెక్ట్ టైప్ ని బట్టి ఉంటుంది, అది సరైన ప్రింట్ డేటా లేదా డేటా మరియు పాయింటర్ గాని. - 27. కాబట్టి, ఇక్కడ డేటా ప్రైవేట్ లో డేటా ఓవర్రెడ్ ప్రింట్ ఫంక్షన్ D వాస్తవానికి డేటా యాక్సెస్ చేయలేము. - 28. కాబట్టి, ఈ ఫంక్షన్ నేను cout రాయలేదు; డేటా D క్లాస్ మెంబర్ అయినప్పటికీ, డేటాను ఇక్కడ ప్రైవేట్గా ఉన్నందున నేను దీన్ని రాయలేను, అందువల్ల దీన్ని ఆక్సెస్ చెయ్యలేము. - 29. కాబట్టి, మనమేమి చేస్తున్నామో మనము సరళమైన ట్రిక్ని అనుసరిస్తాము. - 30. మేము B క్లాస్ లో సంబంధిత మెంబర్ ఫంక్షన్ ని ఇన్వోక్ చేస్తాము. - 31. అందువల్ల, నేను B ను నేరుగా ఇన్వోక్ చేద్దాం: ప్రింట్(),ఇది ఈ క్లాస్ ఫంక్షన్ ను ఇన్వోక్ చేస్తుంది B క్లాస్ లోకి డి తీసుకున్న డిరైవ్డ్ క్లాస్ D యొక్క ఈ పాయింటర్తో పిలవబడుతుంది. - 32. మరియు ఈ ఇన్వొకేషన్ వాస్తవానికి టైప్ B యొక్క ఈ పాయింటర్ కావాలి, జరిగేది మేము హైరార్కీ పైకి వెళ్తున్నాం, కాబట్టి ఒక అప్కాస్ట్ ఆటోమెటిక్ గా జరుగుతుంది. - 33. కాబట్టి, దీని అర్ధం ఏమిటి. - 34. కాబట్టి, మీరు మరింత లిటరేచర్ ద్వారా వెళ్ళగలిగేలా చూసే కోడ్ గురించి ఉంది. - 35. మరియు ఇప్పుడు అప్లికేషన్ లో మేము ఒక B క్లాస్ ఆబ్జెక్ట్ క్రియేట్ చేస్తాం, మేము ఒక D క్లాస్ ఆబ్జెక్ట్ క్రియేట్ చేస్తాం మరియు వాటి రెండు పాయింటర్లో ఉంచండి, మరియు మేము ప్రింట్ చేస్తాం. - 36. మరియు ఖచ్చితంగా మేము క్రియేట్ నుండి చేస్తే, ఇది బి క్లాస్ ఆబ్జెక్ట్ ను కన్స్ట్రక్ట్ చేస్తుంది. - 37. ఈ రెండు D క్లాస్ ఆబ్జెక్ట్ కన్స్ట్రక్షన్ నుండి వచ్చి ఎందుకంటే D క్లాస్ ఆబ్జెక్ట్ యొక్క మొదటి B పార్ట్ కన్స్ట్రక్టడ్ అప్పుడు D పార్ట్, అప్పుడు మీరు ఈ మెంబర్ చూడండి వంటి, మీరు 2, 3, 5 చూడండి ప్రింట్ అలా కాబట్టి ఈ పాయింట్ ఆసక్తికరమైన ఏమీ లేదు. - 38. కాబట్టి, దీని గురించి మర్చిపోతే అన్నింటికీ ఏర్పాటు చేయబడింది. - 39. మరియు అప్పుడు మేము ఈ పాయింటర్ లు కోసం డిలీట్ ఉంది. - 40. మేము ప్రాథమికంగా ఆబ్జెక్ట్ ను డిలీట్ చేయాలనుకుంటున్నాము. - 41. కాబట్టి, నేను దీనిని డిలీట్ చేసినట్లయితే, ఇది నా B క్లాస్ డిస్ట్రక్టర్ను చేజిక్కించుకోవాలి, కనుక ఇది చాలా బాగుంది. - 42. చివరగా, డి యొక్క destructor ఇన్వోక్ మరియు నేను ఏమి చూడండి అని q న డిలీట్ యొక్క destructor ఇన్వోక్. - 43. నేను D యొక్క destructor పొందలేము, నేను ఈ ప్రింట్ ని పొందలేము. - 44. సో, ఎందుకు ఇది? ఇప్పుడు మన మనస్సును అన్వయిస్తూ, ఈ డిస్ట్రక్టర్ చూసేదానికి ఏది జరుగుతుందో ఆలోచిస్తే, డిస్ట్రక్టర్స్ ఒక విధముగా ఉన్నారు, అవి మెంబర్ ఫంక్షన్ డిఫైన్ చేయబడిన నాన్ వర్చువల్ గా ఉన్నాయి. - 45. కాబట్టి, నేను Q లో డడెలీట్ చేయాలనుకున్నప్పుడు ఏమి జరుగుతుంది, అప్పుడు q యొక్క టైప్ ఏమిటో నిర్ణయించవలసి ఉంటుంది, అంటే కంపైలర్ మనము చూడవలసినది. - 46. కాబట్టి, కంపైలర్ q మరియు q ల ఆధారంగా నిర్ణయించాలని కోరుకుంటుంది. - 47. కాబట్టి, ఇది క్లాస్ B కి వెళ్లి, ఏ డిస్ట్రక్టర్ అని కాల్ చేయబడాలని నిర్ణయిస్తుంది, అది ఒక డిస్ట్రక్టర్ ఉంది మరియు ఈ డిస్ట్రక్టర్ నాన్-వర్చువల్ అని తెలుస్తుంది. - 48. సో, అది పూర్తి కాల్స్. - 49. D యొక్క destructor అని కాల్ చేయబడుతుంది ఎప్పటికీ, ఎందుకంటే నిజానికి మేము ఈ ఆబ్జెక్ట్ డిస్ట్రాయ్ చేయడానికి అవసరమైన, మేము D యొక్క destructor లో కాల్ అవసరం ఇది క్రమంగా B యొక్క destructor కాల్ మరియు విషయాలను సరిగా అది ఎలా జరుగుతుంది. - 50. కాబట్టి, ఇక్కడ కాల్ తప్పు స్థానంలో అడుగుపెట్టింది. - 51. కాబట్టి, ఇది డిస్ట్రక్టర్ వర్చువల్ని తయారు చేయడానికి అవసరమైన డిస్ట్రక్షన్ యొక్క ప్రాథమిక సమస్య. - 52. సో, ఇది పరిష్కారం చాలా సులభం. - 53. మీరు చేస్తున్నది అన్నిటిని p యొక్క destructor ముందు వర్చ్యువల్ అని వ్రాయండి. - 54. ఈ పాయింట్ వరకు విభిన్నమైనది ఏమీ లేదు, ఊహించిన ప్రవర్తన మరియు అవుట్పుట్ లో వేరైనది ఏదీ లేదు. - 55. ఇప్పుడు మీరు q, q అనే టైప్ B ను డెలీట్ చేయాలంటే, ఏమి జరుగుతుందో అది క్లాసు B కి వెళుతుంది, కంపైలర్ క్లాస్ B కి కి సెట్ చేస్తుంది. - 56. మీరు డిస్ట్రక్ట్ వర్చ్యువల్ అని తెలుసుకుంటే, పాయింటర్ యొక్క టైప్ ని బట్టి కాదు, కానీ వస్తువు యొక్క రకం అది సూచిస్తుంది. - 57. మరియు ఆబ్జెక్ట్ టైప్ ఏమిటి, డైనమిక్ టైప్ డైనమిక్ టైప్ D అంటే ఏమిటి, కాబట్టి మేము దీన్ని చేసినప్పుడు, నిజానికి ఈ పాల్గొంటుంది ఇది ఈ D యొక్క destructor లేవనెత్తుతుంది లేదు, ఇది క్రమంగా B యొక్క destructor ఇన్వోక్ కాబట్టి, మీరు D యొక్క destructor దీనిని ఉపయోగించుకున్నారని గమనించండి, ఇది డెలీట్ చేయబడుతుంది మరియు ఈ సమయంలో B యొక్క destructor ఉపయోగించబడుతుంది. - 58. అందువల్ల, మీరు బి తీసుకువచ్చినట్లు చూడాలి. - 59. మేము ముందు చూసిన పాలిమార్ఫిజం హైరార్కీ యొక్క నియమం ప్రకారం, B యొక్క destructor వర్చువల్ ద్వారా ఇన్హెరిటెన్స్ గా ఉంది ఎందుకంటే D యొక్క destructor కూడా వర్చువల్. - 60. ఇది వర్చువల్ అని వ్రాయడం నాకు అవసరం లేదు. - 61. కానీ అది లేకుండానే ఈ వర్చువల్ లేనట్లయితే నేను ఈ సమస్యను ఎదుర్కొంటున్నాను. - 62. మరియు ఆ యొక్క పరిణామం, d ఆబ్జెక్ట్ లో క్రియేట్ చేయబడిన పాయింటర్ విడుదల లేదు. - 63. కాబట్టి, ఒక బేస్ క్లాస్ పార్ట్ కలిగిన ఒక డిరైవ్డ్ క్లాస్ నుండి నాకు ఒక ఆబ్జెక్ట్ ఉన్నప్పుడు నేను చెప్పగలను. - 64. మరియు నేను ఒక బేస్ క్లాస్ పాయింటర్ నుండి పట్టుకొని చేస్తున్నాను, డిస్ట్రక్టర్ వర్చువల్ లేకపోతే అది కేవలం పాయింటర్ యొక్క బేస్ క్లాస్ పార్ట్ గా చూడటం ఉంది. - 65. కాబట్టి, ఇది ఆబ్జెక్ట్ యొక్క ఈ పార్ట్ ని మాత్రమే డెలీట్ చేస్తుంది. - 66. ఇది ఆబ్జెక్ట్ యొక్క మిగిలిన పార్ట్ ని డెలీట్ చేయదు. - 67. కాబట్టి, ఆ ఆబ్జెక్ట్ ను డిస్ట్రక్ట్ చేయడానికి ప్రయత్నిస్తుంది; ఇది ఈ సమయంలో ఆ ఆబ్జెక్ట్ ను స్లైస్ చేయడానికి ప్రయత్నిస్తుంది మరియు ఒక పార్ట్ విడుదలలు మాత్రమే చేస్తుంది. - 68. కాబట్టి, ఇది చాలా ప్రమాదకరమైనది, ఎందుకంటే మీరు కొంతమందిని కలిగి ఉంటారు, మీరు సిస్టమ్ లో మిగిలిపోయిన పార్ట్ లను ముక్కలుగా చేసి, సిస్టమ్ స్థిరంగా ఇక్కడకు వస్తారు. - 69. సో, మీరు హైరార్కీ లో ఉంటే అప్పుడు బేస్ క్లాస్ లో డిస్ట్రక్టర్ ఒక వర్చుర్ ఫంక్షన్ ఉంటుంది నిర్ధారించుకోండి. - 70. ఇప్పుడు మీరు బేస్ క్లాస్ వర్చుర్ యొక్క destructor తయారు క్షణం అర్థం, లేకపోతే ఈ మొత్తం మెకానిజం పనిచేయదు ఎందుకంటే, మొత్తం క్లీనప్ కన్సిస్టన్సీ(consistency) పని చేయదు. - 71. కానీ మీరు బేస్ క్లాస్ వర్చువల్ యొక్క destructor తయారు చేసినప్పుడు, అనగా, మీరు ఈ వంటి మరొక పాలిమార్ఫిక్ ఫంక్షన్ లేదా లేదో సంబంధం లేకుండా బేస్ క్లాస్ పాలిమార్ఫిక్ మారింది; ఇక్కడ వంటి, మేము మరొక పాలిమార్ఫిక్ ఫంక్షన్ కలిగి. - 72. కానీ మనకు లేనప్పటికీ, మనకు ఈ ప్రింట్ ఫంక్షన్ లేనప్పటికీ, ఈ వర్చువల్ క్లాస్ B ను రూట్ క్లాస్ B చేస్తే క్షణం, పాలిమార్ఫిక్ టైప్ గా మారుతుంది మరియు కనుక ఇది అన్ని క్లాస్ ల నుండి ప్రత్యక్షంగా లేదా పరోక్షంగా అన్ని పాలిమార్ఫిక్ అవుతుంది. - 73. కాబట్టి, మొత్తం అధిక్రమం పాలిమార్ఫిక్ అవుతుంది. - 74. కాబట్టి, ముందుగా చెప్పిన కారణాలలో ఇది ఒకటి, నేను ఒక హైరార్కీ కలిగి ఉంటే అది నాన్-పాలీమోర్ఫిక్ కాదని భావించడం లేదు, ఇది చాలా ఆసక్తిని కలిగి ఉండదు. - 75. కాబట్టి, పాలిమార్ఫిక్ హైరార్కీలో డిస్ట్రక్టర్ వర్చువల్ కానట్లయితే, అది స్లైసింగ్(slicing) కి దారితీస్తుంది. - 76. కనుక, బేస్ క్లాస్లో డిస్ట్రక్టర్ తప్పక వర్చువల్గా ప్రకటించబడాలి. - 77. మాకు కొన్ని ఇతర ఆసక్తికరమైన సమస్య పరిశీలిద్దాం. - 78. మనము షేప్స్ యొక్క హైరార్కీని పరిశీలిద్దాము మరియు మా ప్రాథమిక ఉద్దేశ్యం, ఈ షేప్స్ కాన్వాస్పై ఉన్న గ్రాఫిక్ సిస్టమ్ ను నిర్మించటానికి ప్రయత్నిస్తున్నాం. - 79. కాబట్టి, కాన్వాస్ ఉన్నట్లయితే మరియు ఆ కాన్వాస్లో, ఈ షేప్స్ లోని ఆబ్జెక్ట్ లను ఈ షేప్ యొక్క విభిన్న రకాల ఆబ్జెక్ట్ లను నేను డ్రా చేయాలనుకుంటున్నాను, అందువల్ల ఆ లోతైన లక్ష్యంలో ఉంది. - 80. మరియు మేము చేస్తున్న అనేక ఇతర గ్రాఫిక్ విషయాలు ఉండవచ్చు, కానీ ఆ ఆధారంగా మేము ఒక హైరార్కీక్రియేట్ చేయడానికి. - 81. కాబట్టి, ఒక షేప్ ఉంది, ప్రాథమికంగా పాలిగోనల్ షేప్స్ మరియు క్లోజ్డ్ కర్వ్స్ వంటి క్లోజ్డ్ కోనిక్స్ రెండు రకాల షేప్స్ ఉన్నాయి, ఇతరులు కూడా ఉండవచ్చు. - 82. పాలిగన్ లో, మనకు త్రిభుజం, చతుర్భుజం ఉన్నాయి; క్లోజ్డడ్ కోనిక్స్ లో చాలా ఎక్కువ ఉండవచ్చు, మనకు ఎలిప్స్, సర్కిల్ మరియు మొదలైనవి ఉన్నాయి. - 83. కాబట్టి, ఇది చాలా సులభం. - 84. మరియుమనం చేయాలనుకుంటున్నది మనము ఇక్కడ పాలిమార్ఫిక్ డ్రా ఫంక్షన్ కావాలి, ఎందుకంటే మీరు ట్రయాంగల్ గీయగలగడము ట్రయాంగల్ ను డ్రా చేయడం అన్నది ప్రాథమికంగా లైన్ యొక్క మూడు సెగ్మంట్లను గీయడం. - 85. కానీ ఒక సర్కిల్ గీయడం అనేది ఒక చిన్న చురుకైన ఆపరేషన్, ఇది ఒక ఎలిప్స్ ను గీయడం వల్ల కొన్ని అల్గారిథమ్లను మరింత క్లిష్టంగా ఉపయోగిస్తుంది, కానీ దీనికి విరుద్ధంగా ఒక quadrilateral ఉంటుంది. - 86. కాబట్టి, మనం ఒక హైరార్కీ కలిగి ఉండాలనుకుంటున్నాము, ప్రతిచోటా మనకు డ్రాయింగ్ ఫంక్షన్ ఉంటుంది, కాబట్టి మనం కేవలం నిజంగా మనకు ఏ నిర్దిష్ట ఆబ్జెక్ట్ గురించి ఇబ్బంది పెట్టకూడదు. - 87. మరియు దాని తో, మేము డైనమిక్ బైండింగ్ యొక్క ఉపయోగం ద్వారా ఉండాలి లేదా మీరు సంబంధిత క్లాస్ యొక్క రైట్ డ్రా ఫంక్షన్ తో ఉండాలి, కాబట్టి మేము ఏమి చేయాలనుకుంటున్నారో అది. - 88. సో, మీరు డ్రాయింగ్ అల్గోరిథం ఆధారంగా ప్రతి క్లాస్ లో డ్రాగా భర్తీ చేయబడుతుంది హైరార్కీ కోసం ఒక పాలిమార్ఫిక్ డ్రా ఫంక్షన్ కలిగి ఉండాలనుకుంటున్నాను. - 89. ఇప్పుడు మనం కూరుకుపోతున్నాను ఎందుకంటే నేను ఈ కలిగి ఉంటే అప్పుడు ఖచ్చితంగా నేను డ్రాయింగ్ ఫంక్షన్ అవసరం, మార్గంలో నేను డ్రాయింగ్ ఫంక్షన్ అవసరం షేప్ క్లాస్. - 90. కాబట్టి, కానీ నేను ఒక షేప్ మీరు డ్రా చేయవచ్చు ఉంటే ప్రశ్న, అది ఏకపక్ష షేప్ లో డ్రా సాధ్యం కాదు. - 91. వాస్తవానికి, పదాలు ఏకపక్ష షేప్ కోసం మాత్రమే మనం ప్రాతినిధ్యం వహించలేము. - 92. కాబట్టి, మనకు కొన్ని mathematical కర్వ్స్ అవసరం, షేప్స్ ని ప్రతిబింబించేలా కొన్ని నిర్వచనాలు ఉంటాయి, తద్వారా మేము పరిష్కరించడానికి ప్రయత్నిస్తున్న సమస్య యొక్క జెనెసిస్. - 93. కాబట్టి, పాలిమార్ఫిక్ హైరార్కీ షేప్స్ కోసం మనం డ్రా() ఒక వర్చువల్ ఫంక్షన్ గా ఉండాలి, షేప్స్ క్లాస్ మెంబర్ గా ఉండాలి, తద్వారా పాలిమార్ఫిక్ డిస్పాచ్ పనిచేయగలదు. - 94. తద్వారా నేను ఒక షేప్ క్లాస్ టైప్ చూపవచ్చు ఇది యాక్చువల్ ఆబ్జెక్ట్ ఇన్స్టెన్స్ లను ఏ కలిగి త్రిభుజం, ఒక దీర్ఘచతురస్ర యొక్క ఏకవచనం, ఉనికిలో ఆబ్జెక్ట్ యొక్క వివిధ టైప్ ల ఏదైనా. - 95. మరియు మనము కేవలం సూటిగా ఇన్వోక్ చేయగలిగిన షేప్ నుండి తీయగలగాలి, మనము కేవలం డ్రాని చేయగలగాలి మరియు అది పాలిమార్ఫికల్గా ప్రత్యేకమైన గీత యొక్క ప్రత్యేకమైన డ్రా ఫంక్షన్ కు నేను పంపబోయే ఆబ్జెక్ట్ ను కూడా నేను సూచించాను. - 96. కానీ ఖచ్చితంగా మేము షేప్ క్లాస్ లో డ్రా ఫంక్షన్ యొక్క బాడీ రాయలేదు, ఎందుకంటే మనకు అల్గోరిథం తెలియదు. - 97. కాబట్టి, ఇది ఒక నూతన భావన పరిచయం చేయబడింది, ఇది ప్యూర్ వర్చువల్ ఫంక్షన్ అని పిలుస్తారు. - 98. మరియు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అది సిగ్నేచర్ కలిగి ఉంటుంది, కానీ ఏ బాడీ లేదు. - 99. దీనికి కొన్ని ఎక్సెప్షన్స్ మేము చూస్తాము, కానీ ప్రాథమిక భావన సిగ్నేచర్ తో ఉంది, అందుచే నేను దానిని కాల్ చేస్తాను, కానీ నేను దానిని అమలు చేయలేనందున అది బాడీ లేదు; అదృష్టము అనిపిస్తుంది, కాని అది మనము ఎలా సరిపోతుందో చూద్దాం. - 100. ఇప్పుడు, నేను ఒక క్లాస్ లో ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, కనీసం ఒక, అప్పుడు నేను ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ . - 101. ఇప్పుడు ఈ వర్చువల్ ఫంక్షన్ - ప్యూర్ వర్చువల్ ఫంక్షన్ ఇన్హెరిటడ్ గా ఉండవచ్చు లేదా క్లాస్లో డిఫైన్ చేయబడవచ్చు, అది నాకు పట్టింపు లేదు. - 102. కానీ ఒక క్లాస్ ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, అది ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్, దాని అర్థం ఏమిటి, దాని అబ్స్ట్రాక్ట్ గురించి ఏంటి. - 103. కాబట్టి, మూడో పాయింట్ ఇది అన్ని చెప్పారు. - 104. అబ్స్ట్రాక్ట్ బేస్ క్లాస్ కోసం ఎటువంటి ఇన్స్టెన్స్ క్రియేట్ చేయబడదు; ఒక అబ్స్ట్రాక్ట్ బేస్ ప్రతిదీ కలిగి ఉంది, కానీ అది ఒక ఆబ్జెక్ట్ ఇన్స్టెన్స్ క్రియేట్ చేయడానికి కాదు. - 105. ఎందుకు అది ఒక ఆబ్జెక్ట్ ఇన్స్టెన్స్ ను క్రియేట్ చేయలేరు. - 106. సందర్భానుసారంగా, ఇది చాలా స్పష్టంగా ఉంటుంది, ఎందుకంటే నాకు ప్యూర్ వర్చువల్ ఫంక్షన్ ఉంటే నాకు సిగ్నేచర్ తెలుసు, నాకు బాడీ తెలియదు, నాకు అల్గోరితమ్ తెలియదు నేను ఆబ్స్ట్రాక్ట్ బేస్ క్లాస్ యొక్క ఒక ఆబ్జెక్ట్ ను క్రియేట్ చేస్తే, ఆ ఆబ్జెక్ట్ ను ఉపయోగించి నేను ఆ అబ్స్ట్రాక్ట్ బేస్ క్లాస్ మెంబర్ గా ఉన్న ప్యూర్ వర్చువల్ ఫంక్షన్ని ఇన్కోక్ట్ చేయగలదు, కానీ నాకు అలాంటి అల్గోరిథం లేదు కాబట్టి నేను ఏమి ఎగ్జిక్యూట్ చేయాలి. - 107. కాబట్టి, మేము పరిమితం చేసే మార్గం ఏమిటంటే, ఏ సందర్భంలోనూ క్రియేట్ చేయలేము. - 108. ఎందుకంటే, ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ను క్రియేట్ చేయడం ఎలాంటి కన్స్ట్రక్టర్ లేదా డిస్ట్రక్టర్ ను కలిగి ఉండదు. - 109. కానీ ఇది ఇతర వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, ఇది మరింత ప్యూర్ వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, ఇది నాన్-ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటుంది, ఇది నాన్-వర్చువల్ ఫంక్షన్లను కలిగి ఉండవచ్చు, ఇది డేటా మెంబర్లను కలిగి ఉంటుంది మరియు అందువలన మరియు మొదలగునవి. - 110. సహజంగా, ఇది డేటా మెంబర్లను కలిగి ఉంటే, డేటా మెంబర్లను ప్రొటెక్ట్ చేయాలని మేము కోరుతున్నాము, అయితే ఈ క్లాస్ యొక్క ఒక ఉదాహరణను మీరు ఊహించనందున అది మీకు కావాల్సినది అని నేను చెపుతున్నాను ప్రైవేటు మరియు పబ్లిక్గా మీరు వాటిని కలిగి ఉండటం సాధ్యమే. - 111. కాబట్టి, మీరు ఈ క్లాస్ యొక్క ఒక ఉదాహరణ ఊహించకపోతే, మీరు క్లాస్ మాత్రమే డేటా మెంబర్లను ఉపయోగించి కొన్ని కంప్యుటేషన్ చేస్తున్నారని మీరు ఆశించరు. - 112. అందువల్ల, డేటా మెంబర్లను అక్కడ ఉంటారు, తద్వారా డిరైవ్డ్ క్లాస్ లు వాటిని ఉపయోగించగలవు. - 113. కాబట్టి, వారు కాపాడబడాలని సహేతుకమైనది. - 114. వాస్తవానికి, మీరు వారిని పబ్లిక్ గా కలవగలరు, కానీ అది ప్రాథమిక ఎన్కాప్సులేషన్ నియమాన్ని ఉల్లంఘిస్తుంది. - 115. అదేవిధంగా, క్లాస్ యొక్క మెంబర్ ఫంక్షన్ లు సాధారణంగా పబ్లిక్ అవుతాయి, ఎందుకంటే ఖచ్చితంగా మనకు ఒక ఇన్స్టెన్స్ ఉండదు, కనుక మీకు ఒక ఇన్స్టెన్స్ లేకపోతే, అది ఖచ్చితంగా డిరైవ్ క్లాస్ ల హైరార్కీ కు మేము ఈ ఫంక్షన్లను ఉపయోగించడానికి వెళ్తాము. - 116. కానీ, మీరు ప్రైవేటు లేదా ప్రొటెక్టడ్ మెతడ్ లను కలిగి ఉండటం సాధ్యమే. మరియు వివిధ రకాల ట్రిక్స్ ను చేస్తాము హైడ్ చేసి ఎన్కాప్సులేషన్ చేయడానికి. - 117. మరియు అప్పటి నుండి, ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గురించి మాట్లాడుతున్నాం, కాంక్రీట్ క్లాస్ ఉన్నాయి, ఇది అన్ని ప్యూర్ వర్చువల్ ఫంక్షన్లను అమలుపరచాలి. - 118. ఎందుకంటే మీరు ఇప్పుడు ఉంటే, మీరు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ నుండి ప్రత్యేకంగా ఉంటే, సహజంగా డిరైవ్డ్ క్లాస్ లో, మీరు ఫంక్షన్ ఇన్హెరిట్ గా ఉంటుంది డిఫాల్ట్ లేదు, మీరు ప్యూర్ వర్చువల్ ఫంక్షన్ ఇన్హెరిట్ గా ఉంటుంది. - 119. కానీ మళ్ళీ డిరైవ్డ్ క్లాస్ లో, మీరు ఆ ఫంక్షన్ ఇన్వోక్ చేసే ఒక ఎంపికను లేదు, ఎందుకంటే ఆ ఫంక్షన్ ఒక బాడీ లేదు. - 120. అంతేకాక, మీరు చివరకు ఆబ్జెక్ట్ లను క్రియేట్ చేయగలగాలి, ప్యూర్ వర్చువల్ ఫంక్షన్ను నాన్-ప్యూర్ వర్చువల్ ఫంక్షన్గా ఓవర్రైడ్ చేసే కొన్ని డిరైవ్డ్ క్లాస్ లు ఉండాలి మరియు బాడీ ని అందించే వాటిని ఇంప్లిమెంట్ చేస్తాయి, ఇటువంటి క్లాస్ లను కాంక్రీట్ క్లాస్ అని పిలుస్తారు. - 121. కాబట్టి, ఖచ్చితంగా కాంక్రీట్ క్లాస్ లు కోసం, ఇన్స్టెన్స్ లు సృష్టించవచ్చు. - 122. ఇది నియమాల సెట్ చాలా ఉంది. - 123. కాబట్టి, మాకు ఒక ఉదాహరణని అర్థం చేసుకోవడానికి ప్రయత్నించండి. - 124. కాబట్టి, నేను షేప్స్ యొక్క హైరార్కీ చూపించాను. - 125. ఈ సమయంలో, మీరు హైరార్కీ యొక్క కొంచెం కోల్పోయినట్లు అనిపిస్తుంది, అది ఆ స్లయిడ్ నుండి ప్రింట్ ను తీసి, దాని వైపు ఉంచడం మంచిది, అందువల్ల మీరు దాన్ని త్వరగా రెఫర్ చేయవచ్చు. - 126. నేను కలిసి చూపించడానికి తగినంత స్పేస్ లేదు, కానీ అది రూట్ క్లాస్ షేప్స్ యొక్క బేస్ క్లాస్ లో చాలా స్పష్టంగా ఉంటుంది. - 127. కాబట్టి, ఇది ఒక వర్చువల్ ఫంక్షన్ డ్రా ఉంది, ఇది ఏదైనా తీసుకోదు, ఏదైనా రిటర్న్ ఇవ్వదు, కానీ అది ఒక వర్చువల్ ఫంక్షన్ ఉంది. - 128. మరియు మనము '=' సింబల్ అప్పుడు జీరొ అని ఈ ప్రత్యేక నొటేషన్ ను ఉపయోగిస్తాము, ఇది ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అని చెబుతుంది. - 129. మీరు దీనిని కలిగి ఉండకపోతే, అది కేవలం వర్చువల్ ఫంక్షన్, కానీ మీరు దీన్ని ఉంచినప్పుడు, దీనిని ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అని పిలుస్తారు, అనగా ఇప్పుడు అక్కడ మీరు ఈ ఫంక్షన్ కోసం ఒక ఇంప్లిమెంటేషన్ అవసరం రన్ చేయడానికి మొత్తం కోడ్. - 130. మరియు నేను ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి నుండి, ఈ షేప్ ప్రాథమిక ఒక abstract బేస్ క్లాస్ అవుతుంది. - 131. ఇప్పుడు, మనము షేప్ కి రెండు స్పెషలైజేషన్లు ఇచ్చాము. ఒకటి పాలిగాన్, మరియు ఒకటి క్లోజ్డ్ conics ఉంది. - 132. ఇప్పుడు పాలిగాన్ లో, నేను ఇన్హెరిట్ చేస్తున్నప్పుడు మేము డ్రా ఫంక్షన్ను ఓవర్రైడ్ చేస్తాము, మరియు పాలిగాన్ ఇప్పుడు ఒక ఇంప్లిమెంటేషన్ ను కలిగి ఉంది. - 133. వాస్తవానికి, ఈ ప్రింట్ మెసేజ్ లో ఇంప్లిమెంటేషన్ ను సూచిస్తుంది. - 134. కాబట్టి, మీరు పాలిగాన్ త్రికోణీకరించబడిన ఒక అల్గోరిథంను అమలు చేయవచ్చు, మరియు ప్రతి త్రిభుజం సంబందించిన విధంగానే సాధ్యం అవుతుంది. - 135. కానీ, ఇప్పుడు మేము ప్యూర్ వర్చువల్ ఫంక్షన్ను ఇన్హెరిట్ గా ఇంప్లిమెంట్ చేసాము. - 136. కాబట్టి, ఇది ఇప్పుడు ఒక సాధారణ వర్చువల్ ఫంక్షన్ అవుతుంది. - 137. అందువలన, క్లాస్ కాంక్రీట్ క్లాస్ అవుతుంది, అది పాలిగాన్ క్లాస్ యొక్క ఉదాహరణలను క్రియేట్ చేయడం సాధ్యమవుతుంది. - 138. ఇతర క్లాస్ లను షేప్స్ నుండి ప్రత్యేకంగా చూడవచ్చు, ఇది క్లోజ్డ్ కానిక్స్. - 139. ఇందులో, అది ఒక క్లోజ్డ్ conics ఉంటే, మీరు కేవలం అది ఒక క్లోజ్డ్ conic చెప్పితే, అది ఒక సర్కిల్ కావచ్చు, అది ఎక్లిప్స్ కావచ్చు. - 140. కాబట్టి, నేను ఒక జెనరిక్ అల్గోరిథం ద్వారా వాటిని ఎలా డ్రా చేయాలో నిజంగా నాకు తెలియదు. - 141. సో, క్లోజ్డ్ కానిక్స్ కు కూడా డ్రా ఫంక్షన్ లేదు. - 142. సో, అది ఏమి, ఇది ఓవర్రైడ్ చేయలేదు, ఇది డ్రా ఫంక్షన్ కు ఏ సిగ్నేచర్ లేదు. - 143. కాబట్టి, ఇది ఏమిటంటే, ఇది స్పెష్యలైజేషన్ షేప్స్ యొక్క షేప్స్ కలిగి ఉంటుంది, ఇది డ్రా ఫంక్షన్ని ఇన్హెరిట్ చేస్తుంది, ఇది షేప్ లో పూర్తిగా వర్చువల్గా ఉంటుంది, అందువల్ల ఇది పూర్తిగా ఇంప్లిమెంటేషన్ చేయబడని సంశ్లేషణల్లో కూడా ఉంది, ఎటువంటి ఇంప్లిమెంటేషన్ అందించబడలేదు. - 144. కాబట్టి, క్లోజ్డ్ కోనిక్ కూడా అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గా కొనసాగుతుంది. - 145. అప్పుడు మీరు పాలిగాన్ నుండి ప్రత్యేకమైన త్రిభుజం, పాలిగాన్ నుండి ప్రత్యేకమైన క్వాడ్రిలేటరల్, వారు తమ స్వంత ఇంప్లిమెంటేషన్ ను ప్రత్యేకంగా కలిగి ఉంటారు. - 146. కాబట్టి, వారు ఫంక్షన్ ఇన్హెరిటింగ్ మరియు ఓవర్రైడ్ చేస్తారు, తద్వారా ఇవి ట్రయాంగిల్ క్వాడ్రిలేటరల్ బేస్ క్లాస్ల కోసం ప్రత్యేకమైన డ్రా ఫంక్షన్లు. - 147. ఆపై ఇతర వైపు పరంగా, క్లోజ్డ్ కానక్స్ పరంగా, సర్కిల్ నుండి క్లోజ్డ్ కానక్స్ ప్రత్యేకంగా ఉంటుంది, క్లోజ్డ్ కానక్స్ నుండి ఎలిప్సు ప్రత్యేకతను కలిగి ఉంటుంది మరియు వారు సర్కిల్ ప్రత్యేక డ్రాయింగ్ అల్గోరిథం లేదా ఎలిప్సిస్ ప్రత్యేక డ్రాయింగ్ అల్గోరిథం మరియు తద్వారా డ్రా ఫంక్షన్ ను అధిగమించవచ్చు. - 148. కాబట్టి, వారు కాంక్రీటు క్లాస్ గా మారతారు. - 149. సో, ఇప్పుడు, అది ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ అని మారుతుంది, క్లోజ్డ్ conics అబ్స్ట్రాక్ట్ బేస్ క్లాస్, ఎందుకంటే వాటిలో రెండు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ డ్రా కలిగి ఉంటాయి. - 150. అన్ని ఇతర ఐదు క్లాస్ లు కాంక్రీటుగా మారాయి, ఎందుకంటే వాటిలో ప్రతి ఒక్కటి ఇంప్లిమెంటేషన్ ను ప్రవేశపెట్టిన కారణంగా ఇన్హెరిటడ్ గా డ్రా ఫంక్షన్ యొక్క ఇంప్లిమెంటేషన్ ను వాగ్దానం చేసింది, ఇది ఓవర్రైడ్ చేయబడింది. - 151. కాబట్టి, ఇప్పుడు ఈ విధంగా, మేము మార్గం చూస్తే మేము కాన్వాస్ క్రియేట్ చేయగలము. - 152. సో, కాన్వాస్ ఇప్పుడు ఒక పాయింటర్ యొక్క అర్రె(array) షేప్, కాబట్టి ఈ షేప్ కి పాయింటర్ ఉంటాయి. - 153. మరియు నేను వివిధ రకాల షేప్స్ ను కలిగి ఉన్నాను, నాకు ఒక త్రిభుజం ఉంది, నాకు చతుర్భుజము ఉంది, నాకు ఒక వృత్తము ఉంది, నేను ఒక దీర్ఘ వృత్తము కలిగి ఉంటాను. - 154. కాబట్టి, నేను ఈ అన్ని కోర్సులను సృష్టించాను వాస్తవ కోడ్లో, చాలా పారామితులు మరియు అన్నింటికీ ఉంటుంది, కాని నేను మొత్తం ప్రక్రియను ప్రదర్శిస్తున్నాను. - 155. కాబట్టి, నేను వేర్వేరు వస్తువులను వివిధ గమనికలు సృష్టించడానికి; వాటిలో ప్రతి ఒక్కటి చివరకు ఆకారం యొక్క ప్రత్యేకత. - 156. కాబట్టి, నేను ఒక డైనమిక్ సృష్టించడానికి ఒక త్రిభుజం సృష్టించడానికి, నేను ఒక త్రిభుజం రకం పాయింటర్ పొందండి. - 157. మరియు త్రిభుజం ఒక పాలిగాన్, మరియు ఒక పాలిగాన్ ఒక షేప్, కాబట్టి నేను షేప్ పాయింటర్ ఈ పాయింటర్ అప్కాస్ట్ చేయవచ్చు నేను ఈ పాయింటర్స్ ను ప్రతి ఒక చేయవచ్చు మరియు వారు అన్ని షేప్ ఉంటాయి. - 158. కాబట్టి, ఇప్పుడు, నాకు ఈ పాయింటర్ యొక్క షేప్ యూనిఫామ్ అర్రె ఉంటుంది, దీని ద్వారా నేను ఈ అన్ని ఫంక్షన్ల యొక్క మెతడ్ లను నిజంగా ఇన్వోక్ చేయగలము. - 159. అప్పుడు నేను కేవలం ఫర్ లూప్ వ్రాస్తాను, కాని నేను సున్నా నుంచి మొదలుపెడతాను, ఈ కోడ్ మీకు తెలిసి ఉండాలి ఈ ప్రాథమికంగా షేప్స్ యొక్క అర్రె లో ఎన్ని ఎలిమెంట్స్ ఉన్నాయి అని కనుగొనేందుకు ప్రయత్నిస్తుంది మరియు మీరు వాటిని చూస్తాము. - 160. కాబట్టి, మనకు ith ఎలిమెంట్ ఉన్నట్లయితే arr[i] ఇది టైప్ షేప్ పాయింటర్. - 161. సో, నేను డ్రా ఫంక్షన్ ఇన్వోక్ చేస్తాను. - 162. కాబట్టి, i 0 గా ఉన్నప్పుడు, అది నిజంగా కొత్త త్రిభుజ విలువను కలిగి ఉంటుంది. - 163. కాబట్టి, ఈ కాల్ నన్ను తీసుకెళ్తుంది, కంపైలర్ మొదట ఇక్కడ మ్యాప్ అవుతుంది, ఎందుకంటే arr షేప్ పాయింటర్ టైప్ మరియు ఇది వర్చ్యువల్ అని తెలుసుకుంటుంది, తద్వారా అది డైనమిక్ డిస్పాచ్గా ఉంటుంది. - 164. అందువల్ల, ఆ డిస్పాచ్ యాక్చువల్ ఆబ్జెక్ట్ పై ఆధారపడి ఉంటుంది. - 165. 0 కోసం, ఇది త్రిభుజం అవుతుంది. - 166. కాబట్టి, ఈ ప్రత్యేక ఫంక్షన్ అని కాల్ కాబడుతుంది. - 167. అప్పుడు ఎప్పుడు అవుతుంది, కాబట్టి ఇది 0 కోసం, 1 కోసం, ఇది చతుర్భుజం. - 168. కాబట్టి, అదే డిస్పాచ్ జరుగుతుంది మరియు ఈ ఫంక్షన్ అని కాల్ చేయబడుతుంది మరియు ఉంటుంది. - 169. కాబట్టి, ఈ కోడ్ కోసం అవుట్పుట్ను త్వరగా చూడాలని ప్రయత్నిస్తే, అవుట్పుట్ ఇలా కనిపిస్తుంది. - 170. కాబట్టి, మొదట కొత్త త్రికోణం, అందువల్ల అవుట్పుట్ లో మీరు చూస్తారు. - 171. త్రిభుజం డ్రా అప్పుడు చతుర్భుజ డ్రా అని పిలువబడింది, అప్పుడు సర్కిల్ డ్రా అని పిలుస్తారు, దీర్ఘవృత్తము డ్రా అని పిలుస్తారు మరియు. - 172. మరియు మనము చేయగలిగినవి అన్నింటికీ చేయవలసి ఉంది రూట్ వద్ద ఫంక్షన్, రూట్ వద్ద పాలిమార్ఫిక్ ఫంక్షన్ అని పిలుస్తాము. - 173. మరియు ఎందుకంటే ప్యూర్ వర్చువల్ ఫంక్షన్ మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ ల పరిచయం సామర్థ్యం, మేము కలిసి ఈ మొత్తం మాడ్యూల్ చేయగలిగారు; లేకపోతే, పాలిగాన్ ల మరియు క్లోజ్డ్ కాన్సిక్స్ల మధ్య ఒకే రకమైన హైరార్కీకి అనుగుణంగా ఎలాంటి మార్గాన్ని పొందలేము, నిజానికి క్లోజ్డ్ కానిక్స్ కూడా ఆ విధంగా సాధారణీకరించబడదు. - 174. సో, ఈ ప్రాథమిక ప్రయోజనం, మీరు పాలిమార్ఫిక్ హైరార్కీఉపయోగించి మొదలు ప్రాథమిక మార్గం ప్రకృతిలో చాలా కాంపాక్ట్ ఇవి కోడ్స్ రాయడానికి మరియు మేము విస్తరణ మరియు మొదలైనవి వంటి ఇతర ప్రయోజనాలు చాలా చూస్తారు. - 175. మరియు ఖచ్చితంగా ఈ సందర్భంలో షేప్ మరియు క్లోజ్డ్ కానిక్స్ క్లాస్ ల ఉదాహరణలు క్రియేట్ చేయబడవు ఎందుకంటే అవి అబ్స్ట్రాక్ట్ బేస్ క్లాస్. - 176. ఇప్పుడు, మీరు గమనించదగ్గ మరో పాయింట్, నేను ఫంక్షన్ డిఫైన్ చేసాను - వర్చువల్ ఫంక్షన్ ప్యూర్ గా ఉంటే, అప్పుడు క్లాస్ డెఫినిషన్ లో అబ్స్ట్రాక్ట్ అవుతుంది. - 177. మరియు మీరు ఒక ఉదాహరణ క్రియేట్ చేయలేరు, కానీ ఒక ఫంక్షన్ పూర్తిగా వర్చువల్ వాస్తవం ఆ ఫంక్షన్ కోసం ఒక ఇంప్లిమెంటేషన్ అవసరం లేదు, కానీ అది నేను ఇంప్లిమెంటేషన్ చేయలేదని చెప్పడం లేదు. - 178. ఒక ఫంక్షన్ పూర్తిగా వర్చువల్, మరియు అదనంగా, నేను ఆ కోసం ఒక ఇంప్లిమెంటేషన్ కాలేదు. - 179. ఇప్పుడు నేను ఇంప్లిమెంటేషన్ చేస్తే, దాని ప్యూరిటీ కూడా దూరంగా ఉండదు, ఎందుకంటే అది ఒక ప్యూర్ ఫంక్షన్ అని నేను చెబుతున్నాను. - 180. కాబట్టి, ఇది ప్యూర్ గా కొనసాగుతుంది, అంటే ఏ క్లాస్ మాత్రం అబ్స్ట్రాక్ట్ గా ఉండదు మరియు ఆ క్లాస్ కి ఎలాంటి ఇన్స్టెన్స్ సృష్టించబడదు, కానీ ఫంక్షన్ ఉపయోగించగల ఒక ఇంప్లిమెంటేషన్ ఉంది. - 181. ఇప్పుడు నేను ఎందుకు కావాలి, ఖచ్చితంగా నేను కోడ్ కారకం కోసం ఒక కోడ్ ని రీయూజ్ కోసం ఖచ్చితంగా అవసరం, ఎందుకంటే ఖచ్చితంగా ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ రూట్ లో ఉంటుంది. - 182. కాబట్టి, దీని గురించి ఆలోచించండి; మొదటి సందర్భంలో అనుకోండి, నేను ఒక త్రిభుజం కోసం డ్రా()చేయాల్సిన అవసరం ఉంది. - 183. ఇప్పుడు నేను డ్రాయింట్()త్రికోణాన్ని చేయవలసి ఉంటే, అప్పుడు ఖచ్చితంగా మీరు డ్రా గురించి ఆలోచించినట్లయితే, ఇప్పుడు అక్కడ ఒక పార్ట్ త్రికోణ అల్గోరిథం ఇక్కడ వస్తుంది. - 184. కానీ ఒక త్రిభుజం డ్రా చెయ్యడానికి, నేను ఒక బ్రష్ ఎంచుకొని అవసరం, నేను కలర్ నిర్ణయించుకోవాలి, నేను మీరు బ్రష్ యొక్క మందం తెలుసు నిర్ణయించుకోవాలి, నేను స్థానం తెలుసుకోవాలి, మరియు అన్ని ఆ. - 185. ఇప్పుడు ఆల్గోరిథం యొక్క పార్ట్ నేను ఒక త్రిభుజం గీయడం లేదో లేదా నేను ఒక చతుర్భుజం గీయడం చేస్తున్నాను లేదో మధ్య మారుతుంది, నేను ఒక బ్రష్ను ఎంచుకోండి అవసరం, నేను ఒక కలర్ ఎంచుకోండి అవసరం, నేను ఒక మందం ఎంచుకునేందుకు అవసరం. - 186. ఒక వృత్తం గీయడం లో, నేను చేయవలసి ఉంటుంది; ఒక దీర్ఘ వృత్తాన్ని గీయడానికి కూడా నేను అలా చేయాలి. - 187. కాబట్టి, వీటిలో అన్నిటికీ కోడ్ యొక్క ఒక సాధారణ భాగంగా ఉంటుంది, ఇది ఈ విభిన్న డ్రా ఫంక్షన్లకు వెళ్తుంది. - 188. అత్యుత్తమమైనది ఏమిటంటే కోడ్ యొక్క ఆ సాధారణ పార్ట్ ని నేను తీసుకొని రూట్లో ఉంచాను. - 189. కాబట్టి, నేను కేవలం ఏమి చేయాలో నేను త్రికోణం కోసం డ్రా ఫంక్షన్ ఇంప్లిమెంటింగ్ చేస్తున్నప్పుడు, నేను కేవలం షేప్ డ్రా ఫంక్షన్ని ప్రయోగించాను. - 190. మేము మునుపు చూసిన ఈ ఉదాహరణలో, ప్రింట్ ఉదాహరణలో మీరు పేరెంట్ క్లాస్ ని ఉపయోగించడం ద్వారా నేరుగా మీ పేరెంట్గా ఏర్పరుచుకుంటూ ఇన్హెరిటబుల్ ఫంక్షన్ ను కాల్ చేయవచ్చు. - 191. నేను పాలిగాన్ ద్వారా ప్రచారం చేయగలిగితే అది కూడా నేను దీన్ని వాస్తవంగా ఒక పాలిగాన్ అని చెప్పాను: డ్రా(). - 192. కాబట్టి ఇది ఈ విధంగా కాల్ చేస్తుంది మరియు ఆ విధంగా షేప్ ని కాల్ చేస్తుంది, కానీ డ్రా కోసం నేను త్రిభుజం మరియు క్వాడ్రిలేటరల్ వాటాను ఏవిధంగా ఏవిధమైన రీజనబుల్ లాజిక్ను కనుగొనలేకపోతున్నాను, ఇది బహుభుజి ఫంక్షన్ యొక్క డ్రా ఉంటుంది, డ్రా. - 193. కానీ ఖచ్చితంగా అది ఒక నిర్దిష్ట geometric object గీయడం ముందు అన్ని అవసరమైన బ్రష్ ప్రారంభ మరియు stuff వంటి చేయవచ్చు ఇది షేప్ ఫంక్షన్ డ్రా నుండి భాగస్వామ్యం చేసే చాలా ఉంది. - 194. సో, ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడి కలిగి ఉండవచ్చు, మరియు అది యొక్క వర్చువాలిటీ పరంగా పడుతుంది అవకాశం ఉంది. - 195. సో, ప్యూర్ వర్చువల్ ఫంక్షన్స్, నేను ప్రత్యేకంగా నొక్కి చెప్పాను ఎందుకంటే నేను చాలా పాఠ్యపుస్తకాలను చూశాను, ఈ విషయాన్ని స్పష్టం చేయవద్దు. - 196. వారు కేవలం ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడీ లేదు, కానీ నేను ప్యూర్ వర్చువల్ ఫంక్షన్స్ ఒక బాడీ లేదు అని స్పష్టం చేస్తున్నాను; నేను ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడీ ని కలిగి ఉండవు. - 197. వారు కావాలనుకుంటే, కానీ ప్యూరిటీ అనేది మీరు ప్యూర్ గా ఉందని డిఫైన్ చేయాలి మరియు సంబంధిత క్లాస్ ని ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గా నడిపిస్తారనే విషయాన్ని సూచిస్తుంది. - 198. కాబట్టి, నేను దీనిని చేస్తే సహజంగా నా మునుపటి అవుట్పుట్ మారుతుంది. - 199. ఇప్పుడు అదే కోడ్ కోసం, నేను ఇండెక్స్ 0 తో ఇక్కడ ఉన్నప్పుడు ప్రాథమికంగా ఉన్నాను - arr [0] -> డ్రా () వాస్తవానికి ఈ ఫంక్షన్ కోసం కాల్ చేస్తోంది, ఇది త్రిభుజం యొక్క డ్రా ఫంక్షన్ అని కాల్ చేస్తుంది. - 200. షేప్ యొక్క డ్రా ఫంక్షన్ అని పిలుస్తున్నారు. - 201. కాబట్టి, ఈ రెండు, మొదటి డ్రా యొక్క ఫంక్షన్ ఫంక్షన్ ఇంప్లిమెంటేషన్ మరియు అప్పుడు ఆ విధంగా కాల్ చేస్తారు ఎందుకంటే, ఇది స్ట్రక్చర్ ద్వారా కాదు. - 202. అదేవిధంగా, చతుర్భుజం కోసం, అదే విధంగా సర్కిల్ కోసం, దీర్ఘవృత్తాంతం కోసం, కాబట్టి ప్రతిసారి మీరు దీన్ని మొదటిసారి కాల్ చేస్తారు. - 203. సో, ఈ ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ యొక్క పాలిమార్ఫిక్ ఫంక్షన్ ఇంప్లిమెంటేషన్ చేయడానికి మాత్రమే మార్గం కాదు, అయితే ఇది మీరు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కోసం ఇంప్లిమెంటేషన్ లోఉపయోగించవచ్చు పేరు మార్గాలు ఒకటి. - 204. అయితే, ఇది క్లాస్ ల అబ్స్ట్రాక్ట్ భావనను మార్చదు, మరియు షేప్ మరియు క్లాస్ క్లోజ్డ్ కానిక్స్ అబ్స్ట్రాక్ట్ గా ఉంటాయి మరియు వాటికి ఎటువంటి ఇన్స్టెన్స్ లు క్రియేట్ చేయబడవు. - 205. కాబట్టి, ముగియడానికి, మేము ఎందుకు డిస్ట్రక్టర్స్ వర్చువల్ గా ఉండాలి గురించి చర్చించారు. - 206. మరియు పాలిమార్ఫిక్ హైరార్కీ పని చేయగలగడానికి, మేము ప్యూర్ వర్చువల్ ఫంక్షన్లను పరిచయం చేసాము మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ భావనను ప్రవేశపెట్టింది. - 207. తదుపరి మాడ్యూల్లో, క్లాస్ హైరార్కీ పై కొన్ని డిజైన్ మరియు కోడ్ ప్రాసెసింగ్ను వాస్తవంగా చేయడానికి ఈ టూల్స్ ను ఎలా ఉపయోగించవచ్చో చూపించడానికి మేము మరిన్ని ఉదాహరణలను తీసుకుంటాము. - 208. + ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్ 28 కు స్వాగతం. + మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి చర్చించాము. + ఈ సందర్భంలో మాడ్యూల్ 26 లో, మేము ప్రత్యేకంగా కాస్టింగ్ మరియు డౌన్ కాస్టింగ్ సమస్యల అప్ కాస్టింగ్ గురించి చర్చించాము. + ఆపై చివరి మాడ్యూల్ లో, మేము అధికారికంగా బైండింగ్ యొక్క నోషన్ను ప్రవేశపెట్టారు. + ఒక పాయింటర్ లేదా రెఫరెన్స్ లో నేను ఒక ఫంక్షన్ వాడకాన్ని ప్రారంభించేటప్పుడు, కంపైలర్ ఇన్వోక్ చేయబడే యక్చువల్ ఫంక్షన్ను ఎలా పరిష్కరించగలదు, అది నాన్-వర్చువల్ ఫంక్షన్ల కోసం చేయబడే స్టాటిక్ స్ట్రాటజీ పై ఆధారపడినదా లేదా వర్చువల్ ఫంక్షన్ల కోసం డైనమిక్ స్ట్రాటజీ పై ఆధారపడినదా అని. + C ++ లో నిశ్చయించబడిన స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క ప్రాధమిక నియమాలు ఏమిటో చూశాము. + మరియు మేము చూసినప్పుడు ఒక నిర్దిష్ట క్లాస్ ఒక వర్చువల్ ఫంక్షన్ ఉన్నప్పుడు ఆ ఫంక్షన్ ఇన్హెరిటడ్ గా లేదా ఫంక్షన్ ఆ క్లాస్ లో పరిచయం ఇది ఒక పాలిమార్ఫిక్ టైప్ అవుతుంది. + మరియు ఆ ఆధారంగా, మేము సాధారణంగా పాలిమార్ఫిక్ హైరార్కీలు గురించి చర్చించడం మరియు పూర్తిగా ఆబ్జెక్ట్ ఓరియంటెడ్ పేరాడిమమ్ పరంగా వారు చాలా ఉపయోగకరంగా మోడలింగ్ మరియు ప్రోగ్రామింగ్ సాధనంగా ఎలా మీరు వర్ణించేందుకు ప్రయత్నించాము. + ఈ ప్రత్యేక మాడ్యూల్ లో, మేము ఆ పాలిమార్ఫిక్ టైప్ ని కొనసాగిస్తాము. + మరియు ప్రత్యేకంగా పాలిమార్ఫికల్ హైరార్కీలో డిస్ట్రక్టర్స్ ఎందుకు వాస్తవికంగా ఉండాలి ఎందుకు అర్థం చేసుకోవడానికి ప్రయత్నించండి. + మరియు మేము పాలిమార్ఫిక్ హైరార్కీ తో ఎలా పని చేయాలో తెలుసుకునేందుకు కూడా ప్రయత్నిస్తాము. + కాబట్టి, ఒక ప్రత్యేకమైన విషయంలో మా సరిహద్దును రూపొందించడానికి చర్చించటానికి మూడు అంశాలు ఉన్నాయి మరియు మనకు ఎడమ చేతి వైపు కనిపిస్తాయి. + సో, మొదట వర్చువల్ డిస్ట్రక్టర్. + కాబట్టి, మాకు ఒక ఉదాహరణతో ప్రారంభించండి. + కాబట్టి, ఇది ఉదాహరణ. + క్లాస్ B, బేస్ క్లాస్ ఉంది, ఇది కొన్ని Int టైప్ డేటాను కలిగి ఉంటుంది. + B నుండి ప్రత్యేకంగా ఉన్న క్లాస్ D మరియు ఇది ఇంటీజర్ టైప్ కి చెందిన డేటాకు ఒక పాయింటర్. + కన్స్ట్రక్టర్ వద్ద చూడండి, కన్స్ట్రక్టర్ కేవలం విలువను తీసుకుంటుంది మరియు మెంబర్ కు సెట్స్ ను కేటాయించవచ్చు. + డిస్ట్రక్టర్ అది ఏమీ చేయదు. + మేము కన్స్ట్రక్టర్ కి మరియు డిస్ట్రక్టర్ లో మెసేజస్ (messages)ను ఉంచాము, తద్వారా మేము ఏమి జరుగుతుందో తెలుసుకోవచ్చు మరియు అర్థం చేసుకోవచ్చు. + అదేవిధంగా, నేను డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ ని కలిగి ఉంటే, అది రెండు నంబర్స్ ను తీసుకుంటుంది; మొదట బేస్ పార్ట్ ని కన్స్ట్రక్ట్ చేయడానికి ఉపయోగిస్తుంది, ఒక బేస్ పార్ట్ కన్స్ట్రక్టర్ ని కాల్ చేస్తుంది; రెండవది దాని స్వంత పాయింటర్ డేటాను ప్రారంభించడం కోసం ఉపయోగిస్తుంది, ఇది డైనమిక్ D 2 యొక్క విలువతో ఇంటీజర్ ను కేటాయించి మరియు Ptr మెంబర్ కి ఒక పాయింటర్ను సెట్ చేస్తుంది. + ఇది జరిగింది అని చెప్పడానికి ఒక మెసేజ్ ఉంది. + Derived క్లాస్ యొక్క destructor వస్తున్నట్లు, మేము డిస్ట్రక్టర్ వాడుతున్నారు అని ఒక మెసేజ్ ను కలిగి ఉంది. + మరియు ఇప్పుడు అప్పటి నుండి ఆబ్జెక్ట్ డిస్ట్రాయ్ చేయబడబోతుంది; అది ptr పాయింటర్లో డైనమిక్ కేటాయింపును కలిగి ఉంది, కాబట్టి కేటాయింపు విడుదల చేయబడాలి. + కాబట్టి, మనము ఇక్కడే డెలీట్ చేద్దాం. + క్లాస్ ల లోపల ఏమిటో చూడగలగడంతో పాటు, మేము ఒక ఉపయోగ ప్రింట్ ఫంక్షన్లను ఉపయోగిస్తాము మరియు మనము ప్రింట్ ఫంక్షన్ వర్చువల్ని ఇన్వోక్ చేస్తాము, కాబట్టి ఇది పాయింటర్ నుండి తీసుకోబడుతుంది మరియు ఆబ్జెక్ట్ టైప్ ని బట్టి ఉంటుంది, అది సరైన ప్రింట్ డేటా లేదా డేటా మరియు పాయింటర్ గాని. + కాబట్టి, ఇక్కడ డేటా ప్రైవేట్ లో డేటా ఓవర్రెడ్ ప్రింట్ ఫంక్షన్ D వాస్తవానికి డేటా యాక్సెస్ చేయలేము. + కాబట్టి, ఈ ఫంక్షన్ నేను cout రాయలేదు; డేటా D క్లాస్ మెంబర్ అయినప్పటికీ, డేటాను ఇక్కడ ప్రైవేట్గా ఉన్నందున నేను దీన్ని రాయలేను, అందువల్ల దీన్ని ఆక్సెస్ చెయ్యలేము. + కాబట్టి, మనమేమి చేస్తున్నామో మనము సరళమైన ట్రిక్ని అనుసరిస్తాము. + మేము B క్లాస్ లో సంబంధిత మెంబర్ ఫంక్షన్ ని ఇన్వోక్ చేస్తాము. + అందువల్ల, నేను B ను నేరుగా ఇన్వోక్ చేద్దాం: ప్రింట్(),ఇది ఈ క్లాస్ ఫంక్షన్ ను ఇన్వోక్ చేస్తుంది B క్లాస్ లోకి డి తీసుకున్న డిరైవ్డ్ క్లాస్ D యొక్క ఈ పాయింటర్తో పిలవబడుతుంది. + మరియు ఈ ఇన్వొకేషన్ వాస్తవానికి టైప్ B యొక్క ఈ పాయింటర్ కావాలి, జరిగేది మేము హైరార్కీ పైకి వెళ్తున్నాం, కాబట్టి ఒక అప్కాస్ట్ ఆటోమెటిక్ గా జరుగుతుంది. + కాబట్టి, దీని అర్ధం ఏమిటి. + కాబట్టి, మీరు మరింత లిటరేచర్ ద్వారా వెళ్ళగలిగేలా చూసే కోడ్ గురించి ఉంది. + మరియు ఇప్పుడు అప్లికేషన్ లో మేము ఒక B క్లాస్ ఆబ్జెక్ట్ క్రియేట్ చేస్తాం, మేము ఒక D క్లాస్ ఆబ్జెక్ట్ క్రియేట్ చేస్తాం మరియు వాటి రెండు పాయింటర్లో ఉంచండి, మరియు మేము ప్రింట్ చేస్తాం. + మరియు ఖచ్చితంగా మేము క్రియేట్ నుండి చేస్తే, ఇది బి క్లాస్ ఆబ్జెక్ట్ ను కన్స్ట్రక్ట్ చేస్తుంది. + ఈ రెండు D క్లాస్ ఆబ్జెక్ట్ కన్స్ట్రక్షన్ నుండి వచ్చి ఎందుకంటే D క్లాస్ ఆబ్జెక్ట్ యొక్క మొదటి B పార్ట్ కన్స్ట్రక్టడ్ అప్పుడు D పార్ట్, అప్పుడు మీరు ఈ మెంబర్ చూడండి వంటి, మీరు 2, 3, 5 చూడండి ప్రింట్ అలా కాబట్టి ఈ పాయింట్ ఆసక్తికరమైన ఏమీ లేదు. + కాబట్టి, దీని గురించి మర్చిపోతే అన్నింటికీ ఏర్పాటు చేయబడింది. + మరియు అప్పుడు మేము ఈ పాయింటర్ లు కోసం డిలీట్ ఉంది. + మేము ప్రాథమికంగా ఆబ్జెక్ట్ ను డిలీట్ చేయాలనుకుంటున్నాము. + కాబట్టి, నేను దీనిని డిలీట్ చేసినట్లయితే, ఇది నా B క్లాస్ డిస్ట్రక్టర్ను చేజిక్కించుకోవాలి, కనుక ఇది చాలా బాగుంది. + చివరగా, డి యొక్క destructor ఇన్వోక్ మరియు నేను ఏమి చూడండి అని q న డిలీట్ యొక్క destructor ఇన్వోక్. + నేను D యొక్క destructor పొందలేము, నేను ఈ ప్రింట్ ని పొందలేము. + సో, ఎందుకు ఇది? ఇప్పుడు మన మనస్సును అన్వయిస్తూ, ఈ డిస్ట్రక్టర్ చూసేదానికి ఏది జరుగుతుందో ఆలోచిస్తే, డిస్ట్రక్టర్స్ ఒక విధముగా ఉన్నారు, అవి మెంబర్ ఫంక్షన్ డిఫైన్ చేయబడిన నాన్ వర్చువల్ గా ఉన్నాయి. + కాబట్టి, నేను Q లో డడెలీట్ చేయాలనుకున్నప్పుడు ఏమి జరుగుతుంది, అప్పుడు q యొక్క టైప్ ఏమిటో నిర్ణయించవలసి ఉంటుంది, అంటే కంపైలర్ మనము చూడవలసినది. + కాబట్టి, కంపైలర్ q మరియు q ల ఆధారంగా నిర్ణయించాలని కోరుకుంటుంది. + కాబట్టి, ఇది క్లాస్ B కి వెళ్లి, ఏ డిస్ట్రక్టర్ అని కాల్ చేయబడాలని నిర్ణయిస్తుంది, అది ఒక డిస్ట్రక్టర్ ఉంది మరియు ఈ డిస్ట్రక్టర్ నాన్-వర్చువల్ అని తెలుస్తుంది. + సో, అది పూర్తి కాల్స్. + D యొక్క destructor అని కాల్ చేయబడుతుంది ఎప్పటికీ, ఎందుకంటే నిజానికి మేము ఈ ఆబ్జెక్ట్ డిస్ట్రాయ్ చేయడానికి అవసరమైన, మేము D యొక్క destructor లో కాల్ అవసరం ఇది క్రమంగా B యొక్క destructor కాల్ మరియు విషయాలను సరిగా అది ఎలా జరుగుతుంది. + కాబట్టి, ఇక్కడ కాల్ తప్పు స్థానంలో అడుగుపెట్టింది. + కాబట్టి, ఇది డిస్ట్రక్టర్ వర్చువల్ని తయారు చేయడానికి అవసరమైన డిస్ట్రక్షన్ యొక్క ప్రాథమిక సమస్య. + సో, ఇది పరిష్కారం చాలా సులభం. + మీరు చేస్తున్నది అన్నిటిని p యొక్క destructor ముందు వర్చ్యువల్ అని వ్రాయండి. + ఈ పాయింట్ వరకు విభిన్నమైనది ఏమీ లేదు, ఊహించిన ప్రవర్తన మరియు అవుట్పుట్ లో వేరైనది ఏదీ లేదు. + ఇప్పుడు మీరు q, q అనే టైప్ B ను డెలీట్ చేయాలంటే, ఏమి జరుగుతుందో అది క్లాసు B కి వెళుతుంది, కంపైలర్ క్లాస్ B కి కి సెట్ చేస్తుంది. + మీరు డిస్ట్రక్ట్ వర్చ్యువల్ అని తెలుసుకుంటే, పాయింటర్ యొక్క టైప్ ని బట్టి కాదు, కానీ వస్తువు యొక్క రకం అది సూచిస్తుంది. + మరియు ఆబ్జెక్ట్ టైప్ ఏమిటి, డైనమిక్ టైప్ డైనమిక్ టైప్ D అంటే ఏమిటి, కాబట్టి మేము దీన్ని చేసినప్పుడు, నిజానికి ఈ పాల్గొంటుంది ఇది ఈ D యొక్క destructor లేవనెత్తుతుంది లేదు, ఇది క్రమంగా B యొక్క destructor ఇన్వోక్ కాబట్టి, మీరు D యొక్క destructor దీనిని ఉపయోగించుకున్నారని గమనించండి, ఇది డెలీట్ చేయబడుతుంది మరియు ఈ సమయంలో B యొక్క destructor ఉపయోగించబడుతుంది. + అందువల్ల, మీరు బి తీసుకువచ్చినట్లు చూడాలి. + మేము ముందు చూసిన పాలిమార్ఫిజం హైరార్కీ యొక్క నియమం ప్రకారం, B యొక్క destructor వర్చువల్ ద్వారా ఇన్హెరిటెన్స్ గా ఉంది ఎందుకంటే D యొక్క destructor కూడా వర్చువల్. + ఇది వర్చువల్ అని వ్రాయడం నాకు అవసరం లేదు. + కానీ అది లేకుండానే ఈ వర్చువల్ లేనట్లయితే నేను ఈ సమస్యను ఎదుర్కొంటున్నాను. + మరియు ఆ యొక్క పరిణామం, d ఆబ్జెక్ట్ లో క్రియేట్ చేయబడిన పాయింటర్ విడుదల లేదు. + కాబట్టి, ఒక బేస్ క్లాస్ పార్ట్ కలిగిన ఒక డిరైవ్డ్ క్లాస్ నుండి నాకు ఒక ఆబ్జెక్ట్ ఉన్నప్పుడు నేను చెప్పగలను. + మరియు నేను ఒక బేస్ క్లాస్ పాయింటర్ నుండి పట్టుకొని చేస్తున్నాను, డిస్ట్రక్టర్ వర్చువల్ లేకపోతే అది కేవలం పాయింటర్ యొక్క బేస్ క్లాస్ పార్ట్ గా చూడటం ఉంది. + కాబట్టి, ఇది ఆబ్జెక్ట్ యొక్క ఈ పార్ట్ ని మాత్రమే డెలీట్ చేస్తుంది. + ఇది ఆబ్జెక్ట్ యొక్క మిగిలిన పార్ట్ ని డెలీట్ చేయదు. + కాబట్టి, ఆ ఆబ్జెక్ట్ ను డిస్ట్రక్ట్ చేయడానికి ప్రయత్నిస్తుంది; ఇది ఈ సమయంలో ఆ ఆబ్జెక్ట్ ను స్లైస్ చేయడానికి ప్రయత్నిస్తుంది మరియు ఒక పార్ట్ విడుదలలు మాత్రమే చేస్తుంది. + కాబట్టి, ఇది చాలా ప్రమాదకరమైనది, ఎందుకంటే మీరు కొంతమందిని కలిగి ఉంటారు, మీరు సిస్టమ్ లో మిగిలిపోయిన పార్ట్ లను ముక్కలుగా చేసి, సిస్టమ్ స్థిరంగా ఇక్కడకు వస్తారు. + సో, మీరు హైరార్కీ లో ఉంటే అప్పుడు బేస్ క్లాస్ లో డిస్ట్రక్టర్ ఒక వర్చుర్ ఫంక్షన్ ఉంటుంది నిర్ధారించుకోండి. + ఇప్పుడు మీరు బేస్ క్లాస్ వర్చుర్ యొక్క destructor తయారు క్షణం అర్థం, లేకపోతే ఈ మొత్తం మెకానిజం పనిచేయదు ఎందుకంటే, మొత్తం క్లీనప్ కన్సిస్టన్సీ(consistency) పని చేయదు. + కానీ మీరు బేస్ క్లాస్ వర్చువల్ యొక్క destructor తయారు చేసినప్పుడు, అనగా, మీరు ఈ వంటి మరొక పాలిమార్ఫిక్ ఫంక్షన్ లేదా లేదో సంబంధం లేకుండా బేస్ క్లాస్ పాలిమార్ఫిక్ మారింది; ఇక్కడ వంటి, మేము మరొక పాలిమార్ఫిక్ ఫంక్షన్ కలిగి. + కానీ మనకు లేనప్పటికీ, మనకు ఈ ప్రింట్ ఫంక్షన్ లేనప్పటికీ, ఈ వర్చువల్ క్లాస్ B ను రూట్ క్లాస్ B చేస్తే క్షణం, పాలిమార్ఫిక్ టైప్ గా మారుతుంది మరియు కనుక ఇది అన్ని క్లాస్ ల నుండి ప్రత్యక్షంగా లేదా పరోక్షంగా అన్ని పాలిమార్ఫిక్ అవుతుంది. + కాబట్టి, మొత్తం అధిక్రమం పాలిమార్ఫిక్ అవుతుంది. + కాబట్టి, ముందుగా చెప్పిన కారణాలలో ఇది ఒకటి, నేను ఒక హైరార్కీ కలిగి ఉంటే అది నాన్-పాలీమోర్ఫిక్ కాదని భావించడం లేదు, ఇది చాలా ఆసక్తిని కలిగి ఉండదు. + కాబట్టి, పాలిమార్ఫిక్ హైరార్కీలో డిస్ట్రక్టర్ వర్చువల్ కానట్లయితే, అది స్లైసింగ్(slicing) కి దారితీస్తుంది. + కనుక, బేస్ క్లాస్లో డిస్ట్రక్టర్ తప్పక వర్చువల్గా ప్రకటించబడాలి. + మాకు కొన్ని ఇతర ఆసక్తికరమైన సమస్య పరిశీలిద్దాం. + మనము షేప్స్ యొక్క హైరార్కీని పరిశీలిద్దాము మరియు మా ప్రాథమిక ఉద్దేశ్యం, ఈ షేప్స్ కాన్వాస్పై ఉన్న గ్రాఫిక్ సిస్టమ్ ను నిర్మించటానికి ప్రయత్నిస్తున్నాం. + కాబట్టి, కాన్వాస్ ఉన్నట్లయితే మరియు ఆ కాన్వాస్లో, ఈ షేప్స్ లోని ఆబ్జెక్ట్ లను ఈ షేప్ యొక్క విభిన్న రకాల ఆబ్జెక్ట్ లను నేను డ్రా చేయాలనుకుంటున్నాను, అందువల్ల ఆ లోతైన లక్ష్యంలో ఉంది. + మరియు మేము చేస్తున్న అనేక ఇతర గ్రాఫిక్ విషయాలు ఉండవచ్చు, కానీ ఆ ఆధారంగా మేము ఒక హైరార్కీక్రియేట్ చేయడానికి. + కాబట్టి, ఒక షేప్ ఉంది, ప్రాథమికంగా పాలిగోనల్ షేప్స్ మరియు క్లోజ్డ్ కర్వ్స్ వంటి క్లోజ్డ్ కోనిక్స్ రెండు రకాల షేప్స్ ఉన్నాయి, ఇతరులు కూడా ఉండవచ్చు. + పాలిగన్ లో, మనకు త్రిభుజం, చతుర్భుజం ఉన్నాయి; క్లోజ్డడ్ కోనిక్స్ లో చాలా ఎక్కువ ఉండవచ్చు, మనకు ఎలిప్స్, సర్కిల్ మరియు మొదలైనవి ఉన్నాయి. + కాబట్టి, ఇది చాలా సులభం. + మరియుమనం చేయాలనుకుంటున్నది మనము ఇక్కడ పాలిమార్ఫిక్ డ్రా ఫంక్షన్ కావాలి, ఎందుకంటే మీరు ట్రయాంగల్ గీయగలగడము ట్రయాంగల్ ను డ్రా చేయడం అన్నది ప్రాథమికంగా లైన్ యొక్క మూడు సెగ్మంట్లను గీయడం. + కానీ ఒక సర్కిల్ గీయడం అనేది ఒక చిన్న చురుకైన ఆపరేషన్, ఇది ఒక ఎలిప్స్ ను గీయడం వల్ల కొన్ని అల్గారిథమ్లను మరింత క్లిష్టంగా ఉపయోగిస్తుంది, కానీ దీనికి విరుద్ధంగా ఒక quadrilateral ఉంటుంది. + కాబట్టి, మనం ఒక హైరార్కీ కలిగి ఉండాలనుకుంటున్నాము, ప్రతిచోటా మనకు డ్రాయింగ్ ఫంక్షన్ ఉంటుంది, కాబట్టి మనం కేవలం నిజంగా మనకు ఏ నిర్దిష్ట ఆబ్జెక్ట్ గురించి ఇబ్బంది పెట్టకూడదు. + మరియు దాని తో, మేము డైనమిక్ బైండింగ్ యొక్క ఉపయోగం ద్వారా ఉండాలి లేదా మీరు సంబంధిత క్లాస్ యొక్క రైట్ డ్రా ఫంక్షన్ తో ఉండాలి, కాబట్టి మేము ఏమి చేయాలనుకుంటున్నారో అది. + సో, మీరు డ్రాయింగ్ అల్గోరిథం ఆధారంగా ప్రతి క్లాస్ లో డ్రాగా భర్తీ చేయబడుతుంది హైరార్కీ కోసం ఒక పాలిమార్ఫిక్ డ్రా ఫంక్షన్ కలిగి ఉండాలనుకుంటున్నాను. + ఇప్పుడు మనం కూరుకుపోతున్నాను ఎందుకంటే నేను ఈ కలిగి ఉంటే అప్పుడు ఖచ్చితంగా నేను డ్రాయింగ్ ఫంక్షన్ అవసరం, మార్గంలో నేను డ్రాయింగ్ ఫంక్షన్ అవసరం షేప్ క్లాస్. + కాబట్టి, కానీ నేను ఒక షేప్ మీరు డ్రా చేయవచ్చు ఉంటే ప్రశ్న, అది ఏకపక్ష షేప్ లో డ్రా సాధ్యం కాదు. + వాస్తవానికి, పదాలు ఏకపక్ష షేప్ కోసం మాత్రమే మనం ప్రాతినిధ్యం వహించలేము. + కాబట్టి, మనకు కొన్ని mathematical కర్వ్స్ అవసరం, షేప్స్ ని ప్రతిబింబించేలా కొన్ని నిర్వచనాలు ఉంటాయి, తద్వారా మేము పరిష్కరించడానికి ప్రయత్నిస్తున్న సమస్య యొక్క జెనెసిస్. + కాబట్టి, పాలిమార్ఫిక్ హైరార్కీ షేప్స్ కోసం మనం డ్రా() ఒక వర్చువల్ ఫంక్షన్ గా ఉండాలి, షేప్స్ క్లాస్ మెంబర్ గా ఉండాలి, తద్వారా పాలిమార్ఫిక్ డిస్పాచ్ పనిచేయగలదు. + తద్వారా నేను ఒక షేప్ క్లాస్ టైప్ చూపవచ్చు ఇది యాక్చువల్ ఆబ్జెక్ట్ ఇన్స్టెన్స్ లను ఏ కలిగి త్రిభుజం, ఒక దీర్ఘచతురస్ర యొక్క ఏకవచనం, ఉనికిలో ఆబ్జెక్ట్ యొక్క వివిధ టైప్ ల ఏదైనా. + మరియు మనము కేవలం సూటిగా ఇన్వోక్ చేయగలిగిన షేప్ నుండి తీయగలగాలి, మనము కేవలం డ్రాని చేయగలగాలి మరియు అది పాలిమార్ఫికల్గా ప్రత్యేకమైన గీత యొక్క ప్రత్యేకమైన డ్రా ఫంక్షన్ కు నేను పంపబోయే ఆబ్జెక్ట్ ను కూడా నేను సూచించాను. + కానీ ఖచ్చితంగా మేము షేప్ క్లాస్ లో డ్రా ఫంక్షన్ యొక్క బాడీ రాయలేదు, ఎందుకంటే మనకు అల్గోరిథం తెలియదు. + కాబట్టి, ఇది ఒక నూతన భావన పరిచయం చేయబడింది, ఇది ప్యూర్ వర్చువల్ ఫంక్షన్ అని పిలుస్తారు. + మరియు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అది సిగ్నేచర్ కలిగి ఉంటుంది, కానీ ఏ బాడీ లేదు. + దీనికి కొన్ని ఎక్సెప్షన్స్ మేము చూస్తాము, కానీ ప్రాథమిక భావన సిగ్నేచర్ తో ఉంది, అందుచే నేను దానిని కాల్ చేస్తాను, కానీ నేను దానిని అమలు చేయలేనందున అది బాడీ లేదు; అదృష్టము అనిపిస్తుంది, కాని అది మనము ఎలా సరిపోతుందో చూద్దాం. + ఇప్పుడు, నేను ఒక క్లాస్ లో ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, కనీసం ఒక, అప్పుడు నేను ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ . + ఇప్పుడు ఈ వర్చువల్ ఫంక్షన్ - ప్యూర్ వర్చువల్ ఫంక్షన్ ఇన్హెరిటడ్ గా ఉండవచ్చు లేదా క్లాస్లో డిఫైన్ చేయబడవచ్చు, అది నాకు పట్టింపు లేదు. + కానీ ఒక క్లాస్ ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, అది ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్, దాని అర్థం ఏమిటి, దాని అబ్స్ట్రాక్ట్ గురించి ఏంటి. + కాబట్టి, మూడో పాయింట్ ఇది అన్ని చెప్పారు. + అబ్స్ట్రాక్ట్ బేస్ క్లాస్ కోసం ఎటువంటి ఇన్స్టెన్స్ క్రియేట్ చేయబడదు; ఒక అబ్స్ట్రాక్ట్ బేస్ ప్రతిదీ కలిగి ఉంది, కానీ అది ఒక ఆబ్జెక్ట్ ఇన్స్టెన్స్ క్రియేట్ చేయడానికి కాదు. + ఎందుకు అది ఒక ఆబ్జెక్ట్ ఇన్స్టెన్స్ ను క్రియేట్ చేయలేరు. + సందర్భానుసారంగా, ఇది చాలా స్పష్టంగా ఉంటుంది, ఎందుకంటే నాకు ప్యూర్ వర్చువల్ ఫంక్షన్ ఉంటే నాకు సిగ్నేచర్ తెలుసు, నాకు బాడీ తెలియదు, నాకు అల్గోరితమ్ తెలియదు నేను ఆబ్స్ట్రాక్ట్ బేస్ క్లాస్ యొక్క ఒక ఆబ్జెక్ట్ ను క్రియేట్ చేస్తే, ఆ ఆబ్జెక్ట్ ను ఉపయోగించి నేను ఆ అబ్స్ట్రాక్ట్ బేస్ క్లాస్ మెంబర్ గా ఉన్న ప్యూర్ వర్చువల్ ఫంక్షన్ని ఇన్కోక్ట్ చేయగలదు, కానీ నాకు అలాంటి అల్గోరిథం లేదు కాబట్టి నేను ఏమి ఎగ్జిక్యూట్ చేయాలి. + కాబట్టి, మేము పరిమితం చేసే మార్గం ఏమిటంటే, ఏ సందర్భంలోనూ క్రియేట్ చేయలేము. + ఎందుకంటే, ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ను క్రియేట్ చేయడం ఎలాంటి కన్స్ట్రక్టర్ లేదా డిస్ట్రక్టర్ ను కలిగి ఉండదు. + కానీ ఇది ఇతర వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, ఇది మరింత ప్యూర్ వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, ఇది నాన్-ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటుంది, ఇది నాన్-వర్చువల్ ఫంక్షన్లను కలిగి ఉండవచ్చు, ఇది డేటా మెంబర్లను కలిగి ఉంటుంది మరియు అందువలన మరియు మొదలగునవి. + సహజంగా, ఇది డేటా మెంబర్లను కలిగి ఉంటే, డేటా మెంబర్లను ప్రొటెక్ట్ చేయాలని మేము కోరుతున్నాము, అయితే ఈ క్లాస్ యొక్క ఒక ఉదాహరణను మీరు ఊహించనందున అది మీకు కావాల్సినది అని నేను చెపుతున్నాను ప్రైవేటు మరియు పబ్లిక్గా మీరు వాటిని కలిగి ఉండటం సాధ్యమే. + కాబట్టి, మీరు ఈ క్లాస్ యొక్క ఒక ఉదాహరణ ఊహించకపోతే, మీరు క్లాస్ మాత్రమే డేటా మెంబర్లను ఉపయోగించి కొన్ని కంప్యుటేషన్ చేస్తున్నారని మీరు ఆశించరు. + అందువల్ల, డేటా మెంబర్లను అక్కడ ఉంటారు, తద్వారా డిరైవ్డ్ క్లాస్ లు వాటిని ఉపయోగించగలవు. + కాబట్టి, వారు కాపాడబడాలని సహేతుకమైనది. + వాస్తవానికి, మీరు వారిని పబ్లిక్ గా కలవగలరు, కానీ అది ప్రాథమిక ఎన్కాప్సులేషన్ నియమాన్ని ఉల్లంఘిస్తుంది. + అదేవిధంగా, క్లాస్ యొక్క మెంబర్ ఫంక్షన్ లు సాధారణంగా పబ్లిక్ అవుతాయి, ఎందుకంటే ఖచ్చితంగా మనకు ఒక ఇన్స్టెన్స్ ఉండదు, కనుక మీకు ఒక ఇన్స్టెన్స్ లేకపోతే, అది ఖచ్చితంగా డిరైవ్ క్లాస్ ల హైరార్కీ కు మేము ఈ ఫంక్షన్లను ఉపయోగించడానికి వెళ్తాము. + కానీ, మీరు ప్రైవేటు లేదా ప్రొటెక్టడ్ మెతడ్ లను కలిగి ఉండటం సాధ్యమే. మరియు వివిధ రకాల ట్రిక్స్ ను చేస్తాము హైడ్ చేసి ఎన్కాప్సులేషన్ చేయడానికి. + మరియు అప్పటి నుండి, ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గురించి మాట్లాడుతున్నాం, కాంక్రీట్ క్లాస్ ఉన్నాయి, ఇది అన్ని ప్యూర్ వర్చువల్ ఫంక్షన్లను అమలుపరచాలి. + ఎందుకంటే మీరు ఇప్పుడు ఉంటే, మీరు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ నుండి ప్రత్యేకంగా ఉంటే, సహజంగా డిరైవ్డ్ క్లాస్ లో, మీరు ఫంక్షన్ ఇన్హెరిట్ గా ఉంటుంది డిఫాల్ట్ లేదు, మీరు ప్యూర్ వర్చువల్ ఫంక్షన్ ఇన్హెరిట్ గా ఉంటుంది. + కానీ మళ్ళీ డిరైవ్డ్ క్లాస్ లో, మీరు ఆ ఫంక్షన్ ఇన్వోక్ చేసే ఒక ఎంపికను లేదు, ఎందుకంటే ఆ ఫంక్షన్ ఒక బాడీ లేదు. + అంతేకాక, మీరు చివరకు ఆబ్జెక్ట్ లను క్రియేట్ చేయగలగాలి, ప్యూర్ వర్చువల్ ఫంక్షన్ను నాన్-ప్యూర్ వర్చువల్ ఫంక్షన్గా ఓవర్రైడ్ చేసే కొన్ని డిరైవ్డ్ క్లాస్ లు ఉండాలి మరియు బాడీ ని అందించే వాటిని ఇంప్లిమెంట్ చేస్తాయి, ఇటువంటి క్లాస్ లను కాంక్రీట్ క్లాస్ అని పిలుస్తారు. + కాబట్టి, ఖచ్చితంగా కాంక్రీట్ క్లాస్ లు కోసం, ఇన్స్టెన్స్ లు సృష్టించవచ్చు. + ఇది నియమాల సెట్ చాలా ఉంది. + కాబట్టి, మాకు ఒక ఉదాహరణని అర్థం చేసుకోవడానికి ప్రయత్నించండి. + కాబట్టి, నేను షేప్స్ యొక్క హైరార్కీ చూపించాను. + ఈ సమయంలో, మీరు హైరార్కీ యొక్క కొంచెం కోల్పోయినట్లు అనిపిస్తుంది, అది ఆ స్లయిడ్ నుండి ప్రింట్ ను తీసి, దాని వైపు ఉంచడం మంచిది, అందువల్ల మీరు దాన్ని త్వరగా రెఫర్ చేయవచ్చు. + నేను కలిసి చూపించడానికి తగినంత స్పేస్ లేదు, కానీ అది రూట్ క్లాస్ షేప్స్ యొక్క బేస్ క్లాస్ లో చాలా స్పష్టంగా ఉంటుంది. + కాబట్టి, ఇది ఒక వర్చువల్ ఫంక్షన్ డ్రా ఉంది, ఇది ఏదైనా తీసుకోదు, ఏదైనా రిటర్న్ ఇవ్వదు, కానీ అది ఒక వర్చువల్ ఫంక్షన్ ఉంది. + మరియు మనము '=' సింబల్ అప్పుడు జీరొ అని ఈ ప్రత్యేక నొటేషన్ ను ఉపయోగిస్తాము, ఇది ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అని చెబుతుంది. + మీరు దీనిని కలిగి ఉండకపోతే, అది కేవలం వర్చువల్ ఫంక్షన్, కానీ మీరు దీన్ని ఉంచినప్పుడు, దీనిని ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ అని పిలుస్తారు, అనగా ఇప్పుడు అక్కడ మీరు ఈ ఫంక్షన్ కోసం ఒక ఇంప్లిమెంటేషన్ అవసరం రన్ చేయడానికి మొత్తం కోడ్. + మరియు నేను ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కలిగి నుండి, ఈ షేప్ ప్రాథమిక ఒక abstract బేస్ క్లాస్ అవుతుంది. + ఇప్పుడు, మనము షేప్ కి రెండు స్పెషలైజేషన్లు ఇచ్చాము. ఒకటి పాలిగాన్, మరియు ఒకటి క్లోజ్డ్ conics ఉంది. + ఇప్పుడు పాలిగాన్ లో, నేను ఇన్హెరిట్ చేస్తున్నప్పుడు మేము డ్రా ఫంక్షన్ను ఓవర్రైడ్ చేస్తాము, మరియు పాలిగాన్ ఇప్పుడు ఒక ఇంప్లిమెంటేషన్ ను కలిగి ఉంది. + వాస్తవానికి, ఈ ప్రింట్ మెసేజ్ లో ఇంప్లిమెంటేషన్ ను సూచిస్తుంది. + కాబట్టి, మీరు పాలిగాన్ త్రికోణీకరించబడిన ఒక అల్గోరిథంను అమలు చేయవచ్చు, మరియు ప్రతి త్రిభుజం సంబందించిన విధంగానే సాధ్యం అవుతుంది. + కానీ, ఇప్పుడు మేము ప్యూర్ వర్చువల్ ఫంక్షన్ను ఇన్హెరిట్ గా ఇంప్లిమెంట్ చేసాము. + కాబట్టి, ఇది ఇప్పుడు ఒక సాధారణ వర్చువల్ ఫంక్షన్ అవుతుంది. + అందువలన, క్లాస్ కాంక్రీట్ క్లాస్ అవుతుంది, అది పాలిగాన్ క్లాస్ యొక్క ఉదాహరణలను క్రియేట్ చేయడం సాధ్యమవుతుంది. + ఇతర క్లాస్ లను షేప్స్ నుండి ప్రత్యేకంగా చూడవచ్చు, ఇది క్లోజ్డ్ కానిక్స్. + ఇందులో, అది ఒక క్లోజ్డ్ conics ఉంటే, మీరు కేవలం అది ఒక క్లోజ్డ్ conic చెప్పితే, అది ఒక సర్కిల్ కావచ్చు, అది ఎక్లిప్స్ కావచ్చు. + కాబట్టి, నేను ఒక జెనరిక్ అల్గోరిథం ద్వారా వాటిని ఎలా డ్రా చేయాలో నిజంగా నాకు తెలియదు. + సో, క్లోజ్డ్ కానిక్స్ కు కూడా డ్రా ఫంక్షన్ లేదు. + సో, అది ఏమి, ఇది ఓవర్రైడ్ చేయలేదు, ఇది డ్రా ఫంక్షన్ కు ఏ సిగ్నేచర్ లేదు. + కాబట్టి, ఇది ఏమిటంటే, ఇది స్పెష్యలైజేషన్ షేప్స్ యొక్క షేప్స్ కలిగి ఉంటుంది, ఇది డ్రా ఫంక్షన్ని ఇన్హెరిట్ చేస్తుంది, ఇది షేప్ లో పూర్తిగా వర్చువల్గా ఉంటుంది, అందువల్ల ఇది పూర్తిగా ఇంప్లిమెంటేషన్ చేయబడని సంశ్లేషణల్లో కూడా ఉంది, ఎటువంటి ఇంప్లిమెంటేషన్ అందించబడలేదు. + కాబట్టి, క్లోజ్డ్ కోనిక్ కూడా అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గా కొనసాగుతుంది. + అప్పుడు మీరు పాలిగాన్ నుండి ప్రత్యేకమైన త్రిభుజం, పాలిగాన్ నుండి ప్రత్యేకమైన క్వాడ్రిలేటరల్, వారు తమ స్వంత ఇంప్లిమెంటేషన్ ను ప్రత్యేకంగా కలిగి ఉంటారు. + కాబట్టి, వారు ఫంక్షన్ ఇన్హెరిటింగ్ మరియు ఓవర్రైడ్ చేస్తారు, తద్వారా ఇవి ట్రయాంగిల్ క్వాడ్రిలేటరల్ బేస్ క్లాస్ల కోసం ప్రత్యేకమైన డ్రా ఫంక్షన్లు. + ఆపై ఇతర వైపు పరంగా, క్లోజ్డ్ కానక్స్ పరంగా, సర్కిల్ నుండి క్లోజ్డ్ కానక్స్ ప్రత్యేకంగా ఉంటుంది, క్లోజ్డ్ కానక్స్ నుండి ఎలిప్సు ప్రత్యేకతను కలిగి ఉంటుంది మరియు వారు సర్కిల్ ప్రత్యేక డ్రాయింగ్ అల్గోరిథం లేదా ఎలిప్సిస్ ప్రత్యేక డ్రాయింగ్ అల్గోరిథం మరియు తద్వారా డ్రా ఫంక్షన్ ను అధిగమించవచ్చు. + కాబట్టి, వారు కాంక్రీటు క్లాస్ గా మారతారు. + సో, ఇప్పుడు, అది ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ అని మారుతుంది, క్లోజ్డ్ conics అబ్స్ట్రాక్ట్ బేస్ క్లాస్, ఎందుకంటే వాటిలో రెండు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ డ్రా కలిగి ఉంటాయి. + అన్ని ఇతర ఐదు క్లాస్ లు కాంక్రీటుగా మారాయి, ఎందుకంటే వాటిలో ప్రతి ఒక్కటి ఇంప్లిమెంటేషన్ ను ప్రవేశపెట్టిన కారణంగా ఇన్హెరిటడ్ గా డ్రా ఫంక్షన్ యొక్క ఇంప్లిమెంటేషన్ ను వాగ్దానం చేసింది, ఇది ఓవర్రైడ్ చేయబడింది. + కాబట్టి, ఇప్పుడు ఈ విధంగా, మేము మార్గం చూస్తే మేము కాన్వాస్ క్రియేట్ చేయగలము. + సో, కాన్వాస్ ఇప్పుడు ఒక పాయింటర్ యొక్క అర్రె(array) షేప్, కాబట్టి ఈ షేప్ కి పాయింటర్ ఉంటాయి. + మరియు నేను వివిధ రకాల షేప్స్ ను కలిగి ఉన్నాను, నాకు ఒక త్రిభుజం ఉంది, నాకు చతుర్భుజము ఉంది, నాకు ఒక వృత్తము ఉంది, నేను ఒక దీర్ఘ వృత్తము కలిగి ఉంటాను. + కాబట్టి, నేను ఈ అన్ని కోర్సులను సృష్టించాను వాస్తవ కోడ్లో, చాలా పారామితులు మరియు అన్నింటికీ ఉంటుంది, కాని నేను మొత్తం ప్రక్రియను ప్రదర్శిస్తున్నాను. + కాబట్టి, నేను వేర్వేరు వస్తువులను వివిధ గమనికలు సృష్టించడానికి; వాటిలో ప్రతి ఒక్కటి చివరకు ఆకారం యొక్క ప్రత్యేకత. + కాబట్టి, నేను ఒక డైనమిక్ సృష్టించడానికి ఒక త్రిభుజం సృష్టించడానికి, నేను ఒక త్రిభుజం రకం పాయింటర్ పొందండి. + మరియు త్రిభుజం ఒక పాలిగాన్, మరియు ఒక పాలిగాన్ ఒక షేప్, కాబట్టి నేను షేప్ పాయింటర్ ఈ పాయింటర్ అప్కాస్ట్ చేయవచ్చు నేను ఈ పాయింటర్స్ ను ప్రతి ఒక చేయవచ్చు మరియు వారు అన్ని షేప్ ఉంటాయి. + కాబట్టి, ఇప్పుడు, నాకు ఈ పాయింటర్ యొక్క షేప్ యూనిఫామ్ అర్రె ఉంటుంది, దీని ద్వారా నేను ఈ అన్ని ఫంక్షన్ల యొక్క మెతడ్ లను నిజంగా ఇన్వోక్ చేయగలము. + అప్పుడు నేను కేవలం ఫర్ లూప్ వ్రాస్తాను, కాని నేను సున్నా నుంచి మొదలుపెడతాను, ఈ కోడ్ మీకు తెలిసి ఉండాలి ఈ ప్రాథమికంగా షేప్స్ యొక్క అర్రె లో ఎన్ని ఎలిమెంట్స్ ఉన్నాయి అని కనుగొనేందుకు ప్రయత్నిస్తుంది మరియు మీరు వాటిని చూస్తాము. + కాబట్టి, మనకు ith ఎలిమెంట్ ఉన్నట్లయితే arr[i] ఇది టైప్ షేప్ పాయింటర్. + సో, నేను డ్రా ఫంక్షన్ ఇన్వోక్ చేస్తాను. + కాబట్టి, i 0 గా ఉన్నప్పుడు, అది నిజంగా కొత్త త్రిభుజ విలువను కలిగి ఉంటుంది. + కాబట్టి, ఈ కాల్ నన్ను తీసుకెళ్తుంది, కంపైలర్ మొదట ఇక్కడ మ్యాప్ అవుతుంది, ఎందుకంటే arr షేప్ పాయింటర్ టైప్ మరియు ఇది వర్చ్యువల్ అని తెలుసుకుంటుంది, తద్వారా అది డైనమిక్ డిస్పాచ్గా ఉంటుంది. + అందువల్ల, ఆ డిస్పాచ్ యాక్చువల్ ఆబ్జెక్ట్ పై ఆధారపడి ఉంటుంది. + 0 కోసం, ఇది త్రిభుజం అవుతుంది. + కాబట్టి, ఈ ప్రత్యేక ఫంక్షన్ అని కాల్ కాబడుతుంది. + అప్పుడు ఎప్పుడు అవుతుంది, కాబట్టి ఇది 0 కోసం, 1 కోసం, ఇది చతుర్భుజం. + కాబట్టి, అదే డిస్పాచ్ జరుగుతుంది మరియు ఈ ఫంక్షన్ అని కాల్ చేయబడుతుంది మరియు ఉంటుంది. + కాబట్టి, ఈ కోడ్ కోసం అవుట్పుట్ను త్వరగా చూడాలని ప్రయత్నిస్తే, అవుట్పుట్ ఇలా కనిపిస్తుంది. + కాబట్టి, మొదట కొత్త త్రికోణం, అందువల్ల అవుట్పుట్ లో మీరు చూస్తారు. + త్రిభుజం డ్రా అప్పుడు చతుర్భుజ డ్రా అని పిలువబడింది, అప్పుడు సర్కిల్ డ్రా అని పిలుస్తారు, దీర్ఘవృత్తము డ్రా అని పిలుస్తారు మరియు. + మరియు మనము చేయగలిగినవి అన్నింటికీ చేయవలసి ఉంది రూట్ వద్ద ఫంక్షన్, రూట్ వద్ద పాలిమార్ఫిక్ ఫంక్షన్ అని పిలుస్తాము. + మరియు ఎందుకంటే ప్యూర్ వర్చువల్ ఫంక్షన్ మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ ల పరిచయం సామర్థ్యం, మేము కలిసి ఈ మొత్తం మాడ్యూల్ చేయగలిగారు; లేకపోతే, పాలిగాన్ ల మరియు క్లోజ్డ్ కాన్సిక్స్ల మధ్య ఒకే రకమైన హైరార్కీకి అనుగుణంగా ఎలాంటి మార్గాన్ని పొందలేము, నిజానికి క్లోజ్డ్ కానిక్స్ కూడా ఆ విధంగా సాధారణీకరించబడదు. + సో, ఈ ప్రాథమిక ప్రయోజనం, మీరు పాలిమార్ఫిక్ హైరార్కీఉపయోగించి మొదలు ప్రాథమిక మార్గం ప్రకృతిలో చాలా కాంపాక్ట్ ఇవి కోడ్స్ రాయడానికి మరియు మేము విస్తరణ మరియు మొదలైనవి వంటి ఇతర ప్రయోజనాలు చాలా చూస్తారు. + మరియు ఖచ్చితంగా ఈ సందర్భంలో షేప్ మరియు క్లోజ్డ్ కానిక్స్ క్లాస్ ల ఉదాహరణలు క్రియేట్ చేయబడవు ఎందుకంటే అవి అబ్స్ట్రాక్ట్ బేస్ క్లాస్. + ఇప్పుడు, మీరు గమనించదగ్గ మరో పాయింట్, నేను ఫంక్షన్ డిఫైన్ చేసాను - వర్చువల్ ఫంక్షన్ ప్యూర్ గా ఉంటే, అప్పుడు క్లాస్ డెఫినిషన్ లో అబ్స్ట్రాక్ట్ అవుతుంది. + మరియు మీరు ఒక ఉదాహరణ క్రియేట్ చేయలేరు, కానీ ఒక ఫంక్షన్ పూర్తిగా వర్చువల్ వాస్తవం ఆ ఫంక్షన్ కోసం ఒక ఇంప్లిమెంటేషన్ అవసరం లేదు, కానీ అది నేను ఇంప్లిమెంటేషన్ చేయలేదని చెప్పడం లేదు. + ఒక ఫంక్షన్ పూర్తిగా వర్చువల్, మరియు అదనంగా, నేను ఆ కోసం ఒక ఇంప్లిమెంటేషన్ కాలేదు. + ఇప్పుడు నేను ఇంప్లిమెంటేషన్ చేస్తే, దాని ప్యూరిటీ కూడా దూరంగా ఉండదు, ఎందుకంటే అది ఒక ప్యూర్ ఫంక్షన్ అని నేను చెబుతున్నాను. + కాబట్టి, ఇది ప్యూర్ గా కొనసాగుతుంది, అంటే ఏ క్లాస్ మాత్రం అబ్స్ట్రాక్ట్ గా ఉండదు మరియు ఆ క్లాస్ కి ఎలాంటి ఇన్స్టెన్స్ సృష్టించబడదు, కానీ ఫంక్షన్ ఉపయోగించగల ఒక ఇంప్లిమెంటేషన్ ఉంది. + ఇప్పుడు నేను ఎందుకు కావాలి, ఖచ్చితంగా నేను కోడ్ కారకం కోసం ఒక కోడ్ ని రీయూజ్ కోసం ఖచ్చితంగా అవసరం, ఎందుకంటే ఖచ్చితంగా ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ రూట్ లో ఉంటుంది. + కాబట్టి, దీని గురించి ఆలోచించండి; మొదటి సందర్భంలో అనుకోండి, నేను ఒక త్రిభుజం కోసం డ్రా()చేయాల్సిన అవసరం ఉంది. + ఇప్పుడు నేను డ్రాయింట్()త్రికోణాన్ని చేయవలసి ఉంటే, అప్పుడు ఖచ్చితంగా మీరు డ్రా గురించి ఆలోచించినట్లయితే, ఇప్పుడు అక్కడ ఒక పార్ట్ త్రికోణ అల్గోరిథం ఇక్కడ వస్తుంది. + కానీ ఒక త్రిభుజం డ్రా చెయ్యడానికి, నేను ఒక బ్రష్ ఎంచుకొని అవసరం, నేను కలర్ నిర్ణయించుకోవాలి, నేను మీరు బ్రష్ యొక్క మందం తెలుసు నిర్ణయించుకోవాలి, నేను స్థానం తెలుసుకోవాలి, మరియు అన్ని ఆ. + ఇప్పుడు ఆల్గోరిథం యొక్క పార్ట్ నేను ఒక త్రిభుజం గీయడం లేదో లేదా నేను ఒక చతుర్భుజం గీయడం చేస్తున్నాను లేదో మధ్య మారుతుంది, నేను ఒక బ్రష్ను ఎంచుకోండి అవసరం, నేను ఒక కలర్ ఎంచుకోండి అవసరం, నేను ఒక మందం ఎంచుకునేందుకు అవసరం. + ఒక వృత్తం గీయడం లో, నేను చేయవలసి ఉంటుంది; ఒక దీర్ఘ వృత్తాన్ని గీయడానికి కూడా నేను అలా చేయాలి. + కాబట్టి, వీటిలో అన్నిటికీ కోడ్ యొక్క ఒక సాధారణ భాగంగా ఉంటుంది, ఇది ఈ విభిన్న డ్రా ఫంక్షన్లకు వెళ్తుంది. + అత్యుత్తమమైనది ఏమిటంటే కోడ్ యొక్క ఆ సాధారణ పార్ట్ ని నేను తీసుకొని రూట్లో ఉంచాను. + కాబట్టి, నేను కేవలం ఏమి చేయాలో నేను త్రికోణం కోసం డ్రా ఫంక్షన్ ఇంప్లిమెంటింగ్ చేస్తున్నప్పుడు, నేను కేవలం షేప్ డ్రా ఫంక్షన్ని ప్రయోగించాను. + మేము మునుపు చూసిన ఈ ఉదాహరణలో, ప్రింట్ ఉదాహరణలో మీరు పేరెంట్ క్లాస్ ని ఉపయోగించడం ద్వారా నేరుగా మీ పేరెంట్గా ఏర్పరుచుకుంటూ ఇన్హెరిటబుల్ ఫంక్షన్ ను కాల్ చేయవచ్చు. + నేను పాలిగాన్ ద్వారా ప్రచారం చేయగలిగితే అది కూడా నేను దీన్ని వాస్తవంగా ఒక పాలిగాన్ అని చెప్పాను: డ్రా(). + కాబట్టి ఇది ఈ విధంగా కాల్ చేస్తుంది మరియు ఆ విధంగా షేప్ ని కాల్ చేస్తుంది, కానీ డ్రా కోసం నేను త్రిభుజం మరియు క్వాడ్రిలేటరల్ వాటాను ఏవిధంగా ఏవిధమైన రీజనబుల్ లాజిక్ను కనుగొనలేకపోతున్నాను, ఇది బహుభుజి ఫంక్షన్ యొక్క డ్రా ఉంటుంది, డ్రా. + కానీ ఖచ్చితంగా అది ఒక నిర్దిష్ట geometric object గీయడం ముందు అన్ని అవసరమైన బ్రష్ ప్రారంభ మరియు stuff వంటి చేయవచ్చు ఇది షేప్ ఫంక్షన్ డ్రా నుండి భాగస్వామ్యం చేసే చాలా ఉంది. + సో, ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడి కలిగి ఉండవచ్చు, మరియు అది యొక్క వర్చువాలిటీ పరంగా పడుతుంది అవకాశం ఉంది. + సో, ప్యూర్ వర్చువల్ ఫంక్షన్స్, నేను ప్రత్యేకంగా నొక్కి చెప్పాను ఎందుకంటే నేను చాలా పాఠ్యపుస్తకాలను చూశాను, ఈ విషయాన్ని స్పష్టం చేయవద్దు. + వారు కేవలం ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడీ లేదు, కానీ నేను ప్యూర్ వర్చువల్ ఫంక్షన్స్ ఒక బాడీ లేదు అని స్పష్టం చేస్తున్నాను; నేను ప్యూర్ వర్చువల్ ఫంక్షన్స్ బాడీ ని కలిగి ఉండవు. + వారు కావాలనుకుంటే, కానీ ప్యూరిటీ అనేది మీరు ప్యూర్ గా ఉందని డిఫైన్ చేయాలి మరియు సంబంధిత క్లాస్ ని ఒక అబ్స్ట్రాక్ట్ బేస్ క్లాస్ గా నడిపిస్తారనే విషయాన్ని సూచిస్తుంది. + కాబట్టి, నేను దీనిని చేస్తే సహజంగా నా మునుపటి అవుట్పుట్ మారుతుంది. + ఇప్పుడు అదే కోడ్ కోసం, నేను ఇండెక్స్ 0 తో ఇక్కడ ఉన్నప్పుడు ప్రాథమికంగా ఉన్నాను - arr [0] -> డ్రా () వాస్తవానికి ఈ ఫంక్షన్ కోసం కాల్ చేస్తోంది, ఇది త్రిభుజం యొక్క డ్రా ఫంక్షన్ అని కాల్ చేస్తుంది. + షేప్ యొక్క డ్రా ఫంక్షన్ అని పిలుస్తున్నారు. + కాబట్టి, ఈ రెండు, మొదటి డ్రా యొక్క ఫంక్షన్ ఫంక్షన్ ఇంప్లిమెంటేషన్ మరియు అప్పుడు ఆ విధంగా కాల్ చేస్తారు ఎందుకంటే, ఇది స్ట్రక్చర్ ద్వారా కాదు. + అదేవిధంగా, చతుర్భుజం కోసం, అదే విధంగా సర్కిల్ కోసం, దీర్ఘవృత్తాంతం కోసం, కాబట్టి ప్రతిసారి మీరు దీన్ని మొదటిసారి కాల్ చేస్తారు. + సో, ఈ ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ యొక్క పాలిమార్ఫిక్ ఫంక్షన్ ఇంప్లిమెంటేషన్ చేయడానికి మాత్రమే మార్గం కాదు, అయితే ఇది మీరు ఒక ప్యూర్ వర్చువల్ ఫంక్షన్ కోసం ఇంప్లిమెంటేషన్ లోఉపయోగించవచ్చు పేరు మార్గాలు ఒకటి. + అయితే, ఇది క్లాస్ ల అబ్స్ట్రాక్ట్ భావనను మార్చదు, మరియు షేప్ మరియు క్లాస్ క్లోజ్డ్ కానిక్స్ అబ్స్ట్రాక్ట్ గా ఉంటాయి మరియు వాటికి ఎటువంటి ఇన్స్టెన్స్ లు క్రియేట్ చేయబడవు. + కాబట్టి, ముగియడానికి, మేము ఎందుకు డిస్ట్రక్టర్స్ వర్చువల్ గా ఉండాలి గురించి చర్చించారు. + మరియు పాలిమార్ఫిక్ హైరార్కీ పని చేయగలగడానికి, మేము ప్యూర్ వర్చువల్ ఫంక్షన్లను పరిచయం చేసాము మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ భావనను ప్రవేశపెట్టింది. + తదుపరి మాడ్యూల్లో, క్లాస్ హైరార్కీ పై కొన్ని డిజైన్ మరియు కోడ్ ప్రాసెసింగ్ను వాస్తవంగా చేయడానికి ఈ టూల్స్ ను ఎలా ఉపయోగించవచ్చో చూపించడానికి మేము మరిన్ని ఉదాహరణలను తీసుకుంటాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/21. ProgramminginCplusplus_Default Parameters and Function Overloading (Lecture 12)-uJGmGAShHeU.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/21. ProgramminginCplusplus_Default Parameters and Function Overloading (Lecture 12)-uJGmGAShHeU.txt index 09dde08ed03c14b5fdaaa0b9229524b1e06737ea..671e249dadeb75118a91f30629da38befc4ad0de 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/21. ProgramminginCplusplus_Default Parameters and Function Overloading (Lecture 12)-uJGmGAShHeU.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/21. ProgramminginCplusplus_Default Parameters and Function Overloading (Lecture 12)-uJGmGAShHeU.txt @@ -1,122 +1,122 @@ - 1. C ++ లో ప్రోగ్రామింగ్లో మాడ్యూల్ 8 కు స్వాగతం. - 2. C ++ యొక్క ఉత్తమ C ఫీచర్లను( features) మేము చేస్తున్నాము, మేము ఇప్పటికే కాన్స్టేట్( const) మరియు వోలటైల (volatile) మరియు మాక్రోస్ (macros), ఇన్లైన్ ఫంక్షన్లు మరియు రిఫరెన్స్ వేరియబుల్(reference variable) గురించి కూడా ప్రస్తావించాము మరియు రిఫరెన్స్ ద్వారా సూచన మరియు రిఫరెన్స్ ద్వారా కాల్ చేయండి. - 3. ఇవి C ++ యొక్క అన్ని మంచి సి లక్షణాలు. - 4. ఇప్పుడు ఈ మాడ్యూల్ 8 లో, డిఫాల్ట్ పారామితులు( default parameter) మరియు ఫంక్షన్ ఓవర్లోడింగ్ (function overloading) గురించి మాట్లాడండి. - 5. C ++ భాష యొక్క ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రాపర్టీలను ( object oriented properties)ఎనేబుల్ (enable)చేయుటకు రెండు చాలా ముఖ్యమైన చాలా ముఖ్యమైన లక్షణాలు. - 6. ఇది ప్రదర్శన యొక్క ఎడమ పానెల్లో (panel) మీరు చూస్తున్న ఈ మాడ్యూల్ యొక్క మొత్తం ఆకారం అవుతుంది. - 7. కాబట్టి, మేము ఇప్పుడు ప్రారంభించాము. - 8. ఇప్పుడు, ముందుగా మనము డిఫాల్ట్ పారామితుల(default parameters) గురించి చర్చించాము మరియు నేను సి నుండి ఒక ఉదాహరణతో మొదలు పెడతాను, ముఖ్యంగా ఇది MSDN, విండోస్ ప్రోగ్రామింగ్( windows programming) నుండి ఒక ఉదాహరణ. - 9. మీరు ఒక గ్రాఫిక్స్ ప్రోగ్రామింగ్ (graphics programming) మరియు విండోస్ గురించి తెలిసి ఉంటే, మీరు ఈ ఫంక్షన్ని చూడవచ్చు, మీరు దీనిని చూడకపోతే, ఇది నిజంగా పట్టింపు లేదు. - 10. నేను ఎడమ కాలమ్లో చూపించదలచినది అన్నింటికీ సృష్టించే విండో ఫంక్షన్(window function) నమూనా లేదా శీర్షిక. - 11. మీరు ఫంక్షన్ పెద్ద సంఖ్యలో చూడగలరు; ప్రత్యేకించి, నమూనాలో దాని వివరణ కోసం 11 వివిధ పారామితులు. - 12. మీరు ఒక గ్రాఫిటీ విండోను సృష్టించాల్సినప్పుడు సృష్టించిన విండో ఫంక్షన్ను కాల్ చేయడానికి మీరు ఈ 11 పరామితులను పేర్కొనవలసి ఉంటుంది. - 13. కుడి నిలువు కాలమ్లో లో నేను విండోను రూపొందించడానికి ఒక విలక్షణ సృష్టి విండో విండోను చూపుతాను. - 14. ఇప్పుడు, ఈ ప్రత్యేక విధిని పరిగణనలోకి తీసుకుంటే మీరు రెండు విషయాలు చూడగలరు; ఒకటి పారామితులు పెద్ద సంఖ్యలో ఉంది, 11 పారామితులు మరియు మీరు సాధారణంగా ఈ 11 పారామితులు అర్థం తెలుసుకోవాలి ఈ ఉపయోగించడానికి మరియు మీరు ఆ పారామితులు పేర్కొనాలి ఉంటుంది. - 15. ఇప్పుడు, మీరు కేవలం నమూనా విండోని సృష్టించాలనుకుంటున్నారా, డిఫాల్ట్ బ్యాక్గ్రౌండ్( default background) రంగు, డిఫాల్ట్ టెక్స్ట్(default text) కలర్, మీరు మానిటర్లో డిఫాల్ట్ సెంటర్ లొకేషన్లో (default center location)ఒక విండో కావాలనుకోండి, మీరు డిఫాల్ట్ వెడల్పు(default width) మరియు ఎత్తు( height) - 16. మరియు అందువలన న. - 17. మీరు అన్ని విభిన్న విలువలను పేర్కొనడానికి అవసరమైన అవసరం ఉండకపోవచ్చు; ఈ 11 పారామీటర్లలో(parameters) మీ అప్లికేషన్లకు(applications) ప్రత్యేకమైనవి. - 18. సో, మీరు అసలు కాల్ లోకి చూస్తే మీరు కాల్ లో అనేక పారామితులు ఉన్నాయి అని చూసే సులభతరం; మీరు ఇక్కడ పరామితులను చూస్తే, ఇవి ప్రాథమికంగా మానిఫెస్ట్ స్థిరాంకాలు( manifest constants)అయినవి, విండో వాడకం డిఫాల్ట్ సృష్టించడానికి CW ని సూచిస్తుంది. - 19. ఇది అప్పటికే లైబ్రరీలో నిర్వచించిన కొన్ని డిఫాల్ట్ విలువ(default value) ఉంది కాబట్టి మీరు ఆ విలువలను ఉపయోగించవచ్చు. - 20. కాబట్టి ప్రాథమికంగా, మీరు ఆ విలువలను సరఫరా చేయలేదు. - 21. అదేవిధంగా, మీరు విండో పేరెంట్ మరియు మెనూలో చూస్తే లేదా విండో పారామితులలోకి చూస్తున్నట్లయితే మనం కేవలం శూన్యాన్ని పంపుతున్నాము, ఇది ప్రాథమికంగా ఒక రకమైన డిఫాల్ట్ విలువ. - 22. hInstance, విండో యొక్క ఉదాహరణ. - 23. మీకు తెలిసిన విండో ప్రోగ్రామింగ్(programming) మీకు తెలిస్తే మీ అప్లికేషన్ (application)యొక్క ఒక ఉదాహరణ ఇది కూడా ఒక రకమైన డిఫాల్ట్ విలువలను(default value) పొందుతుంది, కాబట్టి మీరు సృష్టించే విండో రకంతో మీరు ఒక అతివ్యాప్తి చెందిన విండోను సృష్టించి, దానితోనే ఉంటుంది. - 24. ఈ 11 పారామితులు ఫంక్షన్ లో ఉన్నప్పటికీ మరియు మీరు వాటిని అన్ని పేర్కొనండి అవసరం అనేక లైబ్రరీ ద్వారా డిఫాల్ట్ విలువలు ఇవ్వబడ్డాయి లేదా శూన్య వంటి పాస్ మరియు మీరు నిజంగా మీ విండో తరగతి ఏమిటి వంటి కొన్ని విషయాలు పేర్కొనాలి ఏ మీరు చేస్తున్న నిర్దిష్ట నిర్మాణం మరియు ఈ కాల్ చేయడానికి విండో పేరు బహుశా. - 25. అయితే ఇంకా, మొత్తం పదకొండు పారామీటర్ల పూర్తిస్థాయిలో పిలవబడాలి. - 26. మీరు పారామీటర్లను ఒక విధంగా ఏర్పాటు చేయగలిగితే, మీ కాల్స్ కోసం మీరు పేర్కొన్న పరామితులను మాత్రమే కాల్ దృష్టిలో ఇవ్వాలి. - 27. వ్యవస్థకు కొన్ని డిఫాల్ట్ విలువలను పేర్కొనకుండానే సాధారణంగా డిఫాల్ట్ పారామితులను(default parameters) అర్థం చేసుకుని, తీసుకుంటే, ప్రతిసారీ మీరు ఆ పిలుస్తారు. - 28. కాబట్టి, C ++ మాకు దీని గురించి ఏదో చేయటానికి అనుమతిస్తుంది మరియు ఆ లక్షణాన్ని డిఫాల్ట్ పారామిటర్ అని పిలుస్తారు. - 29. ఇప్పుడు, ఇక్కడ డిఫాల్ట్ పారామీటర్ల అర్ధం వివరించడానికి ఒక ఉదాహరణ. - 30. ఈ ఫంక్షన్(function) పరిగణించండి, కార్యాచరణ నిజంగా చాలా ముఖ్యమైనది కాదు, మేము దీనిని ఐడెంటిటీఫాంక్షన్గా (identity function)పిలుస్తున్నాము, అది పరామితిని తీసుకుంటుంది మరియు అదే పారామీటర్ను తిరిగి అందిస్తుంది. - 31. కానీ మనము హైలైట్ చేయటానికి ఆసక్తి కలిగి ఉన్నాము, మీరు ఇక్కడ గమనించవలసిన అవసరం ఉంది, పరామితి యొక్క ప్రాధమిక విలువ యొక్క పారామితి యొక్క ఫంక్షన్ యొక్క సంతకంలో ఇచ్చిన విలువను a. - 32. ఇప్పుడు, ఒక నిర్దిష్ట పరిధిలోని వేరియబుల్ (variables)యొక్క ప్రాధమిక విలువ ఏమంటే, ఒక పారామితి కోసం ప్రారంభ లేదా డిఫాల్ట్ యొక్క రకమైన అర్ధం ఏమిటి. - 33. మాకు కాల్ చేద్దాం అని అర్థం చేసుకోవడానికి, మాకు ఫంక్షన్ యొక్క మొదటి కాల్ కు చూద్దాం. - 34. ఫంక్షన్ యొక్క మొదటి కాల్ మేము గుర్తింపు విలువను వాస్తవంగా పారామితికి పిలుస్తాము x ఇది ప్రస్తుతం విలువ 5 కలిగి ఉంది, కనుక మనం ఇక్కడ ఆ పారామితిని పంపుతున్నాము మరియు అందువల్ల ఇది అదే విలువను ఇస్తుంది మరియు మీరు ఈ లైన్ నుండి అవుట్పుట్(output) చేస్తారు మరియు మీరు పొందుతారు ఈ సమయంలో అవుట్పుట్ యొక్క మొదటి పంక్తి. - 35. ఈ పాయింట్( point)వరకు ఆశ్చర్యం లేదు. - 36. ఇప్పుడు, మనము అదే ఫంక్షన్ యొక్క రెండవ కాల్ పై దృష్టి పెట్టండి. - 37. ఏ పరామితి లేకుండా ఈ ఫంక్షన్ కాల్ చేయవచ్చని గమనించడానికి మీరు ఆశ్చర్యపోతారు. - 38. మేము ఇప్పటివరకు C లో ఉన్నాము, అసలు పరామితుల సంఖ్య మరియు అధికారిక పారామితుల సంఖ్య కాల్ మరియు ఫంక్షన్ యొక్క ప్రోటోటైప్(prototype) మధ్య సరిపోవాలి. - 39. వాస్తవమైన పారామితులు మరియు ఫార్మల్ పారామితులు(formal parameters) వారి క్రమంలో, వారి డేటా టైప(data type) లో మరియు దానితో సరిపోలాలి. - 40. కానీ ఇక్కడ, ఫంక్షన్ నిజానికి ఒక పారామీటర్ ఉంది, కానీ నేను ఇక్కడ కాల్ చేసినప్పుడు నేను పారామితి పేర్కొనడం లేదు. - 41. ఈ డిఫాల్ట్ పారామితి ఫీచర్ (default parameter feature)ఏమిటి. - 42. C ++ ఏమి చేస్తుంది? మీరు ఏ పరామితి లేకుండానే కాల్ చేసివుండటం వలన మరియు ఫంక్షన్ ఇప్పటికే పారామితి విలువ డిఫాల్ట్ విలువ(default value) 10 తో నిర్వచించబడటం వలన ఇక్కడ మీరు ఈ డిఫాల్ట్ విలువతో ఫంక్షన్ అని పిలిచినట్లు మీరు భావిస్తారు. - 43. కాబట్టి, మీరు పారామితి డిఫాల్ట్ చేస్తే, మీరు నిజంగా రెండు ఎంపికలు పొందుతారు; ఒకటి, ఇక్కడ మీరు ఫంక్షన్ కాల్ చేయగలిగేలా మీరు ఫంక్షన్ పిలుపునిచ్చారు, వాస్తవ పారామితిని పేర్కొనడం లేదా మీరు పారామీటర్ యొక్క డిఫాల్ట్ విలువను ఉపయోగించి ఎంపిక చేసుకోవచ్చు మరియు పేర్కొనవలసిన అవసరం లేదు - 44. వాస్తవమైన పారామితి మీరు దాటవేయవచ్చు. - 45. వ్యవస్థ మీరు పారామితిని వాడుతున్నారని మరియు ఫంక్షన్ డిక్లరేషన్(function declaration) లో డిఫాల్ట్ లో ఇవ్వబడిన విలువను నిర్దేశిస్తుంది. - 46. కాబట్టి, ఇది డిఫాల్ట్ పారామితి(default parameter) యొక్క ప్రాథమిక లక్షణం. - 47. ఇప్పుడు మనం ముందుకు వెళ్దాము మరియు మరో ఉదాహరణ చూద్దాము. - 48. గత ఉదాహరణలో, మనము ఒక ఫంక్షన్ ను అప్రమేయ పారామితి కలిగివున్నాము మరియు ఇప్పుడు మీకు డిఫాల్ట్ పరామితి మాత్రమే వుంటుంది, అది మీకు అప్రమేయ పారామితులు అప్రమేయ పారామీటర్ల సంఖ్య ఏకపక్ష సంఖ్య. - 49. మనము ఇక్కడ ఒక ఫంక్షన్ చూపుతాము, ఈ యొక్క కార్యాచరణ గురించి, దీని కోసం అల్గోరిథం గురించి ఆందోళన చెందకండి, అది కేవలం రెండు పారామితులను వాటిని జతచేస్తుంది మరియు వాటిని తిరిగి పంపుతుంది, ఇక్కడ ఈ ఫంక్షన్ నిర్వచనాన్ని చూడండి, మరియు ఇది రెండు పారామితులను కలిగి ఉంటుంది integerకి; int a మరియు int b. - 50. మరియు మనం చేసిన పారామితులు ప్రతి ప్రారంభ విలువతో డీఫాల్ట్ చేయబడ్డాయి. - 51. కాబట్టి, ఈ ఫంక్షన్ ను వాడేటప్పుడు మరియు కాల్ చేస్తే మీరు మొదటి కాల్ని చూస్తే, మొదటి కాల్ అనేది సాధారణ ఫంక్షన్ కాల్ (function call), x మరియు y రెండు వాస్తవ పారామితులు. - 52. X (y,y)ను జోడించాము, కాబట్టి x అక్కడ 'a' కు కాపీ చేయబడుతుంది, మీరు చూడగలిగిన విలువను కాల్ చేస్తారు, y b కు కాపీ చెయ్యబడింది మరియు function is x మరియు y విలువలు మరియు 5 మరియు 6 మరియు అందువలన మీరు ఇక్కడ మొత్తాన్ని ప్రింట్ చేస్తే మొత్తం మొదటి అవుట్పుట్(output) అవుతుంది, ఇది మొత్తం 11 అవుతుంది. - 53. ఇప్పుడు, అదే ఫంక్షన్ యొక్క రెండవ కాల్ చూడండి. - 54. ఈ ఫంక్షన్ యొక్క రెండవ కాల్ లో, మనము మొదటి పారామితి x ను అందిస్తాము కానీ మనము రెండవ పరామితిని అందించలేదు, అనగా ఫంక్షన్ వాస్తవానికి రెండు పారామితులను కలిగి ఉంటే, దానిని ఒక పరామితితో పిలుస్తాము. - 55. కాబట్టి, ఏమి జరుగుతుంది? మేము x కు అనుగుణంగా అందించిన ఈ పరామితి, అధికారిక పరామితికి అనుగుణంగా ఉంటుంది, అందుచే x యొక్క విలువను విలువలో కాల్ ద్వారా కాపీ చేయబడుతుంది. - 56. కానీ రెండవ పరామితి అందించబడలేదు, కాబట్టి మీరు రెండవ పరామితి యొక్క డిఫాల్ట్ విలువను( default value) ఉపయోగిస్తున్నారని సిస్టమ్ (system)అర్థం అవుతుంది, అనగా రెండవ పరామితి 20 గా ఉంటుంది, ఎందుకంటే రెండవ పరామితిలో ఇచ్చిన డిఫాల్ట్ విలువ (default value)20. - 57. అందువలన, ఈ సందర్భంలో ఫంక్షన్ a తో 5 మరియు b' గా 10 వరకు కొనసాగుతుంది మరియు అది గణన అవుతుంది మరియు మీరు అవుట్పుట్(output) నుండి చూడవచ్చు, + b 25 గా లెక్కించబడుతుంది మరియు అది ముద్రితమవుతుంది. - 58. మేము దీనిని మరింత విస్తరించవచ్చు. - 59. మేము వాస్తవమైన పారామీటర్ను(parameter) అందించని కాల్ యొక్క మూడవ ఉదాహరణలో మనం ఏమి చేస్తాము. - 60. కాబట్టి, ఫంక్షన్ యొక్క రెండు పారామితులు, మరియు b రెండూ వాటి డిఫాల్ట్ విలువలను(default value) తీసుకుంటాయి, అంటే 'a' is 10 మరియు b 20 మరియు ఇది ఇక్కడ ఉన్న ఫంక్షన్ నిజంగా కనిపించదు, కానీ ఇక్కడ ఫంక్షన్ 30 ను కొంత ఫలితంగా ముద్రిస్తుంది. - 61. మనము చూడగలము, నేను తప్పకుండా ఒక పారామితి మాత్రమే తప్పనిసరిగా ఉండవలసిన అవసరం లేదు, కానీ అది ఒక ఫంక్షన్లో పారామితుల యొక్క ఏకపక్ష సంఖ్యను నేను డిఫాల్ట్ చేయగలము. - 62. మరియు పారామితులు యొక్క మంచి సమితి తరచూ పనిచేయడానికి అప్రమేయ విలువను తీసుకునే పారామితుల సంఖ్యతో ప్రత్యేకంగా రాయడం చాలా ఉపయోగకరంగా ఉంటుంది. - 63. మేము డిఫాల్ట్ పారామితుల(default parameter) గురించి ప్రాథమిక అంశాలను హైలైట్(highlight) చేస్తాము, అది C ++ ప్రోగ్రామర్లు ఫంక్షన్ పారామీటర్లకు డిఫాల్ట్ విలువలను కేటాయించటానికి అనుమతిస్తుంది, మీరు దీనిని చూశారు. - 64. ఫంక్షన్ను ప్రోటోటిఫై చేస్తున్నప్పుడు అప్రమేయ విలువలు తెలుపబడును. - 65. ఫంక్షన్ ప్రోటోటైపింగ్, అంటే ఏమిటి అంటే మీరు చూసినట్లుగా ఫంక్షన్ సంతకం లో( function signature) డిఫాల్ట్ విలువలను వ్రాస్తారు. - 66. తక్కువ ఆర్గ్యుమెంట్స్తో(arguments) లేదా వాదన లేకుండానే ఫంక్షన్ను కాల్ చేస్తున్నప్పుడు డిఫాల్ట్ పారామితులు అవసరమవుతాయి, అందువల్ల వారు కాల్ సైట్లో లేనప్పుడు వారి డిఫాల్ట్ విలువతో ఉపయోగించిన ఒకటి లేదా రెండు పారామితులు ఎలా ఉన్నాయో మేము చూసాము. - 67. వంటిఒక అభ్యాసం, ఖచ్చితంగా ఏ పారామితులు అప్రమేయంగా ఉండాలి మరియు పారామితులు అప్రమేయంగా ఉండకూడదు అని చెప్పలేము. - 68. కానీ ఒక సాధనంగా మీరు తక్కువగా ఉపయోగించిన పారామీటర్ల కోసం డిఫాల్ట్ విలువలను ఉపయోగించడం మంచిది, అయితే మీరు నిజంగానే అన్ని పారామీటర్ల కోసం డిఫాల్ట్ విలువను ఉపయోగించవచ్చు. - 69. డిఫాల్ట్ వాదనలు, మీరు ఫంక్షన్ను డిఫాల్ట్ వాదనలు అని పిలుస్తున్నప్పుడు లేదా డిఫాల్ట్ విలువలు కూడా సంకలనం సమయంలో గణించబడేంత కాలం కూడా వ్యక్తీకరణగా ఉండవచ్చు. - 70. నేను డిఫాల్ట్ పారామితులుగా 2 +3 వంటి డిఫాల్ట్ విలువలను కలిగి ఉండవచ్చు. - 71. ఇది ఒక ఫంక్షన్కు చెల్లుతుంది, నేను 2+ 3 వంటి డిఫాల్ట్ విలువను కలిగి ఉంటుంది, కంపైలర్(compiler) ఏమి చేయాలో, కంపైల్ చేస్తున్నప్పుడు అది 2 +3 ను గణించడం అవుతుంది మరియు డిఫాల్ట్ విలువ 5 గా సెట్ చేయబడుతుంది. - 72. ఒక డిఫాల్ట్ విలువను కలిగి ఉండరాదు, ఇది సంకలనం సమయంలో వ్యక్తీకరణగా ఉండదు, అది n + ని, స్థిరమైన విలువగా, నిరంతర integerగా నిర్వచించబడకపోతే, 2 + n అని చెప్పవచ్చు. - 73. ఎందుకంటే n వేరియబుల్(variable) అయితే కంపైలర్ మీ ప్రోగ్రామ్ను కంపైల్ చేసే సమయానికి మీకు తెలియదు. - 74. ఇప్పుడు మనం చూడాలనుకుంటున్నాము, అది నేను కోరుకున్న విధంగా ఒక ఫంక్షన్ యొక్క పారామితులను డీఫాల్ట్ చేయగలగడానికి, లేదా మనం అనుసరించాల్సిన కొన్ని ప్రాథమిక నియమాలు లేదా పరిమితులు ఉన్నాయి . - 75. కాబట్టి, మేము డిఫాల్ట్ పారామితుల యొక్క కొన్ని ప్రాథమిక నియమాలను డిస్కస్ (discuss) చేస్తాము. - 76. మొదటి నిబంధన చాలా ముఖ్యమైనది అప్రమేయ వాదనతో పరామితికి అన్ని పరామితులు డిఫాల్ట్ వాదనలు కలిగి ఉండాలి. - 77. ఈ నియమం కోసం, ఈ ప్రత్యేక ఫంక్షన్ చూడండి. - 78. మేము ఫంక్షన్ f గురించి మాట్లాడుతున్నాము ఇది మూడు పారామితులు కలిగి, Int, డబుల్(double), మరియు పాత్రకు పాయింటర్(pointer). - 79. ఈ సందర్భంలో మేము రెండవ పరామితికి డిఫాల్ట్ విలువను అందించాము, ఎందుకు చార్( char) * అనే మూడవ పారామితికి ఏ డిఫాల్ట్ విలువను అందించలేదు. - 80. మీరు ఇలా చేస్తే అప్పుడు కంపైలర్ మీకు error ఇస్తాడు మరియు ఈ సందర్భంలో, నేను ఒక కంపైలర్ నుండి దోషం చూపించాను, ఈ పరామితికి పారామీటర్ (parameter) మూడు కోసం డిఫాల్ట్ పారామితి లేదు అని చెప్పేది. - 81. కాబట్టి, నేను ఏదైనా ఫంక్షన్ వ్రాస్తే మరియు నేను ఒక పారామీటర్ కలిగి ఉంటే, రెండు పారామితి, మూడు పారామీటర్, మరియు కొన్ని పారామితి డిఫాల్ట్ (parameter default)ఉంటే అప్పుడు అన్ని పారామితులు తర్వాత నేను వ్రాసే అన్ని పారామితులు ఈ అన్ని తరువాత డిఫాల్ట్ పారామితి అప్రమత్తంగా ఉండాలి; తరువాతి మనం అంతా డిపాజిట్(deposit) చేయాల్సినంత వరకు అన్నింటినీ డిపాజిట్ చేయాలి. - 82. లేకపోతే, కంపైలర్ మీరు నిజంగా ఏ పారామీటర్లను ఉపయోగిస్తున్నారో పరిష్కరించలేరు. - 83. కాబట్టి మొదటి నియమం, అది మనకు పరామితికి డిఫాల్ట్ అయ్యాక అది అన్ని పారామితులను కలిగివుండేది డిఫాల్ట్ విలువలను పొందాలి. - 84. ఇక్కడ రెండవ పాలన ఉంది, డిఫాల్ట్ పారామితులు పునర్నిర్వచించలేవు. - 85. మీరు చూడండి, ఈ రెండు పంక్తులు చెప్పండి. - 86. ఇక్కడ మొదటగా మనము ఒక ఫంక్షన్ f ను నిర్వచించాము, ఇది మూడు పారామితులను మళ్ళీ, Int, డబుల్ మరియు చార్ *, మరియు రెండు పారామితులు రెండవ పరామితి 0 కు మరియు మూడవ పరామితిని ఒక శూన్య పాయింటర్కు (pointer)అప్రమేయంగా మార్చాయి, ఇది ఓకే, సహజంగా. - 87. తరువాత, మేము మళ్ళీ అదే చర్య ప్రోటోటైప్ g గురించి మాట్లాడుతున్నాము, కానీ, మీరు ఈ రెండు విలువలతో చూస్తే, ఇప్పుడు మేము రెండవ పరామితి కోసం డిఫాల్ట్ విలువను ఉపయోగిస్తున్నాము. - 88. కాబట్టి, ఇది అనుమతించబడదు, మీరు కేవలం ఒక ఫంక్షన్ యొక్క పారామితి విలువను మాత్రమే ఒకసారి డిఫాల్ట్ చేయవచ్చు. - 89. మీరు డీఫాల్ట్ చేసిన తర్వాత మళ్ళీ మీరు డిఫాల్ట్ పరామితి విలువను పేర్కొనలేరు. - 90. ఇప్పుడు మీరు ఈ సందిగ్ధత అని అనుకుంటారు, ఎందుకంటే మీరు సున్నాకు డబుల్ డీఫాల్ట్ చేసి, మీరు రెండు డిఫాల్ట్ విలువలను ఉపయోగించారని మీరు జాగ్రత్తగా చూస్తున్నట్లయితే మీరు డబుల్ డీఫాల్ట్ చేసి, కంపైలర్ ఇక్కడ చూపిన ఈ error ఇవ్వడం పారామితి రెండు error, కానీ యాదృచ్ఛికంగా కంపైలర్ నిజానికి మీరు అందించిన డిఫాల్ట్ వాస్తవ విలువను చూడండి లేదు. - 91. దీన్ని అర్థం చేసుకోవడానికి, దయచేసి మీ దృష్టిని మూడవ పరామితి యొక్క డిఫాల్ట్ విలువకు( default value) దృష్టి పెట్టండి. - 92. ఇక్కడ మూడవ పారామిటర్ ప్రారంభంలో మొదటి సందర్భంలో శూన్యంగా ఇవ్వబడింది మరియు రెండో కేసు అది మళ్లీ శూన్యంగా పునర్నిర్వచించబడుతుంది కాబట్టి మీరు నిజంగానే అదే డిఫాల్ట్ విలువను తదుపరి సమయంలో ఉపయోగిస్తున్నారు. - 93. కానీ కూడా, కంపైలర్(compiler) గందరగోళం అవుతుంది మరియు పారామీటర్ మూడు కోసం డిఫాల్ట్ పారామితి పునర్నిర్వచించబడిందని, అది ఇప్పటికే నిర్వచించబడిందని మరియు మళ్లీ నిర్వచించబడుతుందని మరియు ఇది అనుమతించబడదు అని మీకు చెప్పబడుతుంది. - 94. మీరు ఇంతకు ముందు నిర్వచించబడిన అదే విలువతో డిఫాల్ట్ విలువను తిరిగి నిర్వచించాలో లేదో లేదా మీరు ఇంతకు ముందు ఉపయోగించిన వేరొక విలువను ఉపయోగించి డిఫాల్ట్ విలువను తిరిగి నిర్వచించటం లేదో పట్టింపు లేదు, రెండు సందర్భాలలో ఈ అనుమతి లేదు. - 95. కాబట్టి డిఫాల్ట్ పారామితులను వాడుతున్న చోట్ల డిఫాల్ట్ వాదనలు పునర్నిర్వచించబడవు, ఈ నియమం సంఖ్య రెండు. - 96. మీరు డిఫాల్ట్ పారామీటర్లను ఉపయోగిస్తున్నప్పటి నుండి వాటిని కాల్ సమయంలో పేర్కొనడానికి ఎంచుకోవచ్చు లేదా మీరు కాల్ సమయంలో వాటిని పేర్కొనలేదని మూడవ నియమం చెబుతుంది. - 97. కాబట్టి, మనము ఫంక్షన్ g యొక్క సందర్భంలో చూస్తే, ఖచ్చితంగా ఈ ఖచ్చితమైన నిర్వచనాన్ని అనగా ఖచ్చితమైన నిర్వచనంగా చెప్పండి, అప్పుడు ఈ మూడు కాల్స్ చెల్లుబాటు అయ్యేవి అని నేను చూడగలను, అంటే నేను ఒక పారామితి గ్రా(i)ఇది మొదటిగా తీసుకోబడుతుంది లేదా నేను మొదటి రెండు పారామితులను i మరియు d తో పిలుస్తాము, ఇది Int మరియు డబుల్( double) లేదా నేను మూడు పారామితులతో కాల్ చేయవచ్చు. - 98. ముగ్గురూ బాగున్నారు. - 99. మీరు ఏదైనా పరామితి లేకుండా ఫంక్షన్ గ్రాని కాల్ చేయడానికి ప్రయత్నిస్తే, అది ఒక error అవుతుంది ఎందుకంటే మీరు ఈ పారామితి లేకుండా ఈ ఫంక్షన్ కాల్ చేయవలసి ఉంటే, అప్పుడు మొదటి పారామితి ఈ సందర్భంలో చేయబడలేదు. - 100. కాబట్టి, ఒక ఫంక్షన్ యొక్క కొన్ని పారామితులు డిఫాల్ట్ విలువలకు ఇచ్చినట్లయితే కనీసం అన్ని అప్రమేయ పారామీటర్లను( parameters) వాస్తవ పారామితులుగా మరియు డిఫాల్ట్ పారామితులుగా పేర్కొనవలసి ఉంటుంది, డిఫాల్ట్ పారామీటర్ల విషయంలో మీకు ఎంపిక ఉంది మరియు మీరు పేర్కొనవచ్చు వాటిలో ఏదీ లేదా వాటిలో ఏదీ కాదు, కానీ వాటిలో కొన్నింటిని మీరు పేర్కొన్నట్లయితే, మీరు ఎల్లప్పుడూ నియమాన్ని అనుసరించాల్సి ఉంటుంది, మీరు వాటిని ఎడమవైపున సరైన క్రమంలో పేర్కొనవలసి ఉంటుంది. - 101. ఇక్కడ నేను అనుకుందాం, మీరు ఈ ప్రత్యేకమైన వివరణను పరిశీలిస్తే, నాకు శుభ్రం చేసి మళ్ళీ చూపించాను అని పేర్కొనడం చేస్తున్నాను, మీరు ఈ కాల్స్లోకి చూస్తున్నారా అనుకుందాం, ఇక్కడ ఫంక్షన్ మూడు పారామీటర్లను( parameters) కలిగి ఉంది కానీ మనము ఈ రెండింటిని పేర్కొంటున్నాము. - 102. కాబట్టి, ఇక్కడ వాటిలో మొదటిది తప్పనిసరిగా నాన్-డిఫాల్ట్ పారామితి( non-default parameter), ఇది తప్పనిసరిగా అవసరం మరియు రెండో పరామితి మీరు పేర్కొన్నట్లు డబల్ గా తీసుకోబడుతుంది. - 103. ఇప్పుడు, మీరు నేను కాల్ లాగా కాల్ చేయడానికి ప్రయత్నిస్తాను అనుకుంటాను ఈ కాల్, నేను పూర్ణాంకానికి వెళ్తానని అర్థం, ఇది మూడవ పారామితి చార్( char)* కోసం వెళ్తుంది మరియు మధ్యలో డబుల్ విలువ 0.0 గా తీసుకోబడుతుంది. - 104. ఇది సాధ్యం కాదు, ఇది error. - 105. దీనికి కారణమేమిటంటే కంపైలర్ రెండు డీఫాల్ట్ పారామీటర్ల (default parameter) మధ్య డబుల్ మరియు చార్ * ల మధ్య తెలుసుకోవటానికి ఎటువంటి మార్గం లేదు, మీరు ఇక్కడ పేర్కొనబడినది మరియు మీరు ఇక్కడ పేర్కొన్నది ఏది. - 106. మీరు ఈ పారామితులను వాడుతుంటే, మీరు ఒక నిర్దిష్ట క్రమంలో డిఫాల్ట్ విలువలను ఉపయోగించవచ్చు, వాస్తవానికి ఇచ్చిన పారామితులు కాల్ నుండి ఎడమ నుండి కుడికి సరిపోల్చాలి, మీరు దాటవేయగల పాయింట్ తర్వాత మాత్రమే ఉంటుంది అన్ని పారామితులు ఆ పారామితి యొక్క కుడి వైపున, కానీ మధ్య నుండి ఏదో దాటవేయి లేదు. - 107. కాబట్టి, ఇవి డిఫాల్ట్ పారామితులు( default parameter) అనుసరించాల్సిన కొన్ని ప్రాథమిక నియమాలు. - 108. ఇక్కడ, మనం మరొకదాన్ని చూపిస్తాము; ఇది సరిగ్గా భాష యొక్క నిర్వచనం ద్వారా నియమం కాదు కానీ నేను ఈ విధంగానే మీరు డిఫాల్ట్ పారామితులను ఉపయోగించి ఎలా చేయాలో ఆచరణలో చూపించాను. - 109. కాబట్టి, అతను అప్రమేయ పారామితులు మాత్రమే హెడ్డర్ ఫైల్లో సరఫరా చేయాలి మరియు ఫంక్షన్ నిర్వచనంలో కాదు, మీరు డిఫాల్ట్ పారామీటర్ చేస్తున్నట్లయితే, ఇది మీకు డిఫాల్ట్ పేర్కొనడానికి ఉన్న ఒక శీర్షిక ఫైల్ ఉంటే ఈ నిర్వచనమేమిటంటే, ఆ ఫంక్షన్ కోసం శరీరాన్ని అందించిన ఫంక్షన్ను నిర్వచించిన మూలం ఫైల్. - 110. కాబట్టి మనం ఏమి చెప్తున్నామో మీరు ఏ డిఫాల్ట్ పరామితిని ఎక్కడా పేర్కొనకూడదు లేదా ఎక్కడో వేరే ఎక్కడైనా మీరు ఈ ఫంక్షన్ను ఉపయోగించి ఇక్కడ చెప్పండి. - 111. ఇప్పుడు, మనము ఏమి జరుగుతుందో చూద్దాం, ఈ ఫంక్షన్ నమూనాలో ఇవ్వబడుతుంది మరియు ఇది ఒక దరఖాస్తు కోడ్, ఇది ఒక ఫంక్షన్ వాడుతూ వున్న ఒక అప్లికేషన్ కోడ్( code) కాబట్టి ఇది ఈ ప్రత్యేక ఫంక్షన్ నిర్వచనం, ఈ ప్రత్యేక ఫంక్షన్ నమూనా చేర్చబడింది. - 112. ఇప్పుడు మీరు ఈ వంటి ఏదో రాయడానికి కావలసిన మీ అప్లికేషన్ యొక్క శరీరం అనుకుందాం, ఆశ్చర్యకరంగా ఈ అన్ని ఆమోదయోగ్యమైన అన్ని ఈ అంగీకరించబడుతుంది. - 113. కాబట్టి, మీరు ఇక్కడ ఏమి చెప్తున్నారో, మీరు శీర్షిక నుండి మూడవ పారామితి అప్పటికే డిఫాల్ట్(default) అయ్యిందని, ఇప్పుడు మీరు నా రెండవ పారామీటర్ కూడా డిఫాల్ట్ అయ్యారని చెపుతున్నారు. - 114. కాబట్టి ఇప్పుడు నాకు ఉంది; నా ఫంక్షన్ గ్రా, కాబట్టి ఈ రెండు కలిసి నిజానికి అర్థం నా ఫంక్షన్ గ్రా రెండు దాని యొక్క పారామితులు డిఫాల్ట్ మరియు అందువలన న. - 115. అదేవిధంగా, ఇక్కడ మూడవ సందర్భంలో, మొదటి పారామితి కూడా డీఫాల్ట్ చెయ్యబడింది. - 116. అప్రమేయ పారామితి విశేషణము దానిని చేయుటకు అనుమతించును, కానీ మీరు వుపయోగిస్తున్నప్పుడు మీకు ఇబ్బంది ఉండదు, అప్రమేయ నిర్వచనములోని భాగము హెడర్ ఫైలునందు మరియు అప్రమేయ నిర్వచనాల భాగము మీ మూలం ఫైల్, అమలు ఫైలులో వున్నది. - 117. కాబట్టి, ఏ పారామీటర్లు డీఫాల్ట్ చేయబడతాయో ఏ ఒక్క అంశంలోనైనా మీకు తెలియదు మరియు ఏ విలువలు అవి డిఫాల్ట్ (default) అవుతాయి. - 118. కాబట్టి, అన్ని డిఫాల్ట్లను వాడాలి; మీరు ఈ వంటి ఏదో చేయాలని ఉంటే వాటిని అన్ని శీర్షిక ఫైళ్ళకు తరలించబడింది చేయాలి కాబట్టి ఒక సమయంలో మీరు డిఫాల్ట్ పారామితులు ఉన్నాయి ఏమి చూడగలరు మరియు వారి విలువలు ఏమిటి, లేకపోతే ఈ పద్దతి యొక్క ఈ విధానం డిఫాల్ట్ పారామితులు కోడ్ వ్రాయడం నిజంగా చాలా గందరగోళంగా పొందండి. - 119. ఇది ఆచరణాత్మక పాయింట్ నుండి ఒక పరిమితిగా ఉంటుంది, మీరు భాషా చివరికి చూస్తే, మీరు ఈ నిర్వచనాలతో మీరు నిజంగానే నాలుగు వేర్వేరు రూపాలతో ఫంక్షన్ గ్రానికే పిలుస్తారని నేను చూపించినట్లు చూపించాయి ఎందుకంటే మూడు పారామితులు చివరికి అప్రమేయం చేయబడ్డాయి, కానీ ఒకే స్థలంలో వాటిని ఎల్లప్పుడూ అప్రమత్తంగా ఉండేలా చేస్తాయి, తద్వారా ఒకే సంతకం లో వాటిని మూడు వేర్వేరు సంతకాలలో వరుసగా మూడుసార్లు వేరు చేయటానికి బదులు వాటిని ఉపయోగించడం కోసం చాలా గందరగోళంగా మారుతుంది. - 120. కాబట్టి, C ++ యొక్క డిఫాల్ట్ పారామితుల( default parameter) లక్షణాన్ని మేము చూశాము మరియు దానిని ఎలా ఉపయోగించాలో మరియు మేము ఉపయోగించే పరిమితులు ఏమిటి? - 121. + C ++ లో ప్రోగ్రామింగ్లో మాడ్యూల్ 8 కు స్వాగతం. + C ++ యొక్క ఉత్తమ C ఫీచర్లను( features) మేము చేస్తున్నాము, మేము ఇప్పటికే కాన్స్టేట్( const) మరియు వోలటైల (volatile) మరియు మాక్రోస్ (macros), ఇన్లైన్ ఫంక్షన్లు మరియు రిఫరెన్స్ వేరియబుల్(reference variable) గురించి కూడా ప్రస్తావించాము మరియు రిఫరెన్స్ ద్వారా సూచన మరియు రిఫరెన్స్ ద్వారా కాల్ చేయండి. + ఇవి C ++ యొక్క అన్ని మంచి సి లక్షణాలు. + ఇప్పుడు ఈ మాడ్యూల్ 8 లో, డిఫాల్ట్ పారామితులు( default parameter) మరియు ఫంక్షన్ ఓవర్లోడింగ్ (function overloading) గురించి మాట్లాడండి. + C ++ భాష యొక్క ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రాపర్టీలను ( object oriented properties)ఎనేబుల్ (enable)చేయుటకు రెండు చాలా ముఖ్యమైన చాలా ముఖ్యమైన లక్షణాలు. + ఇది ప్రదర్శన యొక్క ఎడమ పానెల్లో (panel) మీరు చూస్తున్న ఈ మాడ్యూల్ యొక్క మొత్తం ఆకారం అవుతుంది. + కాబట్టి, మేము ఇప్పుడు ప్రారంభించాము. + ఇప్పుడు, ముందుగా మనము డిఫాల్ట్ పారామితుల(default parameters) గురించి చర్చించాము మరియు నేను సి నుండి ఒక ఉదాహరణతో మొదలు పెడతాను, ముఖ్యంగా ఇది MSDN, విండోస్ ప్రోగ్రామింగ్( windows programming) నుండి ఒక ఉదాహరణ. + మీరు ఒక గ్రాఫిక్స్ ప్రోగ్రామింగ్ (graphics programming) మరియు విండోస్ గురించి తెలిసి ఉంటే, మీరు ఈ ఫంక్షన్ని చూడవచ్చు, మీరు దీనిని చూడకపోతే, ఇది నిజంగా పట్టింపు లేదు. + నేను ఎడమ కాలమ్లో చూపించదలచినది అన్నింటికీ సృష్టించే విండో ఫంక్షన్(window function) నమూనా లేదా శీర్షిక. + మీరు ఫంక్షన్ పెద్ద సంఖ్యలో చూడగలరు; ప్రత్యేకించి, నమూనాలో దాని వివరణ కోసం 11 వివిధ పారామితులు. + మీరు ఒక గ్రాఫిటీ విండోను సృష్టించాల్సినప్పుడు సృష్టించిన విండో ఫంక్షన్ను కాల్ చేయడానికి మీరు ఈ 11 పరామితులను పేర్కొనవలసి ఉంటుంది. + కుడి నిలువు కాలమ్లో లో నేను విండోను రూపొందించడానికి ఒక విలక్షణ సృష్టి విండో విండోను చూపుతాను. + ఇప్పుడు, ఈ ప్రత్యేక విధిని పరిగణనలోకి తీసుకుంటే మీరు రెండు విషయాలు చూడగలరు; ఒకటి పారామితులు పెద్ద సంఖ్యలో ఉంది, 11 పారామితులు మరియు మీరు సాధారణంగా ఈ 11 పారామితులు అర్థం తెలుసుకోవాలి ఈ ఉపయోగించడానికి మరియు మీరు ఆ పారామితులు పేర్కొనాలి ఉంటుంది. + ఇప్పుడు, మీరు కేవలం నమూనా విండోని సృష్టించాలనుకుంటున్నారా, డిఫాల్ట్ బ్యాక్గ్రౌండ్( default background) రంగు, డిఫాల్ట్ టెక్స్ట్(default text) కలర్, మీరు మానిటర్లో డిఫాల్ట్ సెంటర్ లొకేషన్లో (default center location)ఒక విండో కావాలనుకోండి, మీరు డిఫాల్ట్ వెడల్పు(default width) మరియు ఎత్తు( height) + మరియు అందువలన న. + మీరు అన్ని విభిన్న విలువలను పేర్కొనడానికి అవసరమైన అవసరం ఉండకపోవచ్చు; ఈ 11 పారామీటర్లలో(parameters) మీ అప్లికేషన్లకు(applications) ప్రత్యేకమైనవి. + సో, మీరు అసలు కాల్ లోకి చూస్తే మీరు కాల్ లో అనేక పారామితులు ఉన్నాయి అని చూసే సులభతరం; మీరు ఇక్కడ పరామితులను చూస్తే, ఇవి ప్రాథమికంగా మానిఫెస్ట్ స్థిరాంకాలు( manifest constants)అయినవి, విండో వాడకం డిఫాల్ట్ సృష్టించడానికి CW ని సూచిస్తుంది. + ఇది అప్పటికే లైబ్రరీలో నిర్వచించిన కొన్ని డిఫాల్ట్ విలువ(default value) ఉంది కాబట్టి మీరు ఆ విలువలను ఉపయోగించవచ్చు. + కాబట్టి ప్రాథమికంగా, మీరు ఆ విలువలను సరఫరా చేయలేదు. + అదేవిధంగా, మీరు విండో పేరెంట్ మరియు మెనూలో చూస్తే లేదా విండో పారామితులలోకి చూస్తున్నట్లయితే మనం కేవలం శూన్యాన్ని పంపుతున్నాము, ఇది ప్రాథమికంగా ఒక రకమైన డిఫాల్ట్ విలువ. + hInstance, విండో యొక్క ఉదాహరణ. + మీకు తెలిసిన విండో ప్రోగ్రామింగ్(programming) మీకు తెలిస్తే మీ అప్లికేషన్ (application)యొక్క ఒక ఉదాహరణ ఇది కూడా ఒక రకమైన డిఫాల్ట్ విలువలను(default value) పొందుతుంది, కాబట్టి మీరు సృష్టించే విండో రకంతో మీరు ఒక అతివ్యాప్తి చెందిన విండోను సృష్టించి, దానితోనే ఉంటుంది. + ఈ 11 పారామితులు ఫంక్షన్ లో ఉన్నప్పటికీ మరియు మీరు వాటిని అన్ని పేర్కొనండి అవసరం అనేక లైబ్రరీ ద్వారా డిఫాల్ట్ విలువలు ఇవ్వబడ్డాయి లేదా శూన్య వంటి పాస్ మరియు మీరు నిజంగా మీ విండో తరగతి ఏమిటి వంటి కొన్ని విషయాలు పేర్కొనాలి ఏ మీరు చేస్తున్న నిర్దిష్ట నిర్మాణం మరియు ఈ కాల్ చేయడానికి విండో పేరు బహుశా. + అయితే ఇంకా, మొత్తం పదకొండు పారామీటర్ల పూర్తిస్థాయిలో పిలవబడాలి. + మీరు పారామీటర్లను ఒక విధంగా ఏర్పాటు చేయగలిగితే, మీ కాల్స్ కోసం మీరు పేర్కొన్న పరామితులను మాత్రమే కాల్ దృష్టిలో ఇవ్వాలి. + వ్యవస్థకు కొన్ని డిఫాల్ట్ విలువలను పేర్కొనకుండానే సాధారణంగా డిఫాల్ట్ పారామితులను(default parameters) అర్థం చేసుకుని, తీసుకుంటే, ప్రతిసారీ మీరు ఆ పిలుస్తారు. + కాబట్టి, C ++ మాకు దీని గురించి ఏదో చేయటానికి అనుమతిస్తుంది మరియు ఆ లక్షణాన్ని డిఫాల్ట్ పారామిటర్ అని పిలుస్తారు. + ఇప్పుడు, ఇక్కడ డిఫాల్ట్ పారామీటర్ల అర్ధం వివరించడానికి ఒక ఉదాహరణ. + ఈ ఫంక్షన్(function) పరిగణించండి, కార్యాచరణ నిజంగా చాలా ముఖ్యమైనది కాదు, మేము దీనిని ఐడెంటిటీఫాంక్షన్గా (identity function)పిలుస్తున్నాము, అది పరామితిని తీసుకుంటుంది మరియు అదే పారామీటర్ను తిరిగి అందిస్తుంది. + కానీ మనము హైలైట్ చేయటానికి ఆసక్తి కలిగి ఉన్నాము, మీరు ఇక్కడ గమనించవలసిన అవసరం ఉంది, పరామితి యొక్క ప్రాధమిక విలువ యొక్క పారామితి యొక్క ఫంక్షన్ యొక్క సంతకంలో ఇచ్చిన విలువను a. + ఇప్పుడు, ఒక నిర్దిష్ట పరిధిలోని వేరియబుల్ (variables)యొక్క ప్రాధమిక విలువ ఏమంటే, ఒక పారామితి కోసం ప్రారంభ లేదా డిఫాల్ట్ యొక్క రకమైన అర్ధం ఏమిటి. + మాకు కాల్ చేద్దాం అని అర్థం చేసుకోవడానికి, మాకు ఫంక్షన్ యొక్క మొదటి కాల్ కు చూద్దాం. + ఫంక్షన్ యొక్క మొదటి కాల్ మేము గుర్తింపు విలువను వాస్తవంగా పారామితికి పిలుస్తాము x ఇది ప్రస్తుతం విలువ 5 కలిగి ఉంది, కనుక మనం ఇక్కడ ఆ పారామితిని పంపుతున్నాము మరియు అందువల్ల ఇది అదే విలువను ఇస్తుంది మరియు మీరు ఈ లైన్ నుండి అవుట్పుట్(output) చేస్తారు మరియు మీరు పొందుతారు ఈ సమయంలో అవుట్పుట్ యొక్క మొదటి పంక్తి. + ఈ పాయింట్( point)వరకు ఆశ్చర్యం లేదు. + ఇప్పుడు, మనము అదే ఫంక్షన్ యొక్క రెండవ కాల్ పై దృష్టి పెట్టండి. + ఏ పరామితి లేకుండా ఈ ఫంక్షన్ కాల్ చేయవచ్చని గమనించడానికి మీరు ఆశ్చర్యపోతారు. + మేము ఇప్పటివరకు C లో ఉన్నాము, అసలు పరామితుల సంఖ్య మరియు అధికారిక పారామితుల సంఖ్య కాల్ మరియు ఫంక్షన్ యొక్క ప్రోటోటైప్(prototype) మధ్య సరిపోవాలి. + వాస్తవమైన పారామితులు మరియు ఫార్మల్ పారామితులు(formal parameters) వారి క్రమంలో, వారి డేటా టైప(data type) లో మరియు దానితో సరిపోలాలి. + కానీ ఇక్కడ, ఫంక్షన్ నిజానికి ఒక పారామీటర్ ఉంది, కానీ నేను ఇక్కడ కాల్ చేసినప్పుడు నేను పారామితి పేర్కొనడం లేదు. + ఈ డిఫాల్ట్ పారామితి ఫీచర్ (default parameter feature)ఏమిటి. + C ++ ఏమి చేస్తుంది? మీరు ఏ పరామితి లేకుండానే కాల్ చేసివుండటం వలన మరియు ఫంక్షన్ ఇప్పటికే పారామితి విలువ డిఫాల్ట్ విలువ(default value) 10 తో నిర్వచించబడటం వలన ఇక్కడ మీరు ఈ డిఫాల్ట్ విలువతో ఫంక్షన్ అని పిలిచినట్లు మీరు భావిస్తారు. + కాబట్టి, మీరు పారామితి డిఫాల్ట్ చేస్తే, మీరు నిజంగా రెండు ఎంపికలు పొందుతారు; ఒకటి, ఇక్కడ మీరు ఫంక్షన్ కాల్ చేయగలిగేలా మీరు ఫంక్షన్ పిలుపునిచ్చారు, వాస్తవ పారామితిని పేర్కొనడం లేదా మీరు పారామీటర్ యొక్క డిఫాల్ట్ విలువను ఉపయోగించి ఎంపిక చేసుకోవచ్చు మరియు పేర్కొనవలసిన అవసరం లేదు + వాస్తవమైన పారామితి మీరు దాటవేయవచ్చు. + వ్యవస్థ మీరు పారామితిని వాడుతున్నారని మరియు ఫంక్షన్ డిక్లరేషన్(function declaration) లో డిఫాల్ట్ లో ఇవ్వబడిన విలువను నిర్దేశిస్తుంది. + కాబట్టి, ఇది డిఫాల్ట్ పారామితి(default parameter) యొక్క ప్రాథమిక లక్షణం. + ఇప్పుడు మనం ముందుకు వెళ్దాము మరియు మరో ఉదాహరణ చూద్దాము. + గత ఉదాహరణలో, మనము ఒక ఫంక్షన్ ను అప్రమేయ పారామితి కలిగివున్నాము మరియు ఇప్పుడు మీకు డిఫాల్ట్ పరామితి మాత్రమే వుంటుంది, అది మీకు అప్రమేయ పారామితులు అప్రమేయ పారామీటర్ల సంఖ్య ఏకపక్ష సంఖ్య. + మనము ఇక్కడ ఒక ఫంక్షన్ చూపుతాము, ఈ యొక్క కార్యాచరణ గురించి, దీని కోసం అల్గోరిథం గురించి ఆందోళన చెందకండి, అది కేవలం రెండు పారామితులను వాటిని జతచేస్తుంది మరియు వాటిని తిరిగి పంపుతుంది, ఇక్కడ ఈ ఫంక్షన్ నిర్వచనాన్ని చూడండి, మరియు ఇది రెండు పారామితులను కలిగి ఉంటుంది integerకి; int a మరియు int b. + మరియు మనం చేసిన పారామితులు ప్రతి ప్రారంభ విలువతో డీఫాల్ట్ చేయబడ్డాయి. + కాబట్టి, ఈ ఫంక్షన్ ను వాడేటప్పుడు మరియు కాల్ చేస్తే మీరు మొదటి కాల్ని చూస్తే, మొదటి కాల్ అనేది సాధారణ ఫంక్షన్ కాల్ (function call), x మరియు y రెండు వాస్తవ పారామితులు. + X (y,y)ను జోడించాము, కాబట్టి x అక్కడ 'a' కు కాపీ చేయబడుతుంది, మీరు చూడగలిగిన విలువను కాల్ చేస్తారు, y b కు కాపీ చెయ్యబడింది మరియు function is x మరియు y విలువలు మరియు 5 మరియు 6 మరియు అందువలన మీరు ఇక్కడ మొత్తాన్ని ప్రింట్ చేస్తే మొత్తం మొదటి అవుట్పుట్(output) అవుతుంది, ఇది మొత్తం 11 అవుతుంది. + ఇప్పుడు, అదే ఫంక్షన్ యొక్క రెండవ కాల్ చూడండి. + ఈ ఫంక్షన్ యొక్క రెండవ కాల్ లో, మనము మొదటి పారామితి x ను అందిస్తాము కానీ మనము రెండవ పరామితిని అందించలేదు, అనగా ఫంక్షన్ వాస్తవానికి రెండు పారామితులను కలిగి ఉంటే, దానిని ఒక పరామితితో పిలుస్తాము. + కాబట్టి, ఏమి జరుగుతుంది? మేము x కు అనుగుణంగా అందించిన ఈ పరామితి, అధికారిక పరామితికి అనుగుణంగా ఉంటుంది, అందుచే x యొక్క విలువను విలువలో కాల్ ద్వారా కాపీ చేయబడుతుంది. + కానీ రెండవ పరామితి అందించబడలేదు, కాబట్టి మీరు రెండవ పరామితి యొక్క డిఫాల్ట్ విలువను( default value) ఉపయోగిస్తున్నారని సిస్టమ్ (system)అర్థం అవుతుంది, అనగా రెండవ పరామితి 20 గా ఉంటుంది, ఎందుకంటే రెండవ పరామితిలో ఇచ్చిన డిఫాల్ట్ విలువ (default value)20. + అందువలన, ఈ సందర్భంలో ఫంక్షన్ a తో 5 మరియు b' గా 10 వరకు కొనసాగుతుంది మరియు అది గణన అవుతుంది మరియు మీరు అవుట్పుట్(output) నుండి చూడవచ్చు, + b 25 గా లెక్కించబడుతుంది మరియు అది ముద్రితమవుతుంది. + మేము దీనిని మరింత విస్తరించవచ్చు. + మేము వాస్తవమైన పారామీటర్ను(parameter) అందించని కాల్ యొక్క మూడవ ఉదాహరణలో మనం ఏమి చేస్తాము. + కాబట్టి, ఫంక్షన్ యొక్క రెండు పారామితులు, మరియు b రెండూ వాటి డిఫాల్ట్ విలువలను(default value) తీసుకుంటాయి, అంటే 'a' is 10 మరియు b 20 మరియు ఇది ఇక్కడ ఉన్న ఫంక్షన్ నిజంగా కనిపించదు, కానీ ఇక్కడ ఫంక్షన్ 30 ను కొంత ఫలితంగా ముద్రిస్తుంది. + మనము చూడగలము, నేను తప్పకుండా ఒక పారామితి మాత్రమే తప్పనిసరిగా ఉండవలసిన అవసరం లేదు, కానీ అది ఒక ఫంక్షన్లో పారామితుల యొక్క ఏకపక్ష సంఖ్యను నేను డిఫాల్ట్ చేయగలము. + మరియు పారామితులు యొక్క మంచి సమితి తరచూ పనిచేయడానికి అప్రమేయ విలువను తీసుకునే పారామితుల సంఖ్యతో ప్రత్యేకంగా రాయడం చాలా ఉపయోగకరంగా ఉంటుంది. + మేము డిఫాల్ట్ పారామితుల(default parameter) గురించి ప్రాథమిక అంశాలను హైలైట్(highlight) చేస్తాము, అది C ++ ప్రోగ్రామర్లు ఫంక్షన్ పారామీటర్లకు డిఫాల్ట్ విలువలను కేటాయించటానికి అనుమతిస్తుంది, మీరు దీనిని చూశారు. + ఫంక్షన్ను ప్రోటోటిఫై చేస్తున్నప్పుడు అప్రమేయ విలువలు తెలుపబడును. + ఫంక్షన్ ప్రోటోటైపింగ్, అంటే ఏమిటి అంటే మీరు చూసినట్లుగా ఫంక్షన్ సంతకం లో( function signature) డిఫాల్ట్ విలువలను వ్రాస్తారు. + తక్కువ ఆర్గ్యుమెంట్స్తో(arguments) లేదా వాదన లేకుండానే ఫంక్షన్ను కాల్ చేస్తున్నప్పుడు డిఫాల్ట్ పారామితులు అవసరమవుతాయి, అందువల్ల వారు కాల్ సైట్లో లేనప్పుడు వారి డిఫాల్ట్ విలువతో ఉపయోగించిన ఒకటి లేదా రెండు పారామితులు ఎలా ఉన్నాయో మేము చూసాము. + వంటిఒక అభ్యాసం, ఖచ్చితంగా ఏ పారామితులు అప్రమేయంగా ఉండాలి మరియు పారామితులు అప్రమేయంగా ఉండకూడదు అని చెప్పలేము. + కానీ ఒక సాధనంగా మీరు తక్కువగా ఉపయోగించిన పారామీటర్ల కోసం డిఫాల్ట్ విలువలను ఉపయోగించడం మంచిది, అయితే మీరు నిజంగానే అన్ని పారామీటర్ల కోసం డిఫాల్ట్ విలువను ఉపయోగించవచ్చు. + డిఫాల్ట్ వాదనలు, మీరు ఫంక్షన్ను డిఫాల్ట్ వాదనలు అని పిలుస్తున్నప్పుడు లేదా డిఫాల్ట్ విలువలు కూడా సంకలనం సమయంలో గణించబడేంత కాలం కూడా వ్యక్తీకరణగా ఉండవచ్చు. + నేను డిఫాల్ట్ పారామితులుగా 2 +3 వంటి డిఫాల్ట్ విలువలను కలిగి ఉండవచ్చు. + ఇది ఒక ఫంక్షన్కు చెల్లుతుంది, నేను 2+ 3 వంటి డిఫాల్ట్ విలువను కలిగి ఉంటుంది, కంపైలర్(compiler) ఏమి చేయాలో, కంపైల్ చేస్తున్నప్పుడు అది 2 +3 ను గణించడం అవుతుంది మరియు డిఫాల్ట్ విలువ 5 గా సెట్ చేయబడుతుంది. + ఒక డిఫాల్ట్ విలువను కలిగి ఉండరాదు, ఇది సంకలనం సమయంలో వ్యక్తీకరణగా ఉండదు, అది n + ని, స్థిరమైన విలువగా, నిరంతర integerగా నిర్వచించబడకపోతే, 2 + n అని చెప్పవచ్చు. + ఎందుకంటే n వేరియబుల్(variable) అయితే కంపైలర్ మీ ప్రోగ్రామ్ను కంపైల్ చేసే సమయానికి మీకు తెలియదు. + ఇప్పుడు మనం చూడాలనుకుంటున్నాము, అది నేను కోరుకున్న విధంగా ఒక ఫంక్షన్ యొక్క పారామితులను డీఫాల్ట్ చేయగలగడానికి, లేదా మనం అనుసరించాల్సిన కొన్ని ప్రాథమిక నియమాలు లేదా పరిమితులు ఉన్నాయి . + కాబట్టి, మేము డిఫాల్ట్ పారామితుల యొక్క కొన్ని ప్రాథమిక నియమాలను డిస్కస్ (discuss) చేస్తాము. + మొదటి నిబంధన చాలా ముఖ్యమైనది అప్రమేయ వాదనతో పరామితికి అన్ని పరామితులు డిఫాల్ట్ వాదనలు కలిగి ఉండాలి. + ఈ నియమం కోసం, ఈ ప్రత్యేక ఫంక్షన్ చూడండి. + మేము ఫంక్షన్ f గురించి మాట్లాడుతున్నాము ఇది మూడు పారామితులు కలిగి, Int, డబుల్(double), మరియు పాత్రకు పాయింటర్(pointer). + ఈ సందర్భంలో మేము రెండవ పరామితికి డిఫాల్ట్ విలువను అందించాము, ఎందుకు చార్( char) * అనే మూడవ పారామితికి ఏ డిఫాల్ట్ విలువను అందించలేదు. + మీరు ఇలా చేస్తే అప్పుడు కంపైలర్ మీకు error ఇస్తాడు మరియు ఈ సందర్భంలో, నేను ఒక కంపైలర్ నుండి దోషం చూపించాను, ఈ పరామితికి పారామీటర్ (parameter) మూడు కోసం డిఫాల్ట్ పారామితి లేదు అని చెప్పేది. + కాబట్టి, నేను ఏదైనా ఫంక్షన్ వ్రాస్తే మరియు నేను ఒక పారామీటర్ కలిగి ఉంటే, రెండు పారామితి, మూడు పారామీటర్, మరియు కొన్ని పారామితి డిఫాల్ట్ (parameter default)ఉంటే అప్పుడు అన్ని పారామితులు తర్వాత నేను వ్రాసే అన్ని పారామితులు ఈ అన్ని తరువాత డిఫాల్ట్ పారామితి అప్రమత్తంగా ఉండాలి; తరువాతి మనం అంతా డిపాజిట్(deposit) చేయాల్సినంత వరకు అన్నింటినీ డిపాజిట్ చేయాలి. + లేకపోతే, కంపైలర్ మీరు నిజంగా ఏ పారామీటర్లను ఉపయోగిస్తున్నారో పరిష్కరించలేరు. + కాబట్టి మొదటి నియమం, అది మనకు పరామితికి డిఫాల్ట్ అయ్యాక అది అన్ని పారామితులను కలిగివుండేది డిఫాల్ట్ విలువలను పొందాలి. + ఇక్కడ రెండవ పాలన ఉంది, డిఫాల్ట్ పారామితులు పునర్నిర్వచించలేవు. + మీరు చూడండి, ఈ రెండు పంక్తులు చెప్పండి. + ఇక్కడ మొదటగా మనము ఒక ఫంక్షన్ f ను నిర్వచించాము, ఇది మూడు పారామితులను మళ్ళీ, Int, డబుల్ మరియు చార్ *, మరియు రెండు పారామితులు రెండవ పరామితి 0 కు మరియు మూడవ పరామితిని ఒక శూన్య పాయింటర్కు (pointer)అప్రమేయంగా మార్చాయి, ఇది ఓకే, సహజంగా. + తరువాత, మేము మళ్ళీ అదే చర్య ప్రోటోటైప్ g గురించి మాట్లాడుతున్నాము, కానీ, మీరు ఈ రెండు విలువలతో చూస్తే, ఇప్పుడు మేము రెండవ పరామితి కోసం డిఫాల్ట్ విలువను ఉపయోగిస్తున్నాము. + కాబట్టి, ఇది అనుమతించబడదు, మీరు కేవలం ఒక ఫంక్షన్ యొక్క పారామితి విలువను మాత్రమే ఒకసారి డిఫాల్ట్ చేయవచ్చు. + మీరు డీఫాల్ట్ చేసిన తర్వాత మళ్ళీ మీరు డిఫాల్ట్ పరామితి విలువను పేర్కొనలేరు. + ఇప్పుడు మీరు ఈ సందిగ్ధత అని అనుకుంటారు, ఎందుకంటే మీరు సున్నాకు డబుల్ డీఫాల్ట్ చేసి, మీరు రెండు డిఫాల్ట్ విలువలను ఉపయోగించారని మీరు జాగ్రత్తగా చూస్తున్నట్లయితే మీరు డబుల్ డీఫాల్ట్ చేసి, కంపైలర్ ఇక్కడ చూపిన ఈ error ఇవ్వడం పారామితి రెండు error, కానీ యాదృచ్ఛికంగా కంపైలర్ నిజానికి మీరు అందించిన డిఫాల్ట్ వాస్తవ విలువను చూడండి లేదు. + దీన్ని అర్థం చేసుకోవడానికి, దయచేసి మీ దృష్టిని మూడవ పరామితి యొక్క డిఫాల్ట్ విలువకు( default value) దృష్టి పెట్టండి. + ఇక్కడ మూడవ పారామిటర్ ప్రారంభంలో మొదటి సందర్భంలో శూన్యంగా ఇవ్వబడింది మరియు రెండో కేసు అది మళ్లీ శూన్యంగా పునర్నిర్వచించబడుతుంది కాబట్టి మీరు నిజంగానే అదే డిఫాల్ట్ విలువను తదుపరి సమయంలో ఉపయోగిస్తున్నారు. + కానీ కూడా, కంపైలర్(compiler) గందరగోళం అవుతుంది మరియు పారామీటర్ మూడు కోసం డిఫాల్ట్ పారామితి పునర్నిర్వచించబడిందని, అది ఇప్పటికే నిర్వచించబడిందని మరియు మళ్లీ నిర్వచించబడుతుందని మరియు ఇది అనుమతించబడదు అని మీకు చెప్పబడుతుంది. + మీరు ఇంతకు ముందు నిర్వచించబడిన అదే విలువతో డిఫాల్ట్ విలువను తిరిగి నిర్వచించాలో లేదో లేదా మీరు ఇంతకు ముందు ఉపయోగించిన వేరొక విలువను ఉపయోగించి డిఫాల్ట్ విలువను తిరిగి నిర్వచించటం లేదో పట్టింపు లేదు, రెండు సందర్భాలలో ఈ అనుమతి లేదు. + కాబట్టి డిఫాల్ట్ పారామితులను వాడుతున్న చోట్ల డిఫాల్ట్ వాదనలు పునర్నిర్వచించబడవు, ఈ నియమం సంఖ్య రెండు. + మీరు డిఫాల్ట్ పారామీటర్లను ఉపయోగిస్తున్నప్పటి నుండి వాటిని కాల్ సమయంలో పేర్కొనడానికి ఎంచుకోవచ్చు లేదా మీరు కాల్ సమయంలో వాటిని పేర్కొనలేదని మూడవ నియమం చెబుతుంది. + కాబట్టి, మనము ఫంక్షన్ g యొక్క సందర్భంలో చూస్తే, ఖచ్చితంగా ఈ ఖచ్చితమైన నిర్వచనాన్ని అనగా ఖచ్చితమైన నిర్వచనంగా చెప్పండి, అప్పుడు ఈ మూడు కాల్స్ చెల్లుబాటు అయ్యేవి అని నేను చూడగలను, అంటే నేను ఒక పారామితి గ్రా(i)ఇది మొదటిగా తీసుకోబడుతుంది లేదా నేను మొదటి రెండు పారామితులను i మరియు d తో పిలుస్తాము, ఇది Int మరియు డబుల్( double) లేదా నేను మూడు పారామితులతో కాల్ చేయవచ్చు. + ముగ్గురూ బాగున్నారు. + మీరు ఏదైనా పరామితి లేకుండా ఫంక్షన్ గ్రాని కాల్ చేయడానికి ప్రయత్నిస్తే, అది ఒక error అవుతుంది ఎందుకంటే మీరు ఈ పారామితి లేకుండా ఈ ఫంక్షన్ కాల్ చేయవలసి ఉంటే, అప్పుడు మొదటి పారామితి ఈ సందర్భంలో చేయబడలేదు. + కాబట్టి, ఒక ఫంక్షన్ యొక్క కొన్ని పారామితులు డిఫాల్ట్ విలువలకు ఇచ్చినట్లయితే కనీసం అన్ని అప్రమేయ పారామీటర్లను( parameters) వాస్తవ పారామితులుగా మరియు డిఫాల్ట్ పారామితులుగా పేర్కొనవలసి ఉంటుంది, డిఫాల్ట్ పారామీటర్ల విషయంలో మీకు ఎంపిక ఉంది మరియు మీరు పేర్కొనవచ్చు వాటిలో ఏదీ లేదా వాటిలో ఏదీ కాదు, కానీ వాటిలో కొన్నింటిని మీరు పేర్కొన్నట్లయితే, మీరు ఎల్లప్పుడూ నియమాన్ని అనుసరించాల్సి ఉంటుంది, మీరు వాటిని ఎడమవైపున సరైన క్రమంలో పేర్కొనవలసి ఉంటుంది. + ఇక్కడ నేను అనుకుందాం, మీరు ఈ ప్రత్యేకమైన వివరణను పరిశీలిస్తే, నాకు శుభ్రం చేసి మళ్ళీ చూపించాను అని పేర్కొనడం చేస్తున్నాను, మీరు ఈ కాల్స్లోకి చూస్తున్నారా అనుకుందాం, ఇక్కడ ఫంక్షన్ మూడు పారామీటర్లను( parameters) కలిగి ఉంది కానీ మనము ఈ రెండింటిని పేర్కొంటున్నాము. + కాబట్టి, ఇక్కడ వాటిలో మొదటిది తప్పనిసరిగా నాన్-డిఫాల్ట్ పారామితి( non-default parameter), ఇది తప్పనిసరిగా అవసరం మరియు రెండో పరామితి మీరు పేర్కొన్నట్లు డబల్ గా తీసుకోబడుతుంది. + ఇప్పుడు, మీరు నేను కాల్ లాగా కాల్ చేయడానికి ప్రయత్నిస్తాను అనుకుంటాను ఈ కాల్, నేను పూర్ణాంకానికి వెళ్తానని అర్థం, ఇది మూడవ పారామితి చార్( char)* కోసం వెళ్తుంది మరియు మధ్యలో డబుల్ విలువ 0.0 గా తీసుకోబడుతుంది. + ఇది సాధ్యం కాదు, ఇది error. + దీనికి కారణమేమిటంటే కంపైలర్ రెండు డీఫాల్ట్ పారామీటర్ల (default parameter) మధ్య డబుల్ మరియు చార్ * ల మధ్య తెలుసుకోవటానికి ఎటువంటి మార్గం లేదు, మీరు ఇక్కడ పేర్కొనబడినది మరియు మీరు ఇక్కడ పేర్కొన్నది ఏది. + మీరు ఈ పారామితులను వాడుతుంటే, మీరు ఒక నిర్దిష్ట క్రమంలో డిఫాల్ట్ విలువలను ఉపయోగించవచ్చు, వాస్తవానికి ఇచ్చిన పారామితులు కాల్ నుండి ఎడమ నుండి కుడికి సరిపోల్చాలి, మీరు దాటవేయగల పాయింట్ తర్వాత మాత్రమే ఉంటుంది అన్ని పారామితులు ఆ పారామితి యొక్క కుడి వైపున, కానీ మధ్య నుండి ఏదో దాటవేయి లేదు. + కాబట్టి, ఇవి డిఫాల్ట్ పారామితులు( default parameter) అనుసరించాల్సిన కొన్ని ప్రాథమిక నియమాలు. + ఇక్కడ, మనం మరొకదాన్ని చూపిస్తాము; ఇది సరిగ్గా భాష యొక్క నిర్వచనం ద్వారా నియమం కాదు కానీ నేను ఈ విధంగానే మీరు డిఫాల్ట్ పారామితులను ఉపయోగించి ఎలా చేయాలో ఆచరణలో చూపించాను. + కాబట్టి, అతను అప్రమేయ పారామితులు మాత్రమే హెడ్డర్ ఫైల్లో సరఫరా చేయాలి మరియు ఫంక్షన్ నిర్వచనంలో కాదు, మీరు డిఫాల్ట్ పారామీటర్ చేస్తున్నట్లయితే, ఇది మీకు డిఫాల్ట్ పేర్కొనడానికి ఉన్న ఒక శీర్షిక ఫైల్ ఉంటే ఈ నిర్వచనమేమిటంటే, ఆ ఫంక్షన్ కోసం శరీరాన్ని అందించిన ఫంక్షన్ను నిర్వచించిన మూలం ఫైల్. + కాబట్టి మనం ఏమి చెప్తున్నామో మీరు ఏ డిఫాల్ట్ పరామితిని ఎక్కడా పేర్కొనకూడదు లేదా ఎక్కడో వేరే ఎక్కడైనా మీరు ఈ ఫంక్షన్ను ఉపయోగించి ఇక్కడ చెప్పండి. + ఇప్పుడు, మనము ఏమి జరుగుతుందో చూద్దాం, ఈ ఫంక్షన్ నమూనాలో ఇవ్వబడుతుంది మరియు ఇది ఒక దరఖాస్తు కోడ్, ఇది ఒక ఫంక్షన్ వాడుతూ వున్న ఒక అప్లికేషన్ కోడ్( code) కాబట్టి ఇది ఈ ప్రత్యేక ఫంక్షన్ నిర్వచనం, ఈ ప్రత్యేక ఫంక్షన్ నమూనా చేర్చబడింది. + ఇప్పుడు మీరు ఈ వంటి ఏదో రాయడానికి కావలసిన మీ అప్లికేషన్ యొక్క శరీరం అనుకుందాం, ఆశ్చర్యకరంగా ఈ అన్ని ఆమోదయోగ్యమైన అన్ని ఈ అంగీకరించబడుతుంది. + కాబట్టి, మీరు ఇక్కడ ఏమి చెప్తున్నారో, మీరు శీర్షిక నుండి మూడవ పారామితి అప్పటికే డిఫాల్ట్(default) అయ్యిందని, ఇప్పుడు మీరు నా రెండవ పారామీటర్ కూడా డిఫాల్ట్ అయ్యారని చెపుతున్నారు. + కాబట్టి ఇప్పుడు నాకు ఉంది; నా ఫంక్షన్ గ్రా, కాబట్టి ఈ రెండు కలిసి నిజానికి అర్థం నా ఫంక్షన్ గ్రా రెండు దాని యొక్క పారామితులు డిఫాల్ట్ మరియు అందువలన న. + అదేవిధంగా, ఇక్కడ మూడవ సందర్భంలో, మొదటి పారామితి కూడా డీఫాల్ట్ చెయ్యబడింది. + అప్రమేయ పారామితి విశేషణము దానిని చేయుటకు అనుమతించును, కానీ మీరు వుపయోగిస్తున్నప్పుడు మీకు ఇబ్బంది ఉండదు, అప్రమేయ నిర్వచనములోని భాగము హెడర్ ఫైలునందు మరియు అప్రమేయ నిర్వచనాల భాగము మీ మూలం ఫైల్, అమలు ఫైలులో వున్నది. + కాబట్టి, ఏ పారామీటర్లు డీఫాల్ట్ చేయబడతాయో ఏ ఒక్క అంశంలోనైనా మీకు తెలియదు మరియు ఏ విలువలు అవి డిఫాల్ట్ (default) అవుతాయి. + కాబట్టి, అన్ని డిఫాల్ట్లను వాడాలి; మీరు ఈ వంటి ఏదో చేయాలని ఉంటే వాటిని అన్ని శీర్షిక ఫైళ్ళకు తరలించబడింది చేయాలి కాబట్టి ఒక సమయంలో మీరు డిఫాల్ట్ పారామితులు ఉన్నాయి ఏమి చూడగలరు మరియు వారి విలువలు ఏమిటి, లేకపోతే ఈ పద్దతి యొక్క ఈ విధానం డిఫాల్ట్ పారామితులు కోడ్ వ్రాయడం నిజంగా చాలా గందరగోళంగా పొందండి. + ఇది ఆచరణాత్మక పాయింట్ నుండి ఒక పరిమితిగా ఉంటుంది, మీరు భాషా చివరికి చూస్తే, మీరు ఈ నిర్వచనాలతో మీరు నిజంగానే నాలుగు వేర్వేరు రూపాలతో ఫంక్షన్ గ్రానికే పిలుస్తారని నేను చూపించినట్లు చూపించాయి ఎందుకంటే మూడు పారామితులు చివరికి అప్రమేయం చేయబడ్డాయి, కానీ ఒకే స్థలంలో వాటిని ఎల్లప్పుడూ అప్రమత్తంగా ఉండేలా చేస్తాయి, తద్వారా ఒకే సంతకం లో వాటిని మూడు వేర్వేరు సంతకాలలో వరుసగా మూడుసార్లు వేరు చేయటానికి బదులు వాటిని ఉపయోగించడం కోసం చాలా గందరగోళంగా మారుతుంది. + కాబట్టి, C ++ యొక్క డిఫాల్ట్ పారామితుల( default parameter) లక్షణాన్ని మేము చూశాము మరియు దానిని ఎలా ఉపయోగించాలో మరియు మేము ఉపయోగించే పరిమితులు ఏమిటి? + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/22. ProgramminginCplusplus_Closing Comments (Lecture 56)-3mCi_spXEI8.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/22. ProgramminginCplusplus_Closing Comments (Lecture 56)-3mCi_spXEI8.txt index cef50ee72a77500bf4b5e1ddd8cd0fa6d2457f8f..8aa0e353a325ee477e3fdef34634cd1ae5aa0b54 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/22. ProgramminginCplusplus_Closing Comments (Lecture 56)-3mCi_spXEI8.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/22. ProgramminginCplusplus_Closing Comments (Lecture 56)-3mCi_spXEI8.txt @@ -1,157 +1,157 @@ - 1. C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 40 కు స్వాగతం. - 2. మీకు తెలిసిన, ఈ ప్రస్తుత కోర్సు యొక్క చివరి మాడ్యూల్. - 3. అందువల్ల, మేము ఈ మాడ్యూల్‌కు క్రొత్త కంటెంట్‌ను తీసుకురాబోతున్నాము. - 4. నేను మొత్తం కోర్సును సంగ్రహంగా చెప్పగలను మరియు మీరు ముందుకు వెళ్ళటానికి కొన్ని ముగింపు వ్యాఖ్యలు చేయటానికి ప్రయత్నిస్తారు. - 5. కాబట్టి, ఈ మాడ్యూల్ యొక్క ఉద్దేశం, మేము ఏమి చేశామో త్వరగా, మేము ఈ 8 వారాలలో C ++ కోర్సులో ఏమి చేయలేదని త్వరగా సమీక్షిస్తాము. - 6. మీ పరీక్ష కోసం మేము ఎలా సిద్ధం చేయాలో అనే విషయంలో నేను కొన్ని పాయింట్లను(points) చాలు చేయాలనుకుంటున్నాను, ఈ కోర్సుకు(course) మీ తదుపరి చర్యగా ఉండాలి. - 7. కాబట్టి, ఇది మాడ్యూల్ అవుట్లైన్ మరియు మేము ఇక్కడ ప్రారంభించాము. - 8. కాబట్టి, మనము కోడింగ్ మొదలుపెడితే నిజంగానే జరుగుతుంది, C ++ శైలి పరంగా C ప్రోగ్రామ్లో ఉన్న అదే భావనలు. - 9. మరియు వివిధ STLs, మరియు అన్ని ఇతర విభిన్న లక్షణాలను ఉపయోగించి మరియు సమానమైన ప్రోగ్రామ్(program) రాయడం ప్రారంభించండి. - 10. మరియు దీని ద్వారా, C ++ మొత్తం ప్రోగ్రామింగ్(programming) అనుభవాన్ని ఎలా మెరుగుపరుచుకోగలమో మనము నిజంగా పరిశీలిస్తాము. - 11. ఈ ఫౌండేషన్తో మేము ఏమి కవర్ చేసాము; మంచి C గా ఉన్న C ++ అని పిలిచే C యొక్క ప్రొసీజరల్ ఫీచర్స (procedural features) C ++ లో మెరుగైన ప్రొసీజరల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ను (procedural programming language) అందిస్తుంది. - 12. ఇది రెండు పర్స్పెక్తివ్( perspective) నుండి అవసరం; ఒకటి పనిచేయడానికి పనులను మెరుగుపరుచుకోవడమే, రెండింటిలోనూ ఈ ఫీచర్స్ (features) అధికభాగం విధాన ఆధారిత ఎక్స్టెంషన్స్(extensions) ఆబ్జెక్ట్-ఓరియంటెడ్(object-oriented) ఫీచర్స్కు (features) కు మద్దతు ఇవ్వడం చాలా క్లిష్టమైనవి. - 13. కాబట్టి, మనము గుర్తుకు తెచ్చుకుంటే, C ++ ద్వారా అన్నింటికన్నా మంచి నిర్వహణను నిర్వహించగల మానిఫెస్ట్ కన్స్తంట్స్(constants) చదివి వినిపించే పరంగా వాల్యూస్ (values) మరియు వేరియబుల్స్(variables) యొక్క కాన్స్టాస్నెస్ ను( const-ness) పరిశీలించాము. - 14. అంతేకాక, సభ్యుల పనితీరుపై మరియు తరువాత మొదలైన వాటిలో, కాన్స్టాక్-నెస్ యొక్క పలు భావాలను పరిచయం చేయడంలో కూడా. - 15. మీరు ఇప్పుడు తెలిసినట్లుగా, C ప్రోగ్రామింగ్(programming) సి ముందుకు వెళ్ళే సి ప్రోగ్రామింగ్లో(programming) C ++ లో ఉన్న సి స్టాండర్డ్(standard) బ్యాక్ మార్గంలో భాగంగా కాన్స్టాస్నెస్ ను( const-ness) వంటి సి ప్రోగ్రామింగ్లో(programming) ఒక ముఖ్యమైన మెరుగుదలగా మారిపోయింది. - 16. అంతేకాకుండా మనం మంచి ప్రొసీజరల్ (procedural) ఇతర ఫీచర్లను( features) చూశాము. - 17. మేము రిఫరెన్స్ పారామీటర్(reference parameter) గురించి మాట్లాడుతున్నాము, ఓవర్లోడింగ్(overloading) గురించి మాట్లాడాం. - 18. మరియు మెమొరీ మానేజ్మెంట్ (memory management) కోసం చాలా గణనీయంగా కొత్త ఆపరేటర్లు( operator); ఆపరేషన్ కొత్త మరియు ఆపరేటర్ డిలీట్ (operator delete), కొత్త ఆర్రే (array new), ఆర్రే డిలీట్( array delete) మరియు అందువలన న. - 19. కాబట్టి, వీటిలో అన్నింటితో కలిపి, మేము సి యొక్క ప్రొసీజరల్ ఫీచర్స (procedural features) కలిగి ఉన్నాము, ఈ ఫీచర్లను( features) అంతర్గతంగా ఏ ఆబ్జెక్ట్ ఓరియంటెడ్ (object oriented)భావనను కలిగి ఉండవు, కానీ ఇవి C ++ లో మెరుగ్గా C ++ లో సి క్రెడిట్ కోడింగ్ను చేస్తాయి. - 20. మెరుగైన ప్రొసీజరల్(procedural) మద్దతుకి ఆ పునాదితో, మేము ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్(object oriented programming) లేదా OOP లో C ++ లో చర్చించాము. - 21. నిశ్చయంగా, దీనిని  వివరంగా వివరించారు. మేము క్లాస్ (class), వారి మెంబర్స్(members), యాక్సెస్ స్పెసిఫైయర్లు( access specifiers), కన్స్ట్రాక్టర్స్ (constructors), డిస్ట్రాక్తోర్స్ (destructors), జీవితకాలం మరియు అన్నింటిని ప్రాథమికంగా ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ (object oriented programming) యొక్క సాధారణ ఎన్కోప్యులేషన్(encapsulation) పథకం పరిధిలోకి వస్తాయని మేము మాట్లాడాము. - 22. మీరు రెండు విధాలుగా కప్పినప్పుడు, ఒక ఆబ్జెక్ట్ (object) యొక్క పరంగా మల్టిపుల్ డేటా మెంబర్స్(multiple data members) ప్యాకేజీ చెయ్యడం ద్వారా మీరు ఒకదానితో ఒకటి కప్పబడి ఉంటుంది మరియు దానితో మెంబర్స్(members) పనులను సెట్ చేసే ప్రవర్తనను మాత్రమే అందించడానికి ప్రయత్నించండి. - 23. మరియు విసిబిలిటీ (visibility) సహాయంతో, యాక్సెస్ స్పెసిఫైయర్లు(access specifiers), మీరు ఏ భాగంలో భాగంగా లేదా ఏ ఏజెంట్లకు అందుబాటులో ఉన్నాయో చూడవచ్చు. - 24. ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్కు(object oriented programming) మద్దతు ఇచ్చిన దానిలో, మెంబర్స్(members) ఫంక్షన్ల ఓవర్లోడింగ్(function overloading) వంటి చాలా ముఖ్యమైన ఫీచర్స్ (features) మేము చాలావరకు పరిచయం చేసాము. - 25. మేము పబ్లిక్(public) లేదా ప్రైవేట్(private) విసిబిలిటీ (visibility) కంటే కొంత రకమైన విసిబిలిటీ (visibility) యాక్సెస్ను అందించే ఫ్రెండ్ మెంబర్స్(friend member) విధి గురించి మాట్లాడాము. - 26. మేము స్టాటిక్ డేటా మెంబర్స్(members) గురించి మరియు మెంబర్ ఫంక్షన్(function member) గురించి మాట్లాడాము. - 27. మేము నేమ్ స్పేస్ (name space) గురించి మాట్లాడాము. - 28. మళ్ళీ ఆ విధంగా నేమ్ స్పేస్ (name space) ఖచ్చితంగా ఆబ్జెక్ట్-ఓరియంటెడ్ ఫీచర్లు(object oriented features) పరిగణించకపోవచ్చు, కానీ ఒకవేళ అది క్లాస్లను (class) ప్రవేశపెట్టినప్పుడు వారు తమని తాము ఏదో ఒక నేమ్ స్పేస్ (name space) ప్రవేశపెడతారు. - 29. కాబట్టి, ఒక నేమ్ స్పేస్(name space) ఒక తార్కిక పరిణామం మరియు ఖచ్చితంగా అది C ++ ప్రోగ్రామింగ్ పరంగా మెరుగైన సోర్స్ సంస్థ కోడ్, సంస్థ ఎంపికలను ఇస్తుంది. - 30. కాబట్టి, ఈ అన్ని కలిసి, కోర్సు యొక్క ఈ భాగం వరకు ప్రధాన పాయింట్ ఉంది మేము ఆబ్జెక్ట్ (object)ఆధారిత ఫీచర్స (features)లను ఉపయోగించడం మరియు ఇప్పుడు ఒక డేటా(data) రకాలు నిర్వచించే అధికారం. - 31. కాబట్టి, ఈ అంశానికి ప్రధాన సాధనం మేము కేవలం ఆబ్జెక్ట్-ఓరియెంటెడ(object-oriented) ఎన్క్యాప్సాలేషన్(encapsulation) ఓవర్లోడింగ్ (overloading)రకమైన సౌలభ్యాలను కలిగి ఉన్నది, ఇప్పుడు మనం మన స్వంత వినియోగదారు నిర్వచించిన డేటా రకాన్ని నిర్మించగలము. - 32. ఈ డేటా రకాలు కార్యాచరణలో పూర్తవుతాయి. Int, చార్, డబల్ మరియు వంటి డేటా రకాల్లో అంతర్నిర్మితంగా ఇది పనిచేస్తుంది. - 33. మరియు ఓవర్లోడింగ్ యొక్క ఈ వేర్వేరు ఫీచర్స (features) గురించి, మరియు ప్రత్యేకంగా ఓవర్లోడింగ్ యొక్క ఆపరేటింగ్ ఫంక్షన్లు(operating function) మరియు ఆపరేటర్లు(operators) నిజంగా డేటా టైప్స్( data types) కలిగి ఉండటానికి ఎలా ఉపయోగించాలో చూసాము, ఇది వ్యక్తీకరణలను వ్రాయడానికి ఉపయోగించవచ్చు. - 34. సంక్లిష్ట దత్తాంశ రకాన్ని ఉదాహరణగా ఉపయోగించటానికి నిరంతరం ప్రయత్నిస్తున్నాము. - 35. వాస్తవానికి, మీరు దాన్ని విస్తరించవచ్చు, మీరు ఇతర డేటా టైప్స్( data types) అలాగే వెక్టర్ మాతృక వంటి భిన్నం లాంటి అంశాలకు కూడా చేయవచ్చు. - 36. మరియు మీ స్వంత అవసరమైన డేటా టైప్స్(data types) నిర్మించి, మీకు కావలసిన చోట, మీరు ఈ డేటా టైప్స్(data types) పరంగా సాధించటానికి ఎటువంటి అంతం లేదు. - 37. మరియు ఖచ్చితంగా డేటా టైప్స్ను(data type) కన్స్తృక్ట్(construct) సమయంలో, కొన్ని పాయింట్ ఉన్నాయి మనసులో ఉంచడానికి నేను ప్రత్యేకంగా మీరు ఆఫ్ గుర్తు చేయాలని మీరు ఒక డేటా టైప్స్ని(data types)తీసుకుని అయితే వాస్తవం. - 38. ఆ కోసం, మీరు ఆపరేటర్లు ఓవర్లోడింగ్ (operators overloading) ఉంటాయి; ఆపరేటర్(operator) యొక్క సెమాంటిక్స్లను ఆపరేటర్ (symantic operator)యొక్క సెమాంటిక్స్కు(symantics) దగ్గరగా నిర్మించటానికి ప్రయత్నించండి. - 39. మరియు అది చాలా విభిన్నంగా ఉండదు, ఉదాహరణకు, మీరు సమితి డేటా టైప్స్(data types) నిర్వచిస్తున్నట్లయితే మరియు మీరు ప్లస్ ఆపరేటర్ను ఓవర్లోడింగ్ చేస్తే, సెట్ల విభజన కంటే సెట్స్ యూనియన్తో ప్లస్ ఆపరేటర్తో అనుబంధంగా ఉండడం అత్యుత్తమంగా ఉంటుంది సెట్స్ తేడా మరియు అందువలన న. - 40. అదే సమయంలో, సంతకం పరంగా, అది విలువ ద్వారా ఫలితాన్ని తిరిగి ఇవ్వడం లేదా సూచనగా లేదా స్థిరమైన సూచన ద్వారా మరియు దాని ద్వారా దాని ఫలితంగా సాధ్యమైనంత డేటా రకాన్ని ఆపరేటర్లలో నిర్మించడానికి దగ్గరగా ఉండాలి. - 41. అంతేకాక, వ్యత్యాసాల అర్ధం ఏమిటంటే మేము సుదీర్ఘంగా చర్చించాము. - 42. ఇక్కడ ఇతర ముఖ్యమైన పాయింట్లు కాపీ సెమాంటిక్స్ లేదా ఆబ్జెక్ట్ (object) జీవితంలో మరియు లేదా కంపైలర్ ప్రోగ్రామింగ్ (compiler programming) సౌలభ్యం మద్దతు అందించే ఉచిత విధులు వివిధ వివరణాత్మక చర్చ గురించి వివరణాత్మక లేదా వివరణాత్మక చర్చ ఉంది. - 43. తరువాత కదిలే, మీరు తీసుకున్నది ఏమిటంటే ఆబ్జెక్ట్-ఓరియంటెడ్ ప్రోగ్రామింగ్(object-oriented programming) యొక్క మరొక ప్రధాన అంశంగా ఇన్హేరిటెన్స్(inheritance) లేదా సాధారణీకరణ స్పెషలైజేషన్(specialization) హైరార్కీ(hierarchy) అని పిలుస్తారు. - 44. ఈ కోర్సు ఒక నమూనా రూపాంతరంగా చెప్పాలంటే ఆబ్జెక్ట్-విన్యాసాన్ని చర్చించడానికి తగినంత అవకాశాలు లేనప్పటికీ, వాస్తవిక ప్రపంచంలోని పరంగా మేము చూడగలిగారు, అక్కడ మొత్తం చాలా సందర్భాలు ఉన్నాయి, ఇక్కడ ప్రత్యేకమైన సాధారణీకరణ సమస్య డొమైన్ ఎర్రర్(domain error), సమస్య డొమైన్ ఎర్రర్( domain error), వివిధ అంశాల మధ్య కేవలం ఒక సహజ దృగ్విషయం. - 45. మరియు మూలధన ఫీచర్స (features) పరంగా, ఒక బేస్ క్లాస్ (base class) నుండి ఒక క్లాస్(class) ఉత్పన్నం చేయగలగటం మరియు ఆ ప్రక్రియలో కొత్త మెంబర్స్( members) ఫంక్షన్తో బేస్ క్లాస్ మెంబర్ని విధులను అధిగమించడం మరియు వాటిని అవసరమైతే వాటిని ఓవర్లోడ్ చేసి, - 46. పై. - 47. మనము చాలా సహజమైన ప్రపంచంలో చాలా సంక్లిష్టమైన పదార్ధాలను చాలా వ్యవస్థీకృత మరియు సమలేఖన పద్ధతిలో అందించగలము. - 48. మరియు బహుశా ఈ సంక్రమణ బహుశా C ++ యొక్క ముఖ్య లక్షణాలలో ఒకటి; ప్రత్యేకంగా C ++ యొక్క ఆబ్జెక్ట్ ఓరియెంటెడ్( object oriented) కోణాలు, కంపోజ్ చేయబడినవి, ఓవర్లోడింగ్. - 49. మరియు సంక్రమణ మీరు కోర్ ఫ్రేమ్ పనిని అందిస్తాయి, ఇందులో ఆబ్జెక్ట్ ఓరియెంటెడ్(object oriented) చాలా విస్తృతంగా నమూనా చేయబడుతుంది మరియు C ++ భాష యొక్క పద్దతిలో ప్రోగ్రామ్ చేయబడుతుంది మరియు సవరించబడుతుంది. - 50. తరువాత, మనము ఏమి చూసాము అనేదానిని సాధారణంగా పాలిమార్ఫిజం అని పిలుస్తారు. - 51. పాలిమార్ఫిజం(polymorphism) అనే పదాన్ని వాడటం మీరు C ++ లో విభిన్న అర్ధాన్ని కలిగి ఉంటాడని హెచ్చరిస్తారు, కానీ ఇక్కడ పాలిమార్ఫిజం ద్వారా మనం అర్థం ఏమిటంటే ప్రధానంగా డైనమిక్ బైండింగ్ (dynamic binding). - 52. ఇది మనము ఒక పాయింటర్(pointer) రకం పాయింటర్ యొక్క రకాన్ని లేదా ఒంటరిగా ఒక రిఫరెన్సు యొక్క స్థిరమైన రకాన్ని ఒక సభ్యుని ఫంక్షన్ యొక్క నిర్దిష్ట బైండింగ్ నిర్ణయించలేదు ఎక్కడ పరిశీలించి ఒక ఫీచర్ చాలా భిన్నమైన రకం. - 53. ఒక పాయింటర్ dreferencing లేదా ఒక సూచన యాక్సెస్ తో కట్టుబడి సభ్యుడు లేదా నిర్దిష్ట సభ్యుడు ఫంక్షన్ సూచించే పాయింటర్, డైనమిక్ టైప్ (dynamic type) యొక్క డైనమిక్ రకం ఇది రన్టైమ్ వద్ద చూపారు అసలు ఆబ్జెక్ట్(object)మీద ఆధారపడి ఉంటుంది. - 54. మరియు మాకు ఈ సాధారణ బేస్ క్లాస్ తో ఒక పెద్ద క్లాస్(class) సోపానక్రమం నిర్మించడానికి మరియు వర్చ్యువల్ (virtual)విధులు సామర్ధ్యం తో తగిన(runtime) ఆబ్జెక్ట్లు (object), స్వచ్ఛమైన వర్చ్యువల్ ఫంక్షన్( virtual function), నైరూప్య బేస్ క్లాస్(class) ఆ రన్నింగ్ ప్రతినిధి బృందం చేయగల సామర్థ్యం మాకు ఇచ్చిన చాలా కీ ఈ భాగాన్ని పరిచయం చేశారు. - 55. మరియు మేము ప్రత్యేకంగా అర్థం చేసుకోవడానికి సమయం గడిపింది, వర్చువల్ ఫంక్షన్ టేబుల్ (function table) పరంగా ఈ వర్చువల్ ఫంక్షన్ విధానం పని ఎలా మరియు ఎలా బహుళ వారసత్వ పరంగా ramifying చేస్తుంది. - 56. కాబట్టి, ఇవన్నీ కలిసి C ++ భాషకు చాలా బలమైన ఆబ్జెక్ట్ ఫౌండేషన్ను ఏర్పాటు చేస్తాయి. - 57. ఆ తరువాత రెండు భాగాలలో, మేము రెండు ఫీచర్స( features) చూడటంలో సమయాన్ని గడిపాం. రకం కాస్టింగ్ మరియు(exceptions), మంచి ఆబ్జెక్ట్-ఓరియంటెడ్ ప్రోగ్రామింగ్కు( object oriented programming) మద్దతివ్వటమే కాదు, ప్రోగ్రామింగ్ యొక్క అనుభవాన్ని మెరుగుపరచడానికి మాత్రమే కాకుండా క్లిష్టమైనది. - 58. కాబట్టి, రకం కాస్టింగ్ లో, మేము స్టాటిక్ టైమ్ లేదా వారి డైనమిక్ రకాన్ని బట్టి స్టాటిక్(static) సమయంలో, రన్టైమ్లో ఆబ్జెక్ట్ (objects) మార్పిడిని గురించి మాట్లాడాము. - 59. అందువల్ల మేము మొత్తం నియమాలను చూశాము, అంతర్లీన కాస్టింగ్ నియమాలు, సి స్టైల్ కాస్టింగ్, సి స్టైల్ కాస్టింగ్ సమస్యలు మరియు ఎందుకు, ముఖ్యంగా స్టాటిక్ కాస్ట్ పరిష్కరించబడిన నాలుగు-ఆపరేటర్ ఆపరేటర్లు. రూపంలో చేర్చబడతాయి. - 60. విస్తృతంగా ఉపయోగించబడుతుంది. - 61. ఈ స్టాటిక్ తారాగణం లేదా తారాగణం సందర్భంలో, సివి అర్హత లేదా డైనమిక్ తారాగణానికి ఎక్కువగా స్టాటిక్ టైమ్ కాస్టింగ్ వర్తించవచ్చు, ఇది ప్రత్యేకంగా డౌన్ కాస్టింగ్ ప్రయోజనాల కోసం రన్‌టైమ్ కాస్టింగ్‌కు వర్తిస్తుంది. - 62. కాబట్టి, కాస్ట్ ఆపరేటర్లు ప్రాథమికంగా కాస్టింగ్ యొక్క విభిన్న సందర్భాలను బట్టి అనేక విభిన్న అర్థాలను అందిస్తారని మీరు చూడవచ్చు. - 63. మరియు మీరు C ++ లో మరింత ఎక్కువ అనుభవాన్ని పొందుతున్నప్పుడు, మీ కోసం మీరు కనుగొంటారు, ముఖ్యంగా ఇప్పుడు తారాగణం (తారాగణం) ఆపరేటర్లు మూస నిర్వచనాలు తప్ప మరేమీ కాదు. - 64. కాబట్టి, నిజంగా, ఇవి మీ వద్ద ఉన్న నాలుగు-తారాగణం ఆపరేటర్లు మాత్రమే కాదు, కానీ మీరు మీ స్వంత తారాగణం ఆపరేటర్‌ను నిర్వచించగలరు మరియు దాని కోసం సెమాంటిక్స్‌ను నిర్వచించవచ్చు. - 65. అందువల్ల, ఒక వస్తువు యొక్క రకాన్ని ప్రసారం చేయడం లేదా మార్చడం లేదా ఒక రకమైన వస్తువును మొదట మరొకదానికి సూచించడం చాలా ముఖ్యమైన లక్షణం, ఇది బలమైన వస్తువు ధోరణికి మద్దతు ఇవ్వడానికి అవసరం, ఎందుకంటే బలమైన వస్తువు ధోరణి. చాలా బలంగా చూడవచ్చు. - 66. భాషను టైప్ చేయండి. - 67. అందువల్ల, ఏ ఇతర రకమైన సందర్భంలోనైనా ఒక నిర్దిష్ట రకం వస్తువును ఉపయోగించటానికి తరచుగా సూచన ఉంటుంది. - 68. అందువల్ల, టైప్ కాస్ట్ చర్చ మరియు టైప్ కాస్టింగ్ ఆ సందర్భంలో మీకు చాలా ఉపయోగకరంగా ఉంటుందని రుజువు చేస్తుంది. - 69. మినహాయింపులు చాలా భిన్నమైన అభిరుచి నుండి వచ్చినవి, అవి మొదట లోపం స్థితి, మినహాయింపు పరిస్థితులు మరియు భాషా పరిస్థితులలో వాటిని విస్తృతంగా నిర్వహించడం అనే ప్రశ్నను పరిష్కరిస్తాయి. - 70. ఇప్పుడు, మనందరికీ తెలుసు, మనం సాఫ్ట్‌వేర్ రాస్తే సాఫ్ట్‌వేర్ పనిచేయదు. - 71. అందువల్ల, ప్రోగ్రామ్‌లను సమర్ధవంతంగా డీబగ్ చేయగలగడం లోపం లేదా డెవలపర్‌లలో ఒక భాగం మరియు యజమానులు సొంత జీవితాన్ని కలిగి ఉంటారు, ప్రోగ్రామ్ జీవిత చక్రంలో ఒక భాగం మరియు భాగం. - 72. కానీ దురదృష్టవశాత్తు సి భాష మీకు అసంతృప్తికరమైన మార్గాలు, ఈ దోష మార్గాలు మరియు సమకాలిక, అసమకాలిక లోపం మీకు తెలిసిన అన్నింటినీ నిర్వహించడానికి భాషకు అంతర్నిర్మిత మద్దతును అందించదు. సిస్టమ్ కాన్ఫిగరేషన్. నేను మిమ్మల్ని పరిచయం చేద్దాం. - 73. మరియు అన్ని. - 74. కాబట్టి, సి అందించే పరంగా మేము చాలా వివరణాత్మక అభిప్రాయాన్ని తీసుకున్నాము, లాకునా అంటే ఏమిటి మరియు దాని దృష్ట్యా మేము ప్రాథమిక సెమాంటిక్స్, త్రో, క్యాచ్ మినహాయింపు నిబంధనలను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము మరియు సి ++ ఎలా అందిస్తుంది. - 75. మరలా మినహాయింపు అనేది ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ యొక్క మొత్తం కథను చాలా సులభం చేసే ఒక యంత్రాంగం, ఎందుకంటే మినహాయింపు వాస్తవానికి మీరు ఆపరేషన్ గురించి మాట్లాడటం కొనసాగించాల్సిన అవసరం లేదని నిర్ధారిస్తుంది మరియు ఆపరేషన్లు తగ్గించబడిందా లేదా అని చూడండి. - 76. మీరు ప్రయత్న నిబంధనలకు సరైన సూచనను ఇచ్చి, తగిన క్యాచ్ హ్యాండ్లర్‌ను ఉంచినట్లయితే, మీరు మినహాయింపు పరిస్థితుల గురించి మరియు పూర్తిగా భిన్నమైన కోడ్ బేస్‌లోని విభిన్న మినహాయింపు పరిస్థితుల గురించి ఆలోచించకుండా మొత్తం కోడ్‌ను వ్రాయవచ్చు.అందువల్ల దీనికి మంచి స్పష్టత ఉంటుంది. - 77. చివరకు, ఈ ప్రత్యేకమైన విషయం యొక్క లోతును పోల్చడానికి మనం చాలా తక్కువ సమయం గడపవచ్చు. - 78. మేము ఇప్పుడే రెండు మాడ్యూళ్ళను గడిపాము, కానీ ఇది 10 మాడ్యూళ్ళ యొక్క కోర్సు అవుతుంది. - 79. సి మరియు సి ++ సందర్భంలో టెంప్లేట్లు పూర్తిగా భిన్నమైన భావనలు, ఎందుకంటే అవి ఒకటి లేదా అంతకంటే ఎక్కువ వేరియబుల్స్ లేదా పారామితులు లేదా క్లాస్ టైప్ కోడ్ (లేదా కోడ్) వ్రాయబడిన కోడ్‌ను వ్రాయగల కొన్ని యంత్రాంగం. కోడ్ తెలియదు సంకలనం సమయంలో. - 80. మీరు నిజంగా ఆ ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించినప్పుడు, మీరు ఆ నిర్దిష్ట తరగతిని ఉపయోగించినప్పుడు మరియు తరువాత సాధారణ సిక్స్, స్వాప్ రకం ఫంక్షన్ (ఫంక్షన్) వంటి ఉదాహరణలను ఇచ్చాము మరియు స్టాక్ రకం డేటా ద్వారా చూడవచ్చు. నిర్మాణం. - 81. కాబట్టి, టెంప్లేట్లు వేరే రకాన్ని ఇస్తాయి (పాలిమార్ఫిజం-పాలిమార్ఫిజం). - 82. కాబట్టి, మీరు ఇప్పుడు చూస్తే, టెంప్లేట్లు చాలా విభిన్న కోణాల్లో చూడవచ్చు. - 83. ఒకటి, ఇది (పాలిమార్ఫిజం-పాలిమార్ఫిజం) యొక్క కోణం నుండి చూడగలదు, కాబట్టి ఓవర్‌లోడ్ మనకు ఒక నిర్దిష్ట రకాన్ని (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఇస్తుంది, దీనిని స్టాటిక్ (పాలిమార్ఫిజం-పాలిమార్ఫిజం) అంటారు. - 84. (పాలిమార్ఫిజం-పాలిమార్ఫిజం) మనకు డైనమిక్ బంధం ఉంది లేదా మనకు 'డైనమిక్' (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఉంది, ఇది ప్రాథమికంగా తరగతి సోపానక్రమంలో ఉంది. - 85. మరియు టెంప్లేట్ మీకు మరొక రకాన్ని (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఇస్తుంది ఎందుకంటే ఇది ఒక టెంప్లేట్ (పాలిమార్ఫిజం-పాలిమార్ఫిజం), ఎందుకంటే ఇక్కడ మళ్ళీ మీరు ఫంక్షన్ (ఫంక్షన్) ను ఒక టెంప్లేట్ లేదా ఒకే తరగతిగా వ్రాశారు. అదే రూపం ఉంది, కానీ మీరు చేయవచ్చు వివిధ ప్రయోజనాల కోసం దీన్ని ఉపయోగించండి. - 86. కాబట్టి, మీకు అవ్యక్త ఆవశ్యకత చెప్పే టెంప్లేట్ ఫంక్షన్ ఉన్నప్పుడు, ఓవర్‌లోడింగ్ విషయంలో మేము సమాధానం చెప్పాల్సిన అదే ప్రశ్నను బైండింగ్ కలిగి ఉంది, ఇది మేము డైనమిక్ (పాలిమార్ఫిజం) -పాలిమార్ఫిజంతో సంబంధం కలిగి ఉంటుంది, మేము దీనికి సమాధానం ఇవ్వాలి మళ్ళీ. - 87. కాబట్టి, ఇది చాలా భిన్నమైన లక్షణం, ఇది టెంప్లేట్‌లో వస్తుంది, కోడ్ ఉత్పత్తి అవుతుంది; వారు వాస్తవానికి కోడ్‌ను రూపొందించి, ఆ కోడ్‌ను కంపైల్ చేస్తారు. - 88. కాబట్టి, మీరు చిందరవందరగా ఉన్న కోడ్‌ను రూపకల్పన చేయగలిగితే, ప్రోగ్రామింగ్‌లో మీ అసలు ప్రయత్నం, డీబగ్గింగ్‌లో మీ అసలు ప్రయత్నం చాలా వరకు తగ్గించబడుతుంది ఎందుకంటే కోడ్ (కోడ్) మాత్రమే ఉపయోగించబడదు ఓవర్‌లోడింగ్ ద్వారా బహుళ రకాలను చూడండి, కానీ మీరు దీన్ని భవిష్యత్ రకాల కోసం ఉపయోగించడం కొనసాగించవచ్చు. - 89. కాబట్టి, ప్రోగ్రామింగ్ ప్రోగ్రామింగ్ లేదా టెంప్లేట్ మెటా ప్రోగ్రామింగ్ యొక్క ఈ ప్రయోజనం కోసం టెంప్లేట్లు ప్రధానంగా సి ++ లో ప్రవేశపెట్టబడ్డాయి. - 90. కాబట్టి, మేము ఆ అంశాన్ని పరిశీలిస్తే, సి ++ అనేది ప్రోగ్రామింగ్ యొక్క మూడు ప్రధాన నమూనాల కలయిక అని మనం చూస్తాము, ఇది విధానపరమైనది, ఎందుకంటే ఇది మొత్తం సి మరియు మంచి సిలను కలిగి ఉంటుంది, మీకు మొత్తం సెట్ ఇస్తుంది. - 91. విధాన పరంగా లక్షణాలు మరియు అధికారాలు. - 92. అందువల్ల, C ++ లో అల్గోరిథంలు రాయడం ఎల్లప్పుడూ చాలా సమర్థవంతంగా ఉంటుంది. - 93. ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ లక్షణాలకు ప్రసిద్ది చెందింది, కాబట్టి దీనిని ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ అని కూడా పిలుస్తారు. - 94. కాబట్టి, ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ పారాడిగ్మ్‌కు గట్టిగా మద్దతు ఇస్తుంది, అయినప్పటికీ కొన్ని లాకునే రూపంలో ఉంటాయి మరియు అవి ఈ కోర్సు యొక్క చర్చకు మించినవి కావచ్చు. - 95. అయితే ఇది ప్రతిబింబం వంటి ఆబ్జెక్ట్ ఓరియంటేషన్ యొక్క కొన్ని ప్రాథమిక పనులను చేయలేము, కాని ముఖ్యమైనది ఏమిటంటే ఇది జెనరిక్ ప్రోగ్రామింగ్ పారాడిగ్మ్ అని పిలువబడే మూడవ ఉదాహరణకి కూడా మద్దతు ఇస్తుంది, ఇది ఒక కోడ్ జనరేషన్ నమూనా, ఇక్కడ మీరు టైప్ పారడైజ్ కోడ్ వ్రాసి కోడ్‌ను రూపొందించవచ్చు ఆవశ్యకత ఆధారంగా. - 96. కాబట్టి, సి ++ ప్రాథమికంగా మూడు వేర్వేరు నమూనాలపై అభివృద్ధి చేయబడిందని మీరు చూడవచ్చు మరియు అందువల్ల దీనిని బహుళ నమూనా భాష అని పిలుస్తారు. - 97. వాస్తవానికి, మీరు C, C ++ యొక్క మునుపటి సంస్కరణలను, C ++ యొక్క మునుపటి సంస్కరణలను సూచిస్తే, ఇది కేవలం విధానపరమైనదని మరియు తరువాత ఆబ్జెక్ట్ ఓరియెంటెడ్ అని మీకు అనిపించవచ్చు, కానీ సంవత్సరాలుగా, టెంప్లేట్ సాధారణ ప్రోగ్రామింగ్ లక్షణాలను కలిగి ఉంటుంది. - 98. సి ++ నిజంగా బలాన్ని పొందుతోంది. - 99. మరియు మేము ప్రధానంగా మరియు మా చర్చను ఉపయోగిస్తున్నప్పటికీ, మేము C ++ 99 గురించి మాట్లాడుతున్నాము, ఇది 17 సంవత్సరాల ప్రమాణం, ఇది C ++ 03 లో కొద్దిగా సవరించబడింది, అంటే 2003 ప్రమాణం. - 100. కానీ తరువాత, మేము C ++ ప్రమాణం ప్రకారం గణనీయమైన పురోగతి సాధించాము. - 101. ఇప్పుడు మాకు రెండు కొత్త ప్రమాణాలు ఉన్నాయి; ఒకదాన్ని సి ++ 11 అని పిలుస్తారు, ఇది చివరికి 2012 లో విడుదలైంది; మరియు మనకు మరొక ప్రమాణం ఉంది, ఇటీవలి ప్రమాణం C ++ 14, ఇది గత సంవత్సరం 2015 లో విడుదలైంది. - 102. C ++ 11 లేదా C ++ 14 యొక్క ఈ లక్షణాలలో దేనినీ మేము చర్చించలేదు, ఇది మీకు చాలా బలమైన అదనపు పరామితిని ఇస్తుంది. - 103. ఈ అన్ని నమూనాలను బలోపేతం చేయండి, ప్రధానంగా ఆబ్జెక్ట్-ఓరియెంటెడ్ పారాడిగ్మ్ మరియు జనరల్ ప్రోగ్రామింగ్ పారాడిగ్మ్. - 104. మరియు ఇది ఇప్పటికే ఉన్న లక్షణాలకు చాలా బలమైన భావనలను తెస్తుంది మరియు మునుపటి C ++ 03 భాషతో పూర్తి వెనుకబడిన అనుకూలతను కొనసాగిస్తుంది. - 105. కాబట్టి, ఇది ప్రాథమికంగా నేను కవర్ చేయాలనుకున్నది ఈ రోజు C ++ యొక్క చిన్న భాగం లాంటిదని మరియు ఇది మీకు నిజంగా ప్రయోజనం చేకూర్చే విధంగా ఉందని నేను ఎత్తి చూపించాలనుకుంటున్నాను. - 106. అందువల్ల, నేను కొన్ని లక్షణాలను సూచించాలనుకుంటున్నాను అని చెప్పడం; ఇప్పుడు మనం కవర్ చేయని వాటిని జాబితా చేయడం చాలా కష్టం ఎందుకంటే సి ++ నిజంగా చాలా పెద్దది కాబట్టి మనం చేయనిది చెప్పడం చాలా కష్టం. - 107. ఇది స్లైడ్ లేదా రెండు స్లైడ్‌లకు సరిపోదు, కానీ ఇక్కడ నేను చాలా ముఖ్యమైన కొన్ని అంశాలను హైలైట్ చేసాను మరియు వాటిని బాగా తెలుసుకోవడానికి మీరు చొరవ తీసుకోవాలి. - 108. కాబట్టి, C ++ ఆధారంగా ఉద్భవించిన కొన్ని ప్రోగ్రామింగ్ శైలులు ఖచ్చితంగా ఉన్నాయి, ఒకటి ఫంక్టర్స్ అంటారు. - 109. ఫంక్షన్లు చాలా ఆసక్తికరమైన నమూనాలు, వాటిని ఫంక్షన్ వస్తువులు అంటారు. - 110. అందువల్ల, ఫంక్షన్లు మరియు వస్తువులు అని పిలవబడేవి మనకు తెలుసు. - 111. కానీ మనకు ఇక్కడ కొత్త భావనలు ఉన్నాయి, ఇక్కడ ఒక ఫంక్షన్‌ను వేగవంతం చేయవచ్చు, అది ఒక వస్తువు కావచ్చు, ఇది ఒక స్థితి కావచ్చు. - 112. కాబట్టి, ఇది సరళమైన ఫంక్షన్ కాల్, ప్రాథమికంగా ఫంక్షన్ ఆపరేటర్ పరంగా ఇది చూపబడుతుంది. - 113. కాబట్టి, ఒక వస్తువు తరగతి నిర్వచనం లేదా ఈ ఫంక్షన్ కాల్ ఆపరేటర్ ఓవర్‌లోడ్ అయిన వస్తువు తప్ప మరొకటి కాదు. - 114. కాబట్టి, నేను చెప్పేంత సులభం కాదు, కానీ ఇది దాదాపు అలాంటిదే. - 115. మరియు ఒకసారి మీరు చేయగలిగితే మీరు చాలా ప్రయోజనాలను పొందవచ్చు. - 116. వెక్టర్ మరియు జాబితా మరియు స్టాక్ వంటి కొన్ని డేటా నిర్మాణాలను ఉపయోగించడానికి మేము గణనీయంగా అంగీకరించలేదు, ఇది కన్స్ట్రక్టర్ యొక్క భావనలపై ఆధారపడిన ప్రామాణిక టెంప్లేట్ లైబ్రరీ. - 117. మరియు మీరు ఈ ప్రామాణిక టెంప్లేట్ లైబ్రరీని అన్వేషించడం మరియు క్రమంగా మరింతగా తెలుసుకోవడం చాలా ముఖ్యం, తద్వారా మంచి C ++ కోడ్‌ను వ్రాయగల మీ శక్తి కూడా మెరుగుపడుతుంది. - 118. వనరుల నిర్వహణ, ముఖ్యంగా స్మార్ట్ పాయింటర్ మెమరీ నిర్వహణ మరియు ఇలాంటి అంశాలు ఇతర ముఖ్యమైన అంశాల జంటలు. - 119. C ++ కోడింగ్ శైలి మీరు C ++ లో కోడ్ ఎలా వ్రాయాలి, ఖచ్చితంగా C పద్ధతి కాదు. - 120. పునర్వినియోగ నమూనాలు ఏమిటో మీకు చెప్పే డిజైన్ నమూనాలు? అనేక ప్రాక్టికల్ సిస్టమ్స్ కోసం మీరు C ++ తో C ని సృష్టించాలి. బహుశా C కి ఇప్పటికే ఉన్న కోడ్ బేస్ ఉంది, అది మీరు అన్నింటినీ విసిరి C ++ ను వ్రాయలేరు. - 121. అందువల్ల, మీరు కొన్ని భాగాలను సి ++ లో వ్రాస్తారు మరియు మిగిలిన భాగాలను సి లో కొనసాగిస్తారు. - 122. అందువల్ల, మీరు వాటిని ఎలా తయారు చేస్తారు అనేది పెద్ద ప్రశ్న. - 123. సి ++ లోని సోర్స్ కోడ్ (కోడ్) నిర్వహణ నేమ్‌స్పేస్ మరియు ఎక్స్‌పోర్ట్ వంటి లక్షణాలను అందించింది. - 124. దీనితో మీరు మెరుగైన C ++ సోర్స్ కోడ్ నిర్వహణ చేయవచ్చు మరియు ఇంజనీరింగ్ ప్రయోజనాల కోసం మీరు C ++ సాధనాలపై పూర్తి అవగాహన తీసుకోవాలి. - 125. కాబట్టి, జాబితా చాలా పొడవుగా ఉంది. - 126. C ++ 11 లేదా C ++ 14 ఇవన్నీ C ++ 03 యొక్క అన్ని అంశాలు అని నేను మాట్లాడలేదు, కానీ మీరు వాటిని నిజంగా నేర్చుకోగలిగితే అది మంచి ఓవర్ టైం అవుతుంది. - 127. కాబట్టి, మనం నేర్చుకున్న వాటిని సంగ్రహించడానికి ప్రయత్నిస్తే. - 128. మొదటి వాస్తవం ఏమిటంటే, సి ++ అనేది బహుళ నమూనా భాష, ఇది విధానపరమైనది, ఇది ఆబ్జెక్ట్ ఓరియెంటెడ్ మరియు ఇది సాధారణమైనది. - 129. కాబట్టి, మీరు సి ++ ప్రోగ్రామింగ్ చేస్తున్నప్పుడు, మీరు ఏ మోడల్‌లో పని చేస్తున్నారో మరియు అవి ఎలా తయారయ్యాయో గుర్తించడానికి ఎల్లప్పుడూ ప్రయత్నించండి, రేపటి నుండి భవిష్యత్తుకు కదులుతుంది. - 130. రెండవ అంశం పునర్వినియోగం, C ++ లోని కీ. - 131. మీరు చూసిన లక్షణాల మొత్తం స్వరూపాన్ని మీరు పరిశీలిస్తే, సి లో మీరు చూసిన మాక్రోలు మరియు లైబ్రరీ ఫంక్షన్ల వంటి వాటికి మాత్రమే సి మద్దతు ఇచ్చింది. - 132. ఆపై C ++ లో, మాకు ఫంక్షన్ ఓవర్‌లోడింగ్, స్టాటిక్ పాలిమార్ఫిజం, డైనమిక్ పాలిమార్ఫిజం, ఇతర రకాల పునర్వినియోగ ఎంపికలు ఉన్నాయి, ఆపై మేము టెంప్లేట్ చేసినప్పుడు మరియు మీరు STL కి వెళ్ళినప్పుడు, మీకు పెద్ద మొత్తంలో పునర్వినియోగం లభిస్తుంది, ఎందుకంటే ఇప్పుడు, మీరు పారామితి రకంతో గరిష్ట ఫంక్షన్ (ఫంక్షన్) ను వ్రాస్తున్నారు మరియు ఇది అంతర్నిర్మిత రకంలో మాత్రమే కాకుండా, భవిష్యత్తులో వినియోగదారు నిర్వచించిన అన్ని రకాలుగా పనిచేస్తుంది. మీతో వచ్చే వారికి. - 133. డిజైన్ నమూనాలు పునర్వినియోగం యొక్క మరొక అంశం, ఇక్కడ మీరు పునర్వినియోగాన్ని అసంబద్ధమైన కోడ్ (కోడ్) కు పరిమితం చేయడమే కాకుండా, జత డిజైన్లను తిరిగి ఉపయోగించటానికి కూడా ప్రయత్నిస్తారు. - 134. ఖచ్చితంగా మీరు బాగా నేర్చుకోవలసిన ఇతర అంశాలు, మరియు మంచి డేటా రకాలను రూపకల్పన చేయడం C ++ లో మంచి ప్రోగ్రామింగ్‌కు కీలకం, ఎందుకంటే C ++ ఒక బలమైన రకం మరియు ఏమైనా. అలాగే మీరు చేయాలనుకుంటున్నారు, మీరు ఒక రకాన్ని సృష్టించాలనుకుంటున్నారు అది. - 135. C ++ లో ప్రోగ్రామింగ్ చేస్తున్నప్పుడు మీరు సామర్థ్యంపై నిఘా ఉంచాలి ఎందుకంటే C ++ అత్యంత సమర్థవంతమైన భాషా సాధారణ ప్రోగ్రామ్, నా ఉద్దేశ్యం ఏమిటంటే సాధారణ ప్రయోజన ప్రోగ్రామింగ్ భాష నేటికీ ఉంది, C నుండి కూడా మరింత సమర్థవంతంగా ఉంటుంది. - 136. సి ++ లో వ్రాసిన సి కోడ్‌కు సమానమైన కోడ్ సి కోడ్ కంటే 50 నుండి 60 నుండి 100 శాతం వేగంగా ఉంటుందని చాలా ప్రయోగాలు సూచిస్తున్నాయి. - 137. కాబట్టి, సామర్థ్యం ఒక కీ, భద్రత ఒక కీ, మరియు వాస్తవానికి అన్ని విభిన్న మినహాయింపులు ఉన్నాయి మరియు అవన్నీ భద్రతా లక్షణాలకు జోడించబడతాయి మరియు స్పష్టత చాలా స్పష్టంగా అర్థమయ్యేలా ఉండాలి. - 138. కాబట్టి, టేక్ బ్యాక్ కీ సందర్భంలో, నేను ఈ విషయాన్ని పరిగణనలోకి తీసుకోవాలనుకుంటున్నాను మరియు చివరికి, నేను ఈ విషయాన్ని చెప్పడానికి క్షమించమని ఒక హెచ్చరిక ఇస్తాను, కాని గత 20 సంవత్సరాలుగా సి ++ ప్రోగ్రామర్‌లతో కలిసి పని చేస్తున్నాను . - 139. ప్రోగ్రామర్‌లకు వాస్తవానికి C ++ కంపైలర్‌కు ప్రాప్యత ఉంది, కాని సి లో కోడ్ రాయండి. - 140. సి యొక్క వాక్యనిర్మాణాన్ని ఉపయోగించాలని నా ఉద్దేశ్యం కాదు, మీరు ఇప్పటికీ సి ++ యొక్క వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు, మీరు ఇప్పటికీ వస్తువులను ఉపయోగించవచ్చు. - 141. నైపుణ్యం మరియు అన్నీ, కానీ మీరు రూపకల్పన చేసే విధానం డిజైన్ శైలి. - 142. అందువల్ల, సమస్య పరిష్కారానికి సి శైలి మరియు రోజూ సమస్య పరిష్కారానికి సి ++ శైలి మధ్య పోలికను మీకు చూపించడానికి ప్రయత్నిస్తాను. - 143. దయచేసి మంచి కోడ్ పరిష్కారాలను సూచించే వారిని చూడండి, మరియు మీరు C ++ ను ఉపయోగించినప్పుడు, మీరు C ++ శైలిలో కోడ్ చేయగలరని నిర్ధారించుకోండి, బహుళ-నమూనా భాష యొక్క పూర్తి ప్రయోజనాన్ని పొందవచ్చు. వ్రాయండి మరియు ఆ వ్రాత జరగదు సి స్టైల్‌తో సి ++ కంపైలర్ బేస్డ్ కోడ్. - 144. ముగింపులో, ఇవి మీ పరీక్షకు సిద్ధమయ్యే సాధారణ విషయాలు; వీడియో చూడండి, అప్పగింత మరియు పరిష్కారాన్ని సవరించండి. - 145. మేము త్వరలో వివరణాత్మక పరిష్కారాలను అందిస్తాము, నేర్చుకోవటానికి కీలకమైన కోడింగ్ చాలా ప్రాక్టీస్ చేస్తాము. - 146. మరియు పూర్తి డేటా రకాలను రూపకల్పన చేసి, అమలు చేయండి, నా ఉద్దేశ్యం మేము సంక్లిష్టమైన పని చేశాము, ఇవి కొన్ని నమూనా డేటా రకాలు, మనం చేసిన చోట నేను చేయగలను, కాని మీరు ఈ డేటా (డేటా) రకాన్ని ఉపయోగించవచ్చు. - 147. మీరు పుస్తకాలను సూచించాల్సిన అవసరం ఉంటే, ఇవి మీకు అనుసరించమని నేను సూచించే పుస్తకాల యుగళగీతాలు. - 148. ఈ కోర్సు నుండి ముందుకు వెళుతున్నప్పుడు, మీరు చేయగలిగే చాలా విషయాలు నేను మీకు చెప్పగలను, మీరు కవర్ చేసిన విషయాలను నేర్చుకోవచ్చు. - 149. కానీ మీరు ప్రోగ్రామింగ్‌ను క్రమం తప్పకుండా he పిరి పీల్చుకోవాల్సిన అవసరం ఉంది మరియు సిస్టమ్‌ను అమలు చేయాలి, సి ++ నేర్చుకోవడానికి చాలా ముఖ్యమైన కోడ్‌ను చదవండి. - 150. మరియు ఇవి కాకుండా మీరు చేయగలిగే అన్ని ఫ్యూచర్స్ అధ్యయనాలు. - 151. ఒక భాషను బాగా అర్థం చేసుకోవడానికి ఇతర వస్తువు-ఆధారిత భాషలను నేర్చుకోవడం మంచిది. - 152. కాబట్టి, పైథాన్ నేర్చుకోండి, జావా నేర్చుకోండి. - 153. మీకు అవకాశం లభిస్తే, సిస్టమ్స్ మోడలింగ్ (సాఫ్ట్‌వేర్) ఇంజనీరింగ్ (మోడలింగ్) కోసం ఆబ్జెక్ట్-ఓరియెంటెడ్ ఎనాలిసిస్ మరియు డిజైన్ యుఎంఎల్ ద్వారా వెళితే మరియు సి. ++ లేదా ఈ సంబంధిత విషయానికి సంబంధించిన కొన్ని మంచి పుస్తకాలు ఉన్నాయి. - 154. అందువల్ల, దీనితో పాటు, సి ++ లోని సిలబస్ ముగిసిందని చెప్పడం ద్వారా నేను మూసివేసి సంగ్రహించాలి. - 155. సి ++ లో చాలా నైపుణ్యం, నైపుణ్యం మరియు ఫలవంతమైన ప్రోగ్రామర్ కావడానికి మీ పరీక్షలకు మరియు అంతకు మించి మీ అందరికీ శుభాకాంక్షలు. - 156. + C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 40 కు స్వాగతం. + మీకు తెలిసిన, ఈ ప్రస్తుత కోర్సు యొక్క చివరి మాడ్యూల్. + అందువల్ల, మేము ఈ మాడ్యూల్‌కు క్రొత్త కంటెంట్‌ను తీసుకురాబోతున్నాము. + నేను మొత్తం కోర్సును సంగ్రహంగా చెప్పగలను మరియు మీరు ముందుకు వెళ్ళటానికి కొన్ని ముగింపు వ్యాఖ్యలు చేయటానికి ప్రయత్నిస్తారు. + కాబట్టి, ఈ మాడ్యూల్ యొక్క ఉద్దేశం, మేము ఏమి చేశామో త్వరగా, మేము ఈ 8 వారాలలో C ++ కోర్సులో ఏమి చేయలేదని త్వరగా సమీక్షిస్తాము. + మీ పరీక్ష కోసం మేము ఎలా సిద్ధం చేయాలో అనే విషయంలో నేను కొన్ని పాయింట్లను(points) చాలు చేయాలనుకుంటున్నాను, ఈ కోర్సుకు(course) మీ తదుపరి చర్యగా ఉండాలి. + కాబట్టి, ఇది మాడ్యూల్ అవుట్లైన్ మరియు మేము ఇక్కడ ప్రారంభించాము. + కాబట్టి, మనము కోడింగ్ మొదలుపెడితే నిజంగానే జరుగుతుంది, C ++ శైలి పరంగా C ప్రోగ్రామ్లో ఉన్న అదే భావనలు. + మరియు వివిధ STLs, మరియు అన్ని ఇతర విభిన్న లక్షణాలను ఉపయోగించి మరియు సమానమైన ప్రోగ్రామ్(program) రాయడం ప్రారంభించండి. + మరియు దీని ద్వారా, C ++ మొత్తం ప్రోగ్రామింగ్(programming) అనుభవాన్ని ఎలా మెరుగుపరుచుకోగలమో మనము నిజంగా పరిశీలిస్తాము. + ఈ ఫౌండేషన్తో మేము ఏమి కవర్ చేసాము; మంచి C గా ఉన్న C ++ అని పిలిచే C యొక్క ప్రొసీజరల్ ఫీచర్స (procedural features) C ++ లో మెరుగైన ప్రొసీజరల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ను (procedural programming language) అందిస్తుంది. + ఇది రెండు పర్స్పెక్తివ్( perspective) నుండి అవసరం; ఒకటి పనిచేయడానికి పనులను మెరుగుపరుచుకోవడమే, రెండింటిలోనూ ఈ ఫీచర్స్ (features) అధికభాగం విధాన ఆధారిత ఎక్స్టెంషన్స్(extensions) ఆబ్జెక్ట్-ఓరియంటెడ్(object-oriented) ఫీచర్స్కు (features) కు మద్దతు ఇవ్వడం చాలా క్లిష్టమైనవి. + కాబట్టి, మనము గుర్తుకు తెచ్చుకుంటే, C ++ ద్వారా అన్నింటికన్నా మంచి నిర్వహణను నిర్వహించగల మానిఫెస్ట్ కన్స్తంట్స్(constants) చదివి వినిపించే పరంగా వాల్యూస్ (values) మరియు వేరియబుల్స్(variables) యొక్క కాన్స్టాస్నెస్ ను( const-ness) పరిశీలించాము. + అంతేకాక, సభ్యుల పనితీరుపై మరియు తరువాత మొదలైన వాటిలో, కాన్స్టాక్-నెస్ యొక్క పలు భావాలను పరిచయం చేయడంలో కూడా. + మీరు ఇప్పుడు తెలిసినట్లుగా, C ప్రోగ్రామింగ్(programming) సి ముందుకు వెళ్ళే సి ప్రోగ్రామింగ్లో(programming) C ++ లో ఉన్న సి స్టాండర్డ్(standard) బ్యాక్ మార్గంలో భాగంగా కాన్స్టాస్నెస్ ను( const-ness) వంటి సి ప్రోగ్రామింగ్లో(programming) ఒక ముఖ్యమైన మెరుగుదలగా మారిపోయింది. + అంతేకాకుండా మనం మంచి ప్రొసీజరల్ (procedural) ఇతర ఫీచర్లను( features) చూశాము. + మేము రిఫరెన్స్ పారామీటర్(reference parameter) గురించి మాట్లాడుతున్నాము, ఓవర్లోడింగ్(overloading) గురించి మాట్లాడాం. + మరియు మెమొరీ మానేజ్మెంట్ (memory management) కోసం చాలా గణనీయంగా కొత్త ఆపరేటర్లు( operator); ఆపరేషన్ కొత్త మరియు ఆపరేటర్ డిలీట్ (operator delete), కొత్త ఆర్రే (array new), ఆర్రే డిలీట్( array delete) మరియు అందువలన న. + కాబట్టి, వీటిలో అన్నింటితో కలిపి, మేము సి యొక్క ప్రొసీజరల్ ఫీచర్స (procedural features) కలిగి ఉన్నాము, ఈ ఫీచర్లను( features) అంతర్గతంగా ఏ ఆబ్జెక్ట్ ఓరియంటెడ్ (object oriented)భావనను కలిగి ఉండవు, కానీ ఇవి C ++ లో మెరుగ్గా C ++ లో సి క్రెడిట్ కోడింగ్ను చేస్తాయి. + మెరుగైన ప్రొసీజరల్(procedural) మద్దతుకి ఆ పునాదితో, మేము ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్(object oriented programming) లేదా OOP లో C ++ లో చర్చించాము. + నిశ్చయంగా, దీనిని  వివరంగా వివరించారు. మేము క్లాస్ (class), వారి మెంబర్స్(members), యాక్సెస్ స్పెసిఫైయర్లు( access specifiers), కన్స్ట్రాక్టర్స్ (constructors), డిస్ట్రాక్తోర్స్ (destructors), జీవితకాలం మరియు అన్నింటిని ప్రాథమికంగా ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ (object oriented programming) యొక్క సాధారణ ఎన్కోప్యులేషన్(encapsulation) పథకం పరిధిలోకి వస్తాయని మేము మాట్లాడాము. + మీరు రెండు విధాలుగా కప్పినప్పుడు, ఒక ఆబ్జెక్ట్ (object) యొక్క పరంగా మల్టిపుల్ డేటా మెంబర్స్(multiple data members) ప్యాకేజీ చెయ్యడం ద్వారా మీరు ఒకదానితో ఒకటి కప్పబడి ఉంటుంది మరియు దానితో మెంబర్స్(members) పనులను సెట్ చేసే ప్రవర్తనను మాత్రమే అందించడానికి ప్రయత్నించండి. + మరియు విసిబిలిటీ (visibility) సహాయంతో, యాక్సెస్ స్పెసిఫైయర్లు(access specifiers), మీరు ఏ భాగంలో భాగంగా లేదా ఏ ఏజెంట్లకు అందుబాటులో ఉన్నాయో చూడవచ్చు. + ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్కు(object oriented programming) మద్దతు ఇచ్చిన దానిలో, మెంబర్స్(members) ఫంక్షన్ల ఓవర్లోడింగ్(function overloading) వంటి చాలా ముఖ్యమైన ఫీచర్స్ (features) మేము చాలావరకు పరిచయం చేసాము. + మేము పబ్లిక్(public) లేదా ప్రైవేట్(private) విసిబిలిటీ (visibility) కంటే కొంత రకమైన విసిబిలిటీ (visibility) యాక్సెస్ను అందించే ఫ్రెండ్ మెంబర్స్(friend member) విధి గురించి మాట్లాడాము. + మేము స్టాటిక్ డేటా మెంబర్స్(members) గురించి మరియు మెంబర్ ఫంక్షన్(function member) గురించి మాట్లాడాము. + మేము నేమ్ స్పేస్ (name space) గురించి మాట్లాడాము. + మళ్ళీ ఆ విధంగా నేమ్ స్పేస్ (name space) ఖచ్చితంగా ఆబ్జెక్ట్-ఓరియంటెడ్ ఫీచర్లు(object oriented features) పరిగణించకపోవచ్చు, కానీ ఒకవేళ అది క్లాస్లను (class) ప్రవేశపెట్టినప్పుడు వారు తమని తాము ఏదో ఒక నేమ్ స్పేస్ (name space) ప్రవేశపెడతారు. + కాబట్టి, ఒక నేమ్ స్పేస్(name space) ఒక తార్కిక పరిణామం మరియు ఖచ్చితంగా అది C ++ ప్రోగ్రామింగ్ పరంగా మెరుగైన సోర్స్ సంస్థ కోడ్, సంస్థ ఎంపికలను ఇస్తుంది. + కాబట్టి, ఈ అన్ని కలిసి, కోర్సు యొక్క ఈ భాగం వరకు ప్రధాన పాయింట్ ఉంది మేము ఆబ్జెక్ట్ (object)ఆధారిత ఫీచర్స (features)లను ఉపయోగించడం మరియు ఇప్పుడు ఒక డేటా(data) రకాలు నిర్వచించే అధికారం. + కాబట్టి, ఈ అంశానికి ప్రధాన సాధనం మేము కేవలం ఆబ్జెక్ట్-ఓరియెంటెడ(object-oriented) ఎన్క్యాప్సాలేషన్(encapsulation) ఓవర్లోడింగ్ (overloading)రకమైన సౌలభ్యాలను కలిగి ఉన్నది, ఇప్పుడు మనం మన స్వంత వినియోగదారు నిర్వచించిన డేటా రకాన్ని నిర్మించగలము. + ఈ డేటా రకాలు కార్యాచరణలో పూర్తవుతాయి. Int, చార్, డబల్ మరియు వంటి డేటా రకాల్లో అంతర్నిర్మితంగా ఇది పనిచేస్తుంది. + మరియు ఓవర్లోడింగ్ యొక్క ఈ వేర్వేరు ఫీచర్స (features) గురించి, మరియు ప్రత్యేకంగా ఓవర్లోడింగ్ యొక్క ఆపరేటింగ్ ఫంక్షన్లు(operating function) మరియు ఆపరేటర్లు(operators) నిజంగా డేటా టైప్స్( data types) కలిగి ఉండటానికి ఎలా ఉపయోగించాలో చూసాము, ఇది వ్యక్తీకరణలను వ్రాయడానికి ఉపయోగించవచ్చు. + సంక్లిష్ట దత్తాంశ రకాన్ని ఉదాహరణగా ఉపయోగించటానికి నిరంతరం ప్రయత్నిస్తున్నాము. + వాస్తవానికి, మీరు దాన్ని విస్తరించవచ్చు, మీరు ఇతర డేటా టైప్స్( data types) అలాగే వెక్టర్ మాతృక వంటి భిన్నం లాంటి అంశాలకు కూడా చేయవచ్చు. + మరియు మీ స్వంత అవసరమైన డేటా టైప్స్(data types) నిర్మించి, మీకు కావలసిన చోట, మీరు ఈ డేటా టైప్స్(data types) పరంగా సాధించటానికి ఎటువంటి అంతం లేదు. + మరియు ఖచ్చితంగా డేటా టైప్స్ను(data type) కన్స్తృక్ట్(construct) సమయంలో, కొన్ని పాయింట్ ఉన్నాయి మనసులో ఉంచడానికి నేను ప్రత్యేకంగా మీరు ఆఫ్ గుర్తు చేయాలని మీరు ఒక డేటా టైప్స్ని(data types)తీసుకుని అయితే వాస్తవం. + ఆ కోసం, మీరు ఆపరేటర్లు ఓవర్లోడింగ్ (operators overloading) ఉంటాయి; ఆపరేటర్(operator) యొక్క సెమాంటిక్స్లను ఆపరేటర్ (symantic operator)యొక్క సెమాంటిక్స్కు(symantics) దగ్గరగా నిర్మించటానికి ప్రయత్నించండి. + మరియు అది చాలా విభిన్నంగా ఉండదు, ఉదాహరణకు, మీరు సమితి డేటా టైప్స్(data types) నిర్వచిస్తున్నట్లయితే మరియు మీరు ప్లస్ ఆపరేటర్ను ఓవర్లోడింగ్ చేస్తే, సెట్ల విభజన కంటే సెట్స్ యూనియన్తో ప్లస్ ఆపరేటర్తో అనుబంధంగా ఉండడం అత్యుత్తమంగా ఉంటుంది సెట్స్ తేడా మరియు అందువలన న. + అదే సమయంలో, సంతకం పరంగా, అది విలువ ద్వారా ఫలితాన్ని తిరిగి ఇవ్వడం లేదా సూచనగా లేదా స్థిరమైన సూచన ద్వారా మరియు దాని ద్వారా దాని ఫలితంగా సాధ్యమైనంత డేటా రకాన్ని ఆపరేటర్లలో నిర్మించడానికి దగ్గరగా ఉండాలి. + అంతేకాక, వ్యత్యాసాల అర్ధం ఏమిటంటే మేము సుదీర్ఘంగా చర్చించాము. + ఇక్కడ ఇతర ముఖ్యమైన పాయింట్లు కాపీ సెమాంటిక్స్ లేదా ఆబ్జెక్ట్ (object) జీవితంలో మరియు లేదా కంపైలర్ ప్రోగ్రామింగ్ (compiler programming) సౌలభ్యం మద్దతు అందించే ఉచిత విధులు వివిధ వివరణాత్మక చర్చ గురించి వివరణాత్మక లేదా వివరణాత్మక చర్చ ఉంది. + తరువాత కదిలే, మీరు తీసుకున్నది ఏమిటంటే ఆబ్జెక్ట్-ఓరియంటెడ్ ప్రోగ్రామింగ్(object-oriented programming) యొక్క మరొక ప్రధాన అంశంగా ఇన్హేరిటెన్స్(inheritance) లేదా సాధారణీకరణ స్పెషలైజేషన్(specialization) హైరార్కీ(hierarchy) అని పిలుస్తారు. + ఈ కోర్సు ఒక నమూనా రూపాంతరంగా చెప్పాలంటే ఆబ్జెక్ట్-విన్యాసాన్ని చర్చించడానికి తగినంత అవకాశాలు లేనప్పటికీ, వాస్తవిక ప్రపంచంలోని పరంగా మేము చూడగలిగారు, అక్కడ మొత్తం చాలా సందర్భాలు ఉన్నాయి, ఇక్కడ ప్రత్యేకమైన సాధారణీకరణ సమస్య డొమైన్ ఎర్రర్(domain error), సమస్య డొమైన్ ఎర్రర్( domain error), వివిధ అంశాల మధ్య కేవలం ఒక సహజ దృగ్విషయం. + మరియు మూలధన ఫీచర్స (features) పరంగా, ఒక బేస్ క్లాస్ (base class) నుండి ఒక క్లాస్(class) ఉత్పన్నం చేయగలగటం మరియు ఆ ప్రక్రియలో కొత్త మెంబర్స్( members) ఫంక్షన్తో బేస్ క్లాస్ మెంబర్ని విధులను అధిగమించడం మరియు వాటిని అవసరమైతే వాటిని ఓవర్లోడ్ చేసి, + పై. + మనము చాలా సహజమైన ప్రపంచంలో చాలా సంక్లిష్టమైన పదార్ధాలను చాలా వ్యవస్థీకృత మరియు సమలేఖన పద్ధతిలో అందించగలము. + మరియు బహుశా ఈ సంక్రమణ బహుశా C ++ యొక్క ముఖ్య లక్షణాలలో ఒకటి; ప్రత్యేకంగా C ++ యొక్క ఆబ్జెక్ట్ ఓరియెంటెడ్( object oriented) కోణాలు, కంపోజ్ చేయబడినవి, ఓవర్లోడింగ్. + మరియు సంక్రమణ మీరు కోర్ ఫ్రేమ్ పనిని అందిస్తాయి, ఇందులో ఆబ్జెక్ట్ ఓరియెంటెడ్(object oriented) చాలా విస్తృతంగా నమూనా చేయబడుతుంది మరియు C ++ భాష యొక్క పద్దతిలో ప్రోగ్రామ్ చేయబడుతుంది మరియు సవరించబడుతుంది. + తరువాత, మనము ఏమి చూసాము అనేదానిని సాధారణంగా పాలిమార్ఫిజం అని పిలుస్తారు. + పాలిమార్ఫిజం(polymorphism) అనే పదాన్ని వాడటం మీరు C ++ లో విభిన్న అర్ధాన్ని కలిగి ఉంటాడని హెచ్చరిస్తారు, కానీ ఇక్కడ పాలిమార్ఫిజం ద్వారా మనం అర్థం ఏమిటంటే ప్రధానంగా డైనమిక్ బైండింగ్ (dynamic binding). + ఇది మనము ఒక పాయింటర్(pointer) రకం పాయింటర్ యొక్క రకాన్ని లేదా ఒంటరిగా ఒక రిఫరెన్సు యొక్క స్థిరమైన రకాన్ని ఒక సభ్యుని ఫంక్షన్ యొక్క నిర్దిష్ట బైండింగ్ నిర్ణయించలేదు ఎక్కడ పరిశీలించి ఒక ఫీచర్ చాలా భిన్నమైన రకం. + ఒక పాయింటర్ dreferencing లేదా ఒక సూచన యాక్సెస్ తో కట్టుబడి సభ్యుడు లేదా నిర్దిష్ట సభ్యుడు ఫంక్షన్ సూచించే పాయింటర్, డైనమిక్ టైప్ (dynamic type) యొక్క డైనమిక్ రకం ఇది రన్టైమ్ వద్ద చూపారు అసలు ఆబ్జెక్ట్(object)మీద ఆధారపడి ఉంటుంది. + మరియు మాకు ఈ సాధారణ బేస్ క్లాస్ తో ఒక పెద్ద క్లాస్(class) సోపానక్రమం నిర్మించడానికి మరియు వర్చ్యువల్ (virtual)విధులు సామర్ధ్యం తో తగిన(runtime) ఆబ్జెక్ట్లు (object), స్వచ్ఛమైన వర్చ్యువల్ ఫంక్షన్( virtual function), నైరూప్య బేస్ క్లాస్(class) ఆ రన్నింగ్ ప్రతినిధి బృందం చేయగల సామర్థ్యం మాకు ఇచ్చిన చాలా కీ ఈ భాగాన్ని పరిచయం చేశారు. + మరియు మేము ప్రత్యేకంగా అర్థం చేసుకోవడానికి సమయం గడిపింది, వర్చువల్ ఫంక్షన్ టేబుల్ (function table) పరంగా ఈ వర్చువల్ ఫంక్షన్ విధానం పని ఎలా మరియు ఎలా బహుళ వారసత్వ పరంగా ramifying చేస్తుంది. + కాబట్టి, ఇవన్నీ కలిసి C ++ భాషకు చాలా బలమైన ఆబ్జెక్ట్ ఫౌండేషన్ను ఏర్పాటు చేస్తాయి. + ఆ తరువాత రెండు భాగాలలో, మేము రెండు ఫీచర్స( features) చూడటంలో సమయాన్ని గడిపాం. రకం కాస్టింగ్ మరియు(exceptions), మంచి ఆబ్జెక్ట్-ఓరియంటెడ్ ప్రోగ్రామింగ్కు( object oriented programming) మద్దతివ్వటమే కాదు, ప్రోగ్రామింగ్ యొక్క అనుభవాన్ని మెరుగుపరచడానికి మాత్రమే కాకుండా క్లిష్టమైనది. + కాబట్టి, రకం కాస్టింగ్ లో, మేము స్టాటిక్ టైమ్ లేదా వారి డైనమిక్ రకాన్ని బట్టి స్టాటిక్(static) సమయంలో, రన్టైమ్లో ఆబ్జెక్ట్ (objects) మార్పిడిని గురించి మాట్లాడాము. + అందువల్ల మేము మొత్తం నియమాలను చూశాము, అంతర్లీన కాస్టింగ్ నియమాలు, సి స్టైల్ కాస్టింగ్, సి స్టైల్ కాస్టింగ్ సమస్యలు మరియు ఎందుకు, ముఖ్యంగా స్టాటిక్ కాస్ట్ పరిష్కరించబడిన నాలుగు-ఆపరేటర్ ఆపరేటర్లు. రూపంలో చేర్చబడతాయి. + విస్తృతంగా ఉపయోగించబడుతుంది. + ఈ స్టాటిక్ తారాగణం లేదా తారాగణం సందర్భంలో, సివి అర్హత లేదా డైనమిక్ తారాగణానికి ఎక్కువగా స్టాటిక్ టైమ్ కాస్టింగ్ వర్తించవచ్చు, ఇది ప్రత్యేకంగా డౌన్ కాస్టింగ్ ప్రయోజనాల కోసం రన్‌టైమ్ కాస్టింగ్‌కు వర్తిస్తుంది. + కాబట్టి, కాస్ట్ ఆపరేటర్లు ప్రాథమికంగా కాస్టింగ్ యొక్క విభిన్న సందర్భాలను బట్టి అనేక విభిన్న అర్థాలను అందిస్తారని మీరు చూడవచ్చు. + మరియు మీరు C ++ లో మరింత ఎక్కువ అనుభవాన్ని పొందుతున్నప్పుడు, మీ కోసం మీరు కనుగొంటారు, ముఖ్యంగా ఇప్పుడు తారాగణం (తారాగణం) ఆపరేటర్లు మూస నిర్వచనాలు తప్ప మరేమీ కాదు. + కాబట్టి, నిజంగా, ఇవి మీ వద్ద ఉన్న నాలుగు-తారాగణం ఆపరేటర్లు మాత్రమే కాదు, కానీ మీరు మీ స్వంత తారాగణం ఆపరేటర్‌ను నిర్వచించగలరు మరియు దాని కోసం సెమాంటిక్స్‌ను నిర్వచించవచ్చు. + అందువల్ల, ఒక వస్తువు యొక్క రకాన్ని ప్రసారం చేయడం లేదా మార్చడం లేదా ఒక రకమైన వస్తువును మొదట మరొకదానికి సూచించడం చాలా ముఖ్యమైన లక్షణం, ఇది బలమైన వస్తువు ధోరణికి మద్దతు ఇవ్వడానికి అవసరం, ఎందుకంటే బలమైన వస్తువు ధోరణి. చాలా బలంగా చూడవచ్చు. + భాషను టైప్ చేయండి. + అందువల్ల, ఏ ఇతర రకమైన సందర్భంలోనైనా ఒక నిర్దిష్ట రకం వస్తువును ఉపయోగించటానికి తరచుగా సూచన ఉంటుంది. + అందువల్ల, టైప్ కాస్ట్ చర్చ మరియు టైప్ కాస్టింగ్ ఆ సందర్భంలో మీకు చాలా ఉపయోగకరంగా ఉంటుందని రుజువు చేస్తుంది. + మినహాయింపులు చాలా భిన్నమైన అభిరుచి నుండి వచ్చినవి, అవి మొదట లోపం స్థితి, మినహాయింపు పరిస్థితులు మరియు భాషా పరిస్థితులలో వాటిని విస్తృతంగా నిర్వహించడం అనే ప్రశ్నను పరిష్కరిస్తాయి. + ఇప్పుడు, మనందరికీ తెలుసు, మనం సాఫ్ట్‌వేర్ రాస్తే సాఫ్ట్‌వేర్ పనిచేయదు. + అందువల్ల, ప్రోగ్రామ్‌లను సమర్ధవంతంగా డీబగ్ చేయగలగడం లోపం లేదా డెవలపర్‌లలో ఒక భాగం మరియు యజమానులు సొంత జీవితాన్ని కలిగి ఉంటారు, ప్రోగ్రామ్ జీవిత చక్రంలో ఒక భాగం మరియు భాగం. + కానీ దురదృష్టవశాత్తు సి భాష మీకు అసంతృప్తికరమైన మార్గాలు, ఈ దోష మార్గాలు మరియు సమకాలిక, అసమకాలిక లోపం మీకు తెలిసిన అన్నింటినీ నిర్వహించడానికి భాషకు అంతర్నిర్మిత మద్దతును అందించదు. సిస్టమ్ కాన్ఫిగరేషన్. నేను మిమ్మల్ని పరిచయం చేద్దాం. + మరియు అన్ని. + కాబట్టి, సి అందించే పరంగా మేము చాలా వివరణాత్మక అభిప్రాయాన్ని తీసుకున్నాము, లాకునా అంటే ఏమిటి మరియు దాని దృష్ట్యా మేము ప్రాథమిక సెమాంటిక్స్, త్రో, క్యాచ్ మినహాయింపు నిబంధనలను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము మరియు సి ++ ఎలా అందిస్తుంది. + మరలా మినహాయింపు అనేది ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ యొక్క మొత్తం కథను చాలా సులభం చేసే ఒక యంత్రాంగం, ఎందుకంటే మినహాయింపు వాస్తవానికి మీరు ఆపరేషన్ గురించి మాట్లాడటం కొనసాగించాల్సిన అవసరం లేదని నిర్ధారిస్తుంది మరియు ఆపరేషన్లు తగ్గించబడిందా లేదా అని చూడండి. + మీరు ప్రయత్న నిబంధనలకు సరైన సూచనను ఇచ్చి, తగిన క్యాచ్ హ్యాండ్లర్‌ను ఉంచినట్లయితే, మీరు మినహాయింపు పరిస్థితుల గురించి మరియు పూర్తిగా భిన్నమైన కోడ్ బేస్‌లోని విభిన్న మినహాయింపు పరిస్థితుల గురించి ఆలోచించకుండా మొత్తం కోడ్‌ను వ్రాయవచ్చు.అందువల్ల దీనికి మంచి స్పష్టత ఉంటుంది. + చివరకు, ఈ ప్రత్యేకమైన విషయం యొక్క లోతును పోల్చడానికి మనం చాలా తక్కువ సమయం గడపవచ్చు. + మేము ఇప్పుడే రెండు మాడ్యూళ్ళను గడిపాము, కానీ ఇది 10 మాడ్యూళ్ళ యొక్క కోర్సు అవుతుంది. + సి మరియు సి ++ సందర్భంలో టెంప్లేట్లు పూర్తిగా భిన్నమైన భావనలు, ఎందుకంటే అవి ఒకటి లేదా అంతకంటే ఎక్కువ వేరియబుల్స్ లేదా పారామితులు లేదా క్లాస్ టైప్ కోడ్ (లేదా కోడ్) వ్రాయబడిన కోడ్‌ను వ్రాయగల కొన్ని యంత్రాంగం. కోడ్ తెలియదు సంకలనం సమయంలో. + మీరు నిజంగా ఆ ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించినప్పుడు, మీరు ఆ నిర్దిష్ట తరగతిని ఉపయోగించినప్పుడు మరియు తరువాత సాధారణ సిక్స్, స్వాప్ రకం ఫంక్షన్ (ఫంక్షన్) వంటి ఉదాహరణలను ఇచ్చాము మరియు స్టాక్ రకం డేటా ద్వారా చూడవచ్చు. నిర్మాణం. + కాబట్టి, టెంప్లేట్లు వేరే రకాన్ని ఇస్తాయి (పాలిమార్ఫిజం-పాలిమార్ఫిజం). + కాబట్టి, మీరు ఇప్పుడు చూస్తే, టెంప్లేట్లు చాలా విభిన్న కోణాల్లో చూడవచ్చు. + ఒకటి, ఇది (పాలిమార్ఫిజం-పాలిమార్ఫిజం) యొక్క కోణం నుండి చూడగలదు, కాబట్టి ఓవర్‌లోడ్ మనకు ఒక నిర్దిష్ట రకాన్ని (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఇస్తుంది, దీనిని స్టాటిక్ (పాలిమార్ఫిజం-పాలిమార్ఫిజం) అంటారు. + (పాలిమార్ఫిజం-పాలిమార్ఫిజం) మనకు డైనమిక్ బంధం ఉంది లేదా మనకు 'డైనమిక్' (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఉంది, ఇది ప్రాథమికంగా తరగతి సోపానక్రమంలో ఉంది. + మరియు టెంప్లేట్ మీకు మరొక రకాన్ని (పాలిమార్ఫిజం-పాలిమార్ఫిజం) ఇస్తుంది ఎందుకంటే ఇది ఒక టెంప్లేట్ (పాలిమార్ఫిజం-పాలిమార్ఫిజం), ఎందుకంటే ఇక్కడ మళ్ళీ మీరు ఫంక్షన్ (ఫంక్షన్) ను ఒక టెంప్లేట్ లేదా ఒకే తరగతిగా వ్రాశారు. అదే రూపం ఉంది, కానీ మీరు చేయవచ్చు వివిధ ప్రయోజనాల కోసం దీన్ని ఉపయోగించండి. + కాబట్టి, మీకు అవ్యక్త ఆవశ్యకత చెప్పే టెంప్లేట్ ఫంక్షన్ ఉన్నప్పుడు, ఓవర్‌లోడింగ్ విషయంలో మేము సమాధానం చెప్పాల్సిన అదే ప్రశ్నను బైండింగ్ కలిగి ఉంది, ఇది మేము డైనమిక్ (పాలిమార్ఫిజం) -పాలిమార్ఫిజంతో సంబంధం కలిగి ఉంటుంది, మేము దీనికి సమాధానం ఇవ్వాలి మళ్ళీ. + కాబట్టి, ఇది చాలా భిన్నమైన లక్షణం, ఇది టెంప్లేట్‌లో వస్తుంది, కోడ్ ఉత్పత్తి అవుతుంది; వారు వాస్తవానికి కోడ్‌ను రూపొందించి, ఆ కోడ్‌ను కంపైల్ చేస్తారు. + కాబట్టి, మీరు చిందరవందరగా ఉన్న కోడ్‌ను రూపకల్పన చేయగలిగితే, ప్రోగ్రామింగ్‌లో మీ అసలు ప్రయత్నం, డీబగ్గింగ్‌లో మీ అసలు ప్రయత్నం చాలా వరకు తగ్గించబడుతుంది ఎందుకంటే కోడ్ (కోడ్) మాత్రమే ఉపయోగించబడదు ఓవర్‌లోడింగ్ ద్వారా బహుళ రకాలను చూడండి, కానీ మీరు దీన్ని భవిష్యత్ రకాల కోసం ఉపయోగించడం కొనసాగించవచ్చు. + కాబట్టి, ప్రోగ్రామింగ్ ప్రోగ్రామింగ్ లేదా టెంప్లేట్ మెటా ప్రోగ్రామింగ్ యొక్క ఈ ప్రయోజనం కోసం టెంప్లేట్లు ప్రధానంగా సి ++ లో ప్రవేశపెట్టబడ్డాయి. + కాబట్టి, మేము ఆ అంశాన్ని పరిశీలిస్తే, సి ++ అనేది ప్రోగ్రామింగ్ యొక్క మూడు ప్రధాన నమూనాల కలయిక అని మనం చూస్తాము, ఇది విధానపరమైనది, ఎందుకంటే ఇది మొత్తం సి మరియు మంచి సిలను కలిగి ఉంటుంది, మీకు మొత్తం సెట్ ఇస్తుంది. + విధాన పరంగా లక్షణాలు మరియు అధికారాలు. + అందువల్ల, C ++ లో అల్గోరిథంలు రాయడం ఎల్లప్పుడూ చాలా సమర్థవంతంగా ఉంటుంది. + ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ లక్షణాలకు ప్రసిద్ది చెందింది, కాబట్టి దీనిని ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ అని కూడా పిలుస్తారు. + కాబట్టి, ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ పారాడిగ్మ్‌కు గట్టిగా మద్దతు ఇస్తుంది, అయినప్పటికీ కొన్ని లాకునే రూపంలో ఉంటాయి మరియు అవి ఈ కోర్సు యొక్క చర్చకు మించినవి కావచ్చు. + అయితే ఇది ప్రతిబింబం వంటి ఆబ్జెక్ట్ ఓరియంటేషన్ యొక్క కొన్ని ప్రాథమిక పనులను చేయలేము, కాని ముఖ్యమైనది ఏమిటంటే ఇది జెనరిక్ ప్రోగ్రామింగ్ పారాడిగ్మ్ అని పిలువబడే మూడవ ఉదాహరణకి కూడా మద్దతు ఇస్తుంది, ఇది ఒక కోడ్ జనరేషన్ నమూనా, ఇక్కడ మీరు టైప్ పారడైజ్ కోడ్ వ్రాసి కోడ్‌ను రూపొందించవచ్చు ఆవశ్యకత ఆధారంగా. + కాబట్టి, సి ++ ప్రాథమికంగా మూడు వేర్వేరు నమూనాలపై అభివృద్ధి చేయబడిందని మీరు చూడవచ్చు మరియు అందువల్ల దీనిని బహుళ నమూనా భాష అని పిలుస్తారు. + వాస్తవానికి, మీరు C, C ++ యొక్క మునుపటి సంస్కరణలను, C ++ యొక్క మునుపటి సంస్కరణలను సూచిస్తే, ఇది కేవలం విధానపరమైనదని మరియు తరువాత ఆబ్జెక్ట్ ఓరియెంటెడ్ అని మీకు అనిపించవచ్చు, కానీ సంవత్సరాలుగా, టెంప్లేట్ సాధారణ ప్రోగ్రామింగ్ లక్షణాలను కలిగి ఉంటుంది. + సి ++ నిజంగా బలాన్ని పొందుతోంది. + మరియు మేము ప్రధానంగా మరియు మా చర్చను ఉపయోగిస్తున్నప్పటికీ, మేము C ++ 99 గురించి మాట్లాడుతున్నాము, ఇది 17 సంవత్సరాల ప్రమాణం, ఇది C ++ 03 లో కొద్దిగా సవరించబడింది, అంటే 2003 ప్రమాణం. + కానీ తరువాత, మేము C ++ ప్రమాణం ప్రకారం గణనీయమైన పురోగతి సాధించాము. + ఇప్పుడు మాకు రెండు కొత్త ప్రమాణాలు ఉన్నాయి; ఒకదాన్ని సి ++ 11 అని పిలుస్తారు, ఇది చివరికి 2012 లో విడుదలైంది; మరియు మనకు మరొక ప్రమాణం ఉంది, ఇటీవలి ప్రమాణం C ++ 14, ఇది గత సంవత్సరం 2015 లో విడుదలైంది. + C ++ 11 లేదా C ++ 14 యొక్క ఈ లక్షణాలలో దేనినీ మేము చర్చించలేదు, ఇది మీకు చాలా బలమైన అదనపు పరామితిని ఇస్తుంది. + ఈ అన్ని నమూనాలను బలోపేతం చేయండి, ప్రధానంగా ఆబ్జెక్ట్-ఓరియెంటెడ్ పారాడిగ్మ్ మరియు జనరల్ ప్రోగ్రామింగ్ పారాడిగ్మ్. + మరియు ఇది ఇప్పటికే ఉన్న లక్షణాలకు చాలా బలమైన భావనలను తెస్తుంది మరియు మునుపటి C ++ 03 భాషతో పూర్తి వెనుకబడిన అనుకూలతను కొనసాగిస్తుంది. + కాబట్టి, ఇది ప్రాథమికంగా నేను కవర్ చేయాలనుకున్నది ఈ రోజు C ++ యొక్క చిన్న భాగం లాంటిదని మరియు ఇది మీకు నిజంగా ప్రయోజనం చేకూర్చే విధంగా ఉందని నేను ఎత్తి చూపించాలనుకుంటున్నాను. + అందువల్ల, నేను కొన్ని లక్షణాలను సూచించాలనుకుంటున్నాను అని చెప్పడం; ఇప్పుడు మనం కవర్ చేయని వాటిని జాబితా చేయడం చాలా కష్టం ఎందుకంటే సి ++ నిజంగా చాలా పెద్దది కాబట్టి మనం చేయనిది చెప్పడం చాలా కష్టం. + ఇది స్లైడ్ లేదా రెండు స్లైడ్‌లకు సరిపోదు, కానీ ఇక్కడ నేను చాలా ముఖ్యమైన కొన్ని అంశాలను హైలైట్ చేసాను మరియు వాటిని బాగా తెలుసుకోవడానికి మీరు చొరవ తీసుకోవాలి. + కాబట్టి, C ++ ఆధారంగా ఉద్భవించిన కొన్ని ప్రోగ్రామింగ్ శైలులు ఖచ్చితంగా ఉన్నాయి, ఒకటి ఫంక్టర్స్ అంటారు. + ఫంక్షన్లు చాలా ఆసక్తికరమైన నమూనాలు, వాటిని ఫంక్షన్ వస్తువులు అంటారు. + అందువల్ల, ఫంక్షన్లు మరియు వస్తువులు అని పిలవబడేవి మనకు తెలుసు. + కానీ మనకు ఇక్కడ కొత్త భావనలు ఉన్నాయి, ఇక్కడ ఒక ఫంక్షన్‌ను వేగవంతం చేయవచ్చు, అది ఒక వస్తువు కావచ్చు, ఇది ఒక స్థితి కావచ్చు. + కాబట్టి, ఇది సరళమైన ఫంక్షన్ కాల్, ప్రాథమికంగా ఫంక్షన్ ఆపరేటర్ పరంగా ఇది చూపబడుతుంది. + కాబట్టి, ఒక వస్తువు తరగతి నిర్వచనం లేదా ఈ ఫంక్షన్ కాల్ ఆపరేటర్ ఓవర్‌లోడ్ అయిన వస్తువు తప్ప మరొకటి కాదు. + కాబట్టి, నేను చెప్పేంత సులభం కాదు, కానీ ఇది దాదాపు అలాంటిదే. + మరియు ఒకసారి మీరు చేయగలిగితే మీరు చాలా ప్రయోజనాలను పొందవచ్చు. + వెక్టర్ మరియు జాబితా మరియు స్టాక్ వంటి కొన్ని డేటా నిర్మాణాలను ఉపయోగించడానికి మేము గణనీయంగా అంగీకరించలేదు, ఇది కన్స్ట్రక్టర్ యొక్క భావనలపై ఆధారపడిన ప్రామాణిక టెంప్లేట్ లైబ్రరీ. + మరియు మీరు ఈ ప్రామాణిక టెంప్లేట్ లైబ్రరీని అన్వేషించడం మరియు క్రమంగా మరింతగా తెలుసుకోవడం చాలా ముఖ్యం, తద్వారా మంచి C ++ కోడ్‌ను వ్రాయగల మీ శక్తి కూడా మెరుగుపడుతుంది. + వనరుల నిర్వహణ, ముఖ్యంగా స్మార్ట్ పాయింటర్ మెమరీ నిర్వహణ మరియు ఇలాంటి అంశాలు ఇతర ముఖ్యమైన అంశాల జంటలు. + C ++ కోడింగ్ శైలి మీరు C ++ లో కోడ్ ఎలా వ్రాయాలి, ఖచ్చితంగా C పద్ధతి కాదు. + పునర్వినియోగ నమూనాలు ఏమిటో మీకు చెప్పే డిజైన్ నమూనాలు? అనేక ప్రాక్టికల్ సిస్టమ్స్ కోసం మీరు C ++ తో C ని సృష్టించాలి. బహుశా C కి ఇప్పటికే ఉన్న కోడ్ బేస్ ఉంది, అది మీరు అన్నింటినీ విసిరి C ++ ను వ్రాయలేరు. + అందువల్ల, మీరు కొన్ని భాగాలను సి ++ లో వ్రాస్తారు మరియు మిగిలిన భాగాలను సి లో కొనసాగిస్తారు. + అందువల్ల, మీరు వాటిని ఎలా తయారు చేస్తారు అనేది పెద్ద ప్రశ్న. + సి ++ లోని సోర్స్ కోడ్ (కోడ్) నిర్వహణ నేమ్‌స్పేస్ మరియు ఎక్స్‌పోర్ట్ వంటి లక్షణాలను అందించింది. + దీనితో మీరు మెరుగైన C ++ సోర్స్ కోడ్ నిర్వహణ చేయవచ్చు మరియు ఇంజనీరింగ్ ప్రయోజనాల కోసం మీరు C ++ సాధనాలపై పూర్తి అవగాహన తీసుకోవాలి. + కాబట్టి, జాబితా చాలా పొడవుగా ఉంది. + C ++ 11 లేదా C ++ 14 ఇవన్నీ C ++ 03 యొక్క అన్ని అంశాలు అని నేను మాట్లాడలేదు, కానీ మీరు వాటిని నిజంగా నేర్చుకోగలిగితే అది మంచి ఓవర్ టైం అవుతుంది. + కాబట్టి, మనం నేర్చుకున్న వాటిని సంగ్రహించడానికి ప్రయత్నిస్తే. + మొదటి వాస్తవం ఏమిటంటే, సి ++ అనేది బహుళ నమూనా భాష, ఇది విధానపరమైనది, ఇది ఆబ్జెక్ట్ ఓరియెంటెడ్ మరియు ఇది సాధారణమైనది. + కాబట్టి, మీరు సి ++ ప్రోగ్రామింగ్ చేస్తున్నప్పుడు, మీరు ఏ మోడల్‌లో పని చేస్తున్నారో మరియు అవి ఎలా తయారయ్యాయో గుర్తించడానికి ఎల్లప్పుడూ ప్రయత్నించండి, రేపటి నుండి భవిష్యత్తుకు కదులుతుంది. + రెండవ అంశం పునర్వినియోగం, C ++ లోని కీ. + మీరు చూసిన లక్షణాల మొత్తం స్వరూపాన్ని మీరు పరిశీలిస్తే, సి లో మీరు చూసిన మాక్రోలు మరియు లైబ్రరీ ఫంక్షన్ల వంటి వాటికి మాత్రమే సి మద్దతు ఇచ్చింది. + ఆపై C ++ లో, మాకు ఫంక్షన్ ఓవర్‌లోడింగ్, స్టాటిక్ పాలిమార్ఫిజం, డైనమిక్ పాలిమార్ఫిజం, ఇతర రకాల పునర్వినియోగ ఎంపికలు ఉన్నాయి, ఆపై మేము టెంప్లేట్ చేసినప్పుడు మరియు మీరు STL కి వెళ్ళినప్పుడు, మీకు పెద్ద మొత్తంలో పునర్వినియోగం లభిస్తుంది, ఎందుకంటే ఇప్పుడు, మీరు పారామితి రకంతో గరిష్ట ఫంక్షన్ (ఫంక్షన్) ను వ్రాస్తున్నారు మరియు ఇది అంతర్నిర్మిత రకంలో మాత్రమే కాకుండా, భవిష్యత్తులో వినియోగదారు నిర్వచించిన అన్ని రకాలుగా పనిచేస్తుంది. మీతో వచ్చే వారికి. + డిజైన్ నమూనాలు పునర్వినియోగం యొక్క మరొక అంశం, ఇక్కడ మీరు పునర్వినియోగాన్ని అసంబద్ధమైన కోడ్ (కోడ్) కు పరిమితం చేయడమే కాకుండా, జత డిజైన్లను తిరిగి ఉపయోగించటానికి కూడా ప్రయత్నిస్తారు. + ఖచ్చితంగా మీరు బాగా నేర్చుకోవలసిన ఇతర అంశాలు, మరియు మంచి డేటా రకాలను రూపకల్పన చేయడం C ++ లో మంచి ప్రోగ్రామింగ్‌కు కీలకం, ఎందుకంటే C ++ ఒక బలమైన రకం మరియు ఏమైనా. అలాగే మీరు చేయాలనుకుంటున్నారు, మీరు ఒక రకాన్ని సృష్టించాలనుకుంటున్నారు అది. + C ++ లో ప్రోగ్రామింగ్ చేస్తున్నప్పుడు మీరు సామర్థ్యంపై నిఘా ఉంచాలి ఎందుకంటే C ++ అత్యంత సమర్థవంతమైన భాషా సాధారణ ప్రోగ్రామ్, నా ఉద్దేశ్యం ఏమిటంటే సాధారణ ప్రయోజన ప్రోగ్రామింగ్ భాష నేటికీ ఉంది, C నుండి కూడా మరింత సమర్థవంతంగా ఉంటుంది. + సి ++ లో వ్రాసిన సి కోడ్‌కు సమానమైన కోడ్ సి కోడ్ కంటే 50 నుండి 60 నుండి 100 శాతం వేగంగా ఉంటుందని చాలా ప్రయోగాలు సూచిస్తున్నాయి. + కాబట్టి, సామర్థ్యం ఒక కీ, భద్రత ఒక కీ, మరియు వాస్తవానికి అన్ని విభిన్న మినహాయింపులు ఉన్నాయి మరియు అవన్నీ భద్రతా లక్షణాలకు జోడించబడతాయి మరియు స్పష్టత చాలా స్పష్టంగా అర్థమయ్యేలా ఉండాలి. + కాబట్టి, టేక్ బ్యాక్ కీ సందర్భంలో, నేను ఈ విషయాన్ని పరిగణనలోకి తీసుకోవాలనుకుంటున్నాను మరియు చివరికి, నేను ఈ విషయాన్ని చెప్పడానికి క్షమించమని ఒక హెచ్చరిక ఇస్తాను, కాని గత 20 సంవత్సరాలుగా సి ++ ప్రోగ్రామర్‌లతో కలిసి పని చేస్తున్నాను . + ప్రోగ్రామర్‌లకు వాస్తవానికి C ++ కంపైలర్‌కు ప్రాప్యత ఉంది, కాని సి లో కోడ్ రాయండి. + సి యొక్క వాక్యనిర్మాణాన్ని ఉపయోగించాలని నా ఉద్దేశ్యం కాదు, మీరు ఇప్పటికీ సి ++ యొక్క వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు, మీరు ఇప్పటికీ వస్తువులను ఉపయోగించవచ్చు. + నైపుణ్యం మరియు అన్నీ, కానీ మీరు రూపకల్పన చేసే విధానం డిజైన్ శైలి. + అందువల్ల, సమస్య పరిష్కారానికి సి శైలి మరియు రోజూ సమస్య పరిష్కారానికి సి ++ శైలి మధ్య పోలికను మీకు చూపించడానికి ప్రయత్నిస్తాను. + దయచేసి మంచి కోడ్ పరిష్కారాలను సూచించే వారిని చూడండి, మరియు మీరు C ++ ను ఉపయోగించినప్పుడు, మీరు C ++ శైలిలో కోడ్ చేయగలరని నిర్ధారించుకోండి, బహుళ-నమూనా భాష యొక్క పూర్తి ప్రయోజనాన్ని పొందవచ్చు. వ్రాయండి మరియు ఆ వ్రాత జరగదు సి స్టైల్‌తో సి ++ కంపైలర్ బేస్డ్ కోడ్. + ముగింపులో, ఇవి మీ పరీక్షకు సిద్ధమయ్యే సాధారణ విషయాలు; వీడియో చూడండి, అప్పగింత మరియు పరిష్కారాన్ని సవరించండి. + మేము త్వరలో వివరణాత్మక పరిష్కారాలను అందిస్తాము, నేర్చుకోవటానికి కీలకమైన కోడింగ్ చాలా ప్రాక్టీస్ చేస్తాము. + మరియు పూర్తి డేటా రకాలను రూపకల్పన చేసి, అమలు చేయండి, నా ఉద్దేశ్యం మేము సంక్లిష్టమైన పని చేశాము, ఇవి కొన్ని నమూనా డేటా రకాలు, మనం చేసిన చోట నేను చేయగలను, కాని మీరు ఈ డేటా (డేటా) రకాన్ని ఉపయోగించవచ్చు. + మీరు పుస్తకాలను సూచించాల్సిన అవసరం ఉంటే, ఇవి మీకు అనుసరించమని నేను సూచించే పుస్తకాల యుగళగీతాలు. + ఈ కోర్సు నుండి ముందుకు వెళుతున్నప్పుడు, మీరు చేయగలిగే చాలా విషయాలు నేను మీకు చెప్పగలను, మీరు కవర్ చేసిన విషయాలను నేర్చుకోవచ్చు. + కానీ మీరు ప్రోగ్రామింగ్‌ను క్రమం తప్పకుండా he పిరి పీల్చుకోవాల్సిన అవసరం ఉంది మరియు సిస్టమ్‌ను అమలు చేయాలి, సి ++ నేర్చుకోవడానికి చాలా ముఖ్యమైన కోడ్‌ను చదవండి. + మరియు ఇవి కాకుండా మీరు చేయగలిగే అన్ని ఫ్యూచర్స్ అధ్యయనాలు. + ఒక భాషను బాగా అర్థం చేసుకోవడానికి ఇతర వస్తువు-ఆధారిత భాషలను నేర్చుకోవడం మంచిది. + కాబట్టి, పైథాన్ నేర్చుకోండి, జావా నేర్చుకోండి. + మీకు అవకాశం లభిస్తే, సిస్టమ్స్ మోడలింగ్ (సాఫ్ట్‌వేర్) ఇంజనీరింగ్ (మోడలింగ్) కోసం ఆబ్జెక్ట్-ఓరియెంటెడ్ ఎనాలిసిస్ మరియు డిజైన్ యుఎంఎల్ ద్వారా వెళితే మరియు సి. ++ లేదా ఈ సంబంధిత విషయానికి సంబంధించిన కొన్ని మంచి పుస్తకాలు ఉన్నాయి. + అందువల్ల, దీనితో పాటు, సి ++ లోని సిలబస్ ముగిసిందని చెప్పడం ద్వారా నేను మూసివేసి సంగ్రహించాలి. + సి ++ లో చాలా నైపుణ్యం, నైపుణ్యం మరియు ఫలవంతమైన ప్రోగ్రామర్ కావడానికి మీ పరీక్షలకు మరియు అంతకు మించి మీ అందరికీ శుభాకాంక్షలు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/23. ProgramminginCplusplus_Inheirtnace Part I (Lecture 36)-YraxnPsxZgc.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/23. ProgramminginCplusplus_Inheirtnace Part I (Lecture 36)-YraxnPsxZgc.txt index 0bc2b82a5f54554ccabda8ecc124fde01396c502..611d80ed9fa5a5f7bcfbc663b15b0f7314abc445 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/23. ProgramminginCplusplus_Inheirtnace Part I (Lecture 36)-YraxnPsxZgc.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/23. ProgramminginCplusplus_Inheirtnace Part I (Lecture 36)-YraxnPsxZgc.txt @@ -1,119 +1,119 @@ - 1. ప్రోగ్రామింగ్ ఇన్ సి ++ మౌడ్యూల్ 21 కు స్వాగతం. - 2. ఈ మాడ్యూల్ లో మాడ్యూల్స్ యొక్క తరువాతి సంఖ్యలో కొనసాగుతున్నందున, మనము ఒక ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క అత్యంత ముఖ్యమైన అంశంపై చర్చను ప్రారంభించబోతున్నాం, ఇది క్లాస్ ల్లోని మరియు ఆబ్జెక్ట్ మధ్య ఇన్హెరిటెన్స్(inheritance) వ్యవహారం. - 3. మనము ఇంతవరకు సి++ లో క్లాస్ లను ఎలా డిఫైన్, ఆబ్జెక్ట్స్ ఇప్పటికి ఎలా instantiated చేయాలో తెలుసుకున్నాం. - 4. మేము వివిధ డేటా మెంబర్ల మరియు క్లాస్ యొక్క మెంబర్ ఫంక్షన్ ల సామర్ధ్యం గురించి నేర్చుకున్నాము. - 5. మనము కన్స్ట్రక్షన్ మరియు డిస్ట్రక్షన్ ప్రోసెస్ మరియు ఆబ్జెక్ట్ ల వివిధ lifetime సమస్యల గురించి తెలుసుకున్నాము. - 6. వివిధ రకాల ఎక్స్టెన్షన్ లేదా ఎక్సెప్షన్ యొక్కఎన్కాప్సులేషన్ అనుగుణంగా ఉండే ఇతర లక్షణాల గురించి మనం మాట్లాడాము, ఫ్రెండ్ ఫంక్షన్ పరంగా, ఫంక్షన్ యాక్సెస్ మరియు స్టాక్ ఫంక్షన్ల పరంగా ఫంక్షన్స్, మరియు వివిధ మెంబర్ ఫంక్షన్ మరియు గ్లోబల్ ఫంక్షన్ల ఓవర్లోడింగ్ చేయవచ్చు. - 7. ఇప్పుడు, ఇన్హెరిటెన్స్ అనేది ఆబ్జెక్ట్ యొక్క ఆధార రూపకల్పనల డిజైన్ యొక్క ప్రధాన వెన్నెముకను నిర్మించడానికి ఈ అవగాహనను అన్నిటినీ మిళితం చేస్తుంది. - 8. అందువలన, మనము ఈ లోతైన అధ్యయనం మొదలు ముందు నేను అన్ని మీరు సవరించడానికి మరియు మేము చాలా చర్చించారు అని C + + యొక్క వివిధ లక్షణాల గురించి చాలా క్షుణ్ణంగా ఉద్భవించటానికి ముందు మేము ఇప్పుడు చాలా తరచుగా క్రమంగా వాటిని అన్ని సూచిస్తూ ఉంటాను . - 9. - 10. ఇప్పుడు, నేను చెప్పినట్లుగా ఇన్హెరిటెన్స్ గురించి చర్చించడం కోసం ఇది అనేక మాడ్యూల్స్పై విస్తరించింది. - 11. ఈ ప్రత్యేక మాడ్యూల్ లో, ISA రిలేషన్షిప్ లేదా ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క క్రమానుగత పునఃసృష్టిని మేము పరిశీలించాము మరియు C ++ ఇన్హెరిటెన్స్ పరంగా ఎలా క్రియేట్ చేయాలో చూద్దాం. - 12. నేను ఇక్కడ అందించే ఆకారం కొద్దిగా భిన్నంగా నిర్వహించబడింది. - 13. ఇది ప్రస్తుత మాడ్యూల్ యొక్క సరిహద్దు మాత్రమే కాదు. - 14. ఇది C ++ లో ఇన్హెరిటెన్స్ మొదటి స్థాయి వద్ద చర్చించడానికి ఉద్దేశించినది. - 15. ఈ విషయంలో కొన్ని తదుపరి సీక్వెల్ ఉంటుంది, ఇది మేము ఇన్హెరిటెన్స్ గురించి మాట్లాడే ఒక డైనమిక్ సినారియో లో మాట్లాడతాము, కానీ ఇది ఇన్హెరిటెన్స్ ప్రాథమిక పునాది అంశాలను. - 16. మనం ఏమి చేస్తామో, మనము ఒక మాడ్యూల్ నుండి మరొక వైపుకు వెళ్ళేటప్పుడు ప్రత్యేక అంశములను మనము నీలం రంగు పరంగా చర్చించబోతున్నాము. - 17. కాబట్టి, మీరు ఈ మొత్తాన్ని పరిశీలించినట్లయితే, మాడ్యూల్ 21 లో చర్చించాలని మేము కోరుతున్నాము. - 18. ఇప్పుడు మనము ప్రారంభించాము. - 19. కాబట్టి, మేము ISA సంబంధాన్ని గురించి తెలుసుకున్నాము, ఈ కోర్సులో మేము దాని గురించి మాట్లాడలేదు మరియు మీరు ఈ విషయంలో కూడా బాగా తెలిసి ఉండవచ్చు, వాస్తవిక ప్రపంచంలో మనం మరొక ఆబ్జెక్ట్ యొక్క specialization లేదా generalization అని తరచుగా తెలుసుకుంటాం. - 20. స్పెషలైజేషన్ మరియు సాధారణీకరణ ప్రధానమైనవి. - 21. కాబట్టి, ఒక ఆబ్జెక్ట్ ఇతర specialized లేదా generalized రూపం మరియు ISA సంబంధం మరియు ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అని పిలుస్తారు మరియు డిజైన్ ఈ లోతైన మరియు C ++ నమూనాలో ఈ ISA సంబంధాన్ని క్లాసుల ఇన్హెరిటెన్స్ తో పరిగణిస్తుంది. - 22. కాబట్టి, C ++ యొక్క ఇన్హెరిటెన్స్ లాజిక్ లోకి రావడానికి ముందు, మాకు త్వరగా ISA సంబంధాన్ని పరిశీలించండి. - 23. మీరు స్పెషలైజేషన్ generalization ఏమి చెపుతున్నారో చెప్పండి. - 24. అనుకుందాం, మేము ISA పువ్వు పెరిగింది అని అనుకుంటాను. - 25. సో, ISA పువ్వు గులాబీ చెప్పడం ద్వారా మీరు అర్థం ఏమిటి. మేము గులాబీ అని అర్థం, ఇది ప్రత్యేకమైనది, ఇది గులాబీకి ప్రత్యేకమైన పువ్వు అని పిలుస్తారు, ఇది పువ్వును కలిగి ఉన్న అన్ని లక్షణాలను కలిగి ఉంది, ఎప్పుడైనా మేము పుష్పం అని చెప్పినప్పుడు; కొన్ని భావాలు మా మనసులోకి వస్తాయి, అది సువాసన కలిగి ఉంటుంది, అది ప్రకాశవంతమైన రంగు కలిగి ఉంటుంది, అది రేకులు మరియు అందువలన ఉంటుంది. - 26. అందువల్ల, గులాబి పువ్వు కలిగి ఉన్న అన్ని లక్షణాలను కలిగి ఉంది. - 27. కానీ అదనంగా, గులాబీలో కొన్ని అదనపు లక్షణాలను కలిగి ఉంది, అందుకే మీరు ప్రత్యేకంగా చేయాలనుకుంటున్నారు. - 28. ఉదాహరణకు, గులాబీ చాలా నిర్దిష్టమైన రోసీ సువాసనను కలిగి ఉంటుంది, ఇది చాలా ఇతర పుష్పాల యొక్క సువాసన వలె లేదు. - 29. కాబట్టి, ఇది పూర్తి అయినప్పుడు మనం పూల స్పెషలైజేషన్ అని చెపుతాము మరియు మనము ఒక రివర్స్ రీతిలో అదే విషయం చెప్పగలము. - 30. పుష్పం రోజ్ యొక్క generalization అని మేము చెప్పగలను. - 31. కాబట్టి, మళ్లీ ఎర్ర గులాబీ మరియు గులాబి ఉన్నట్లయితే, ఎరుపు గులాబీ ISA గులాబీ ప్రొపర్టీస్ కలిగి ఉన్న రెడ్ గులాబీ రంగులో ఉన్నట్లయితే మనం ఎరుపు గులాబి అన్నీ లక్షణాలను కలిగి ఉంటుంది, కానీ అది ఎరుపు రంగులో ఉన్నట్లుగా ఇది ఒక అదనపు ఆస్తి కలిగి ఉంది మరియు ఇది గులాబీ మరియు ఎరుపు మధ్య ఉన్న సాధారణీకరణ ప్రత్యేకత. - 32. కాబట్టి, నేను ఇక్కడ గీసిన దాని పరంగా, మీరు చాలామంది దీనిని UML generalization గా పిలుస్తారని మీకు తెలుస్తుంది. - 33. యూనిఫైడ్ మోడలింగ్ లాంగ్వేజ్ అనేది ఆబ్జెక్ట్ ఓరియెంటెడ్ రీతిలో సిస్టమ్ ను వివరించడానికి ఒక బలమైన లాంగ్వేజ్. - 34. కాబట్టి, ఈ క్లాస్ లు మరియు చివరికి ఓపెన్ త్రిభుజం triangle తో ముగుస్తుంది ఈ arrow ప్రత్యేకతను అర్థం. - 35. కాబట్టి, ఇది చదివేది; arrow యొక్క దిశగా ఉన్న ISA పువ్వు పెరిగింది, ఎరుపు పెరిగింది ISA గులాబీ మరియు అందువలన న. - 36. కాబట్టి, రేఖాచిత్రంగా మేము ఈ రేఖాచిత్రాల పరంగా ఇన్హెరిటెన్స్ లేదా స్పెషలైజేషన్ generalization ను తరచుగా వర్ణిస్తాము. - 37. అదేవిధంగా, మేము కలిగి ఉండవచ్చు; మనం చెప్తాము అని చెప్పవచ్చు, ఇది చుట్టూ తిరగడానికి ఉపయోగించే ఒక వాహనం. - 38. కాబట్టి, మేము Twowheelers లో చుట్టూ తరలించవచ్చు, కాబట్టి మేము Twowheeler ISA వాహనం చెప్పగలను. - 39. అదేవిధంగా, Threewheelers ISA వాహనం, కానీ మేము వాహనం పరంగా generalization మరియు 3 చక్రాల మరియు 2 చక్రాల వాహనం యొక్క రెండు వేర్వేరు స్పెషలైజేషన్ అని కేటాయించవచ్చు. - 40. కాబట్టి, generalization మరియు స్పెషలైజేషన్ మల్టిపుల్ రకాలుగా చెప్పవచ్చు. - 41. కాబట్టి, ఇది ఒక generalized భావన ఉన్న ఒక రకంగా మరియు దాని కోసం మల్టిపుల్ specialized అంశాలు ఉన్నాయి. - 42. మేము సాధారణంగా దీనిని ఒక ఆధారంగా సూచిస్తాము మరియు వీటిని మేము డిరైవ్ చేస్తాము. - 43. వేర్వేరు ల్యాంగ్వేజ్ లో వివిధ పదాలను ఉపయోగించుకుంటాయి, ఉదాహరణకు, మీరు జావా గురించి తెలిసిన వారిలో, ఈ బేస్ లేదా generalization ను సూపర్ క్లాస్గా మరియు సబ్క్లాస్గా తీసుకున్న లేదా స్పెషలైజేషన్ గా గుర్తిస్తాము. - 44. కొన్ని సందర్భాల్లో, అత్యంత సాధారణమైన ప్రత్యేకమైన క్లాస్ నను తరచుగా రూట్గా సూచించబడుతుంది. - 45. ఇంకా ISA సంబంధం మరొక ఉదాహరణ ఎంప్లాయ్ డొమైన్ నుండి కావచ్చు. - 46. మేనేజర్ ISA ఎంప్లాయ్ అని మేము చెబుతున్నాము, అంటే మేనేజర్ యొక్క అన్ని ఫంక్షన్లు నిర్వర్తించగలమని, కానీ ఎంప్లాయ్ కొన్నింటిని చేయగలడు; మేనేజర్ కొన్ని ఫంక్షన్లు చేయవచ్చు ఎంప్లాయ్ చేయలేరు, బహుశా మేనేజర్ తమను చేయలేని ఎంప్లాయ్ ఎంప్లాయ్ లను నియామకం చేయవచ్చు. - 47. కాబట్టి, ఇది C ++ ప్రోగ్రామింగ్ సందర్భంలో మనము తీసుకురావాలనే ISA సంబంధానికి సంబంధించిన ప్రాథమిక భావన. - 48. కాబట్టి, దీనిలో C ++ లో generalization స్పెషలైజేషన్ యొక్క సమాచారాన్ని ఎన్కోడ్ చేయాలనుకుంటే నేను ఇలా చేస్తాను. - 49. కాబట్టి, ఈ కేసుల్లో సరళమైనది మేనేజర్ ISA ఎంప్లాయ్, ఇక్కడ మేము కేవలం రెండు క్లాస్ లను కలిగి ఉన్న మరొకదాని ప్రత్యేకత ఉంది. - 50. కాబట్టి, మేము సాధారణంగా దీనిని ఒకే ఇన్హెరిటెన్స్ సూచించండి ఎందుకంటే ఇక్కడ మీరు కేవలం ఒకే సంబంధం కలిగి ఉంటారు. - 51. సో, మేము ఒక క్లాస్ ను వ్రాయండి, ఎంప్లాయ్ రెప్రెజెంటేషన్, క్లాస్ ఎంప్లాయ్ చెప్పండి. - 52. ఇక్కడ, నేను ఒక రకమైన ఉపయోగించాను మీరు ఒక క్లాస్ యొక్క అసంపూర్తిగా డెఫినిషన్ ని తెలుసు. - 53. ఇది డెఫినిషన్ కలిగి ఉండదు, ఇది కేవలం ఎంప్లాయ్ అని పిలవబడుతున్న ఒక క్లాస్ ఉందని చెప్పడం వలన మేము తరువాత డేటా మెంబర్ ని మరియు మెంబర్ ఫంక్షన్ వివరాలను పరిశీలిస్తాము. - 54. క్లాస్ మధ్య సంబంధాన్ని నిర్వచించేందుకు మేము ఆసక్తి కలిగి ఉంటాము. - 55. అందువల్ల, ఈ రూపంలో మేనేజర్ ఎంప్లాయ్ అని ఇప్పుడు మనం చెప్తున్నాం. కాబట్టి, ఇక్కడ మీరు చేస్తున్న క్లిష్టమైన అదనంగా, క్లాస్ మేనేజర్ కి తర్వాత, విభజన ఉంది అని చూడవచ్చు: ఆపై నేను ఒక కొత్త పదమును పబ్లిక్ గా మరియు తరువాత ఎంప్లాయ్ క్లాస్ నేమ్ ను పెట్టుకున్నాను OOAD నిబంధనలు, ఇది మేనేజర్ ISA ఎంప్లాయ్ లేదా మేనేజర్ ఎంప్లాయ్ నుండి డిరైవ్(derive )చేసినట్లుగా చదవబడుతుంది. - 56. సో, ఉద్యోగి బేస్ క్లాస్ మరియు మేనేజర్ ఒక డిరైవ్ క్లాస్. - 57. ద్విచక్ర వాహన వాహన ఉదాహరణలో; ఈ రేఖాచిత్రం ఇచ్చినప్పుడు మేము నిజానికి హైబ్రీడ్ ఇన్హెరిటెన్స్ తో వ్యవహరిస్తాము. - 58. హైబ్రీడ్ ఇన్హెరిటెన్స్ అనేది ఒక ప్రాథమిక క్లాస్ కి ఒకటి కంటే ఎక్కువ స్పెషలైజేషన్ ఉన్న సందర్భం మరియు మేము సులభంగా వాహనం అయిన రూట్ క్లాస్ ప్రకారం సి ++ లో దానిని సులభంగా ఎన్కోడ్ చేయవచ్చు. - 59. అప్పుడు మేము టూవీలర్ అని పిలిచే వాహనం అని పిలుస్తాము: పబ్లిక్ వెహికల్. - 60. త్రీవీలర్స్ అనేది టూవీలర్ యొక్క వాహనం: పబ్లిక్ వాహనం. - 61. కాబట్టి, అక్కడ ఒక రూట్ క్లాస్ మరియు అక్కడ ఒక బేస్ క్లాస్ మరియు ఈ రెండు డిరైవ్డ్ క్లాస్ లు ఉన్నాయి. - 62. చివరగా, గులాబీ ఉదాహరణకి వస్తే, మనం మల్టీలెవల్ ఇన్హెరిటెన్స్ పిలువబడుతున్నాము ఎందుకంటే ఇది ఒక స్థాయి, ఇది మరొక స్థాయి. - 63. సో, ఇది ఒక మల్టీలెవల్ ఇన్హెరిటెన్స్ RedRose ISA రోజ్ ISA పువ్వు ఉంది. - 64. కాబట్టి, ఇక్కడ పువ్వు బేస్ క్లాస్ మరియు డిరైవ్డ్ క్లాస్ రోజ్, కానీ మేము తదుపరి జత సంబంధాన్ని పరిశీలిస్తే అప్పుడు రోస్ బేస్ క్లాస్ గామారుతుంది మరియు RedRose నుండి డిరైవ్డ్ క్లాస్ గా మారుతుంది. - 65. కాబట్టి, ఒక ప్రత్యేక క్లాస్ అనేది బేస్ క్లాస్ గా లేదా ఒక డిరైవ్డ్ క్లాస్ గా నిర్ణయించబడకపోవడమనేది ఆ క్లాస్ పై ఆధారపడినది కాదు, అది క్లాస్ hierarchy పై ఎక్కడ ఉంది అనే దానిపై ఆధారపడి ఉంటుంది. - 66. క్లాస్ లో లీఫ్ ,ఆ లీఫ్, ఇది మీది కాదుఏ ఇతర క్లాస్ లకు ప్రత్యేకంగా తెలుసు అనేదానిని తప్పనిసరిగా క్లాస్ కి చెందినదిగా గుర్తిస్తారు. - 67. ఏ క్లాస్ కైన సూపర్ క్లాస్ కానీ లేదా పేరెంట్ గానీ లేని బేస్ క్లాస్ మరియు రూట్ క్లాస్ తప్పనిసరిగా ఉండదు, కానీ మధ్యలో ఉన్న వంటి క్లాస్ లకు ఇన్హెరిటెన్స్ ఇతర భాగానికి ఇన్హెరిటెన్స్ మరియు రూట్ క్లాస్ లో ఒక భాగం కోసం క్లాస్ నుండి డిరైవ్ చేయబడుతుంది, మరియు మేము విభిన్న కాంప్లెక్స్ మరియు హైబ్రిడ్ రకమైన ఇన్హెరిటెన్స్ స్ట్రక్చర్ కలిగి ఉన్నాము, మేము C ++ లో ఎన్కోడ్ చేయాలనుకుంటున్నాము. - 68. కాబట్టి, ఇక్కడ నేను ఒక ఉదాహరణగా కొంచెం విభిన్న రకాన్ని తీసుకుంటాను. - 69. మేము అన్ని ఫోన్లతో సుపరిచితులు, మీరు అన్ని రకాల ఫోన్లను ఉపయోగిస్తున్నారు. - 70. సో, నేను మాట్లాడుతున్నాను, మేము నేడు సాధారణమైన 3 సాధారణ రకాల ఫోన్లను పరిగణలోకి తీసుకుంటే; ల్యాండ్లైన్ ఫోన్, మొబైల్ ఫోన్ మరియు స్మార్ట్ ఫోన్, అప్పుడు మేము ఉందని చూడవచ్చు; మరియు నేను ఇక్కడ చేయడానికి ప్రయత్నిస్తున్న అన్ని మేము ఈ ఫోన్లు మానసికంగా అనుబంధం కార్యాచరణ అసోసియేట్ రకం. - 71. కాబట్టి, ల్యాండ్లైన్ ఫోను చెప్పండి, మీరు అసోసియేట్ చేస్తారనే కార్యాచరణ ఉంటుంది; మీరు కాల్ చేయవచ్చు, మీరు కాల్కు సమాధానం చెప్పవచ్చు. - 72. ఒక మొబైల్ ఫోన్ కోసం మీరు స్పష్టంగా, అలా అన్ని చేయవచ్చు, కానీ మీరు చాలా మొబైల్ ఫోన్ లో, మీరు గత సంఖ్య redial చేయగలరు, మీరు ఒక రింగ్ టోన్ సెట్ చేయగలరు, చాలా ఇతర విషయాలు చేయవచ్చు బహుశా మీరు మీ పరిచయాలను సంఖ్య మరియు పేరుతో పెట్టవచ్చు మరియు తద్వారా మొదలగునవి, అనేకమంది ఇతరులు ఉండవచ్చు. - 73. కాబట్టి, ల్యాండ్లైన్ ఫోన్ యొక్క ప్రాథమిక ఫంక్షనాలిటీ కూడా మొబైల్ ఫోన్ ద్వారా సంతృప్తి చెందిందని నేను చూడగలను, ఇది ఇప్పటికే ఉనికిలో ఉంది. - 74. కాబట్టి, ఒక మొబైల్ ఫోన్ ISA ల్యాండ్లైన్ ఫోన్ అని నేను చెప్పగలను. - 75. ఈ ISA అది అదే అని కాదు, కానీ మొబైల్ ఫోన్ సంతృప్తి చేయవచ్చు అన్ని ఫంక్షనాలిటీ ను మొబైల్ ఫోన్ సంతృప్తి చేయవచ్చు అర్థం. - 76. అదేవిధంగా, నేను ఒక స్మార్ట్ ఫోన్కు వచ్చినట్లయితే, కాల్ మరియు జవాబు యొక్క ఈ ఫంక్షనాలిటీ ను నేను మళ్లీ కలిగి ఉంటాను, వీటిని అన్నింటినీ redial చేసుకోవచ్చు, కానీ నేను అదనపు ఫంక్షనాలిటీ ను కలిగి ఉండవచ్చు. - 77. నా కాన్టాక్ట్ కు (contact ) సంబంధించి ఒక ఫోటోగ్రాఫ్ ను అనుసంధానించగలగడం మరియు నేను నా కాన్టాక్ట్ తో ఫోటోను అనుసంధానించేటప్పుడు అప్పుడు కాల్ సమయంలో లేదా కాల్ చేసేటప్పుడు బహుశా స్మార్ట్ ఫోన్, కాల్ అందుకోవడం, పునఃప్రారంభ సమయంలో ఫోటోగ్రాఫ్ ను చూడవచ్చు. - 78. కాబట్టి, మధ్య సామాన్యత ఉంది; ఈ విభిన్న రకాల ఫోన్ల మధ్య substantial సామాన్యం ఉంది, కానీ ఒక రకమైన ఫోన్ నుండి మరొకదానికి వెళ్లినప్పుడు, మొబైల్కు ల్యాండ్లైన్ మేము దొరుకుతుందాం మరికొన్ని అదనపు ఫంక్షనాలిటీ లు దొరుకుతున్నాయి. - 79. మేము మొబైల్ నుండి స్మార్ట్ ఫోన్కు వెళ్తాము ఇంకా కొన్ని మరింత కార్యాచరణలు మరియు ఆ విధంగా ఫోన్లు చాలా nice చిన్న specialization generalization హైరార్కీ కలిగి ఉంటుంది. - 80. అందువల్ల, మీరు కేవలం సంజ్ఞల కోసం, వివిధ రకాల గాడ్జెట్లు మరియు సాధ్యమయ్యే వాటి యొక్క హైరార్కీ లు గురించి మీకు అవగాహన కలిగించడానికి. - 81. తరువాత మాడ్యూల్ వద్ద మేము ఫోన్లు చేపట్టాలనుకుంటున్నాము మరియు వాస్తవానికి ఇన్హెరిటెన్స్ స్ట్రక్చర్ పూర్తి డిజైన్ చేయాలనుకుంటున్నాను, కానీ ఇప్పుడు C ++ ఇన్హెరిటెన్స్ భావించే కాంక్రీట్ సెమాంటిక్స్కు వెళ్లనివ్వండి. - 82. కాబట్టి, సాధారణంగా మేము రెండు క్లాస్ ల గురించి మాట్లాడతాము; బేస్ క్లాస్ మరియు డిరైవవ్డ్ క్లాస్. - 83. కాబట్టి, ISA మోడల్; డిరైవవ్డ్ ISA బేస్. - 84. అందువల్ల, డిరైవవ్డ్ క్లాస్ యొక్క నేమ్ డిరైవవ్డ్, బేస్ క్లాస్ యొక్క నేమ్ బేస్ మరియు ఖచ్చితంగా ఇది ఇదే C ++ లో ప్రాతినిధ్యం వహించబడిందని మేము ఇప్పటికే చూశాము. - 85. కాబట్టి, కొత్త పరిచయం ఇది ఒక కీవర్డ్ ని పబ్లిక్ కీవర్డ్ గా ఉంది ఇది ఇప్పటికే ఉన్న ప్రాముఖ్యత కోసం ఉపయోగించినందున, కానీ ఇక్కడ మేము కొన్ని ప్రత్యేక ప్రయోజనాల కోసం మళ్లీ ఉపయోగిస్తున్నాము, మరియు ఈ ప్రత్యేక కీవర్డ్ యొక్క ప్రాముఖ్యత ఏమిటి అని చూద్దాం మరియు మేము వారి ప్రత్యామ్నాయాల గురించి మాట్లాడతాము, కానీ ఇప్పుడే దీనిని ఒక ప్రిస్క్రిప్షన్గా తీసుకుంటాను, నేను చెప్పేది అది డిరైవవ్డ్ ISA బేస్ అని చెప్పుకునే మార్గం, మరియు ఈ కీవర్డ్ తర్వాత మీకు క్లాస్ నేమ్ మీరు పేర్కొన్న generalized లేదా బేస్ క్లాస్ నేమ్. - 86. ఇప్పుడు, ఖచ్చితంగా ఒక ప్రశ్న యొక్క మొత్తం చాలా వరకు చేస్తున్నట్లు మేము మాట్లాడుతున్నాము, ఎందుకంటే ఆ బేస్ వేర్వేరు డేటా మెంబర్లను కలిగి ఉంటుందని మేము ఆశిస్తాం. - 87. డిరైవవ్డ్ వివిధ డేటా మెంబర్లను కూడా ఉంటారు, బేస్ వివిధ మెతడ్స్ ను కలిగి ఉంటుంది, డిరైవవ్డ్ కూడా వివిధ మెతడ్స్ ను కలిగి ఉంటుంది. - 88. బేస్ కన్స్ట్రక్ట్ చేయాల్సిన అవసరం ఉంది, డిరైవవ్డ్ కూడా మరియు కన్స్ట్రక్ట్ చేయాల్సిన అవసరం ఉంది. - 89. కాబట్టి, మనము చాలా జాగ్రత్తగా వివరించాలి మరియు అర్ధం చేసుకోవాలి; ఈ బేస్ ఎలా సంబంధాన్ని కలిగి ఉంటుందో సెమాంటిక్స్ అంటే ఏమిటి? కాబట్టి, నేను మొదట్లో సరిదిద్దటానికి ఇష్టపడుతున్నాను, అప్పుడు మేము వీటిలో ప్రతి ఒక్కదాన్ని తీసుకొని మరింత వివరణాత్మక చర్చ చేయాలని ప్రయత్నిస్తాము. - 90. నేను మొదట C ++ లో ఇన్హెరిటెన్స్ యొక్క సెమాంటిక్స్ గురించి మాట్లాడేటప్పుడు, మీరు వీటి గురించి చాలా జాగ్రత్తగా ఉండవలసిన మొదటి స్థాయి అంశాలు. - 91. మొదటి విషయం, నను క్షమించండి; మొదటి విషయం డేటా మెంబర్లు. - 92. కాబట్టి, బేస్ క్లాస్ యొక్క అన్ని డేటా మెంబర్ నుండి డిరైవవ్డ్ క్లాస్ పొందినట్లు మేము చెబుతాము. - 93. కాబట్టి, మీరు డిరైవవ్డ్ క్లాస్ లను ఏ డేటా మెంబర్ని కలిగి లేనప్పటికీ, అది ఇప్పటికీ బేస్ క్లాస్ కి చెందిన అన్ని డేటా మెంబర్లతో కూడిన డేటా మెంబర్లను కలిగి ఉంటుంది, కానీ అది మరింత డేటా మెంబర్లను మరింతగా add చేయగలదు. - 94. నేను వీటిలో ప్రతిదానికి ఉదాహరణగా వస్తాను, కానీ నేను ప్రాథమిక ప్రిన్సిపిల్ ను చెప్పడానికి ప్రయత్నిస్తున్నాను. - 95. ఇన్హెరిటెన్స్ యొక్క ప్రాధమిక ప్రిన్సిపిల్ ఇది నేను మరియు నేను సాధారణ భావన సంతృప్తి చెంది ప్రతిదీ సంతృప్తి అవసరం మరింత ప్రత్యేక భావన అందించడానికి ప్రత్యేకంగా ప్రయత్నిస్తున్న కొన్ని భావనలు ఉంది. - 96. కాబట్టి, బేస్, డిరైవ్డ్ సంతృప్తినిచ్చే ప్రతిదీ సంతృప్తి పరచాలి. - 97. కాబట్టి, ఇది మొత్తం డేటా మెంబర్లను కలిగి ఉండాలి, కానీ అది మొత్తం భావనను మరింత మెరుగుపరచడానికి దాని స్వంతని జోడించవచ్చు. - 98. మళ్ళీ మెంబర్ ఫంక్షన్ ల పరంగా, మనము చూసే చాలా ముఖ్యమైన ఆలోచనలు ఉన్నాయని తెలుసుకుంటాం. - 99. మొదటి భాగము, ఒక డిరైవ్డ్ క్లాస్ బేస్ క్లాస్ కి చెందిన అన్ని మెంబర్ ఫంక్షన్ లను ఇన్హెరిట్ చేసుకుంటుంది, కానీ ఆ తరువాత ఒక పెద్ద వ్యత్యాసం ఉంది; మీరు మెంబర్ ఫంక్షన్ ఇన్హెరిటెన్స్ గా వంటి మీరు తిరిగి సంస్కరణ మార్చకుండా అది తిరిగి నిర్వచించటానికి తిరిగి అమలు ఎంపిక ఉంది. - 100. మీరు అదే విధమైన అల్గోరిథంతో మళ్ళీ అదే ఫంక్షన్ నిర్వచించాలనుకుంటున్నారు మరియు మీరు ఇలా చేస్తే అప్పుడు మీరు బేస్ వర్గంలో మెంబర్ల పనిని భర్తీ చేస్తున్నారని చెప్తారు; ఈ భావన చాలా ఓవర్లోడింగ్ భావనతో చాలా దగ్గరగా ఉన్నందున చాలా జాగ్రత్త వహించండి, ఓవర్లోడింగ్ తో మీకు గందరగోళంగా మొదలవుతుంది మరియు మీకు చెడ్డ విషయాలు ఏమిటంటే మీరు నిజంగా ఇన్హెరిటెన్స్ సందర్భంలో ఓవర్లోడింగ్ చేస్తారనే మంచి అవకాశం ఉంది. - 101. మీరు ఒకే సిగ్నేచర్ ఒక ఫంక్షన్ని తిరిగి ఓవరైడింగ్ చేస్తే, అది భర్తీ అవుతుంది. - 102. మీరు విభిన్న సిగ్నేచర్ తో ఒక ఫంక్షన్ని తిరిగి నిర్వచించినప్పుడు ఓవర్లోడింగ్ అంటారు. - 103. సో, ఈ మేము ఇన్హెరిటెన్స్ కింద మెంబర్ ఫంక్షన్ లు ప్రవర్తన పరంగా అర్థం అవసరం వివిధ సెమాంటిక్స్ ఉన్నాయి. - 104. యాక్సెస్ స్పెసిఫికేషన్ పరంగా మనము చూడవలసిన తదుపరి అంశం. - 105. ఇప్పుడు, యాక్సెస్ స్పెసిఫికేషన్ పరంగా సహజంగా మనకు ప్రైవేటు యాక్సెస్ ఉందని మరియు పబ్లిక్ యాక్సెస్ ఉందని మాకు తెలుసు. - 106. ప్రైవేటు యాక్సెస్ క్లాస్ మెంబర్ ల కోసం ఉంది, ప్రజా యాక్సెస్ ప్రతిఒక్కరికీ. - 107. కాబట్టి, బేస్ క్లాస్ యొక్క డిరైవ్డ్ క్లాస్ ఖచ్చితంగా ఆ క్లాస్ లో భాగం కాదు. - 108. అందువల్ల, ఒక డిరైవ్డ్ క్లాస్ బేస్ క్లాస్ లను ప్రైవేట్ మెంబర్ల ను యాక్సెస్ చేయలేరు. - 109. ఇది పబ్లిక్ మెంబర్ లను మాత్రమే యాక్సెస్ చేయగలదు, కానీ అది చాలా కష్టాలకు దారి తీస్తుందని మేము చూస్తాము ఎందుకంటే ప్రత్యేకమైన semantics ప్రత్యేకంగా ఉంచడానికి మేము ప్రయత్నిస్తున్నట్లుగా చెప్పాలంటే ప్రత్యేకంగా సంకేతపదంగా సూచించడంతో, బేస్ క్లాస్ అంతర్గతాలకు ఎటువంటి ప్రాప్తి లేదు. - 110. అందువల్ల, ఒక కొత్త టైప్ యాక్సెస్ స్పెసిఫైయర్తో, ప్రొటెక్టడ్ యాక్సెస్ స్పెసిఫైయర్ ఇన్హెరిటెన్స్ మంచి అర్థాలకు మద్దతిస్తుంది. - 111. కాబట్టి, ఇన్హెరిటెన్స్ గా మద్దతు ఇచ్చే ఈ మూడవ రకమైన దృశ్యమానత లేదా ప్రాప్యత వివరణ ఏమిటో తెలుసుకోవడానికి మరియు అర్థం చేసుకోవడానికి మాకు ఉంటుంది. - 112. అంతిమంగా, సహజంగా ఆబ్జెక్ట్ డిస్ట్రక్ట్ చేయబడాలి మరియు బేస్ మరియు డిరైవ్డ్ క్లాస్ మధ్య ఇన్హెరిటెన్స్ గా ఉన్నప్పుడు, ఒక డిరైవ్డ్ క్లాస్ ఉదాహరణగా పిలువబడే ఒక డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ కావాలి, కాని డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ ఒక బేస్ని కలిగి ఉంటుంది క్లాస్ ఆబ్జెక్ట్ కన్స్ట్రక్టర్ ని పిలుస్తూ క్లాస్ ఆబ్జెక్ట్. - 113. కాబట్టి, బేస్ క్లాస్ అవగాహన మరియు డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ ఎలా తమకు మరియు వారితో ఎలా సంకర్షణ చెందుతాయో తెలుసుకోవడానికి అవసరమైన ప్రాథమిక అవగాహన. - 114. అదేవిధంగా, ఒక డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ ను డిస్ట్రక్ట్ చేయవలసి వచ్చినప్పుడు, బేస్ క్లాస్ యొక్క డిస్ట్రక్టర్ ప్రయోగించవలసి ఉంటుంది, తద్వారా మీరు డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ యొక్క బేస్ క్లాస్ భాగాలను డెస్ట్రాయ్ చేయవచ్చు. - 115. కాబట్టి, ఇది ఇన్హెరిటెన్స్ ను ఎలా ఉపయోగించాలో అర్ధం చేసుకోవడానికి మరియు C ++ ల్యాంగ్వేజ్ చాలా సమర్థవంతమైన రీతిలో వేర్వేరు వాస్తవ ప్రపంచ scenario hierarchy ను ఎలా నిర్దేశించాలో అర్థం చేసుకోవడానికి అవసరమైన అన్ని ప్రధాన అర్థాల సిమాంటిక్స్(semantics) ఇది. - 116. ఈ విధంగా సంగ్రహించేందుకు, మనకు OOAD hierarchy యొక్క శ్రేణిని ISA సంబంధం మరియు క్లాస్ హైరార్కీ భావన ఆబ్జెక్ట్ ఓరియంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క పునర్వ్యవస్థీకరణలో ఉంది మరియు C ++ లో ఇన్హెరిటెన్స్ యొక్క ప్రాథమిక భావనను పరిచయం చేసాము. - 117. మరియు అర్థం చేసుకోవడానికి అవసరమైన అర్థాల యొక్క విభిన్న అంశాలను ఏవి గమనించాలో, మేము నిజంగా ప్రభావవంతమైన పద్ధతిలో ఇన్హెరిటెన్స్ ని ఉపయోగించుకునే విధంగా మాస్టర్స్గా ఉండాలి. - 118. + ప్రోగ్రామింగ్ ఇన్ సి ++ మౌడ్యూల్ 21 కు స్వాగతం. + ఈ మాడ్యూల్ లో మాడ్యూల్స్ యొక్క తరువాతి సంఖ్యలో కొనసాగుతున్నందున, మనము ఒక ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క అత్యంత ముఖ్యమైన అంశంపై చర్చను ప్రారంభించబోతున్నాం, ఇది క్లాస్ ల్లోని మరియు ఆబ్జెక్ట్ మధ్య ఇన్హెరిటెన్స్(inheritance) వ్యవహారం. + మనము ఇంతవరకు సి++ లో క్లాస్ లను ఎలా డిఫైన్, ఆబ్జెక్ట్స్ ఇప్పటికి ఎలా instantiated చేయాలో తెలుసుకున్నాం. + మేము వివిధ డేటా మెంబర్ల మరియు క్లాస్ యొక్క మెంబర్ ఫంక్షన్ ల సామర్ధ్యం గురించి నేర్చుకున్నాము. + మనము కన్స్ట్రక్షన్ మరియు డిస్ట్రక్షన్ ప్రోసెస్ మరియు ఆబ్జెక్ట్ ల వివిధ lifetime సమస్యల గురించి తెలుసుకున్నాము. + వివిధ రకాల ఎక్స్టెన్షన్ లేదా ఎక్సెప్షన్ యొక్కఎన్కాప్సులేషన్ అనుగుణంగా ఉండే ఇతర లక్షణాల గురించి మనం మాట్లాడాము, ఫ్రెండ్ ఫంక్షన్ పరంగా, ఫంక్షన్ యాక్సెస్ మరియు స్టాక్ ఫంక్షన్ల పరంగా ఫంక్షన్స్, మరియు వివిధ మెంబర్ ఫంక్షన్ మరియు గ్లోబల్ ఫంక్షన్ల ఓవర్లోడింగ్ చేయవచ్చు. + ఇప్పుడు, ఇన్హెరిటెన్స్ అనేది ఆబ్జెక్ట్ యొక్క ఆధార రూపకల్పనల డిజైన్ యొక్క ప్రధాన వెన్నెముకను నిర్మించడానికి ఈ అవగాహనను అన్నిటినీ మిళితం చేస్తుంది. + అందువలన, మనము ఈ లోతైన అధ్యయనం మొదలు ముందు నేను అన్ని మీరు సవరించడానికి మరియు మేము చాలా చర్చించారు అని C + + యొక్క వివిధ లక్షణాల గురించి చాలా క్షుణ్ణంగా ఉద్భవించటానికి ముందు మేము ఇప్పుడు చాలా తరచుగా క్రమంగా వాటిని అన్ని సూచిస్తూ ఉంటాను . + + ఇప్పుడు, నేను చెప్పినట్లుగా ఇన్హెరిటెన్స్ గురించి చర్చించడం కోసం ఇది అనేక మాడ్యూల్స్పై విస్తరించింది. + ఈ ప్రత్యేక మాడ్యూల్ లో, ISA రిలేషన్షిప్ లేదా ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క క్రమానుగత పునఃసృష్టిని మేము పరిశీలించాము మరియు C ++ ఇన్హెరిటెన్స్ పరంగా ఎలా క్రియేట్ చేయాలో చూద్దాం. + నేను ఇక్కడ అందించే ఆకారం కొద్దిగా భిన్నంగా నిర్వహించబడింది. + ఇది ప్రస్తుత మాడ్యూల్ యొక్క సరిహద్దు మాత్రమే కాదు. + ఇది C ++ లో ఇన్హెరిటెన్స్ మొదటి స్థాయి వద్ద చర్చించడానికి ఉద్దేశించినది. + ఈ విషయంలో కొన్ని తదుపరి సీక్వెల్ ఉంటుంది, ఇది మేము ఇన్హెరిటెన్స్ గురించి మాట్లాడే ఒక డైనమిక్ సినారియో లో మాట్లాడతాము, కానీ ఇది ఇన్హెరిటెన్స్ ప్రాథమిక పునాది అంశాలను. + మనం ఏమి చేస్తామో, మనము ఒక మాడ్యూల్ నుండి మరొక వైపుకు వెళ్ళేటప్పుడు ప్రత్యేక అంశములను మనము నీలం రంగు పరంగా చర్చించబోతున్నాము. + కాబట్టి, మీరు ఈ మొత్తాన్ని పరిశీలించినట్లయితే, మాడ్యూల్ 21 లో చర్చించాలని మేము కోరుతున్నాము. + ఇప్పుడు మనము ప్రారంభించాము. + కాబట్టి, మేము ISA సంబంధాన్ని గురించి తెలుసుకున్నాము, ఈ కోర్సులో మేము దాని గురించి మాట్లాడలేదు మరియు మీరు ఈ విషయంలో కూడా బాగా తెలిసి ఉండవచ్చు, వాస్తవిక ప్రపంచంలో మనం మరొక ఆబ్జెక్ట్ యొక్క specialization లేదా generalization అని తరచుగా తెలుసుకుంటాం. + స్పెషలైజేషన్ మరియు సాధారణీకరణ ప్రధానమైనవి. + కాబట్టి, ఒక ఆబ్జెక్ట్ ఇతర specialized లేదా generalized రూపం మరియు ISA సంబంధం మరియు ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అని పిలుస్తారు మరియు డిజైన్ ఈ లోతైన మరియు C ++ నమూనాలో ఈ ISA సంబంధాన్ని క్లాసుల ఇన్హెరిటెన్స్ తో పరిగణిస్తుంది. + కాబట్టి, C ++ యొక్క ఇన్హెరిటెన్స్ లాజిక్ లోకి రావడానికి ముందు, మాకు త్వరగా ISA సంబంధాన్ని పరిశీలించండి. + మీరు స్పెషలైజేషన్ generalization ఏమి చెపుతున్నారో చెప్పండి. + అనుకుందాం, మేము ISA పువ్వు పెరిగింది అని అనుకుంటాను. + సో, ISA పువ్వు గులాబీ చెప్పడం ద్వారా మీరు అర్థం ఏమిటి. మేము గులాబీ అని అర్థం, ఇది ప్రత్యేకమైనది, ఇది గులాబీకి ప్రత్యేకమైన పువ్వు అని పిలుస్తారు, ఇది పువ్వును కలిగి ఉన్న అన్ని లక్షణాలను కలిగి ఉంది, ఎప్పుడైనా మేము పుష్పం అని చెప్పినప్పుడు; కొన్ని భావాలు మా మనసులోకి వస్తాయి, అది సువాసన కలిగి ఉంటుంది, అది ప్రకాశవంతమైన రంగు కలిగి ఉంటుంది, అది రేకులు మరియు అందువలన ఉంటుంది. + అందువల్ల, గులాబి పువ్వు కలిగి ఉన్న అన్ని లక్షణాలను కలిగి ఉంది. + కానీ అదనంగా, గులాబీలో కొన్ని అదనపు లక్షణాలను కలిగి ఉంది, అందుకే మీరు ప్రత్యేకంగా చేయాలనుకుంటున్నారు. + ఉదాహరణకు, గులాబీ చాలా నిర్దిష్టమైన రోసీ సువాసనను కలిగి ఉంటుంది, ఇది చాలా ఇతర పుష్పాల యొక్క సువాసన వలె లేదు. + కాబట్టి, ఇది పూర్తి అయినప్పుడు మనం పూల స్పెషలైజేషన్ అని చెపుతాము మరియు మనము ఒక రివర్స్ రీతిలో అదే విషయం చెప్పగలము. + పుష్పం రోజ్ యొక్క generalization అని మేము చెప్పగలను. + కాబట్టి, మళ్లీ ఎర్ర గులాబీ మరియు గులాబి ఉన్నట్లయితే, ఎరుపు గులాబీ ISA గులాబీ ప్రొపర్టీస్ కలిగి ఉన్న రెడ్ గులాబీ రంగులో ఉన్నట్లయితే మనం ఎరుపు గులాబి అన్నీ లక్షణాలను కలిగి ఉంటుంది, కానీ అది ఎరుపు రంగులో ఉన్నట్లుగా ఇది ఒక అదనపు ఆస్తి కలిగి ఉంది మరియు ఇది గులాబీ మరియు ఎరుపు మధ్య ఉన్న సాధారణీకరణ ప్రత్యేకత. + కాబట్టి, నేను ఇక్కడ గీసిన దాని పరంగా, మీరు చాలామంది దీనిని UML generalization గా పిలుస్తారని మీకు తెలుస్తుంది. + యూనిఫైడ్ మోడలింగ్ లాంగ్వేజ్ అనేది ఆబ్జెక్ట్ ఓరియెంటెడ్ రీతిలో సిస్టమ్ ను వివరించడానికి ఒక బలమైన లాంగ్వేజ్. + కాబట్టి, ఈ క్లాస్ లు మరియు చివరికి ఓపెన్ త్రిభుజం triangle తో ముగుస్తుంది ఈ arrow ప్రత్యేకతను అర్థం. + కాబట్టి, ఇది చదివేది; arrow యొక్క దిశగా ఉన్న ISA పువ్వు పెరిగింది, ఎరుపు పెరిగింది ISA గులాబీ మరియు అందువలన న. + కాబట్టి, రేఖాచిత్రంగా మేము ఈ రేఖాచిత్రాల పరంగా ఇన్హెరిటెన్స్ లేదా స్పెషలైజేషన్ generalization ను తరచుగా వర్ణిస్తాము. + అదేవిధంగా, మేము కలిగి ఉండవచ్చు; మనం చెప్తాము అని చెప్పవచ్చు, ఇది చుట్టూ తిరగడానికి ఉపయోగించే ఒక వాహనం. + కాబట్టి, మేము Twowheelers లో చుట్టూ తరలించవచ్చు, కాబట్టి మేము Twowheeler ISA వాహనం చెప్పగలను. + అదేవిధంగా, Threewheelers ISA వాహనం, కానీ మేము వాహనం పరంగా generalization మరియు 3 చక్రాల మరియు 2 చక్రాల వాహనం యొక్క రెండు వేర్వేరు స్పెషలైజేషన్ అని కేటాయించవచ్చు. + కాబట్టి, generalization మరియు స్పెషలైజేషన్ మల్టిపుల్ రకాలుగా చెప్పవచ్చు. + కాబట్టి, ఇది ఒక generalized భావన ఉన్న ఒక రకంగా మరియు దాని కోసం మల్టిపుల్ specialized అంశాలు ఉన్నాయి. + మేము సాధారణంగా దీనిని ఒక ఆధారంగా సూచిస్తాము మరియు వీటిని మేము డిరైవ్ చేస్తాము. + వేర్వేరు ల్యాంగ్వేజ్ లో వివిధ పదాలను ఉపయోగించుకుంటాయి, ఉదాహరణకు, మీరు జావా గురించి తెలిసిన వారిలో, ఈ బేస్ లేదా generalization ను సూపర్ క్లాస్గా మరియు సబ్క్లాస్గా తీసుకున్న లేదా స్పెషలైజేషన్ గా గుర్తిస్తాము. + కొన్ని సందర్భాల్లో, అత్యంత సాధారణమైన ప్రత్యేకమైన క్లాస్ నను తరచుగా రూట్గా సూచించబడుతుంది. + ఇంకా ISA సంబంధం మరొక ఉదాహరణ ఎంప్లాయ్ డొమైన్ నుండి కావచ్చు. + మేనేజర్ ISA ఎంప్లాయ్ అని మేము చెబుతున్నాము, అంటే మేనేజర్ యొక్క అన్ని ఫంక్షన్లు నిర్వర్తించగలమని, కానీ ఎంప్లాయ్ కొన్నింటిని చేయగలడు; మేనేజర్ కొన్ని ఫంక్షన్లు చేయవచ్చు ఎంప్లాయ్ చేయలేరు, బహుశా మేనేజర్ తమను చేయలేని ఎంప్లాయ్ ఎంప్లాయ్ లను నియామకం చేయవచ్చు. + కాబట్టి, ఇది C ++ ప్రోగ్రామింగ్ సందర్భంలో మనము తీసుకురావాలనే ISA సంబంధానికి సంబంధించిన ప్రాథమిక భావన. + కాబట్టి, దీనిలో C ++ లో generalization స్పెషలైజేషన్ యొక్క సమాచారాన్ని ఎన్కోడ్ చేయాలనుకుంటే నేను ఇలా చేస్తాను. + కాబట్టి, ఈ కేసుల్లో సరళమైనది మేనేజర్ ISA ఎంప్లాయ్, ఇక్కడ మేము కేవలం రెండు క్లాస్ లను కలిగి ఉన్న మరొకదాని ప్రత్యేకత ఉంది. + కాబట్టి, మేము సాధారణంగా దీనిని ఒకే ఇన్హెరిటెన్స్ సూచించండి ఎందుకంటే ఇక్కడ మీరు కేవలం ఒకే సంబంధం కలిగి ఉంటారు. + సో, మేము ఒక క్లాస్ ను వ్రాయండి, ఎంప్లాయ్ రెప్రెజెంటేషన్, క్లాస్ ఎంప్లాయ్ చెప్పండి. + ఇక్కడ, నేను ఒక రకమైన ఉపయోగించాను మీరు ఒక క్లాస్ యొక్క అసంపూర్తిగా డెఫినిషన్ ని తెలుసు. + ఇది డెఫినిషన్ కలిగి ఉండదు, ఇది కేవలం ఎంప్లాయ్ అని పిలవబడుతున్న ఒక క్లాస్ ఉందని చెప్పడం వలన మేము తరువాత డేటా మెంబర్ ని మరియు మెంబర్ ఫంక్షన్ వివరాలను పరిశీలిస్తాము. + క్లాస్ మధ్య సంబంధాన్ని నిర్వచించేందుకు మేము ఆసక్తి కలిగి ఉంటాము. + అందువల్ల, ఈ రూపంలో మేనేజర్ ఎంప్లాయ్ అని ఇప్పుడు మనం చెప్తున్నాం. కాబట్టి, ఇక్కడ మీరు చేస్తున్న క్లిష్టమైన అదనంగా, క్లాస్ మేనేజర్ కి తర్వాత, విభజన ఉంది అని చూడవచ్చు: ఆపై నేను ఒక కొత్త పదమును పబ్లిక్ గా మరియు తరువాత ఎంప్లాయ్ క్లాస్ నేమ్ ను పెట్టుకున్నాను OOAD నిబంధనలు, ఇది మేనేజర్ ISA ఎంప్లాయ్ లేదా మేనేజర్ ఎంప్లాయ్ నుండి డిరైవ్(derive )చేసినట్లుగా చదవబడుతుంది. + సో, ఉద్యోగి బేస్ క్లాస్ మరియు మేనేజర్ ఒక డిరైవ్ క్లాస్. + ద్విచక్ర వాహన వాహన ఉదాహరణలో; ఈ రేఖాచిత్రం ఇచ్చినప్పుడు మేము నిజానికి హైబ్రీడ్ ఇన్హెరిటెన్స్ తో వ్యవహరిస్తాము. + హైబ్రీడ్ ఇన్హెరిటెన్స్ అనేది ఒక ప్రాథమిక క్లాస్ కి ఒకటి కంటే ఎక్కువ స్పెషలైజేషన్ ఉన్న సందర్భం మరియు మేము సులభంగా వాహనం అయిన రూట్ క్లాస్ ప్రకారం సి ++ లో దానిని సులభంగా ఎన్కోడ్ చేయవచ్చు. + అప్పుడు మేము టూవీలర్ అని పిలిచే వాహనం అని పిలుస్తాము: పబ్లిక్ వెహికల్. + త్రీవీలర్స్ అనేది టూవీలర్ యొక్క వాహనం: పబ్లిక్ వాహనం. + కాబట్టి, అక్కడ ఒక రూట్ క్లాస్ మరియు అక్కడ ఒక బేస్ క్లాస్ మరియు ఈ రెండు డిరైవ్డ్ క్లాస్ లు ఉన్నాయి. + చివరగా, గులాబీ ఉదాహరణకి వస్తే, మనం మల్టీలెవల్ ఇన్హెరిటెన్స్ పిలువబడుతున్నాము ఎందుకంటే ఇది ఒక స్థాయి, ఇది మరొక స్థాయి. + సో, ఇది ఒక మల్టీలెవల్ ఇన్హెరిటెన్స్ RedRose ISA రోజ్ ISA పువ్వు ఉంది. + కాబట్టి, ఇక్కడ పువ్వు బేస్ క్లాస్ మరియు డిరైవ్డ్ క్లాస్ రోజ్, కానీ మేము తదుపరి జత సంబంధాన్ని పరిశీలిస్తే అప్పుడు రోస్ బేస్ క్లాస్ గామారుతుంది మరియు RedRose నుండి డిరైవ్డ్ క్లాస్ గా మారుతుంది. + కాబట్టి, ఒక ప్రత్యేక క్లాస్ అనేది బేస్ క్లాస్ గా లేదా ఒక డిరైవ్డ్ క్లాస్ గా నిర్ణయించబడకపోవడమనేది ఆ క్లాస్ పై ఆధారపడినది కాదు, అది క్లాస్ hierarchy పై ఎక్కడ ఉంది అనే దానిపై ఆధారపడి ఉంటుంది. + క్లాస్ లో లీఫ్ ,ఆ లీఫ్, ఇది మీది కాదుఏ ఇతర క్లాస్ లకు ప్రత్యేకంగా తెలుసు అనేదానిని తప్పనిసరిగా క్లాస్ కి చెందినదిగా గుర్తిస్తారు. + ఏ క్లాస్ కైన సూపర్ క్లాస్ కానీ లేదా పేరెంట్ గానీ లేని బేస్ క్లాస్ మరియు రూట్ క్లాస్ తప్పనిసరిగా ఉండదు, కానీ మధ్యలో ఉన్న వంటి క్లాస్ లకు ఇన్హెరిటెన్స్ ఇతర భాగానికి ఇన్హెరిటెన్స్ మరియు రూట్ క్లాస్ లో ఒక భాగం కోసం క్లాస్ నుండి డిరైవ్ చేయబడుతుంది, మరియు మేము విభిన్న కాంప్లెక్స్ మరియు హైబ్రిడ్ రకమైన ఇన్హెరిటెన్స్ స్ట్రక్చర్ కలిగి ఉన్నాము, మేము C ++ లో ఎన్కోడ్ చేయాలనుకుంటున్నాము. + కాబట్టి, ఇక్కడ నేను ఒక ఉదాహరణగా కొంచెం విభిన్న రకాన్ని తీసుకుంటాను. + మేము అన్ని ఫోన్లతో సుపరిచితులు, మీరు అన్ని రకాల ఫోన్లను ఉపయోగిస్తున్నారు. + సో, నేను మాట్లాడుతున్నాను, మేము నేడు సాధారణమైన 3 సాధారణ రకాల ఫోన్లను పరిగణలోకి తీసుకుంటే; ల్యాండ్లైన్ ఫోన్, మొబైల్ ఫోన్ మరియు స్మార్ట్ ఫోన్, అప్పుడు మేము ఉందని చూడవచ్చు; మరియు నేను ఇక్కడ చేయడానికి ప్రయత్నిస్తున్న అన్ని మేము ఈ ఫోన్లు మానసికంగా అనుబంధం కార్యాచరణ అసోసియేట్ రకం. + కాబట్టి, ల్యాండ్లైన్ ఫోను చెప్పండి, మీరు అసోసియేట్ చేస్తారనే కార్యాచరణ ఉంటుంది; మీరు కాల్ చేయవచ్చు, మీరు కాల్కు సమాధానం చెప్పవచ్చు. + ఒక మొబైల్ ఫోన్ కోసం మీరు స్పష్టంగా, అలా అన్ని చేయవచ్చు, కానీ మీరు చాలా మొబైల్ ఫోన్ లో, మీరు గత సంఖ్య redial చేయగలరు, మీరు ఒక రింగ్ టోన్ సెట్ చేయగలరు, చాలా ఇతర విషయాలు చేయవచ్చు బహుశా మీరు మీ పరిచయాలను సంఖ్య మరియు పేరుతో పెట్టవచ్చు మరియు తద్వారా మొదలగునవి, అనేకమంది ఇతరులు ఉండవచ్చు. + కాబట్టి, ల్యాండ్లైన్ ఫోన్ యొక్క ప్రాథమిక ఫంక్షనాలిటీ కూడా మొబైల్ ఫోన్ ద్వారా సంతృప్తి చెందిందని నేను చూడగలను, ఇది ఇప్పటికే ఉనికిలో ఉంది. + కాబట్టి, ఒక మొబైల్ ఫోన్ ISA ల్యాండ్లైన్ ఫోన్ అని నేను చెప్పగలను. + ఈ ISA అది అదే అని కాదు, కానీ మొబైల్ ఫోన్ సంతృప్తి చేయవచ్చు అన్ని ఫంక్షనాలిటీ ను మొబైల్ ఫోన్ సంతృప్తి చేయవచ్చు అర్థం. + అదేవిధంగా, నేను ఒక స్మార్ట్ ఫోన్కు వచ్చినట్లయితే, కాల్ మరియు జవాబు యొక్క ఈ ఫంక్షనాలిటీ ను నేను మళ్లీ కలిగి ఉంటాను, వీటిని అన్నింటినీ redial చేసుకోవచ్చు, కానీ నేను అదనపు ఫంక్షనాలిటీ ను కలిగి ఉండవచ్చు. + నా కాన్టాక్ట్ కు (contact ) సంబంధించి ఒక ఫోటోగ్రాఫ్ ను అనుసంధానించగలగడం మరియు నేను నా కాన్టాక్ట్ తో ఫోటోను అనుసంధానించేటప్పుడు అప్పుడు కాల్ సమయంలో లేదా కాల్ చేసేటప్పుడు బహుశా స్మార్ట్ ఫోన్, కాల్ అందుకోవడం, పునఃప్రారంభ సమయంలో ఫోటోగ్రాఫ్ ను చూడవచ్చు. + కాబట్టి, మధ్య సామాన్యత ఉంది; ఈ విభిన్న రకాల ఫోన్ల మధ్య substantial సామాన్యం ఉంది, కానీ ఒక రకమైన ఫోన్ నుండి మరొకదానికి వెళ్లినప్పుడు, మొబైల్కు ల్యాండ్లైన్ మేము దొరుకుతుందాం మరికొన్ని అదనపు ఫంక్షనాలిటీ లు దొరుకుతున్నాయి. + మేము మొబైల్ నుండి స్మార్ట్ ఫోన్కు వెళ్తాము ఇంకా కొన్ని మరింత కార్యాచరణలు మరియు ఆ విధంగా ఫోన్లు చాలా nice చిన్న specialization generalization హైరార్కీ కలిగి ఉంటుంది. + అందువల్ల, మీరు కేవలం సంజ్ఞల కోసం, వివిధ రకాల గాడ్జెట్లు మరియు సాధ్యమయ్యే వాటి యొక్క హైరార్కీ లు గురించి మీకు అవగాహన కలిగించడానికి. + తరువాత మాడ్యూల్ వద్ద మేము ఫోన్లు చేపట్టాలనుకుంటున్నాము మరియు వాస్తవానికి ఇన్హెరిటెన్స్ స్ట్రక్చర్ పూర్తి డిజైన్ చేయాలనుకుంటున్నాను, కానీ ఇప్పుడు C ++ ఇన్హెరిటెన్స్ భావించే కాంక్రీట్ సెమాంటిక్స్కు వెళ్లనివ్వండి. + కాబట్టి, సాధారణంగా మేము రెండు క్లాస్ ల గురించి మాట్లాడతాము; బేస్ క్లాస్ మరియు డిరైవవ్డ్ క్లాస్. + కాబట్టి, ISA మోడల్; డిరైవవ్డ్ ISA బేస్. + అందువల్ల, డిరైవవ్డ్ క్లాస్ యొక్క నేమ్ డిరైవవ్డ్, బేస్ క్లాస్ యొక్క నేమ్ బేస్ మరియు ఖచ్చితంగా ఇది ఇదే C ++ లో ప్రాతినిధ్యం వహించబడిందని మేము ఇప్పటికే చూశాము. + కాబట్టి, కొత్త పరిచయం ఇది ఒక కీవర్డ్ ని పబ్లిక్ కీవర్డ్ గా ఉంది ఇది ఇప్పటికే ఉన్న ప్రాముఖ్యత కోసం ఉపయోగించినందున, కానీ ఇక్కడ మేము కొన్ని ప్రత్యేక ప్రయోజనాల కోసం మళ్లీ ఉపయోగిస్తున్నాము, మరియు ఈ ప్రత్యేక కీవర్డ్ యొక్క ప్రాముఖ్యత ఏమిటి అని చూద్దాం మరియు మేము వారి ప్రత్యామ్నాయాల గురించి మాట్లాడతాము, కానీ ఇప్పుడే దీనిని ఒక ప్రిస్క్రిప్షన్గా తీసుకుంటాను, నేను చెప్పేది అది డిరైవవ్డ్ ISA బేస్ అని చెప్పుకునే మార్గం, మరియు ఈ కీవర్డ్ తర్వాత మీకు క్లాస్ నేమ్ మీరు పేర్కొన్న generalized లేదా బేస్ క్లాస్ నేమ్. + ఇప్పుడు, ఖచ్చితంగా ఒక ప్రశ్న యొక్క మొత్తం చాలా వరకు చేస్తున్నట్లు మేము మాట్లాడుతున్నాము, ఎందుకంటే ఆ బేస్ వేర్వేరు డేటా మెంబర్లను కలిగి ఉంటుందని మేము ఆశిస్తాం. + డిరైవవ్డ్ వివిధ డేటా మెంబర్లను కూడా ఉంటారు, బేస్ వివిధ మెతడ్స్ ను కలిగి ఉంటుంది, డిరైవవ్డ్ కూడా వివిధ మెతడ్స్ ను కలిగి ఉంటుంది. + బేస్ కన్స్ట్రక్ట్ చేయాల్సిన అవసరం ఉంది, డిరైవవ్డ్ కూడా మరియు కన్స్ట్రక్ట్ చేయాల్సిన అవసరం ఉంది. + కాబట్టి, మనము చాలా జాగ్రత్తగా వివరించాలి మరియు అర్ధం చేసుకోవాలి; ఈ బేస్ ఎలా సంబంధాన్ని కలిగి ఉంటుందో సెమాంటిక్స్ అంటే ఏమిటి? కాబట్టి, నేను మొదట్లో సరిదిద్దటానికి ఇష్టపడుతున్నాను, అప్పుడు మేము వీటిలో ప్రతి ఒక్కదాన్ని తీసుకొని మరింత వివరణాత్మక చర్చ చేయాలని ప్రయత్నిస్తాము. + నేను మొదట C ++ లో ఇన్హెరిటెన్స్ యొక్క సెమాంటిక్స్ గురించి మాట్లాడేటప్పుడు, మీరు వీటి గురించి చాలా జాగ్రత్తగా ఉండవలసిన మొదటి స్థాయి అంశాలు. + మొదటి విషయం, నను క్షమించండి; మొదటి విషయం డేటా మెంబర్లు. + కాబట్టి, బేస్ క్లాస్ యొక్క అన్ని డేటా మెంబర్ నుండి డిరైవవ్డ్ క్లాస్ పొందినట్లు మేము చెబుతాము. + కాబట్టి, మీరు డిరైవవ్డ్ క్లాస్ లను ఏ డేటా మెంబర్ని కలిగి లేనప్పటికీ, అది ఇప్పటికీ బేస్ క్లాస్ కి చెందిన అన్ని డేటా మెంబర్లతో కూడిన డేటా మెంబర్లను కలిగి ఉంటుంది, కానీ అది మరింత డేటా మెంబర్లను మరింతగా add చేయగలదు. + నేను వీటిలో ప్రతిదానికి ఉదాహరణగా వస్తాను, కానీ నేను ప్రాథమిక ప్రిన్సిపిల్ ను చెప్పడానికి ప్రయత్నిస్తున్నాను. + ఇన్హెరిటెన్స్ యొక్క ప్రాధమిక ప్రిన్సిపిల్ ఇది నేను మరియు నేను సాధారణ భావన సంతృప్తి చెంది ప్రతిదీ సంతృప్తి అవసరం మరింత ప్రత్యేక భావన అందించడానికి ప్రత్యేకంగా ప్రయత్నిస్తున్న కొన్ని భావనలు ఉంది. + కాబట్టి, బేస్, డిరైవ్డ్ సంతృప్తినిచ్చే ప్రతిదీ సంతృప్తి పరచాలి. + కాబట్టి, ఇది మొత్తం డేటా మెంబర్లను కలిగి ఉండాలి, కానీ అది మొత్తం భావనను మరింత మెరుగుపరచడానికి దాని స్వంతని జోడించవచ్చు. + మళ్ళీ మెంబర్ ఫంక్షన్ ల పరంగా, మనము చూసే చాలా ముఖ్యమైన ఆలోచనలు ఉన్నాయని తెలుసుకుంటాం. + మొదటి భాగము, ఒక డిరైవ్డ్ క్లాస్ బేస్ క్లాస్ కి చెందిన అన్ని మెంబర్ ఫంక్షన్ లను ఇన్హెరిట్ చేసుకుంటుంది, కానీ ఆ తరువాత ఒక పెద్ద వ్యత్యాసం ఉంది; మీరు మెంబర్ ఫంక్షన్ ఇన్హెరిటెన్స్ గా వంటి మీరు తిరిగి సంస్కరణ మార్చకుండా అది తిరిగి నిర్వచించటానికి తిరిగి అమలు ఎంపిక ఉంది. + మీరు అదే విధమైన అల్గోరిథంతో మళ్ళీ అదే ఫంక్షన్ నిర్వచించాలనుకుంటున్నారు మరియు మీరు ఇలా చేస్తే అప్పుడు మీరు బేస్ వర్గంలో మెంబర్ల పనిని భర్తీ చేస్తున్నారని చెప్తారు; ఈ భావన చాలా ఓవర్లోడింగ్ భావనతో చాలా దగ్గరగా ఉన్నందున చాలా జాగ్రత్త వహించండి, ఓవర్లోడింగ్ తో మీకు గందరగోళంగా మొదలవుతుంది మరియు మీకు చెడ్డ విషయాలు ఏమిటంటే మీరు నిజంగా ఇన్హెరిటెన్స్ సందర్భంలో ఓవర్లోడింగ్ చేస్తారనే మంచి అవకాశం ఉంది. + మీరు ఒకే సిగ్నేచర్ ఒక ఫంక్షన్ని తిరిగి ఓవరైడింగ్ చేస్తే, అది భర్తీ అవుతుంది. + మీరు విభిన్న సిగ్నేచర్ తో ఒక ఫంక్షన్ని తిరిగి నిర్వచించినప్పుడు ఓవర్లోడింగ్ అంటారు. + సో, ఈ మేము ఇన్హెరిటెన్స్ కింద మెంబర్ ఫంక్షన్ లు ప్రవర్తన పరంగా అర్థం అవసరం వివిధ సెమాంటిక్స్ ఉన్నాయి. + యాక్సెస్ స్పెసిఫికేషన్ పరంగా మనము చూడవలసిన తదుపరి అంశం. + ఇప్పుడు, యాక్సెస్ స్పెసిఫికేషన్ పరంగా సహజంగా మనకు ప్రైవేటు యాక్సెస్ ఉందని మరియు పబ్లిక్ యాక్సెస్ ఉందని మాకు తెలుసు. + ప్రైవేటు యాక్సెస్ క్లాస్ మెంబర్ ల కోసం ఉంది, ప్రజా యాక్సెస్ ప్రతిఒక్కరికీ. + కాబట్టి, బేస్ క్లాస్ యొక్క డిరైవ్డ్ క్లాస్ ఖచ్చితంగా ఆ క్లాస్ లో భాగం కాదు. + అందువల్ల, ఒక డిరైవ్డ్ క్లాస్ బేస్ క్లాస్ లను ప్రైవేట్ మెంబర్ల ను యాక్సెస్ చేయలేరు. + ఇది పబ్లిక్ మెంబర్ లను మాత్రమే యాక్సెస్ చేయగలదు, కానీ అది చాలా కష్టాలకు దారి తీస్తుందని మేము చూస్తాము ఎందుకంటే ప్రత్యేకమైన semantics ప్రత్యేకంగా ఉంచడానికి మేము ప్రయత్నిస్తున్నట్లుగా చెప్పాలంటే ప్రత్యేకంగా సంకేతపదంగా సూచించడంతో, బేస్ క్లాస్ అంతర్గతాలకు ఎటువంటి ప్రాప్తి లేదు. + అందువల్ల, ఒక కొత్త టైప్ యాక్సెస్ స్పెసిఫైయర్తో, ప్రొటెక్టడ్ యాక్సెస్ స్పెసిఫైయర్ ఇన్హెరిటెన్స్ మంచి అర్థాలకు మద్దతిస్తుంది. + కాబట్టి, ఇన్హెరిటెన్స్ గా మద్దతు ఇచ్చే ఈ మూడవ రకమైన దృశ్యమానత లేదా ప్రాప్యత వివరణ ఏమిటో తెలుసుకోవడానికి మరియు అర్థం చేసుకోవడానికి మాకు ఉంటుంది. + అంతిమంగా, సహజంగా ఆబ్జెక్ట్ డిస్ట్రక్ట్ చేయబడాలి మరియు బేస్ మరియు డిరైవ్డ్ క్లాస్ మధ్య ఇన్హెరిటెన్స్ గా ఉన్నప్పుడు, ఒక డిరైవ్డ్ క్లాస్ ఉదాహరణగా పిలువబడే ఒక డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ కావాలి, కాని డిరైవ్డ్ క్లాస్ కన్స్ట్రక్టర్ ఒక బేస్ని కలిగి ఉంటుంది క్లాస్ ఆబ్జెక్ట్ కన్స్ట్రక్టర్ ని పిలుస్తూ క్లాస్ ఆబ్జెక్ట్. + కాబట్టి, బేస్ క్లాస్ అవగాహన మరియు డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ ఎలా తమకు మరియు వారితో ఎలా సంకర్షణ చెందుతాయో తెలుసుకోవడానికి అవసరమైన ప్రాథమిక అవగాహన. + అదేవిధంగా, ఒక డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ ను డిస్ట్రక్ట్ చేయవలసి వచ్చినప్పుడు, బేస్ క్లాస్ యొక్క డిస్ట్రక్టర్ ప్రయోగించవలసి ఉంటుంది, తద్వారా మీరు డిరైవ్డ్ క్లాస్ ఆబ్జెక్ట్ యొక్క బేస్ క్లాస్ భాగాలను డెస్ట్రాయ్ చేయవచ్చు. + కాబట్టి, ఇది ఇన్హెరిటెన్స్ ను ఎలా ఉపయోగించాలో అర్ధం చేసుకోవడానికి మరియు C ++ ల్యాంగ్వేజ్ చాలా సమర్థవంతమైన రీతిలో వేర్వేరు వాస్తవ ప్రపంచ scenario hierarchy ను ఎలా నిర్దేశించాలో అర్థం చేసుకోవడానికి అవసరమైన అన్ని ప్రధాన అర్థాల సిమాంటిక్స్(semantics) ఇది. + ఈ విధంగా సంగ్రహించేందుకు, మనకు OOAD hierarchy యొక్క శ్రేణిని ISA సంబంధం మరియు క్లాస్ హైరార్కీ భావన ఆబ్జెక్ట్ ఓరియంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క పునర్వ్యవస్థీకరణలో ఉంది మరియు C ++ లో ఇన్హెరిటెన్స్ యొక్క ప్రాథమిక భావనను పరిచయం చేసాము. + మరియు అర్థం చేసుకోవడానికి అవసరమైన అర్థాల యొక్క విభిన్న అంశాలను ఏవి గమనించాలో, మేము నిజంగా ప్రభావవంతమైన పద్ధతిలో ఇన్హెరిటెన్స్ ని ఉపయోగించుకునే విధంగా మాస్టర్స్గా ఉండాలి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/24. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Lecture 26)-jXTTOZUT1iU.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/24. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Lecture 26)-jXTTOZUT1iU.txt index c763719259c8e7b73787cad89ae5267fbb2e7bea..9396cb21d24694407b755dc85786a17f0a099d08 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/24. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Lecture 26)-jXTTOZUT1iU.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/24. ProgramminginCplusplus_Copy Constructor and Copy Assignment Operator (Lecture 26)-jXTTOZUT1iU.txt @@ -1,157 +1,157 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్(programming module) 14 కు స్వాగతం. - 2. గత మాడ్యూల్ లో, మేము ఆబ్జెక్ట్ (object) కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ గురించి చర్చించాము మరియు దానితో కలిపి, ఆబ్జెక్ట్ లను జీవితకాలంలో పరిశీలించాము. - 3. నిర్మాణం తర్వాత ఆబ్జెక్ట్ ను ఉపయోగించడం మరియు నిర్మాణ ప్రక్రియ వాస్తవానికి ముగుస్తుంది మరియు ఆబ్జెక్ట్ యొక్క ఆరంభ జాబితా పూర్తిగా అమలు చేయబడి, నిర్మాణాత్మక శరీరాన్ని అమలు చేయబోతున్నప్పుడు ఆ ఆబ్జెక్ట్ పూర్తిగా నిర్మిస్తారు. - 4. అప్పుడు ఆబ్జెక్ట్ అవసరమైనంత వరకు మరియు విధ్వంసం లేదా వినాశక కాల్ జరిగినప్పుడు, ఆ విధ్వంసం ప్రక్రియ ప్రారంభమవుతుంది, కానీ విధ్వంసం యొక్క శరీరం పూర్తయినప్పుడు మాత్రమే నిజమైన నాశనం జరుగుతుంది. - 5. మేము ఈ రెండు ఉదాహరణలు చూశాము మరియు ఆటోమేటిక్(automatic), స్టాటిక్(static) మరియు డైనమిక్(dynamic) కేటాయించిన ఆబ్జెక్ట్ లకు నిర్మాణ మరియు విధ్వంస-ఆధారిత object( ఆబ్జెక్ట్) జీవితాన్ని కూడా మేము చూశాము. - 6. మేము కాపీ నిర్మాణం మరియు కాపీ సైన్‌మెంట్ కార్యకలాపాల పరంగా ఆబ్జెక్ట్ నిర్మాణం మరింత ముందుకు వెళ్ళడానికి. - 7. ఆబ్జెక్ట్ జీవితకాలంలో కొద్దిగా ఎక్కువ దృష్టిని తీసుకుంటుంది. - 8. ఆపై వస్తువులను ఎలా కాపీ చేయవచ్చనే దానిపై చర్చించడానికి మేము ప్రధానంగా ఈ మాడ్యూల్‌లో దృష్టి పెడతాము. - 9. కాపీ ప్రక్రియ, సరళంగా చెప్పాలంటే, x వేరియబుల్ మరియు y మరొక వేరియబుల్ అయితే, y కు x ని కేటాయించడం వలన y యొక్క కాపీని x లోకి చేస్తుంది. - 10. ఇటువంటి కాపీలకు సి ++ పరంగా చాలా ఎక్కువ అర్ధాలు ఉన్నాయి. - 11. కాబట్టి, ఈ మాడ్యూల్‌లో మేము ప్రధానంగా దానిని పరిశీలిస్తాము మరియు నిస్సార మరియు లోతైన కాపీ యొక్క భావాలను ప్రత్యేకంగా చర్చిస్తాము.. - 12. తత్ఫలితంగా, సరిహద్దు యొక్క ఎడమ వైపున కనిపించే మీకు తెలిసినట్లుగా ఇది మా సరిహద్దు అవుతుంది. - 13. కాబట్టి, ముందుగా ఆబ్జెక్ట్ జీవితకాలంలో మళ్లీ పరిశీలించండి. - 14. ఇప్పుడు, ఒక వస్తువు యొక్క జీవితకాలం పరంగా మనం హైలైట్ చేయదలిచినవి కొన్ని విషయాలు, మనం చూడాలనుకుంటున్నది ఏమిటంటే, ఒక వస్తువులో చాలా మంది డేటా సభ్యులు ఉన్నప్పుడు, కాబట్టి ఈ డేటా సభ్యుల ఏర్పాటు లేదా ప్రారంభించడం ఏమిటి మరియు ఏమి జరుగుతుంది అవి నాశనం చేయబడిన లేదా డి-ప్రారంభించిన క్రమం. - 15. మరియు ఈ డేటా సభ్యులు ప్రత్యేకమైన వినియోగదారు-నిర్వచించిన రకానికి చెందినవారు, వారు మరొక తరగతి యొక్క వస్తువు అని, అప్పుడు డేటా (డేటా) సభ్యుడి జీవితకాలం మరియు డేటా సభ్యుడి జీవితకాలానికి ఏమి జరుగుతుంది. - 16. కాబట్టి, దీనితో మేము ఇక్కడ ఒక ఉదాహరణ ప్రోగ్రామ్‌తో ప్రారంభిస్తాము, మీరు ఇక్కడ చూడవచ్చు, ఇది చాలా అర్ధవంతమైన తరగతి కాదు. - 17. ఇది కేవలం క్లాస్ x మరియు పూర్ణాంక డేటా సభ్యులైన ఇద్దరు డేటా సభ్యులను కలిగి ఉంది మరియు వారు ప్రారంభ జాబితాలో కొన్ని విలువలను ప్రారంభిస్తున్నారు. - 18. ఇప్పుడు, అవి ఏ క్రమంలో ప్రారంభించబడతాయో తెలుసుకోవడానికి మేము ఆసక్తి కలిగి ఉన్నాము. - 19. కాబట్టి, మేము ఒక చిన్న ఉపాయం చేసాము, విలువను దిగుమతి చేసేటప్పుడు నేరుగా విలువను ప్రారంభించేటప్పుడు, మీరు నిజంగా చేయాలనుకుంటున్నది m1 తీసుకొని దీన్ని చేయకుండా ఈ డేటా సభ్యునికి కేటాయించండి. మేము ఒక రేపర్ ఫంక్షన్ వ్రాసాము అది m మరియు రిటర్న్స్ తీసుకుంటుంది m. - 20. కాబట్టి, ఇది ప్రాథమికంగా ఒకే ఇన్పుట్ మరియు అవుట్పుట్, కానీ ఈ ఫంక్షన్ ప్రారంభించినప్పుడు పిలువబడుతుంది కాబట్టి, ఈ ఫంక్షన్లను ఏ క్రమంలో పిలుస్తున్నారో మనం తెలుసుకోవాలి. లేదా ప్రారంభమయ్యే క్రమం. - 21. కాబట్టి, మీరు దీనిని పరిశీలిస్తే, ఆ ఆర్డర్ m1 ప్రారంభించబడిందని మరియు తరువాత m2 ప్రారంభించబడిందని మీరు చూడవచ్చు, ఇది మేము ఆశించేదే. - 22. ఇప్పుడు, మేము కుడి వైపున చూస్తాము, మనకు ఒకే రకమైన రేపర్ ఫంక్షన్లు ఉన్నాయి. - 23. తరగతిలో ఒకే తేడా ఉంది, మాకు ఒకే డేటా సభ్యులు ఉన్నారు, కాని మేము డేటా సభ్యుల క్రమాన్ని ఇప్పుడే మార్చుకున్నాము మరియు ఇప్పుడు మీరు మొదట ప్రారంభ క్రమం మరియు ప్రారంభ క్రమం మధ్య చూడవచ్చు.ఈసారి ప్రారంభ క్రమం ఉంది మార్చబడింది, M1 మొదటి డేటా సభ్యుడిగా ఉన్నప్పుడు M2 తరువాత, వారు ఆ క్రమంలో ప్రారంభించబడ్డారు. - 24. ఇప్పుడు, మేము M1 మరియు M2 యొక్క ఈ క్రమాన్ని మార్చినప్పుడు, ప్రారంభ క్రమం కూడా మార్చబడింది. - 25. దీని నుండి, మేము ఒక తరగతిలో డేటా సభ్యులను ప్రారంభించే క్రమంలో చాలా ముఖ్యమైన పాఠం తీసుకుంటాము; టెక్స్ట్ అనేది డేటా సభ్యుల తరగతిలో జాబితా చేయబడిన క్రమాన్ని బట్టి ఉంటుంది. - 26. అవి జాబితా చేయబడిన క్రమం, అవి వాస్తవానికి ప్రారంభ జాబితాలో చేర్చబడిన క్రమం కాదు, మరియు ఈ ప్రత్యేక ఆస్తి వలన సంభవించే వాటికి ఉదాహరణను మేము త్వరలో చూపిస్తాము. - 27. కాబట్టి, తదుపరి స్లైడ్‌కు వెళ్దాం. - 28. ఇక్కడ, మీరు ఇంతకు మునుపు చూసినట్లుగా మాకు సరళమైన స్ట్రింగ్ క్లాస్ ఉంది, ఇది ప్రాథమికంగా చరిత్రగా ఉంచాల్సిన పాత్ర యొక్క సూచిక మరియు మరొక డేటా (డేటా)) సభ్యుల పొడవును ఇస్తుంది. - 29. కాబట్టి, నేను దీన్ని సి శైలిలో ప్రారంభిస్తే, మేము దానిని కొంత ప్రారంభ విలువతో ప్రారంభిస్తాము; ఇక్కడ మేము పార్త్ అనే పేరును ఉపయోగించాము. - 30. అందువల్ల, మేము స్ట్రింగ్ ఫీల్డ్‌లోని పార్థా నకిలీకి {strdup ("parth") string స్ట్రింగ్ చేస్తాము మరియు దాని పొడవును లేన్ ఫీల్డ్‌లో ఉంచుతాము, ఆపై మనం ప్రింట్ చేయవచ్చు. - 31. కాబట్టి, అది ఏ స్ట్రింగ్ మరియు దాని పొడవు ముద్రించబడుతుంది. - 32. మేము ఒక తరగతి సందర్భంలో C ++ లో వ్రాసేటప్పుడు, అప్పుడు మనకు అదే డేటా సభ్యులు ఉంటారు, కాని మేము ఒక కన్స్ట్రక్టర్‌ను వ్రాస్తాము మరియు ప్రారంభంలో సృష్టి, ప్రారంభ జాబితాలో, మేము మొదట స్ట్రింగ్ మునిగిపోతాము మరియు తరువాత మేము దానిని తీసుకుంటాము సృష్టించబడిన str ఫీల్డ్ నకిలీ చేయబడిన స్ట్రింగ్, మేము వెళ్లి లేన్ ఫీల్డ్‌ను సెట్ చేయడానికి దాని పొడవును లెక్కిస్తాము.మరియు వాటిని అమలు చేసినప్పుడు మనకు ఇలాంటి ఫలితాలు వస్తాయి. - 33. కాబట్టి, ఇది మేము మాట్లాడుతున్న ఉదాహరణ. - 34. ఇప్పుడు, మీరు ఈ ఇద్దరు డేటా సభ్యుల మధ్య వాటిని మార్చుకుంటే, ఈ ప్రోగ్రామ్ పనిచేస్తుందా లేదా ప్రోగ్రామ్‌కు కొన్ని ఇబ్బందులు ఎదురవుతాయా అనేది ప్రశ్న. - 35. కాబట్టి, ఇచ్చిపుచ్చుకోవడానికి ప్రయత్నిద్దాం మరియు ఇది మీరు చూడగల ఉదాహరణ. - 36. మునుపటి నుండి ఒకే తేడా ఉంది, మేము ఈ ఇద్దరు డేటా సభ్యుల క్రమాన్ని మార్చుకున్నాము. - 37. కన్స్ట్రక్టర్ మరియు ప్రారంభ జాబితా మార్చబడలేదు, అవి సరిగ్గా ఒకే విధంగా ఉన్నాయి, కానీ డేటా సభ్యుల క్రమం మాత్రమే మార్చుకోబడింది మరియు మీరు ఇక్కడ చూడగలిగినట్లుగా, మైక్రోసాఫ్ట్ విజువల్ స్టూడియోలో నేను దానిని అమలు చేసిన తరువాత, మనం చూడవచ్చు ప్రోగ్రామ్ క్రాష్ అవుతుంది. - 38. కారణం అర్ధమే ఎందుకంటే నేను ఇంతకు ముందే చెప్పినట్లుగా, ప్రారంభ క్రమం జాబితాలోని డేటా సభ్యుల క్రమం మీద ఆధారపడి ఉంటుంది. - 39. అందువల్ల, ఇక్కడ లేన్ మొదట ఇవ్వబడినందున, ఈ ప్రత్యేకమైన ప్రారంభించడం మొదట జరుగుతుంది మరియు అది సంభవించినప్పుడు, సరళ క్షేత్రం. - 40. ఈ str ఫీల్డ్ ఇంకా ప్రారంభించబడలేదు, ఈ పాయింటర్‌కు మెమరీ కేటాయించబడలేదు మరియు స్ట్రింగ్ కాపీ చేయబడలేదు. - 41. కాబట్టి, లేన్‌కు కాల్ వాస్తవానికి మనం సాధారణంగా చెత్త విలువ అని పిలుస్తాము మరియు అందువల్ల, ఈ రకమైన లోపం మనకు లభిస్తుంది. - 42. అందువల్ల, లెన్ ఈ సూచనలను మీ సూచన కోసం ఇక్కడ హైలైట్ చేస్తుంది మరియు అన్‌ఇన్‌స్టాల్ చేసిన విలువలతో కూడిన ఈ పిలుపు కారణంగా, మేము అలాంటి లోపం పొందుతాము. - 43. కాబట్టి, డేటా సభ్యుడి క్రమం ముఖ్యమైనదని ఒక సాధారణ ఉదాహరణ ద్వారా హైలైట్ చేయడానికి మరియు ప్రారంభ జాబితాను వ్రాసేటప్పుడు, డేటా సభ్యుడు వాస్తవానికి హుహ్ సృష్టించబడిన క్రమం గురించి మీరు తెలుసుకోవాలి. - 44. ఇప్పుడు, మరికొన్ని సాధారణ ఉదాహరణలపై దృష్టి పెడదాం. - 45. ఇవి మొదట్లో ఇలస్ట్రేషన్ కోసం మాత్రమే, తరువాత మనం దానిని ఒక చిన్న తరగతి సృష్టిలో ఉంచుతాము, తద్వారా మనం జీవన క్రమాన్ని లేదా నిర్మాణ విధ్వంసం యొక్క క్రమాన్ని బాగా చూడగలం. - 46. కాబట్టి, ఇక్కడ మేము ఒక సాధారణ తేదీ తరగతిని చూపుతాము. - 47. కాబట్టి, ఈ తేదీ తరగతిలో 3 డేటా సభ్యులు ఉన్నారు; తేదీ, నెల మరియు సంవత్సరం. - 48. కాబట్టి, ఇవి ప్రాథమికంగా సంఖ్యలు లేదా అవి జనవరి, ఫిబ్రవరి మరియు వంటి లెక్కల రకాలు. - 49. కాబట్టి, ప్రాథమికంగా పూర్తి రకాల పూర్ణాంకాలు, మేము వాటిని కన్స్ట్రక్టర్‌లో తేదీని ప్రారంభించడానికి ఉపయోగిస్తాము మరియు అందువల్ల, మీరు ఈ ప్రోగ్రామ్‌ను అమలు చేస్తే, మీకు ఈ రకమైన అవుట్పుట్ లభిస్తుంది, ఇక్కడ మొదటి తేదీ ఇక్కడ సృష్టించబడుతుంది, అప్పుడు అది ఉంటుంది ఈ ముద్రణను ఉపయోగించి ముద్రించబడి చివరకు అది నాశనం అవుతుంది. - 50. ఈ ఉదాహరణలో ఎక్కువ లేదు, కానీ నేను ఈ ఉదాహరణలను తరువాత ఉపయోగిస్తాను. - 51. ఇప్పుడు, జీవితకాలం కోసం మరొక ఉదాహరణను చూపిస్తాను, ఇది పాయింట్ మరియు దీర్ఘచతురస్ర తరగతి, కాబట్టి పాయింట్ క్లాస్ లోని పాయింట్ యొక్క x మరియు y కోఆర్డినేట్లు రెండు డేటా సభ్యులు. - 52. ఇది ఈ పాయింట్లను ప్రారంభించే కన్స్ట్రక్టర్లను కలిగి ఉంది మరియు దీర్ఘచతురస్రం ప్రాథమికంగా ఒక జత పాయింట్లు, ఇక్కడ TL_ ఎగువ ఎడమ వైపున మరియు BR_ దిగువ కుడి వైపున ఉంటుంది, ఇది దీర్ఘచతురస్రం యొక్క రెండు కోణాల బిందువు, నేను పేర్కొంటే, దీర్ఘచతురస్రం పూర్తిగా పేర్కొనబడింది. - 53. ఇప్పుడు, నేను జాగ్రత్తగా చూడాలనుకుంటే, ఈ రెండింటినీ నేను నిజంగా ప్రారంభించాలి. - 54. కాబట్టి, దీర్ఘచతురస్రం కోసం మనకు ఒక కన్స్ట్రక్టర్ ఉంది, ఇది నాలుగు పూర్ణాంకాలను నిర్దేశిస్తుంది, వీటిలో మొదటి రెండు x మరియు y లకు, ఎగువ ఎడమ బిందువు యొక్క తరువాతి రెండు x మరియు y దిగువ కుడి బిందువు యొక్క కోఆర్డినేట్లు. - 55. అందువల్ల, మేము మొదటి రెండింటిని తీసుకొని TL_ భాగాన్ని నిర్మిస్తాము, తరువాతి రెండు BR_ భాగాన్ని ఏర్పరుస్తాయి మరియు దీర్ఘచతురస్రం పూర్తిగా ఏర్పడుతుంది. - 56. కాబట్టి, మీరు కన్స్ట్రక్టర్ అని పిలువబడే క్రమాన్ని చూడటానికి ప్రయత్నిస్తే మేము చూస్తే, ఈ కన్స్ట్రక్టర్ను మొదట పిలుస్తారు. - 57. ఎందుకు, ఇవి రెండు పూర్ణాంకాలు tlx మరియు tly కాబట్టి, TL_ Rect తరగతి యొక్క మొదటి డేటా సభ్యుడు. - 58. కాబట్టి, సహజంగానే ఇది ప్రారంభ జాబితాలో చేయవలసిన మొదటి ప్రారంభం. - 59. కాబట్టి, ఈ ప్రారంభించడం అంటే ఒక పాయింట్ సృష్టించబడాలి, అంటే ఈ ప్రారంభానికి ఈ ప్రత్యేక కన్స్ట్రక్టర్‌ను పిలవాలి, ఈ కన్స్ట్రక్టర్ అంటారు. - 60. దీని ప్రకారం, తయారీదారు యొక్క ఈ ప్రత్యేక శరీరం ఈ అవుట్‌పుట్‌ను ప్రింట్ చేస్తుంది, ఒక పాయింట్ (0,2) తో నిర్మించబడిందని చెప్పారు. - 61. తరువాత, తదుపరి రెండు పూర్ణాంకాలు తీసుకుంటారు; ప్రారంభ జాబితాలో సృష్టించవలసిన రెండవ మూలకం. - 62. మళ్ళీ, అదే బిందువుకు మరొక పాయింట్ ఉత్పత్తి అవుతుంది మరియు మీరు దాని కోసం అవుట్పుట్ పొందుతారు; అప్పుడు దీర్ఘచతురస్రం, నన్ను క్షమించండి అని చూపించే ముద్రణ ఉంది. - 63. అప్పుడు ఏమి జరిగిందో, దీర్ఘచతురస్ర తయారీదారు యొక్క శరీరం అమలు చేయబడుతుంది. - 64. కాబట్టి, మీరు ఈ అవుట్పుట్ను పొందుతారు, ఇది TL_ (0,2) మరియు BR_ (5,7) తో దీర్ఘచతురస్రం నిర్మించబడిందని, ఆపై మీరు ప్రింట్ చేయండి. - 65. కాబట్టి, ముద్రణ ఇక్కడకు వస్తుంది మరియు చివరకు, విధ్వంసం ప్రక్రియ మొదలవుతుంది, ఈ సమయంలో విధ్వంసం ప్రక్రియ ప్రారంభమైనప్పుడు, ఈ దీర్ఘచతురస్రం స్వయంచాలక వస్తువు అని మేము ఇప్పటికే వివరించాము. - 66. కాబట్టి, ఆ స్వయంచాలక వస్తువు యొక్క పరిధి అయిపోయినప్పుడు విధ్వంసం ప్రారంభమవుతుంది, ఇది ప్రధాన కీ బ్లాక్ యొక్క ముగింపు బ్రాకెట్. - 67. కాబట్టి, దీనిపై ఏమి జరుగుతుంది? ఇది నిర్మాణ క్రమం. - 68. కాబట్టి, విధ్వంసం క్రమం ఖచ్చితంగా రివర్స్ అవుతుంది, ఇది LIFO. - 69. కాబట్టి, మొదటి కాల్ దీర్ఘచతురస్రాన్ని నాశనం చేసేవారికి ఉంటుంది. - 70. కాబట్టి, మొదట అది అమలు చేస్తుంది మరియు దీర్ఘచతురస్రం యొక్క విధ్వంసక శరీరం చివర వచ్చినప్పుడు, దీర్ఘచతురస్రం నాశనం చేయడానికి సిద్ధంగా ఉంది, అంటే దీర్ఘచతురస్ర వస్తువు యొక్క డేటా సభ్యులు ఇప్పుడు నాశనం చేయబడ్డారు. చేయవలసి ఉంది. - 71. కాబట్టి, BR_ కి ముందు సృష్టించబడిన తదుపరిది, ఇది ప్రాథమికంగా BR_ కోసం, ఇది వినాశకరమైనది. - 72. కాబట్టి, దీని కోసం BR_ యొక్క డిస్ట్రాయర్‌ను BR_ యొక్క డిస్ట్రాయర్ అని పిలుస్తారు మరియు మీరు ఈ అవుట్‌పుట్‌ను పొందుతారు మరియు చివరకు, సృష్టించబడిన మొదటి వస్తువు TL_, ఆ వస్తువు TL_ మరియు ఫలితాల కోసం డిస్ట్రాయర్ అని పిలువబడుతుంది. సందేశం. - 73. ఇప్పుడు, ఇది ఫంక్షన్ డిస్ట్రక్టర్ ఫంక్షన్ లాగా ఉంటుంది, అది తదుపరి కాల్ చేస్తుంది మరియు అది పూర్తయిన తర్వాత దానిని తదుపరి డిస్ట్రక్టర్ ఫంక్షన్ అంటారు. - 74. కానీ మరియు మొదలైనవి మరియు ఇవన్నీ పూర్తయినప్పుడు విధ్వంసం ప్రక్రియ ముగుస్తుంది. - 75. కాబట్టి, ఇది మీ కోసం చాలా స్పష్టంగా హైలైట్ చేయబడింది, ఎందుకంటే మీరు డేటా (డేటా) సభ్యులను కలిగి ఉన్నప్పుడు ఇది జరుగుతుంది, ఇది వినియోగదారు నిర్వచించిన రకానికి చెందిన డేటా (డేటా) సభ్యులు, ఇది కేవలం అంతర్లీన డేటా (డేటా) సభ్యులు కాదు, ఎవరు వాస్తవానికి వారి సృష్టికర్తలు మరియు డిస్ట్రాయర్లు. - 76. అందువల్ల, అవి తరగతిలో జాబితా చేయబడిన క్రమంలో సృష్టించబడ్డాయి మరియు అవి వాటి సృష్టి యొక్క రివర్స్ క్రమంలో నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. - 77. కింది స్లైడ్‌లలో, మీకు చూపించడానికి మేము ఒక పెద్ద ఉదాహరణను మాత్రమే సృష్టిస్తాము. - 78. కాబట్టి, ఈ స్లయిడ్‌లో మనం మరో రెండు తరగతులను చూపిస్తాము, ఒకటి పేరు తరగతి, ఇది ఒక వ్యక్తి పేరును ఉంచడానికి లేదా నిర్వహించడానికి రూపొందించబడింది. - 79. కాబట్టి, దీనికి రెండు వేర్వేరు డేటా సభ్యులు ఉన్నారు; మొదటి పేరు మరియు చివరి పేరు_. - 80. అవి మనం ఇప్పటికే చర్చించిన స్ట్రింగ్ రకాలు. - 81. అందువల్ల, మేము స్ట్రింగ్ క్లాస్‌ని హెడర్‌లో చేర్చాము. - 82. అందువల్ల, ఈ ఇద్దరు డేటా సభ్యుల కోసం, మేము కన్స్ట్రక్టర్‌కు పారామితులను కేటాయిస్తాము మరియు అవి ప్రారంభ జాబితాలో సృష్టించబడతాయి. - 83. మాకు మరొక తరగతి చిరునామా ఉంది, దీనికి ఇల్లు లేదు మరియు మూడు తీగలను కలిగి ఉంది; వీధి_, నగరం_ మరియు పిన్_, ఇవి సంబంధిత డేటా సభ్యులను వివరించే తీగలు. - 84. అందువల్ల, అవి చిరునామా యొక్క కన్స్ట్రక్టర్‌లో సృష్టించబడతాయి మరియు తరువాత ముద్రించబడతాయి. - 85. కాబట్టి, స్ట్రింగ్ ఉపయోగిస్తున్నది ఇదే, ఇప్పుడు మనకు ఒక పేరు తరగతి ఉంది, ఇది వ్యక్తుల పేర్లు మరియు చిరునామా తరగతులను నిర్వహించగలదు మరియు వ్యక్తులు మరియు ఇలాంటి చిరునామాలను సృష్టించవచ్చు - 86. మేము దీన్ని పెద్ద ఉదాహరణ కోసం మాత్రమే చేస్తున్నాము. - 87. ఇప్పుడు, ఇది మాకు ఆసక్తి ఉన్న ఉదాహరణ; క్రెడిట్ కార్డును సూచించడానికి తరగతిని పరిగణించండి. - 88. క్రెడిట్ కార్డును ఎలా వర్ణించవచ్చో మీ అందరికీ తెలుస్తుందని నేను ఖచ్చితంగా అనుకుంటున్నాను. - 89. క్రెడిట్ కార్డ్ అనేది సాధారణంగా 16 అక్షరాల స్ట్రింగ్ అయిన కార్డ్ నంబర్. - 90. ఇది కార్డులో వ్రాయబడనప్పటికీ, హోల్డర్ పేరు, హోల్డర్ యొక్క చిరునామా ఇవ్వబడింది. - 91. కార్డుకు ఇష్యూ తేదీ ఉంది, దీనికి గడువు తేదీ ఉంది మరియు కార్డ్ మాదిరిగా కాకుండా మనకు సివివి నంబర్ అనే ధృవీకరణ సంఖ్య ఉంది. - 92. కాబట్టి, మీరు క్రెడిట్ కార్డ్ వస్తువును వివరించాలనుకుంటే, ఇది సాధారణంగా ఉంటుంది; ఇది క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ కోసం మేము కలిగి ఉన్న చాలా తక్కువ ప్రకటన. - 93. అందువల్ల, ఇక్కడ పెద్ద జాబితా అయిన కన్స్ట్రక్టర్ కోసం, ఇది వాస్తవానికి కన్స్ట్రక్టర్ యొక్క నమూనా. - 94. క్రెడిట్ కార్డ్ నంబర్‌ను ఇచ్చే స్ట్రింగ్‌ను ఇచ్చి, ఆపై పేరు పెట్టే మూడు పంక్తులు ఇవి; హోల్డర్ యొక్క మొదటి మరియు రెండవ పేరు. - 95. అప్పుడు అది హోల్డర్ యొక్క చిరునామా కోసం ఇంటి సంఖ్య, వీధి పేరు, నగరం మరియు పిన్ ఇస్తుంది. - 96. అప్పుడు అది ఇష్యూ తేదీ, అనగా ఇష్యూ మరియు గడువు తేదీలను ఇస్తుంది. - 97. ఇవి మేము నిర్వచించిన తేదీ తరగతిని ఉపయోగిస్తాయి మరియు చివరకు, cvv మరియు మేము ప్రారంభ జాబితాను ప్రారంభించడానికి ఉపయోగిస్తాము. - 98. కాబట్టి, మిస్టర్ షెర్లాక్ హోమ్స్ లండన్, లండన్లోని 221 బేకర్ వీధిలో నివసించడానికి క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించడానికి మేము ఈ తరగతిని ఉపయోగిస్తే, అప్పుడు బిల్డర్ యొక్క కాల్ ఇలా కనిపిస్తుంది మరియు దీనితో మనం ఎలా చూద్దాం నిర్మాణం-విధ్వంసం, జీవితకాలం కనిపిస్తుంది. - 99. కాబట్టి, వస్తువు ఈ విధంగా నిర్మించబడుతోంది మరియు సూచన కోసం, నేను క్రెడిట్ క్లాస్ మరియు ఇతర తరగతుల నిర్వచనాన్ని ఇక్కడ ఉంచాను, ఇది మీ సూచన కోసం మాత్రమే, కానీ ఇది అవుట్పుట్, ఈ మొత్తం విషయం అవుట్పుట్. - 100. కాబట్టి, ఇది సృష్టి దశ, ఇక్కడ మీరు నిర్మించాలనుకుంటే, ఇక్కడ మొదటి ఫీల్డ్ కార్డ్ నంబర్, ఇది స్ట్రింగ్ తప్ప మరొకటి కాదు. - 101. అందువల్ల, ఏ నిర్మాణాన్ని స్పష్టంగా పిలవలేదు. - 102. కాబట్టి, అవుట్పుట్ లేదు, కానీ తరువాత ఏమి నిర్మించబడుతుందో ఖచ్చితంగా హోల్డర్. - 103. కాబట్టి, పేరు సృష్టికర్త అంటారు. - 104. కాబట్టి, ఆ పేరును నిర్మించేవారికి రెండు ఫీల్డ్‌లు ఉన్నాయి, మొదటి పేరు మరియు రెండవ పేరు తీగలు. - 105. కాబట్టి, మొదటి పేరు స్ట్రింగ్ యొక్క సృష్టి మరియు తరువాత రెండవ పేరు స్ట్రింగ్ మరియు తరువాత పేరు ఆబ్జెక్ట్. - 106. అప్పుడు చిరునామా మొదలవుతుంది, మళ్ళీ ఇంటి సంఖ్య పూర్ణాంకం. - 107. కాబట్టి, ఎవరు కన్స్ట్రక్టర్ లేరు, కాని తరువాతి మూడు తీగలను సృష్టిస్తారు, ఇది మీకు వీధి పేరు, నగరం పేరు మరియు పిన్ను ఇస్తుంది మరియు తరువాత చిరునామా వస్తువు సృష్టించబడుతుంది. - 108. తరువాత రెండు డేటా వస్తువులు ఇక్కడ మరియు ఇక్కడ సృష్టించబడతాయి మరియు చివరకు, క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించబడుతుంది. - 109. కాబట్టి, ఇది కేవలం ప్రదర్శన మాత్రమే మరియు అంతకుముందు సృష్టించబడిన స్టేట్మెంట్ ఎక్కువ ఇండెంట్ అని చూపించడానికి నేను ఉద్దేశపూర్వకంగా అలాంటి ఇండెంటేషన్ చేసాను. - 110. కాబట్టి, ఇది నిర్మించబడే క్రమం. - 111. కాబట్టి, ఇద్దరూ దానిని నిర్మిస్తారు, ఇద్దరూ చివరికి ఇస్తారు. - 112. ఇవి వేర్వేరు వస్తువులు మరియు అవన్నీ కలిసి క్రెడిట్ కార్డ్ వస్తువుగా ఏర్పడతాయి. - 113. అప్పుడు క్రెడిట్ కార్డును ఉపయోగించవచ్చు, ఇది మేము ప్రింట్ ద్వారా మాత్రమే చూపిస్తాము మరియు మీరు చూస్తే విధ్వంసం యొక్క క్రమం మరియు మీరు జాగ్రత్తగా అధ్యయనం చేయడానికి నేను దానిని వదిలివేస్తాను, అప్పుడు రివర్స్ ఆర్డర్‌లో విధ్వంసం యొక్క క్రమం. - 114. కాబట్టి, మీరు ఈ జాబితాను చదివినట్లయితే, దిగువ నుండి పైకి వచ్చే క్రమం విధ్వంసం జరిగే క్రమం మరియు ఇది మీ అభ్యాసం కోసం మాత్రమే, ఇది సహజంగానే నా శీఘ్రమని నేను సూచిస్తాను వివరాలు చేయగలవు ఇక్కడ అన్ని వివరాలను చూడండి, కానీ మొత్తం ప్రోగ్రామ్ ప్రెజెంటేషన్‌లో ఇవ్వబడింది మరియు మీరు కలిగి ఉన్నారు లేదా మీరు ప్రదర్శన ద్వారా వెళితే మరియు మీ సిస్టమ్‌లో కూడా దీన్ని అమలు చేయడానికి ప్రయత్నించమని నేను సూచిస్తున్నాను మరియు మీరు దాని కోసం ఏమి పొందుతున్నారో చూడటానికి ప్రయత్నించండి ఫలితం మరియు మీరు ఈ డేటా సభ్యునికి ఇచ్చినప్పుడు మీకు లభించే విభిన్న జీవిత కాలాలు ఏ వస్తువుల గురించి నమ్మకంగా ఉండండి ఈ సమూహ వస్తువులు ఇవ్వబడతాయి. - 115. ఇప్పుడు, మేము ఒక కొత్త రకం కన్స్ట్రక్టర్ గురించి చర్చించటానికి వెళ్తాము మరియు నేను ఇక్కడ ఆబ్జెక్ట్ జీవితకాలం గురించి చర్చించాను, ఈ కొత్త రకం కన్స్ట్రక్టర్ యొక్క దానిని మనం చూద్దాం, అలాగే, వస్తువుల జీవితకాలం కొత్త కొలతలు పొందుతుంది. - 116. అవగాహన. - 117. కాబట్టి, మేము ఒక సరళమైన ఉదాహరణను చూపించడం ద్వారా ప్రారంభిస్తాము, ఈ విధంగా ఒక కాంప్లెక్స్ నిర్మించవచ్చని మాకు తెలుసు మరియు ఇది మేము కాంప్లెక్స్ అని పిలిచే ఒక క్లిష్టమైన కన్స్ట్రక్టర్ అని పిలుస్తాము. - 118. తరగతిని చాలా తక్కువ సార్లు చూశాము, కాని నేను దీనిని వ్రాస్తాను దాని అర్థం చూడటానికి మార్గం. - 119. కాబట్టి, వ్యత్యాసాన్ని చూడండి, ఇక్కడ ఇది ఇలా వ్రాయబడింది, ఇక్కడ ఇది ఉంది లేదా నేను ఇలా వ్రాస్తే. - 120. ఇక్కడ ప్రధాన వ్యత్యాసం ఏమిటంటే, నేను కన్స్ట్రక్టర్ యొక్క పారామితులను రెండు డబుల్ సంఖ్యలుగా ఒకదాని తరువాత ఒకటి కామాలతో పేర్కొన్నాను. - 121. అయితే, ఇక్కడ నేను మరింత క్లిష్టమైన వస్తువు c2 ను ప్రారంభించడానికి సంక్లిష్టమైన వస్తువును ఉపయోగించాను. - 122. నేను దీన్ని చేయడానికి ప్రయత్నించినప్పుడు, నేను ఒక నిర్మాణాన్ని సృష్టిస్తున్నాను, ఇది ఒక ప్రత్యేకమైన నిర్మాణాన్ని కాపీ కన్స్ట్రక్ట్ అని పిలుస్తారు మరియు కాపీ కన్స్ట్రక్టర్ ఇలా కనిపిస్తుంది., ఇది కేవలం ఒక కన్స్ట్రక్టర్. - 123. అందువల్ల, ఇది సంక్లిష్టమైనది: సంక్లిష్టమైనది, ఒకే తేడా ఏమిటంటే అది మరొక సంక్లిష్ట వస్తువును పరామితిగా తీసుకొని దానిని రిఫరెన్స్ పరామితిగా తీసుకుంటుంది. మరియు మనం దాని ముందు కాన్స్ట్‌ని ఉపయోగిస్తున్నాము, ఇవన్నీ ఎందుకు చేస్తున్నామో నెమ్మదిగా అర్థం చేసుకుందాం. - 124. ఒక ఉదాహరణ చూద్దాం, ఇక్కడ మొత్తం సంక్లిష్ట తరగతి ఉంది. - 125. కాబట్టి, ఇది మేము ఇంతకు ముందు చూసిన కన్స్ట్రక్టర్. - 126. ఇవి కాపీ కన్స్ట్రక్టర్లు, ఇది కోర్టు యొక్క భాగాన్ని ప్రత్యేకంగా చూడాలి, ఇది సంక్లిష్టమైన వస్తువును తీసుకుంటుంది మరియు తరువాత డేటా వస్తువులను సంక్లిష్ట వస్తువుల డేటాకు తీసుకుంటుంది.) సభ్యుల నుండి ప్రారంభిస్తుంది. - 127. కాబట్టి, మీరు కాపీ చేయదలిచిన వస్తువు c - re డేటా సభ్యుడు, re_ data member c.re. - 128. కాబట్టి, మేము దానిని తీసుకొని తిరిగి దరఖాస్తు చేయమని అడుగుతాము. - 129. అదేవిధంగా, మేము c.im తీసుకొని దానిని im లోకి చొప్పించాము. - 130. కాబట్టి, ప్రాథమికంగా ఏమి జరుగుతుందంటే, ఈ కన్స్ట్రక్టర్ చేత సృష్టించబడిన క్రొత్త వస్తువు, మళ్ళీ వస్తువు నుండి మరియు దాని నుండి కాపీ చేయబడిన అదే ఫీల్డ్‌లోని అదే విలువ. - 131. కాబట్టి, ఈ సందర్భంలో మీరు ఒక జత వేర్వేరు వస్తువుల సృష్టిని పరిశీలిస్తే, సహజంగానే మొదటి నిర్మాణం కేవలం రెండు డబుల్స్ యొక్క పారామితి కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది. - 132. అవతలి వ్యక్తి కాపీ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తాడు ఎందుకంటే ఇది సంక్లిష్టమైన వస్తువు అయిన సి 1 ఆబ్జెక్ట్‌ను తీసుకుంటుంది మరియు సి 2 ను నిర్మించడానికి కాపీ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది. - 133. అదేవిధంగా, తదుపరిది సి 2 తీసుకొని, కాపీ చేయడానికి సి 3 ని నిర్మిస్తుంది. - 134. కాబట్టి, ఈ సృష్టి తరువాత మీరు ఇక్కడ చేసినట్లుగా మీరు వాటిని ముద్రించడానికి ప్రయత్నిస్తే, అవన్నీ ఒకేలా ఉన్నాయని మేము కనుగొన్నాము. - 135. వారు ఇదే నిర్మాణ విలువలను కలిగి ఉన్నారు మరియు ముద్రణలో, వారు ఒకే విలువను చూపిస్తారు మరియు విధ్వంసం చేస్తారు, అవి కూడా అదే విలువను చూపుతాయి. + ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్(programming module) 14 కు స్వాగతం. + గత మాడ్యూల్ లో, మేము ఆబ్జెక్ట్ (object) కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ గురించి చర్చించాము మరియు దానితో కలిపి, ఆబ్జెక్ట్ లను జీవితకాలంలో పరిశీలించాము. + నిర్మాణం తర్వాత ఆబ్జెక్ట్ ను ఉపయోగించడం మరియు నిర్మాణ ప్రక్రియ వాస్తవానికి ముగుస్తుంది మరియు ఆబ్జెక్ట్ యొక్క ఆరంభ జాబితా పూర్తిగా అమలు చేయబడి, నిర్మాణాత్మక శరీరాన్ని అమలు చేయబోతున్నప్పుడు ఆ ఆబ్జెక్ట్ పూర్తిగా నిర్మిస్తారు. + అప్పుడు ఆబ్జెక్ట్ అవసరమైనంత వరకు మరియు విధ్వంసం లేదా వినాశక కాల్ జరిగినప్పుడు, ఆ విధ్వంసం ప్రక్రియ ప్రారంభమవుతుంది, కానీ విధ్వంసం యొక్క శరీరం పూర్తయినప్పుడు మాత్రమే నిజమైన నాశనం జరుగుతుంది. + మేము ఈ రెండు ఉదాహరణలు చూశాము మరియు ఆటోమేటిక్(automatic), స్టాటిక్(static) మరియు డైనమిక్(dynamic) కేటాయించిన ఆబ్జెక్ట్ లకు నిర్మాణ మరియు విధ్వంస-ఆధారిత object( ఆబ్జెక్ట్) జీవితాన్ని కూడా మేము చూశాము. + మేము కాపీ నిర్మాణం మరియు కాపీ సైన్‌మెంట్ కార్యకలాపాల పరంగా ఆబ్జెక్ట్ నిర్మాణం మరింత ముందుకు వెళ్ళడానికి. + ఆబ్జెక్ట్ జీవితకాలంలో కొద్దిగా ఎక్కువ దృష్టిని తీసుకుంటుంది. + ఆపై వస్తువులను ఎలా కాపీ చేయవచ్చనే దానిపై చర్చించడానికి మేము ప్రధానంగా ఈ మాడ్యూల్‌లో దృష్టి పెడతాము. + కాపీ ప్రక్రియ, సరళంగా చెప్పాలంటే, x వేరియబుల్ మరియు y మరొక వేరియబుల్ అయితే, y కు x ని కేటాయించడం వలన y యొక్క కాపీని x లోకి చేస్తుంది. + ఇటువంటి కాపీలకు సి ++ పరంగా చాలా ఎక్కువ అర్ధాలు ఉన్నాయి. + కాబట్టి, ఈ మాడ్యూల్‌లో మేము ప్రధానంగా దానిని పరిశీలిస్తాము మరియు నిస్సార మరియు లోతైన కాపీ యొక్క భావాలను ప్రత్యేకంగా చర్చిస్తాము.. + తత్ఫలితంగా, సరిహద్దు యొక్క ఎడమ వైపున కనిపించే మీకు తెలిసినట్లుగా ఇది మా సరిహద్దు అవుతుంది. + కాబట్టి, ముందుగా ఆబ్జెక్ట్ జీవితకాలంలో మళ్లీ పరిశీలించండి. + ఇప్పుడు, ఒక వస్తువు యొక్క జీవితకాలం పరంగా మనం హైలైట్ చేయదలిచినవి కొన్ని విషయాలు, మనం చూడాలనుకుంటున్నది ఏమిటంటే, ఒక వస్తువులో చాలా మంది డేటా సభ్యులు ఉన్నప్పుడు, కాబట్టి ఈ డేటా సభ్యుల ఏర్పాటు లేదా ప్రారంభించడం ఏమిటి మరియు ఏమి జరుగుతుంది అవి నాశనం చేయబడిన లేదా డి-ప్రారంభించిన క్రమం. + మరియు ఈ డేటా సభ్యులు ప్రత్యేకమైన వినియోగదారు-నిర్వచించిన రకానికి చెందినవారు, వారు మరొక తరగతి యొక్క వస్తువు అని, అప్పుడు డేటా (డేటా) సభ్యుడి జీవితకాలం మరియు డేటా సభ్యుడి జీవితకాలానికి ఏమి జరుగుతుంది. + కాబట్టి, దీనితో మేము ఇక్కడ ఒక ఉదాహరణ ప్రోగ్రామ్‌తో ప్రారంభిస్తాము, మీరు ఇక్కడ చూడవచ్చు, ఇది చాలా అర్ధవంతమైన తరగతి కాదు. + ఇది కేవలం క్లాస్ x మరియు పూర్ణాంక డేటా సభ్యులైన ఇద్దరు డేటా సభ్యులను కలిగి ఉంది మరియు వారు ప్రారంభ జాబితాలో కొన్ని విలువలను ప్రారంభిస్తున్నారు. + ఇప్పుడు, అవి ఏ క్రమంలో ప్రారంభించబడతాయో తెలుసుకోవడానికి మేము ఆసక్తి కలిగి ఉన్నాము. + కాబట్టి, మేము ఒక చిన్న ఉపాయం చేసాము, విలువను దిగుమతి చేసేటప్పుడు నేరుగా విలువను ప్రారంభించేటప్పుడు, మీరు నిజంగా చేయాలనుకుంటున్నది m1 తీసుకొని దీన్ని చేయకుండా ఈ డేటా సభ్యునికి కేటాయించండి. మేము ఒక రేపర్ ఫంక్షన్ వ్రాసాము అది m మరియు రిటర్న్స్ తీసుకుంటుంది m. + కాబట్టి, ఇది ప్రాథమికంగా ఒకే ఇన్పుట్ మరియు అవుట్పుట్, కానీ ఈ ఫంక్షన్ ప్రారంభించినప్పుడు పిలువబడుతుంది కాబట్టి, ఈ ఫంక్షన్లను ఏ క్రమంలో పిలుస్తున్నారో మనం తెలుసుకోవాలి. లేదా ప్రారంభమయ్యే క్రమం. + కాబట్టి, మీరు దీనిని పరిశీలిస్తే, ఆ ఆర్డర్ m1 ప్రారంభించబడిందని మరియు తరువాత m2 ప్రారంభించబడిందని మీరు చూడవచ్చు, ఇది మేము ఆశించేదే. + ఇప్పుడు, మేము కుడి వైపున చూస్తాము, మనకు ఒకే రకమైన రేపర్ ఫంక్షన్లు ఉన్నాయి. + తరగతిలో ఒకే తేడా ఉంది, మాకు ఒకే డేటా సభ్యులు ఉన్నారు, కాని మేము డేటా సభ్యుల క్రమాన్ని ఇప్పుడే మార్చుకున్నాము మరియు ఇప్పుడు మీరు మొదట ప్రారంభ క్రమం మరియు ప్రారంభ క్రమం మధ్య చూడవచ్చు.ఈసారి ప్రారంభ క్రమం ఉంది మార్చబడింది, M1 మొదటి డేటా సభ్యుడిగా ఉన్నప్పుడు M2 తరువాత, వారు ఆ క్రమంలో ప్రారంభించబడ్డారు. + ఇప్పుడు, మేము M1 మరియు M2 యొక్క ఈ క్రమాన్ని మార్చినప్పుడు, ప్రారంభ క్రమం కూడా మార్చబడింది. + దీని నుండి, మేము ఒక తరగతిలో డేటా సభ్యులను ప్రారంభించే క్రమంలో చాలా ముఖ్యమైన పాఠం తీసుకుంటాము; టెక్స్ట్ అనేది డేటా సభ్యుల తరగతిలో జాబితా చేయబడిన క్రమాన్ని బట్టి ఉంటుంది. + అవి జాబితా చేయబడిన క్రమం, అవి వాస్తవానికి ప్రారంభ జాబితాలో చేర్చబడిన క్రమం కాదు, మరియు ఈ ప్రత్యేక ఆస్తి వలన సంభవించే వాటికి ఉదాహరణను మేము త్వరలో చూపిస్తాము. + కాబట్టి, తదుపరి స్లైడ్‌కు వెళ్దాం. + ఇక్కడ, మీరు ఇంతకు మునుపు చూసినట్లుగా మాకు సరళమైన స్ట్రింగ్ క్లాస్ ఉంది, ఇది ప్రాథమికంగా చరిత్రగా ఉంచాల్సిన పాత్ర యొక్క సూచిక మరియు మరొక డేటా (డేటా)) సభ్యుల పొడవును ఇస్తుంది. + కాబట్టి, నేను దీన్ని సి శైలిలో ప్రారంభిస్తే, మేము దానిని కొంత ప్రారంభ విలువతో ప్రారంభిస్తాము; ఇక్కడ మేము పార్త్ అనే పేరును ఉపయోగించాము. + అందువల్ల, మేము స్ట్రింగ్ ఫీల్డ్‌లోని పార్థా నకిలీకి {strdup ("parth") string స్ట్రింగ్ చేస్తాము మరియు దాని పొడవును లేన్ ఫీల్డ్‌లో ఉంచుతాము, ఆపై మనం ప్రింట్ చేయవచ్చు. + కాబట్టి, అది ఏ స్ట్రింగ్ మరియు దాని పొడవు ముద్రించబడుతుంది. + మేము ఒక తరగతి సందర్భంలో C ++ లో వ్రాసేటప్పుడు, అప్పుడు మనకు అదే డేటా సభ్యులు ఉంటారు, కాని మేము ఒక కన్స్ట్రక్టర్‌ను వ్రాస్తాము మరియు ప్రారంభంలో సృష్టి, ప్రారంభ జాబితాలో, మేము మొదట స్ట్రింగ్ మునిగిపోతాము మరియు తరువాత మేము దానిని తీసుకుంటాము సృష్టించబడిన str ఫీల్డ్ నకిలీ చేయబడిన స్ట్రింగ్, మేము వెళ్లి లేన్ ఫీల్డ్‌ను సెట్ చేయడానికి దాని పొడవును లెక్కిస్తాము.మరియు వాటిని అమలు చేసినప్పుడు మనకు ఇలాంటి ఫలితాలు వస్తాయి. + కాబట్టి, ఇది మేము మాట్లాడుతున్న ఉదాహరణ. + ఇప్పుడు, మీరు ఈ ఇద్దరు డేటా సభ్యుల మధ్య వాటిని మార్చుకుంటే, ఈ ప్రోగ్రామ్ పనిచేస్తుందా లేదా ప్రోగ్రామ్‌కు కొన్ని ఇబ్బందులు ఎదురవుతాయా అనేది ప్రశ్న. + కాబట్టి, ఇచ్చిపుచ్చుకోవడానికి ప్రయత్నిద్దాం మరియు ఇది మీరు చూడగల ఉదాహరణ. + మునుపటి నుండి ఒకే తేడా ఉంది, మేము ఈ ఇద్దరు డేటా సభ్యుల క్రమాన్ని మార్చుకున్నాము. + కన్స్ట్రక్టర్ మరియు ప్రారంభ జాబితా మార్చబడలేదు, అవి సరిగ్గా ఒకే విధంగా ఉన్నాయి, కానీ డేటా సభ్యుల క్రమం మాత్రమే మార్చుకోబడింది మరియు మీరు ఇక్కడ చూడగలిగినట్లుగా, మైక్రోసాఫ్ట్ విజువల్ స్టూడియోలో నేను దానిని అమలు చేసిన తరువాత, మనం చూడవచ్చు ప్రోగ్రామ్ క్రాష్ అవుతుంది. + కారణం అర్ధమే ఎందుకంటే నేను ఇంతకు ముందే చెప్పినట్లుగా, ప్రారంభ క్రమం జాబితాలోని డేటా సభ్యుల క్రమం మీద ఆధారపడి ఉంటుంది. + అందువల్ల, ఇక్కడ లేన్ మొదట ఇవ్వబడినందున, ఈ ప్రత్యేకమైన ప్రారంభించడం మొదట జరుగుతుంది మరియు అది సంభవించినప్పుడు, సరళ క్షేత్రం. + ఈ str ఫీల్డ్ ఇంకా ప్రారంభించబడలేదు, ఈ పాయింటర్‌కు మెమరీ కేటాయించబడలేదు మరియు స్ట్రింగ్ కాపీ చేయబడలేదు. + కాబట్టి, లేన్‌కు కాల్ వాస్తవానికి మనం సాధారణంగా చెత్త విలువ అని పిలుస్తాము మరియు అందువల్ల, ఈ రకమైన లోపం మనకు లభిస్తుంది. + అందువల్ల, లెన్ ఈ సూచనలను మీ సూచన కోసం ఇక్కడ హైలైట్ చేస్తుంది మరియు అన్‌ఇన్‌స్టాల్ చేసిన విలువలతో కూడిన ఈ పిలుపు కారణంగా, మేము అలాంటి లోపం పొందుతాము. + కాబట్టి, డేటా సభ్యుడి క్రమం ముఖ్యమైనదని ఒక సాధారణ ఉదాహరణ ద్వారా హైలైట్ చేయడానికి మరియు ప్రారంభ జాబితాను వ్రాసేటప్పుడు, డేటా సభ్యుడు వాస్తవానికి హుహ్ సృష్టించబడిన క్రమం గురించి మీరు తెలుసుకోవాలి. + ఇప్పుడు, మరికొన్ని సాధారణ ఉదాహరణలపై దృష్టి పెడదాం. + ఇవి మొదట్లో ఇలస్ట్రేషన్ కోసం మాత్రమే, తరువాత మనం దానిని ఒక చిన్న తరగతి సృష్టిలో ఉంచుతాము, తద్వారా మనం జీవన క్రమాన్ని లేదా నిర్మాణ విధ్వంసం యొక్క క్రమాన్ని బాగా చూడగలం. + కాబట్టి, ఇక్కడ మేము ఒక సాధారణ తేదీ తరగతిని చూపుతాము. + కాబట్టి, ఈ తేదీ తరగతిలో 3 డేటా సభ్యులు ఉన్నారు; తేదీ, నెల మరియు సంవత్సరం. + కాబట్టి, ఇవి ప్రాథమికంగా సంఖ్యలు లేదా అవి జనవరి, ఫిబ్రవరి మరియు వంటి లెక్కల రకాలు. + కాబట్టి, ప్రాథమికంగా పూర్తి రకాల పూర్ణాంకాలు, మేము వాటిని కన్స్ట్రక్టర్‌లో తేదీని ప్రారంభించడానికి ఉపయోగిస్తాము మరియు అందువల్ల, మీరు ఈ ప్రోగ్రామ్‌ను అమలు చేస్తే, మీకు ఈ రకమైన అవుట్పుట్ లభిస్తుంది, ఇక్కడ మొదటి తేదీ ఇక్కడ సృష్టించబడుతుంది, అప్పుడు అది ఉంటుంది ఈ ముద్రణను ఉపయోగించి ముద్రించబడి చివరకు అది నాశనం అవుతుంది. + ఈ ఉదాహరణలో ఎక్కువ లేదు, కానీ నేను ఈ ఉదాహరణలను తరువాత ఉపయోగిస్తాను. + ఇప్పుడు, జీవితకాలం కోసం మరొక ఉదాహరణను చూపిస్తాను, ఇది పాయింట్ మరియు దీర్ఘచతురస్ర తరగతి, కాబట్టి పాయింట్ క్లాస్ లోని పాయింట్ యొక్క x మరియు y కోఆర్డినేట్లు రెండు డేటా సభ్యులు. + ఇది ఈ పాయింట్లను ప్రారంభించే కన్స్ట్రక్టర్లను కలిగి ఉంది మరియు దీర్ఘచతురస్రం ప్రాథమికంగా ఒక జత పాయింట్లు, ఇక్కడ TL_ ఎగువ ఎడమ వైపున మరియు BR_ దిగువ కుడి వైపున ఉంటుంది, ఇది దీర్ఘచతురస్రం యొక్క రెండు కోణాల బిందువు, నేను పేర్కొంటే, దీర్ఘచతురస్రం పూర్తిగా పేర్కొనబడింది. + ఇప్పుడు, నేను జాగ్రత్తగా చూడాలనుకుంటే, ఈ రెండింటినీ నేను నిజంగా ప్రారంభించాలి. + కాబట్టి, దీర్ఘచతురస్రం కోసం మనకు ఒక కన్స్ట్రక్టర్ ఉంది, ఇది నాలుగు పూర్ణాంకాలను నిర్దేశిస్తుంది, వీటిలో మొదటి రెండు x మరియు y లకు, ఎగువ ఎడమ బిందువు యొక్క తరువాతి రెండు x మరియు y దిగువ కుడి బిందువు యొక్క కోఆర్డినేట్లు. + అందువల్ల, మేము మొదటి రెండింటిని తీసుకొని TL_ భాగాన్ని నిర్మిస్తాము, తరువాతి రెండు BR_ భాగాన్ని ఏర్పరుస్తాయి మరియు దీర్ఘచతురస్రం పూర్తిగా ఏర్పడుతుంది. + కాబట్టి, మీరు కన్స్ట్రక్టర్ అని పిలువబడే క్రమాన్ని చూడటానికి ప్రయత్నిస్తే మేము చూస్తే, ఈ కన్స్ట్రక్టర్ను మొదట పిలుస్తారు. + ఎందుకు, ఇవి రెండు పూర్ణాంకాలు tlx మరియు tly కాబట్టి, TL_ Rect తరగతి యొక్క మొదటి డేటా సభ్యుడు. + కాబట్టి, సహజంగానే ఇది ప్రారంభ జాబితాలో చేయవలసిన మొదటి ప్రారంభం. + కాబట్టి, ఈ ప్రారంభించడం అంటే ఒక పాయింట్ సృష్టించబడాలి, అంటే ఈ ప్రారంభానికి ఈ ప్రత్యేక కన్స్ట్రక్టర్‌ను పిలవాలి, ఈ కన్స్ట్రక్టర్ అంటారు. + దీని ప్రకారం, తయారీదారు యొక్క ఈ ప్రత్యేక శరీరం ఈ అవుట్‌పుట్‌ను ప్రింట్ చేస్తుంది, ఒక పాయింట్ (0,2) తో నిర్మించబడిందని చెప్పారు. + తరువాత, తదుపరి రెండు పూర్ణాంకాలు తీసుకుంటారు; ప్రారంభ జాబితాలో సృష్టించవలసిన రెండవ మూలకం. + మళ్ళీ, అదే బిందువుకు మరొక పాయింట్ ఉత్పత్తి అవుతుంది మరియు మీరు దాని కోసం అవుట్పుట్ పొందుతారు; అప్పుడు దీర్ఘచతురస్రం, నన్ను క్షమించండి అని చూపించే ముద్రణ ఉంది. + అప్పుడు ఏమి జరిగిందో, దీర్ఘచతురస్ర తయారీదారు యొక్క శరీరం అమలు చేయబడుతుంది. + కాబట్టి, మీరు ఈ అవుట్పుట్ను పొందుతారు, ఇది TL_ (0,2) మరియు BR_ (5,7) తో దీర్ఘచతురస్రం నిర్మించబడిందని, ఆపై మీరు ప్రింట్ చేయండి. + కాబట్టి, ముద్రణ ఇక్కడకు వస్తుంది మరియు చివరకు, విధ్వంసం ప్రక్రియ మొదలవుతుంది, ఈ సమయంలో విధ్వంసం ప్రక్రియ ప్రారంభమైనప్పుడు, ఈ దీర్ఘచతురస్రం స్వయంచాలక వస్తువు అని మేము ఇప్పటికే వివరించాము. + కాబట్టి, ఆ స్వయంచాలక వస్తువు యొక్క పరిధి అయిపోయినప్పుడు విధ్వంసం ప్రారంభమవుతుంది, ఇది ప్రధాన కీ బ్లాక్ యొక్క ముగింపు బ్రాకెట్. + కాబట్టి, దీనిపై ఏమి జరుగుతుంది? ఇది నిర్మాణ క్రమం. + కాబట్టి, విధ్వంసం క్రమం ఖచ్చితంగా రివర్స్ అవుతుంది, ఇది LIFO. + కాబట్టి, మొదటి కాల్ దీర్ఘచతురస్రాన్ని నాశనం చేసేవారికి ఉంటుంది. + కాబట్టి, మొదట అది అమలు చేస్తుంది మరియు దీర్ఘచతురస్రం యొక్క విధ్వంసక శరీరం చివర వచ్చినప్పుడు, దీర్ఘచతురస్రం నాశనం చేయడానికి సిద్ధంగా ఉంది, అంటే దీర్ఘచతురస్ర వస్తువు యొక్క డేటా సభ్యులు ఇప్పుడు నాశనం చేయబడ్డారు. చేయవలసి ఉంది. + కాబట్టి, BR_ కి ముందు సృష్టించబడిన తదుపరిది, ఇది ప్రాథమికంగా BR_ కోసం, ఇది వినాశకరమైనది. + కాబట్టి, దీని కోసం BR_ యొక్క డిస్ట్రాయర్‌ను BR_ యొక్క డిస్ట్రాయర్ అని పిలుస్తారు మరియు మీరు ఈ అవుట్‌పుట్‌ను పొందుతారు మరియు చివరకు, సృష్టించబడిన మొదటి వస్తువు TL_, ఆ వస్తువు TL_ మరియు ఫలితాల కోసం డిస్ట్రాయర్ అని పిలువబడుతుంది. సందేశం. + ఇప్పుడు, ఇది ఫంక్షన్ డిస్ట్రక్టర్ ఫంక్షన్ లాగా ఉంటుంది, అది తదుపరి కాల్ చేస్తుంది మరియు అది పూర్తయిన తర్వాత దానిని తదుపరి డిస్ట్రక్టర్ ఫంక్షన్ అంటారు. + కానీ మరియు మొదలైనవి మరియు ఇవన్నీ పూర్తయినప్పుడు విధ్వంసం ప్రక్రియ ముగుస్తుంది. + కాబట్టి, ఇది మీ కోసం చాలా స్పష్టంగా హైలైట్ చేయబడింది, ఎందుకంటే మీరు డేటా (డేటా) సభ్యులను కలిగి ఉన్నప్పుడు ఇది జరుగుతుంది, ఇది వినియోగదారు నిర్వచించిన రకానికి చెందిన డేటా (డేటా) సభ్యులు, ఇది కేవలం అంతర్లీన డేటా (డేటా) సభ్యులు కాదు, ఎవరు వాస్తవానికి వారి సృష్టికర్తలు మరియు డిస్ట్రాయర్లు. + అందువల్ల, అవి తరగతిలో జాబితా చేయబడిన క్రమంలో సృష్టించబడ్డాయి మరియు అవి వాటి సృష్టి యొక్క రివర్స్ క్రమంలో నాశనం అవుతాయని మీరు గుర్తుంచుకోవాలి. + కింది స్లైడ్‌లలో, మీకు చూపించడానికి మేము ఒక పెద్ద ఉదాహరణను మాత్రమే సృష్టిస్తాము. + కాబట్టి, ఈ స్లయిడ్‌లో మనం మరో రెండు తరగతులను చూపిస్తాము, ఒకటి పేరు తరగతి, ఇది ఒక వ్యక్తి పేరును ఉంచడానికి లేదా నిర్వహించడానికి రూపొందించబడింది. + కాబట్టి, దీనికి రెండు వేర్వేరు డేటా సభ్యులు ఉన్నారు; మొదటి పేరు మరియు చివరి పేరు_. + అవి మనం ఇప్పటికే చర్చించిన స్ట్రింగ్ రకాలు. + అందువల్ల, మేము స్ట్రింగ్ క్లాస్‌ని హెడర్‌లో చేర్చాము. + అందువల్ల, ఈ ఇద్దరు డేటా సభ్యుల కోసం, మేము కన్స్ట్రక్టర్‌కు పారామితులను కేటాయిస్తాము మరియు అవి ప్రారంభ జాబితాలో సృష్టించబడతాయి. + మాకు మరొక తరగతి చిరునామా ఉంది, దీనికి ఇల్లు లేదు మరియు మూడు తీగలను కలిగి ఉంది; వీధి_, నగరం_ మరియు పిన్_, ఇవి సంబంధిత డేటా సభ్యులను వివరించే తీగలు. + అందువల్ల, అవి చిరునామా యొక్క కన్స్ట్రక్టర్‌లో సృష్టించబడతాయి మరియు తరువాత ముద్రించబడతాయి. + కాబట్టి, స్ట్రింగ్ ఉపయోగిస్తున్నది ఇదే, ఇప్పుడు మనకు ఒక పేరు తరగతి ఉంది, ఇది వ్యక్తుల పేర్లు మరియు చిరునామా తరగతులను నిర్వహించగలదు మరియు వ్యక్తులు మరియు ఇలాంటి చిరునామాలను సృష్టించవచ్చు + మేము దీన్ని పెద్ద ఉదాహరణ కోసం మాత్రమే చేస్తున్నాము. + ఇప్పుడు, ఇది మాకు ఆసక్తి ఉన్న ఉదాహరణ; క్రెడిట్ కార్డును సూచించడానికి తరగతిని పరిగణించండి. + క్రెడిట్ కార్డును ఎలా వర్ణించవచ్చో మీ అందరికీ తెలుస్తుందని నేను ఖచ్చితంగా అనుకుంటున్నాను. + క్రెడిట్ కార్డ్ అనేది సాధారణంగా 16 అక్షరాల స్ట్రింగ్ అయిన కార్డ్ నంబర్. + ఇది కార్డులో వ్రాయబడనప్పటికీ, హోల్డర్ పేరు, హోల్డర్ యొక్క చిరునామా ఇవ్వబడింది. + కార్డుకు ఇష్యూ తేదీ ఉంది, దీనికి గడువు తేదీ ఉంది మరియు కార్డ్ మాదిరిగా కాకుండా మనకు సివివి నంబర్ అనే ధృవీకరణ సంఖ్య ఉంది. + కాబట్టి, మీరు క్రెడిట్ కార్డ్ వస్తువును వివరించాలనుకుంటే, ఇది సాధారణంగా ఉంటుంది; ఇది క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ కోసం మేము కలిగి ఉన్న చాలా తక్కువ ప్రకటన. + అందువల్ల, ఇక్కడ పెద్ద జాబితా అయిన కన్స్ట్రక్టర్ కోసం, ఇది వాస్తవానికి కన్స్ట్రక్టర్ యొక్క నమూనా. + క్రెడిట్ కార్డ్ నంబర్‌ను ఇచ్చే స్ట్రింగ్‌ను ఇచ్చి, ఆపై పేరు పెట్టే మూడు పంక్తులు ఇవి; హోల్డర్ యొక్క మొదటి మరియు రెండవ పేరు. + అప్పుడు అది హోల్డర్ యొక్క చిరునామా కోసం ఇంటి సంఖ్య, వీధి పేరు, నగరం మరియు పిన్ ఇస్తుంది. + అప్పుడు అది ఇష్యూ తేదీ, అనగా ఇష్యూ మరియు గడువు తేదీలను ఇస్తుంది. + ఇవి మేము నిర్వచించిన తేదీ తరగతిని ఉపయోగిస్తాయి మరియు చివరకు, cvv మరియు మేము ప్రారంభ జాబితాను ప్రారంభించడానికి ఉపయోగిస్తాము. + కాబట్టి, మిస్టర్ షెర్లాక్ హోమ్స్ లండన్, లండన్లోని 221 బేకర్ వీధిలో నివసించడానికి క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించడానికి మేము ఈ తరగతిని ఉపయోగిస్తే, అప్పుడు బిల్డర్ యొక్క కాల్ ఇలా కనిపిస్తుంది మరియు దీనితో మనం ఎలా చూద్దాం నిర్మాణం-విధ్వంసం, జీవితకాలం కనిపిస్తుంది. + కాబట్టి, వస్తువు ఈ విధంగా నిర్మించబడుతోంది మరియు సూచన కోసం, నేను క్రెడిట్ క్లాస్ మరియు ఇతర తరగతుల నిర్వచనాన్ని ఇక్కడ ఉంచాను, ఇది మీ సూచన కోసం మాత్రమే, కానీ ఇది అవుట్పుట్, ఈ మొత్తం విషయం అవుట్పుట్. + కాబట్టి, ఇది సృష్టి దశ, ఇక్కడ మీరు నిర్మించాలనుకుంటే, ఇక్కడ మొదటి ఫీల్డ్ కార్డ్ నంబర్, ఇది స్ట్రింగ్ తప్ప మరొకటి కాదు. + అందువల్ల, ఏ నిర్మాణాన్ని స్పష్టంగా పిలవలేదు. + కాబట్టి, అవుట్పుట్ లేదు, కానీ తరువాత ఏమి నిర్మించబడుతుందో ఖచ్చితంగా హోల్డర్. + కాబట్టి, పేరు సృష్టికర్త అంటారు. + కాబట్టి, ఆ పేరును నిర్మించేవారికి రెండు ఫీల్డ్‌లు ఉన్నాయి, మొదటి పేరు మరియు రెండవ పేరు తీగలు. + కాబట్టి, మొదటి పేరు స్ట్రింగ్ యొక్క సృష్టి మరియు తరువాత రెండవ పేరు స్ట్రింగ్ మరియు తరువాత పేరు ఆబ్జెక్ట్. + అప్పుడు చిరునామా మొదలవుతుంది, మళ్ళీ ఇంటి సంఖ్య పూర్ణాంకం. + కాబట్టి, ఎవరు కన్స్ట్రక్టర్ లేరు, కాని తరువాతి మూడు తీగలను సృష్టిస్తారు, ఇది మీకు వీధి పేరు, నగరం పేరు మరియు పిన్ను ఇస్తుంది మరియు తరువాత చిరునామా వస్తువు సృష్టించబడుతుంది. + తరువాత రెండు డేటా వస్తువులు ఇక్కడ మరియు ఇక్కడ సృష్టించబడతాయి మరియు చివరకు, క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించబడుతుంది. + కాబట్టి, ఇది కేవలం ప్రదర్శన మాత్రమే మరియు అంతకుముందు సృష్టించబడిన స్టేట్మెంట్ ఎక్కువ ఇండెంట్ అని చూపించడానికి నేను ఉద్దేశపూర్వకంగా అలాంటి ఇండెంటేషన్ చేసాను. + కాబట్టి, ఇది నిర్మించబడే క్రమం. + కాబట్టి, ఇద్దరూ దానిని నిర్మిస్తారు, ఇద్దరూ చివరికి ఇస్తారు. + ఇవి వేర్వేరు వస్తువులు మరియు అవన్నీ కలిసి క్రెడిట్ కార్డ్ వస్తువుగా ఏర్పడతాయి. + అప్పుడు క్రెడిట్ కార్డును ఉపయోగించవచ్చు, ఇది మేము ప్రింట్ ద్వారా మాత్రమే చూపిస్తాము మరియు మీరు చూస్తే విధ్వంసం యొక్క క్రమం మరియు మీరు జాగ్రత్తగా అధ్యయనం చేయడానికి నేను దానిని వదిలివేస్తాను, అప్పుడు రివర్స్ ఆర్డర్‌లో విధ్వంసం యొక్క క్రమం. + కాబట్టి, మీరు ఈ జాబితాను చదివినట్లయితే, దిగువ నుండి పైకి వచ్చే క్రమం విధ్వంసం జరిగే క్రమం మరియు ఇది మీ అభ్యాసం కోసం మాత్రమే, ఇది సహజంగానే నా శీఘ్రమని నేను సూచిస్తాను వివరాలు చేయగలవు ఇక్కడ అన్ని వివరాలను చూడండి, కానీ మొత్తం ప్రోగ్రామ్ ప్రెజెంటేషన్‌లో ఇవ్వబడింది మరియు మీరు కలిగి ఉన్నారు లేదా మీరు ప్రదర్శన ద్వారా వెళితే మరియు మీ సిస్టమ్‌లో కూడా దీన్ని అమలు చేయడానికి ప్రయత్నించమని నేను సూచిస్తున్నాను మరియు మీరు దాని కోసం ఏమి పొందుతున్నారో చూడటానికి ప్రయత్నించండి ఫలితం మరియు మీరు ఈ డేటా సభ్యునికి ఇచ్చినప్పుడు మీకు లభించే విభిన్న జీవిత కాలాలు ఏ వస్తువుల గురించి నమ్మకంగా ఉండండి ఈ సమూహ వస్తువులు ఇవ్వబడతాయి. + ఇప్పుడు, మేము ఒక కొత్త రకం కన్స్ట్రక్టర్ గురించి చర్చించటానికి వెళ్తాము మరియు నేను ఇక్కడ ఆబ్జెక్ట్ జీవితకాలం గురించి చర్చించాను, ఈ కొత్త రకం కన్స్ట్రక్టర్ యొక్క దానిని మనం చూద్దాం, అలాగే, వస్తువుల జీవితకాలం కొత్త కొలతలు పొందుతుంది. + అవగాహన. + కాబట్టి, మేము ఒక సరళమైన ఉదాహరణను చూపించడం ద్వారా ప్రారంభిస్తాము, ఈ విధంగా ఒక కాంప్లెక్స్ నిర్మించవచ్చని మాకు తెలుసు మరియు ఇది మేము కాంప్లెక్స్ అని పిలిచే ఒక క్లిష్టమైన కన్స్ట్రక్టర్ అని పిలుస్తాము. + తరగతిని చాలా తక్కువ సార్లు చూశాము, కాని నేను దీనిని వ్రాస్తాను దాని అర్థం చూడటానికి మార్గం. + కాబట్టి, వ్యత్యాసాన్ని చూడండి, ఇక్కడ ఇది ఇలా వ్రాయబడింది, ఇక్కడ ఇది ఉంది లేదా నేను ఇలా వ్రాస్తే. + ఇక్కడ ప్రధాన వ్యత్యాసం ఏమిటంటే, నేను కన్స్ట్రక్టర్ యొక్క పారామితులను రెండు డబుల్ సంఖ్యలుగా ఒకదాని తరువాత ఒకటి కామాలతో పేర్కొన్నాను. + అయితే, ఇక్కడ నేను మరింత క్లిష్టమైన వస్తువు c2 ను ప్రారంభించడానికి సంక్లిష్టమైన వస్తువును ఉపయోగించాను. + నేను దీన్ని చేయడానికి ప్రయత్నించినప్పుడు, నేను ఒక నిర్మాణాన్ని సృష్టిస్తున్నాను, ఇది ఒక ప్రత్యేకమైన నిర్మాణాన్ని కాపీ కన్స్ట్రక్ట్ అని పిలుస్తారు మరియు కాపీ కన్స్ట్రక్టర్ ఇలా కనిపిస్తుంది., ఇది కేవలం ఒక కన్స్ట్రక్టర్. + అందువల్ల, ఇది సంక్లిష్టమైనది: సంక్లిష్టమైనది, ఒకే తేడా ఏమిటంటే అది మరొక సంక్లిష్ట వస్తువును పరామితిగా తీసుకొని దానిని రిఫరెన్స్ పరామితిగా తీసుకుంటుంది. మరియు మనం దాని ముందు కాన్స్ట్‌ని ఉపయోగిస్తున్నాము, ఇవన్నీ ఎందుకు చేస్తున్నామో నెమ్మదిగా అర్థం చేసుకుందాం. + ఒక ఉదాహరణ చూద్దాం, ఇక్కడ మొత్తం సంక్లిష్ట తరగతి ఉంది. + కాబట్టి, ఇది మేము ఇంతకు ముందు చూసిన కన్స్ట్రక్టర్. + ఇవి కాపీ కన్స్ట్రక్టర్లు, ఇది కోర్టు యొక్క భాగాన్ని ప్రత్యేకంగా చూడాలి, ఇది సంక్లిష్టమైన వస్తువును తీసుకుంటుంది మరియు తరువాత డేటా వస్తువులను సంక్లిష్ట వస్తువుల డేటాకు తీసుకుంటుంది.) సభ్యుల నుండి ప్రారంభిస్తుంది. + కాబట్టి, మీరు కాపీ చేయదలిచిన వస్తువు c - re డేటా సభ్యుడు, re_ data member c.re. + కాబట్టి, మేము దానిని తీసుకొని తిరిగి దరఖాస్తు చేయమని అడుగుతాము. + అదేవిధంగా, మేము c.im తీసుకొని దానిని im లోకి చొప్పించాము. + కాబట్టి, ప్రాథమికంగా ఏమి జరుగుతుందంటే, ఈ కన్స్ట్రక్టర్ చేత సృష్టించబడిన క్రొత్త వస్తువు, మళ్ళీ వస్తువు నుండి మరియు దాని నుండి కాపీ చేయబడిన అదే ఫీల్డ్‌లోని అదే విలువ. + కాబట్టి, ఈ సందర్భంలో మీరు ఒక జత వేర్వేరు వస్తువుల సృష్టిని పరిశీలిస్తే, సహజంగానే మొదటి నిర్మాణం కేవలం రెండు డబుల్స్ యొక్క పారామితి కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది. + అవతలి వ్యక్తి కాపీ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తాడు ఎందుకంటే ఇది సంక్లిష్టమైన వస్తువు అయిన సి 1 ఆబ్జెక్ట్‌ను తీసుకుంటుంది మరియు సి 2 ను నిర్మించడానికి కాపీ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది. + అదేవిధంగా, తదుపరిది సి 2 తీసుకొని, కాపీ చేయడానికి సి 3 ని నిర్మిస్తుంది. + కాబట్టి, ఈ సృష్టి తరువాత మీరు ఇక్కడ చేసినట్లుగా మీరు వాటిని ముద్రించడానికి ప్రయత్నిస్తే, అవన్నీ ఒకేలా ఉన్నాయని మేము కనుగొన్నాము. + వారు ఇదే నిర్మాణ విలువలను కలిగి ఉన్నారు మరియు ముద్రణలో, వారు ఒకే విలువను చూపిస్తారు మరియు విధ్వంసం చేస్తారు, అవి కూడా అదే విలువను చూపుతాయి. కాబట్టి, ఈ కాపీ కన్స్ట్రక్టర్ సిస్టమ్‌లో వస్తువులను చాలా సులభంగా సృష్టించవచ్చు. - 136. ఇప్పుడు, మనకు కాపీ కన్స్ట్రక్టర్లు ఎందుకు కావాలి అనే ప్రశ్న మరియు కాపీ కన్స్ట్రక్టర్లను అందించడానికి ప్రధానంగా రెండు కారణాలు ఉన్నాయి లేదా సి ++ లో అందించాల్సిన అవసరం ఉంది. - 137. అర్థం చేసుకోవడానికి, మొదట ఫంక్షన్ కాల్ మెకానిజమ్‌ను పరిశీలించండి. - 138. మేము ఇప్పటికే చూసినట్లుగా, మేము C ++ యొక్క మంచి C భాగం గురించి మాట్లాడినప్పుడు, మేము సూచనల గురించి మాట్లాడాము; మేము రిఫరెన్స్ ద్వారా కాల్ లేదా రిఫరెన్స్ మెకానిజం ద్వారా తిరిగి రావడం గురించి మాట్లాడాము. - 139. కాబట్టి, మీరు వాటిని మళ్ళీ తీసుకువస్తే, మేము చేయగలిగేవి నాలుగు ఉన్నాయి, మేము సందర్భం నుండి కాల్ చేయవచ్చు, ఈ సందర్భంలో అధికారిక పరామితి వాస్తవానికి నిజమైన పరామితికి సూచనను తీసుకుంటుంది, అధికారిక మరియు వాస్తవ పరామితి రెండూ ఒకే జ్ఞాపకశక్తిని పంచుకుంటాయి స్థలం, ఒకే వస్తువును పంచుకోండి. - 140. తిరిగి వచ్చేటప్పుడు, ఫంక్షన్ నుండి మీరు తిరిగి ఇచ్చే విలువ మరియు కాలింగ్ ఫంక్షన్ నుండి మీకు లభించే విలువ కూడా అదే జరుగుతుంది. - 141. సాధారణంగా, మీరు రిఫరెన్స్ ద్వారా తిరిగి వస్తే ఈ రెండు వస్తువులు ఒకే విధంగా ఉంటాయి, అయితే మీరు విలువ ద్వారా కాల్ చేస్తే, మీరు అసలు పరామితిని అధికారిక పరామితిగా కాపీ చేయాలి, మీరు ఒక కాపీని తయారు చేయాలి. - 142. దయచేసి, ఇది చాలా ముఖ్యమైన విషయం. - 143. ఇప్పుడు, మనం ప్రయాణిస్తున్న వస్తువులు లేదా మనం వెళ్ళే విలువలు అంతర్నిర్మిత రకానికి చెందినంతవరకు, ఈ కాపీ నేరుగా ముందుకు ఉంటుంది ఎందుకంటే ఇది అక్షరం యొక్క పూర్ణాంకం లేదా డబుల్ లేదా బిట్ కాపీ మాత్రమే.) తయారు చేయడం మరియు మొదలైనవి . - 144. కానీ, మనకు వినియోగదారు నిర్వచించిన వస్తువులు ఉన్నప్పుడు, మనకు నిజంగా అవసరం అసలు పారామితులు ఇవ్వబడతాయి. - 145. కాబట్టి, ఇది ఆబ్జెక్ట్ సి అని పిలువబడే నిజమైన పరామితి మరియు నాకు ఎఫ్ అనే అధికారిక పరామితి అవసరం. - 146. కాబట్టి, ఈ ఎఫ్ ఒకే రకమైన వస్తువుగా ఉండాలి మరియు ఇది సి నుండి భిన్నంగా ఉండాలి ఎందుకంటే నేను సి యొక్క డేటా సభ్యుల విలువలను ఎలాగైనా కాపీ చేసి కాపీ చేయాలనుకుంటున్నాను.) అవసరం. - 147. అందువల్ల, ఈ కాల్ ప్రక్రియను విలువల ద్వారా సాధించడానికి కాపీ కన్స్ట్రక్టర్ యొక్క ఉద్దేశ్యం ముఖ్యం. - 148. అందువల్ల, వినియోగదారు నిర్వచించిన రకం కాపీయింగ్ ప్రక్రియతో అందించబడకపోతే లేదా కాపీ చేసే ప్రక్రియతో అందించబడకపోతే అందించబడకపోతే, ఫలితం, ఆ తరగతిలోని వస్తువులు, వినియోగదారు నిర్వచించిన రకం వస్తువులు ఆమోదించబడవు విలువగా కాల్. - 149. ఏదైనా పనికి యంత్రాంగం. - 150. మీరు విలువను తిరిగి ఇవ్వాలనుకుంటే, విలువ ఆధారంగా ఫంక్షన్ నుండి ఏదైనా తిరిగి ఇవ్వండి ఎందుకంటే విలువను కాపీ చేయడానికి మేము మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేయాలి. - 151. కాపీ కన్స్ట్రక్టర్ అవసరమయ్యే మరో పరిస్థితి డేటా సభ్యులను ప్రారంభించడం. - 152. ఆబ్జెక్ట్ యొక్క జీవితకాలం యొక్క మునుపటి ఉదాహరణలలో మేము క్రమం తప్పకుండా ఒక విలువను మరొకదానికి కాపీ చేస్తున్నామని మీరు ఇప్పటికే చూశారు, కాని కాపీ చేసిన విలువలు సాధారణంగా నిర్మించిన చోట ఉంటాయి. మన వద్ద ఉన్న డేటా సభ్యుల కోసం సాధారణంగా అంతర్లీన రకానికి చెందినవి, కానీ నేను కలిగి ఉంటే యూజర్ యొక్క విలువను కాపీ చేయడం డేటా సభ్యునిగా నిర్వచించబడుతుంది, అప్పుడు నేను విలువ స్థితి ద్వారా కాల్ చేసిన పరిస్థితిని ఎదుర్కొంటాను. - 153. అందువల్ల, UDT యొక్క డేటా సభ్యులను పరిచయం చేయడానికి కాపీ కన్స్ట్రక్టర్ ఉనికి అవసరం, అది లేకుండా ఆ సంబంధిత రకానికి చెందిన డేటా సభ్యుడిని నిర్వచించలేము. - 154. మేము ఇప్పుడే చూశాము; మేము ఆబ్జెక్ట్ జీవితకాలం పున ited సమీక్షించాము మరియు వేర్వేరు ఆబ్జెక్ట్ జీవితకాల దృశ్యాలకు, ప్రత్యేకించి వినియోగదారు నిర్వచించిన రకాలు మరియు డేటా సభ్యుల ఆదేశాలతో మేము మరింత లోతుగా శ్రద్ధ వహించాము.) ఇష్యూ మరియు ఆబ్జెక్ట్ యొక్క జీవితకాలంపై వాటి ఫలితం చర్చించబడింది మరియు మనకు ఇప్పుడే ఉంది కాపీ కన్స్ట్రక్టర్‌ను ప్రారంభించారు. - 155. + ఇప్పుడు, మనకు కాపీ కన్స్ట్రక్టర్లు ఎందుకు కావాలి అనే ప్రశ్న మరియు కాపీ కన్స్ట్రక్టర్లను అందించడానికి ప్రధానంగా రెండు కారణాలు ఉన్నాయి లేదా సి ++ లో అందించాల్సిన అవసరం ఉంది. + అర్థం చేసుకోవడానికి, మొదట ఫంక్షన్ కాల్ మెకానిజమ్‌ను పరిశీలించండి. + మేము ఇప్పటికే చూసినట్లుగా, మేము C ++ యొక్క మంచి C భాగం గురించి మాట్లాడినప్పుడు, మేము సూచనల గురించి మాట్లాడాము; మేము రిఫరెన్స్ ద్వారా కాల్ లేదా రిఫరెన్స్ మెకానిజం ద్వారా తిరిగి రావడం గురించి మాట్లాడాము. + కాబట్టి, మీరు వాటిని మళ్ళీ తీసుకువస్తే, మేము చేయగలిగేవి నాలుగు ఉన్నాయి, మేము సందర్భం నుండి కాల్ చేయవచ్చు, ఈ సందర్భంలో అధికారిక పరామితి వాస్తవానికి నిజమైన పరామితికి సూచనను తీసుకుంటుంది, అధికారిక మరియు వాస్తవ పరామితి రెండూ ఒకే జ్ఞాపకశక్తిని పంచుకుంటాయి స్థలం, ఒకే వస్తువును పంచుకోండి. + తిరిగి వచ్చేటప్పుడు, ఫంక్షన్ నుండి మీరు తిరిగి ఇచ్చే విలువ మరియు కాలింగ్ ఫంక్షన్ నుండి మీకు లభించే విలువ కూడా అదే జరుగుతుంది. + సాధారణంగా, మీరు రిఫరెన్స్ ద్వారా తిరిగి వస్తే ఈ రెండు వస్తువులు ఒకే విధంగా ఉంటాయి, అయితే మీరు విలువ ద్వారా కాల్ చేస్తే, మీరు అసలు పరామితిని అధికారిక పరామితిగా కాపీ చేయాలి, మీరు ఒక కాపీని తయారు చేయాలి. + దయచేసి, ఇది చాలా ముఖ్యమైన విషయం. + ఇప్పుడు, మనం ప్రయాణిస్తున్న వస్తువులు లేదా మనం వెళ్ళే విలువలు అంతర్నిర్మిత రకానికి చెందినంతవరకు, ఈ కాపీ నేరుగా ముందుకు ఉంటుంది ఎందుకంటే ఇది అక్షరం యొక్క పూర్ణాంకం లేదా డబుల్ లేదా బిట్ కాపీ మాత్రమే.) తయారు చేయడం మరియు మొదలైనవి . + కానీ, మనకు వినియోగదారు నిర్వచించిన వస్తువులు ఉన్నప్పుడు, మనకు నిజంగా అవసరం అసలు పారామితులు ఇవ్వబడతాయి. + కాబట్టి, ఇది ఆబ్జెక్ట్ సి అని పిలువబడే నిజమైన పరామితి మరియు నాకు ఎఫ్ అనే అధికారిక పరామితి అవసరం. + కాబట్టి, ఈ ఎఫ్ ఒకే రకమైన వస్తువుగా ఉండాలి మరియు ఇది సి నుండి భిన్నంగా ఉండాలి ఎందుకంటే నేను సి యొక్క డేటా సభ్యుల విలువలను ఎలాగైనా కాపీ చేసి కాపీ చేయాలనుకుంటున్నాను.) అవసరం. + అందువల్ల, ఈ కాల్ ప్రక్రియను విలువల ద్వారా సాధించడానికి కాపీ కన్స్ట్రక్టర్ యొక్క ఉద్దేశ్యం ముఖ్యం. + అందువల్ల, వినియోగదారు నిర్వచించిన రకం కాపీయింగ్ ప్రక్రియతో అందించబడకపోతే లేదా కాపీ చేసే ప్రక్రియతో అందించబడకపోతే అందించబడకపోతే, ఫలితం, ఆ తరగతిలోని వస్తువులు, వినియోగదారు నిర్వచించిన రకం వస్తువులు ఆమోదించబడవు విలువగా కాల్. + ఏదైనా పనికి యంత్రాంగం. + మీరు విలువను తిరిగి ఇవ్వాలనుకుంటే, విలువ ఆధారంగా ఫంక్షన్ నుండి ఏదైనా తిరిగి ఇవ్వండి ఎందుకంటే విలువను కాపీ చేయడానికి మేము మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేయాలి. + కాపీ కన్స్ట్రక్టర్ అవసరమయ్యే మరో పరిస్థితి డేటా సభ్యులను ప్రారంభించడం. + ఆబ్జెక్ట్ యొక్క జీవితకాలం యొక్క మునుపటి ఉదాహరణలలో మేము క్రమం తప్పకుండా ఒక విలువను మరొకదానికి కాపీ చేస్తున్నామని మీరు ఇప్పటికే చూశారు, కాని కాపీ చేసిన విలువలు సాధారణంగా నిర్మించిన చోట ఉంటాయి. మన వద్ద ఉన్న డేటా సభ్యుల కోసం సాధారణంగా అంతర్లీన రకానికి చెందినవి, కానీ నేను కలిగి ఉంటే యూజర్ యొక్క విలువను కాపీ చేయడం డేటా సభ్యునిగా నిర్వచించబడుతుంది, అప్పుడు నేను విలువ స్థితి ద్వారా కాల్ చేసిన పరిస్థితిని ఎదుర్కొంటాను. + అందువల్ల, UDT యొక్క డేటా సభ్యులను పరిచయం చేయడానికి కాపీ కన్స్ట్రక్టర్ ఉనికి అవసరం, అది లేకుండా ఆ సంబంధిత రకానికి చెందిన డేటా సభ్యుడిని నిర్వచించలేము. + మేము ఇప్పుడే చూశాము; మేము ఆబ్జెక్ట్ జీవితకాలం పున ited సమీక్షించాము మరియు వేర్వేరు ఆబ్జెక్ట్ జీవితకాల దృశ్యాలకు, ప్రత్యేకించి వినియోగదారు నిర్వచించిన రకాలు మరియు డేటా సభ్యుల ఆదేశాలతో మేము మరింత లోతుగా శ్రద్ధ వహించాము.) ఇష్యూ మరియు ఆబ్జెక్ట్ యొక్క జీవితకాలంపై వాటి ఫలితం చర్చించబడింది మరియు మనకు ఇప్పుడే ఉంది కాపీ కన్స్ట్రక్టర్‌ను ప్రారంభించారు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/25. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part II (Lecture 42)-HFeIaDqjyH4.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/25. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part II (Lecture 42)-HFeIaDqjyH4.txt index 6128a6455f7640226f5e63b6e2d497397bd1257d..68e380bb1deef3f361e46eb39a6e8a1c3353d880 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/25. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part II (Lecture 42)-HFeIaDqjyH4.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/25. ProgramminginCplusplus_Dynamic Binding (Polymorphism) Part II (Lecture 42)-HFeIaDqjyH4.txt @@ -1,169 +1,169 @@ - 1. ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్ 27 కు స్వాగతం. - 2. మనము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి చర్చిస్తున్నాము. - 3. వాస్తవానికి, వివిధ కాస్టింగ్ ఎంపికల గురించి చివరి మాడ్యూల్లో మనము ఎక్కువగా మాట్లాడాము, ప్రత్యేకించి క్లాస్ హైరార్కీలో కాస్టింగ్ చేయబడినప్పుడు; మరియు మేము ఒక ప్రత్యేక క్లాస్ నుండి ఒక సాధారణ క్లాస్ వరకు అప్కాస్ట్ ఉంటే అది ఒక valid అయ్యే ఆపరేషన్ అని గమనించాము. - 4. ఎందుకంటే స్పెష్యలైజ్డ్ క్లాస్ ఆబ్జెక్ట్ ను జెనర్లైజ్డ్ క్లాస్ ఆబ్జెక్ట్ గా ఇంట్ప్రెట్(interpret) ద్వారా మేము అందుబాటులో ఉన్న సమాచారంలో భాగంగా మాత్రమే ఉపయోగిస్తాము. - 5. కానీ జెనర్లైజ్డ్ క్లాస్ ఆబ్జెక్ట్ ని ఒక స్పెష్యలైజ్డ్ క్లాస్ ఆబ్జెక్ట్ గా డౌన్కాస్ట్ చేయడానికి మీరు ప్రయత్నించినప్పుడు, స్పెష్యలైజ్డ్ క్లాస్ కోసం లేని సమాచారాలను అర్థం చేసుకోవడానికి ప్రయత్నిస్తున్నాము, తద్వారా అది ఎర్రర్ అవుతుంది. - 6. మరియు మనము ఈ కాస్టింగ్ సమస్య గురించి చర్చించాము, ప్రత్యేకించి మేము క్లాస్ హైరార్కీలపై డైనమిక్ బైండింగ్ గురించి చర్చిస్తున్నప్పుడు, క్రమంగా మేము విభిన్న రకాల కాస్టింగ్ చేయవలసి ఉంటుంది. - 7. కాబట్టి, మేము ఒక ఉదాహరణ పరిశీలించాము. - 8. మనం ఈ మాడ్యూల్లో చేస్తాం, మనము చర్చించడాన్ని లేదా స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క వివరణాత్మక అవగాహనను కొనసాగిస్తాము; మరియు దీనితో, మేము C + + లో పాలిమార్ఫిక్ టైప్ అని పిలుస్తారు. - 9. ఇది మాడ్యూల్ ఆకారం అవుతుంది, మరియు మీ స్క్రీన్ యొక్క ఎడమ చేతి వైపు ఎల్లప్పుడూ కనిపిస్తుంది. - 10. మేము స్టాటిక్ మరియు డైనమిక్ ఆబ్జెక్ట్ ల అర్థం ఏమిటో, అర్థం చేసుకోండి. - 11. నేను క్లాస్ ఎ కలిగి ఉంటే మరియు నేను క్లాస్ ఎ యొక్క వస్తువును వెంటనే నిర్వచించినట్లయితే, ఈ రకమైన రకం క్లాస్ ఎ అని మేము ఇప్పుడు అర్థం చేసుకున్నాము. - 12. మేము దీనిని అర్థం చేసుకున్నాము మరియు అన్నింటికీ ఒకే విధంగా ఉంటుంది. - 13. మేము పాయింటర్ వేరియబుల్ లేదా రిఫరెన్స్ వేరియబుల్ అయినప్పుడు, విషయాలు భిన్నంగా ఉంటాయి, ఇది ఒక నిర్దిష్ట రకం, ఒక నిర్దిష్ట తరగతి యొక్క సోపానక్రమంలో ఒకటి. భాగం. - 14. కాబట్టి ఇక్కడ మనం ఇలాంటి ఉదాహరణను చూపిస్తున్నాము, మనకు క్లాస్ ఎ ఉంది, మరియు మనకు మరొక క్లాస్ బి ఉంది, సోపానక్రమం రేఖాచిత్రం ఇలా ఉంటుంది, ఎ, బి ఐఎస్ఎ ఎ యొక్క ప్రత్యేకత ఉంది. - 15. మరియు ఈ సందర్భంలో, మనకు రకం A యొక్క పాయింటర్ ఉన్నప్పుడు, ఈ పాయింటర్ p ఒక చిరునామాను నిల్వ చేయగలదని అర్థం, ఇక్కడ నేను రకం A యొక్క వస్తువును పొందాలని ఆశిస్తున్నాను. - 16. కాబట్టి నేను A * p కలిగి ఉన్నానని, మరియు నేను ఒక క్రొత్త వస్తువును సృష్టించాను, మరియు చిరునామాను p లో ఉంచాను అని చెబితే, అది ఎక్కడో జ్ఞాపకశక్తిలో ఉంటుంది. డైనమిక్‌గా సృష్టించబడింది, A యొక్క ఉదాహరణ డైనమిక్‌గా సృష్టించబడుతుంది స) ఉదాహరణ సృష్టించబడింది. - 17. B అనేది పాయింటర్, ఇది దీనిని సూచిస్తుంది. - 18. ఈ సందర్భంలో, ఒక రకమైన కంపైలర్‌గా మనకు తెలిసిన కంపైలర్‌గా మనకు తెలుసు, ఇది A యొక్క పాయింటర్ నుండి మరియు అది వాస్తవంగా సూచించే వస్తువు కూడా రకం A కి చెందినది, ఇది సాధారణ దృశ్యం. - 19. కానీ, ఒక వస్తువును సృష్టించే బదులు, నేను B వస్తువును సృష్టించాను. - 20. కాబట్టి నేను ఇక్కడ సృష్టించాను, డైనమిక్‌గా నేను B ఆబ్జెక్ట్‌ని సృష్టించాను, అంటే దానికి A రకం రకం బేస్ భాగం ఉంది మరియు ఇది నా మొత్తం డైనమిక్‌గా సృష్టించిన వస్తువు (ఆబ్జెక్ట్). - 21. మరియు నాకు ఒక పాయింటర్ P ఉంది, ఇది A రకం, కాబట్టి పాయింటర్ P దీనికి సూచిస్తుంది. - 22. ఇది సబ్‌కాస్ట్ యొక్క దృశ్యం అని మేము చూశాము, అది చాలా సాధ్యమే; కాబట్టి, మనం నిజంగా P ద్వారా వస్తువును చూస్తే, అప్పుడు మనం బేస్ క్లాస్ భాగాన్ని మాత్రమే చూడగలుగుతాము, ఇది ఎందుకు అలా అని మాకు అర్థమైంది. - 23. ఇప్పుడు, ఈ సందర్భంలో, సృష్టించబడిన నిజమైన వస్తువు B యొక్క రకం అని మనం చూడవచ్చు; ఇది B కి చెందిన ఒక రకాన్ని మరియు A కి చెందిన ఒక రకమైన సూచికను కలిగి ఉంది. - 24. కాబట్టి మేము ఈ రెండింటినీ వేరు చేస్తాము. - 25. P యొక్క రకం గణాంకపరంగా P యొక్క A రకం అని మేము చెబుతాము, ఎందుకు మేము దానిని గణాంకపరంగా చెప్తున్నాము, ఎందుకంటే కంపైలర్ చూడవలసినది ఇదే. - 26. P ను A రకం పాయింటర్‌గా నిర్వచించారని కంపైలర్ కనుగొంది. - 27. కానీ రన్ టైంలో ఏమి జరిగింది, అసలు అమలులో ఏమి జరిగింది; వాస్తవ అమలు చట్టంలో, B రకం వస్తువు వాస్తవానికి సృష్టించబడుతుంది మరియు ఇది p కు పాయింటర్. - 28. కాబట్టి, P వాస్తవానికి డైనమిక్ రకం నుండి ఎవరు అని సూచిస్తుంది, ఇది B రకం వస్తువును సూచిస్తుంది, అయినప్పటికీ ఇది వాస్తవానికి ఒక రకం సూచిక. - 29. కాబట్టి ఇది డైనమిక్ రకం umption హ. - 30. నేను చెప్పినట్లుగా నేను A * p చేశాను మరియు మేము అక్కడ త్వరగా ఒక వస్తువు చేసాము, అప్పుడు స్టాటిక్ మరియు డైనమిక్ రకం రెండూ A, మరియు అవి ఒకే విధంగా ఉంటాయి, కానీ అది సాధ్యమే. స్టాటిక్ మరియు డైనమిక్ రకాలు భిన్నంగా ఉన్నాయా? . - 31. అందువల్ల, కంపైలర్ చూసే స్టాటిక్ రకం ఏమిటో మరియు కంపైలర్‌తో రన్ టైమ్‌లో చూడలేని డైనమిక్ రకం ఏమిటో చూడటం చాలా ముఖ్యం. - 32. ఇప్పుడు, మేము ఈ రెండు స్టాటిక్ మరియు డైనమిక్ రకాల భావనలను ఎందుకు నిర్మిస్తున్నామో మరియు అవి ఎలా ఉపయోగించబడుతున్నాయో తెలుసుకోవటానికి మీరు ఆసక్తిగా ఉంటారు, తద్వారా మరొక మాడ్యూల్ తర్వాత కూడా వాస్తవానికి డైనమిక్ రకం అనువర్తనాలను చూపించినప్పుడు వెల్లడించాలి ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ కోసం చాలా ముఖ్యమైనది. - 33. కాబట్టి, ఈ రకమైన వస్తువుతో, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్‌ను నిర్వచించవచ్చు. - 34. కాబట్టి, అధికారికంగా, నేను ఇప్పుడే ఒక ఉదాహరణ చూపించాను, కానీ ఇప్పుడు నేను మీకు అధికారిక నిర్వచనం ఇస్తున్నాను. - 35. ఇన్వోకేషన్ స్టాటిక్ రకం ఆధారంగా ఒక ఫంక్షన్ ఫంక్షన్ నిర్వచనానికి కనెక్ట్ అయినప్పుడు, స్టాటిక్ బైండింగ్ సంభవించిందని మేము చెప్తాము. - 36. అందువల్ల, మనం ఏమి చెప్తున్నామో, నాకు ఒక ఫంక్షన్ (శూన్యమైనది) ఉందని నేను చెప్తున్నాను మరియు నేను f () అని చెప్తున్నాను, కాబట్టి నేను f () అని పిలుస్తున్నప్పుడు, నేను ఈ f () ను ఉపయోగిస్తున్నాను. - 37. విభిన్న దృశ్యాలు ఉన్నాయని అనుకుందాం, నాకు శూన్యమైన ఎఫ్ (పూర్ణాంకానికి) ఉంది, నాకు శూన్యమైన ఎఫ్ ఉంది, దీనిపై నాకు ఓవర్‌లోడ్ ఉంది, ఆపై నేను ఎఫ్ (3) అని పిలుస్తాను లేదా ఎఫ్ (3) నేను చెబితే దాన్ని కట్టండి ; నేను f () అని చెబితే, నేను దానికి కట్టుబడి ఉన్నాను. - 38. కాబట్టి, బైండింగ్ అనేది ఒక కాల్ ద్వారా, ఈ కాల్ నుండి పొందబడే అసలు పని ఏమిటో నేను చెప్పగలను, ఇది బైండింగ్ అని పిలువబడే బైండింగ్ ప్రక్రియ. - 39. కంపైల్ సమయంలో నేను ఆ కంపైల్ సమయాన్ని నిర్ణయించగలిగితే, నేను స్టాటిక్ బైండింగ్ (బైండింగ్) కలిగి ఉన్నానని చెప్తాను, మరియు ఐచ్ఛికంగా దీనిని ప్రారంభ బైండింగ్ (బైండింగ్) అని కూడా పిలుస్తారు ఎందుకంటే దీనిని ఒక ప్రోగ్రామ్ అమలులో అర్ధం ఆ సంకలనం ఖచ్చితంగా ముందు ఉంటుంది. - 40. కాబట్టి ఇక్కడ కంపైల్ సమయంలో ప్రోగ్రామ్ రాసే సమయంలో, బైండింగ్ ఏమిటో నాకు తెలుసు, అందువల్ల దీనిని ప్రారంభ బైండింగ్ అని కూడా పిలుస్తారు. - 41. నేను చూపిస్తున్నప్పుడు, సాధారణ ఫంక్షన్ పిలుస్తుంది; ఓవర్లోడ్ ఫంక్షన్ కాల్, ఓవర్లోడ్ ఆపరేటర్ మరియు మొదలైనవి. - 42. మేము చూసిన వివిధ రకాల ఫంక్షన్ ఆహ్వానం సాధారణంగా స్టాటిక్ బైండింగ్ యొక్క ఉదాహరణలు. - 43. దీనికి విరుద్ధంగా, డైనమిక్ బైండింగ్ అనేది ఒక ఫంక్షన్ ఇన్వొకేషన్ ఆబ్జెక్ట్ యొక్క డైనమిక్ రకాన్ని బట్టి ఫంక్షన్ డెఫినిషన్‌ను నిర్వచిస్తుంది. మనకు క్లాస్ B ను A యొక్క స్పెషలైజేషన్‌గా కలిగి ఉంటే, మరియు రెండింటి యొక్క ఫంక్షన్ (ఫంక్షన్) F (), మరియు నేను పిలుస్తున్న పాయింటర్ ఆధారంగా ఒక ఫంక్షన్ - 44. దీన్ని ఇక్కడ కట్టాలి, ఇక్కడ కట్టాలా వద్దా అని నేను నిర్ణయించుకోవాలి. - 45. ఈ నిర్ణయం p యొక్క రకం కాని డైనమిక్ రకం p పై ఆధారపడినట్లయితే, p అనేది ఒక రకం A మాత్రమే కావచ్చు - బేస్ రకం, బేస్ రకం యొక్క పాయింటర్. - 46. కానీ బైండింగ్ P రకంపై మాత్రమే కాకుండా, P ని సూచించే వాస్తవ వస్తువుపై ఆధారపడి ఉంటుంది. - 47. ఇది రకం A యొక్క వస్తువును సూచిస్తుంటే, అది తరగతి A యొక్క f సభ్యునితో జతచేయబడాలి, కాని p రకం B యొక్క వస్తువును సూచిస్తుంటే, అది తప్పనిసరిగా ఆ వస్తువు యొక్క f సభ్యుడితో ముడిపడి ఉండాలి, అది డైనమిక్ బైండింగ్ అంటారు. - 48. P ఒక రకమైన వస్తువును సూచిస్తుందా లేదా అది B రకం వస్తువును సూచిస్తుందా, P -> F () ఈ వ్యక్తీకరణను మార్చదు. - 49. కాబట్టి, కంపైలర్ p -> f () ను మాత్రమే చూడాలి. - 50. అందువల్ల, కంపైలర్ కంపైల్ సమయంలో స్టాటిక్ సమయంలో A: F: () ప్రారంభించబడుతుందా లేదా అమలు సమయంలో B :: F () ను ప్రారంభించాలా అని నిర్ణయించలేదు. కారణం దానిని ఆలస్య బైండింగ్ అని పిలుస్తారు. - 51. కాబట్టి ఇది డైనమిక్ బైండింగ్ ఎందుకంటే ఇది డైనమిక్స్ లేదా ప్రోగ్రామ్ యొక్క అమలు రన్ సమయం మీద ఆధారపడి ఉంటుంది. - 52. ఇది ఆలస్యం బైండింగ్ ఎందుకంటే ఇది కంపైల్ సమయం కంటే తరువాత జరుగుతోంది. - 53. ఇది రన్ టైమ్‌కి సమానం. - 54. అందువల్ల, ఇది అధికారికంగా చర్చించబడలేదు మరియు నిర్వహించబడలేదు, ఫంక్షన్ పాయింటర్ల పరంగా సి కూడా అలాంటి భావనను కలిగి ఉంది. - 55. నేను టైప్‌డెఫ్ కలిగి ఉన్నానని మరియు శూన్యత (* పిఎఫ్) ఉందని నేను చెబితే, పిఎఫ్ ఒక రకమైన ఫంక్షన్ పాయింటర్ అవుతుంది. - 56. కాబట్టి నేను పిఎఫ్ అప్పుడు మైఫ్ అని చెప్పగలను కాబట్టి మైఫ్ ఒక ఫంక్షన్ పాయింటర్, ఇది శూన్యతను తీసుకొని శూన్యతను ఇచ్చే ఏదైనా ఫంక్షన్‌ను సూచించగలదు. - 57. కాబట్టి, ఈ సందర్భంలో, నేను శూన్యమైన g () ను వ్రాస్తే, నేను శూన్యమైన h () ను వ్రాస్తే, నేను myf () ను ఒక ఫంక్షన్‌గా పిలుస్తే, ఈ వ్యక్తీకరణ g () ను ఆహ్వానించగలదు లేదా h () ను పిలుస్తుంది, ఇది అవుతుంది నేను g () కు myf ని కేటాయించానా అనే దానిపై ఆధారపడి g () ను అమలు చేయండి. - 58. నేను h () ను myf కి కేటాయించినట్లయితే అది h () ను ప్రారంభిస్తుంది. - 59. కాబట్టి ఇది మీకు తెలిసిన ఫంక్షన్ పాయింటర్ యొక్క ప్రాథమిక భావన. - 60. కాబట్టి ఇది డైనమిక్ బైండింగ్ యొక్క పరిస్థితి కూడా, ఎందుకంటే ఈ వ్యక్తీకరణ తెలిసిన కంపైలర్ మైఫ్ వాస్తవానికి g ఫంక్షన్ లేదా h ఫంక్షన్‌ను సూచిస్తుందో లేదో తెలియదు. సూచించడానికి సెట్ చేయబడింది. - 61. అందువల్ల, ఫంక్షన్ పాయింటర్లు కూడా ప్రాథమికమైనవి, అవి తమలో తాము డైనమిక్ బైండింగ్‌ను అందిస్తాయి మరియు ఖచ్చితంగా C ++ లో ఉంటాయి. - 62. ఆపై వర్చువల్ ఫంక్షన్ లేట్ బైండింగ్ అనేది సి ++ లో మనకు ఉన్న డైనమిక్ బైండింగ్ యొక్క సరైన ఉదాహరణ. - 63. కాబట్టి మనం వివిధ విషయాలలో ముందుకు వెళ్దాం. - 64. కాబట్టి, మొదటి స్టాటిక్ బైండింగ్‌లో కొంచెం ఎక్కువ. - 65. నాకు క్లాస్ బి ఉంది, క్లాస్ డి బేస్ గా ఉద్భవించింది, ఒక నిర్దిష్ట క్లాస్. - 66. కాబట్టి, నేను ఇక్కడ ఒక సభ్యుడు మరియు ఇక్కడ నివసిస్తున్న సభ్యుడిని కలిగి ఉంటే, ఆపై నేను రెండు వస్తువులను సృష్టిస్తాను. - 67. నేను b.f () చేస్తే, అది ఈ ఫంక్షన్‌ను పిలుస్తుంది ఎందుకంటే ఇది గణాంకపరంగా తెలుసు. - 68. నేను df () అని పిలిస్తే, అది ఈ ఫంక్షన్‌ను కూడా పిలుస్తుంది, ఈ ఫంక్షన్‌ను కూడా పిలుస్తుంది, ఎందుకంటే d వారసత్వంగా ఉంది, మరియు ఒక ప్రత్యేకత ఉండటం మనకు తెలుసు, ఇది వారసత్వంగా కనుగొనబడుతుంది, కాబట్టి d f () లో వారసత్వంగా వస్తుంది కాబట్టి ఇది అవుతుంది B అని పిలుస్తారు: f () ఎందుకంటే ఇది వారసత్వంగా (వారసత్వంగా); అయినప్పటికీ, ఇది d యొక్క పరిధిలో స్పష్టంగా వ్రాయబడలేదు. - 69. నేను క్రొత్త ఫంక్షన్‌ను g, d.g () అని పిలిస్తే, అది d.g () అని పిలుస్తుంది, ఇది వారసత్వంగా కనిపించే ఫంక్షన్ల యొక్క ప్రాథమిక is హ మరియు ఇది మనం చూసినది. - 70. ఇప్పుడు, నేను ఓవర్రైట్ చేస్తే, నేను అదే పని చేస్తున్నాను, కాని నేను క్రొత్త ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభించడానికి బదులుగా B లో అదే ఫంక్షన్ (ఫంక్షన్) యొక్క సంతకాన్ని పరిచయం చేసాను. - 71. నేను అలా చేస్తే, ఇది ఇలా ఉంటుంది, ఇప్పుడు నేను ఖచ్చితంగా BA.F () చేస్తే, కానీ ఇప్పుడు నేను d.f () చేస్తే, అది కొత్త D :: f () లేదా ఓవర్రైట్ ఫంక్షన్ చేస్తుంది. - 72. కాబట్టి, నేను ఓవర్రైట్ చేసినప్పుడు, నేను వాస్తవానికి బేస్ క్లాస్ (ఫంక్షన్) ను D కి మాస్క్ చేస్తున్నాను, బేస్ క్లాస్ (బేస్ క్లాస్) ఫంక్షన్ (ఫంక్షన్) B :: f () ఇకపై అందుబాటులో లేదు, అందువల్ల ఇది ఓవర్రైడింగ్ యొక్క ప్రాథమిక నిర్మాణం కార్యకలాపాలు. - 73. కాబట్టి దానితో వ్యవహరించడంలో మనం జాగ్రత్తగా ఉండాలి. - 74. మేము బేస్ క్లాస్ మరియు ఉత్పన్న క్లాస్ ఫంక్షన్ రెండింటినీ ఉపయోగించలేము. - 75. ఇప్పుడు ఈ సందర్భంలో, ఒక ఉదాహరణకి నేను మిమ్మల్ని సూచిస్తాను, ఇది మేము ఇంతకు ముందు ఇక్కడ తీసుకున్నాము, అదే విషయాన్ని చూపించింది. - 76. మరియు మీకు బేస్ క్లాస్ ఫంక్షన్ F ఉంది, ఇది ఇక్కడ ఓవర్‌రైడ్ చేయబడింది మరియు ఇక్కడ కూడా ఓవర్‌లోడ్ చేయబడింది. - 77. కాబట్టి, ఉత్పన్నమైన తరగతికి f మరియు f అనే రెండు ఫంక్షన్లు ఉన్నాయి, ఇది ఒక పూర్ణాంకం మరియు f ఒక స్ట్రింగ్ తీసుకుంటుంది, కాబట్టి మనం ఉత్పన్నమైన వస్తువును సృష్టించినప్పుడు మరియు f తో 3 తో ​​ఇన్వోక్ చేసినప్పుడు, అది f (int) ఫంక్షన్ (ఫంక్షన్) ను ప్రేరేపిస్తుంది. "ఎరుపు" తో ముందుకు రండి, అది ఓవర్‌లోడ్ చేసిన f ఫంక్షన్‌ను (ఫంక్షన్) ఆహ్వానిస్తుంది. - 78. కాబట్టి, మీరు ఒకే సమయంలో ఓవర్రైడ్ చేయవచ్చు మరియు ఓవర్లోడ్ చేయవచ్చు, కాబట్టి ఇది మేము చూశాము. - 79. కాబట్టి, నేను ఈ విషయాన్ని గుర్తు చేస్తున్నాను ఎందుకంటే ఇవన్నీ ఇప్పుడు కలపబడతాయి. - 80. ఇప్పుడు, మీకు బేస్ క్లాస్‌లో ఫంక్షన్ ఉన్న పరిస్థితి ఉందని అనుకుందాం, బేస్ క్లాస్‌లో మీరు పొందిన సభ్యుల ఫంక్షన్ (ఫంక్షన్) ఉంది) ఓవర్‌లోడ్. - 81. మీరు ఉత్పన్న తరగతిలో ఓవర్‌లోడ్ చేయాలనుకుంటున్న బేస్ క్లాస్‌లో మీకు ఒక ఫంక్షన్ ఉంది. - 82. అందువల్ల మీరు ఓవర్లోడ్ వ్రాశారు. - 83. ఇప్పుడు ప్రశ్న ఏమిటంటే, మీరు ఓవర్‌లోడ్ అయిన వెంటనే, మీరు వారసత్వంగా పొందిన ఫంక్షన్‌ను బేస్ క్లాస్ నుండి దాచిపెడతారు. - 84. కాబట్టి, మీరు దీన్ని చేస్తే, ఆపై మీరు bf () ను వ్రాయడానికి ప్రయత్నిస్తే, మీకు లోపం వస్తుంది, మీకు ఎందుకు లోపం వస్తుంది ఎందుకంటే ఇప్పుడు కంపైలర్ మీకు ఓవర్‌లోడ్ అయ్యిందని తెలుసు (ఓవర్‌లోడ్) మీకు వారసత్వంగా లభించినది, మరియు ఓవర్‌లోడ్ చేయబడింది కంపైలర్‌కు మీకు ఇప్పుడు క్లాస్ B లో ఎఫ్ ఫంక్షన్ (ఫంక్షన్) ఉందని తెలుసు, అది ఒక పూర్ణాంకానికి పడుతుంది మరియు అది ఏ పారామితులు లేకుండా పనిచేయదు. - 85. కాబట్టి, మీరు ఇంకా వారసత్వంగా పొందాలనుకుంటే, దానిని అధిగమించకూడదనుకుంటే, మునుపటి ఉదాహరణలా కాకుండా, మీరు దీనిని ప్రయోగాత్మక నిర్వచనంగా ఉపయోగించవచ్చు. నిర్మాణంలో తెలిసినవారు లేదా వాడతారు, కాబట్టి మీరు A :: F () . - 86. కనుక ఇది మీకు చెప్పేది ఏమిటంటే, మీరు ఈ బేస్ క్లాస్ సభ్యుల ఫంక్షన్‌ను వారసత్వంగా పొందుతున్నారు, మరియు మీరు దాన్ని ఓవర్‌లోడ్ చేస్తారు, కానీ మీరు వారసత్వంగా (వారసత్వంగా), మీరు దానిని భర్తీ చేయకూడదనుకుంటున్నారు; కాబట్టి దీనితో, మీరు f bf (3) చేస్తే, అది ఓవర్లోడ్ (ఓవర్లోడ్) 1 అయిన B క్లాస్ (ఫంక్షన్) అని పిలుస్తుంది, కానీ మీరు ఎటువంటి పారామితులు లేకుండా bf () అని పిలిస్తే, అది పిలిచినప్పుడు, వారసత్వం. - 87. కాబట్టి మేము పనిని దాచిపెడితే ఆ జతను చూడవచ్చు; మేము ఓవర్లోడ్ చేస్తే, వారసత్వంగా ఇచ్చిన ఫంక్షన్‌ను కూడా మేము దాచిపెడతాము; వారసత్వంగా ఇచ్చిన ఫంక్షన్‌ను మేము భర్తీ చేస్తే, ఉత్పన్న తరగతిలో అదే సంతకం యొక్క క్రొత్త ఫంక్షన్ మనకు ఉంటుంది. - 88. మేము ఉత్పన్నమైన తరగతిలో ఎక్కువ బరువు తీసుకోవాలనుకుంటే, మరియు బేస్ క్లాస్ నుండి వారసత్వంగా కనిపించే ఫంక్షన్‌ను కూడా ఉపయోగించాలనుకుంటే, అప్పుడు మేము ఈ కన్స్ట్రక్ట్ కెన్‌ను ఉపయోగించవచ్చు. - 89. కాబట్టి దానితో, అన్ని రూపకల్పన కాంబినేషన్లు చేయవచ్చు. - 90. మరియు ఇవన్నీ స్టాటిక్ రకంలో తీసుకున్న నిర్ణయాలు, కాబట్టి ఇవి స్టాటిక్ బైండింగ్ యొక్క విభిన్న పరిస్థితులు. - 91. ఇప్పుడు, డైనమిక్ బైండింగ్ గురించి మాట్లాడుదాం. - 92. కాబట్టి, నేను మళ్ళీ స్టాటిక్ కేసు వైపు చూస్తాను; నాకు ఇక్కడ సభ్యుల ఫంక్షన్ ఉంది, ఇది ప్రత్యేకమైనది, ఇది ఉత్పన్నమైన క్లాస్ ఫంక్షన్‌లో భర్తీ చేయబడుతుంది. - 93. కాబట్టి, నాకు రెండు వస్తువులు ఉంటే, అప్పుడు బేస్ క్లాస్ మరియు ఉత్పన్నమైన క్లాస్. - 94. మరియు మేము వారి చిరునామాలను టైప్ బేస్ క్లాస్ యొక్క పాయింటర్లో ఉంచడానికి ప్రయత్నించి, మరియు ఫంక్షన్ f ను ఇక్కడ అమలు చేస్తే, రెండు సందర్భాల్లో ఇది వాస్తవానికి బేస్ క్లాస్) ఒక ఫంక్షన్ అంటారు. - 95. ఇది బేస్ క్లాస్ ఫంక్షన్లను నేను స్టాటిక్‌గా బైండింగ్ (బైండింగ్) అని పిలుస్తున్నప్పటికీ, ఎందుకంటే p రకం బేస్ క్లాస్ యొక్క పాయింటర్ అని నాకు తెలుసు. - 96. నేను P -> F () చేస్తే, అది పిలుస్తుంది; నేను p -> f () చేస్తే, p వాస్తవానికి ఉత్పన్నమైన వస్తువును సూచిస్తున్నప్పుడు, అది ఇప్పటికీ బేస్ క్లాస్ సభ్యుడిని పిలుస్తుంది, అందువల్ల ఇది ప్రాథమిక దృశ్యం. - 97. వర్చువల్ కీవర్డ్‌ని పరిచయం చేయడం ద్వారా మనం దీన్ని మార్చవచ్చు. - 98. ఈ సభ్యుల ఫంక్షన్ వర్చువల్ అని మేము చెబితే, మనం దానిని ఓవర్రైడ్ చేస్తే, మనకు మళ్ళీ బేస్ క్లాస్ ఉంది, కాబట్టి ఈ ఉదాహరణలో మిగతావన్నీ వాస్తవం తప్ప ఫంక్షన్ ఇప్పుడు వర్చువల్ అంటారు. - 99. అదే దృష్టాంతంలో, నాకు ఒకే బేస్ క్లాస్ రకం పాయింటర్ ఉంది; నాకు ఒకే రెండు వస్తువులు ఉన్నాయి; మరియు అది బేస్ క్లాస్ ఆబ్జెక్ట్‌ను సూచించే రెండు దృశ్యాలు, ఇది ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తుంది. - 100. నేను మళ్ళీ p -> f () ను చూడటానికి ప్రయత్నిస్తున్నాను. ఇవి సారూప్య వ్యక్తీకరణలు, కాని మనం దీన్ని బేస్ క్లాస్ ఆబ్జెక్ట్ తో చేస్తే, ఇది బేస్ క్లాస్ ఫంక్షన్ () ఫంక్షన్); నేను ఉత్పన్నమైన వస్తువుతో దీన్ని చేస్తే, అది ఉత్పన్నమైన తరగతిని ప్రారంభిస్తుంది. - 101. కాబట్టి, ఇక్కడ ఈ రెండూ బేస్ క్లాస్‌కు తరలివచ్చాయి.ఇప్పుడు రెండవది వాస్తవానికి డైనమిక్ రకం వస్తువు, ప్రకటన రకం వస్తువు, ఆ వస్తువుకు అదే పాయింటర్. వ్యక్తీకరణ పాయింటర్ ఇన్వొకేషన్ వ్యక్తీకరణ నన్ను ఉత్పన్నమైన క్లాస్ ఫంక్షన్‌కు తీసుకువెళుతుంది . - 102. కాబట్టి, ఇది డైనమిక్ బైండింగ్. - 103. కాబట్టి, ఈ రెండింటి మధ్య వ్యక్తీకరణ మారలేదని మీరు చూడవచ్చు, ఇది p -> f (), కానీ ఇది మీరు ఉత్పన్నమైన వస్తువును సూచిస్తున్నారా అనే దానిపై ఆధారపడి ఉంటుంది. లేదా బేస్ క్లాస్ ఆబ్జెక్ట్ కోసం, మీరు స్వయంచాలకంగా కట్టుబడి ఉంటారు ఉత్పన్నమైన తరగతి లేదా బేస్ క్లాస్ ఫంక్షన్). - 104. కాబట్టి, ఇది సి ++ లో మనకు ఉన్న వర్చువల్ ఫంక్షన్ లేదా డైనమిక్ బైండింగ్ పద్ధతుల యొక్క ప్రాథమిక భావన, ఇది చాలా ఉపయోగాలు కలిగి ఉంటుంది. - 105. కాబట్టి, ఇది చివరి మాడ్యూల్‌లో మనం చూసిన ఉదాహరణ మాత్రమే. - 106. కాబట్టి, మీ అవగాహన కోసం మీరు దీన్ని మళ్ళీ చూడవచ్చు. - 107. కాబట్టి, మనకు ఒక పద్ధతి ఉంది, ఇది వర్చువల్ కానిది; మరియు మనకు వర్చువల్ అయిన ఇతర పద్ధతి ఉంది. - 108. కాబట్టి, మేము వీటన్నింటినీ ఆబ్జెక్ట్‌తో కలిపితే, సంబంధిత సభ్యుల ఫంక్షన్ అమలు చేయబడుతుంది. - 109. కాబట్టి మేము B ని ప్రారంభించినప్పుడు, B యొక్క సభ్యుల విధులు ఆహ్వానించబడతాయి; నేను D ని పిలిచినప్పుడు, మేము D సభ్యుల విధులను ఆహ్వానిస్తాము. - 110. కానీ మేము b లేదా d యొక్క చిరునామాను UPCAST ​​ద్వారా ఉంచడానికి బేస్ టైప్ పాయింటర్‌ను ఉపయోగించినప్పుడు, ఆపై అదే సెట్‌ను పాయింటర్ ద్వారా ఇన్వాయిస్ చేయడం ప్రారంభించండి. - 111. అప్పుడు బేస్ క్లాస్ ఆబ్జెక్ట్ కోసం, నేను ఎల్లప్పుడూ బేస్ క్లాస్ మెంబర్ ఫంక్షన్లను పిలుస్తాను. - 112. కానీ ఉత్పన్నమైన వస్తువు కోసం, వర్చువల్-కాని పద్ధతి కోసం బేస్ క్లాస్ (క్లాస్) యొక్క సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను నేను ఆహ్వానిస్తున్నాను, అది నన్ను ఇక్కడకు తీసుకువెళ్ళే స్టాటిక్ బైండింగ్; ఉత్పన్నమైన వస్తువు కోసం, నేను వాస్తవానికి ఉత్పన్నమైన (తరగతి) సభ్యుల ఫంక్షన్‌ను పిలుస్తాను ఎందుకంటే g అనేది వర్చువల్ ఫంక్షన్, ఇది f డైనమిక్ బైండింగ్ యొక్క విలోమం కలిగి ఉంటుంది, ఇది డైనమిక్ కాని లేదా స్టాటిక్ బైండింగ్. - 113. మరియు విషయాలను స్పష్టం చేయడానికి, మీరు పాయింటర్‌కు బదులుగా ఉపయోగిస్తే, మీరు సూచనను ఉపయోగిస్తే ఇలాంటి ప్రవర్తన చూపబడుతుంది. - 114. కాబట్టి ఇవి రకం B తరగతికి సూచనలు, దీనిలో వస్తువు B యొక్క మారుపేరు మరియు B తరగతికి కూడా సూచన, కానీ ఇది UPCAS ద్వారా ప్రకటన చేయడానికి వస్తువును కలిగి ఉంది మరొక పేరు. - 115. కాబట్టి, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) g కోసం నేను ఈ రిఫరెన్స్ ద్వారా g () ను ఇన్వోక్ చేసినప్పుడు, వాస్తవానికి నేను D ఆబ్జెక్ట్, నా కాల్ వారసత్వానికి సూచనను నిర్వహిస్తున్నాను. D క్లాస్ ఫంక్షన్ (ఫంక్షన్) వర్చువల్ ఫంక్షన్‌కు వెళ్తుంది. - 116. కాబట్టి, ఇది ప్రాథమిక వ్యవస్థ. - 117. కాబట్టి, దీని ఆధారంగా, మేము వర్చువల్ ఫంక్షన్‌తో పాలిమార్ఫిక్ రకాన్ని నిర్వచించాము. - 118. పాయింటర్ మరియు రిఫరెన్స్ డేటా రకానికి మాత్రమే డైనమిక్ బైండింగ్ సాధ్యమని మనం చూడవచ్చు. - 119. అందువల్ల, మేము వస్తువు నుండి నేరుగా సభ్యుల పనితీరును ప్రారంభిస్తే, అది ఎల్లప్పుడూ స్థిరంగా కట్టుబడి ఉంటుంది. - 120. ముందు భాగంలో వర్చువల్ అని వ్రాయబడిన విధులను వర్చువల్ ఫంక్షన్లు అంటారు, మరియు వర్చువల్ మెంబర్ ఫంక్షన్‌ను వర్చువల్ అని పిలిస్తే డిక్లేర్ చేస్తే, అది మనం చూసినట్లుగా ఉత్పన్నమైన తరగతిలో భర్తీ చేయవచ్చు. - 121. సభ్యుల ఫంక్షన్ వర్చువల్ కాకపోతే, మరియు అది మేము చెప్పినట్లుగా ఉత్పన్నమైన తరగతిలో పునర్నిర్వచించబడితే, తరువాతి నిర్వచనం మునుపటి నిర్వచనాన్ని దాచిపెడుతుంది లేదా అణిచివేస్తుంది. - 122. కాబట్టి వర్చువల్ మెంబర్ ఫంక్షన్ ఉన్న ఏదైనా క్లాస్, నిర్వచనం లేదా వారసత్వం ద్వారా, మీరు మీరే వర్చువల్ మెంబర్ ఫంక్షన్‌ను నిర్వచించి ఉండాలి, లేదా మీరు మీ పేరెంట్ నుండి వారసత్వంగా పొందవచ్చు, కానీ మీకు కనీసం ఒక వర్చువల్ మెంబర్ ఫంక్షన్ ఉంటే, ఆ క్లాస్ పాలిమార్ఫిక్ రకం అని పిలుస్తారు. - 123. పాలిమార్ఫిక్, ఎందుకంటే ఇది రిఫరెన్స్ పాయింటర్ సూచించే రన్ టైమ్ ఆబ్జెక్ట్‌ను బట్టి వేర్వేరు రూపాలను తీసుకోవచ్చు. - 124. మరియు వాస్తవానికి ఒక సోపానక్రమం పాలిమార్ఫిక్ లేదా పాలిమార్ఫిక్ కానిది కావచ్చు; సోపానక్రమం పాలిమార్ఫిక్ కానిది అయితే దానికి ఖచ్చితంగా పాలిమార్ఫిక్ ఫంక్షన్ లేదా తరగతుల పరంగా ఏదైనా వర్చువల్ ఫంక్షన్ ఉండదు. - 125. కానీ, సోపానక్రమం యొక్క బేస్ క్లాస్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే లేదా క్లాస్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, ఆ తరగతి నుండి వేలాడుతున్న మొత్తం సోపానక్రమం పాలిమార్ఫిక్.) జరుగుతుంది. - 126. మరియు పాలిమార్ఫిక్ కాని సోపానక్రమాలు నిజంగా ఉన్నాయని మేము చూస్తాము. నా ఉద్దేశ్యం అవి సృష్టించబడతాయి, కానీ అవి నిర్మాణాత్మక విలువను మాత్రమే కలిగి ఉంటాయి, కానీ వాటికి తక్కువ గణన విలువ ఉంటుంది, ఎందుకంటే మీరు పాలిమార్ఫిక్) రకం కాబట్టి ప్రధాన ప్రయోజనాన్ని ఉపయోగించరు. - 127. ఇప్పుడు, నేను పాలిమార్ఫిజం పాలిమార్ఫిజంపై ఒక చిన్న రహస్యాన్ని వెల్లడిస్తాను. - 128. A బేస్ క్లాస్ అయిన చోట నేను మరొక ఉదాహరణ తీసుకుంటున్నాను; B అనేది సి యొక్క లక్షణం, ఇది బి యొక్క ప్రత్యేకత. - 129. ఇది సాధారణ బహుళస్థాయి వారసత్వం. - 130. నా మూడు విధులు f, g మరియు h. - 131. కాబట్టి, తరగతి A లో, ఇది మాత్రమే నిర్వచించబడింది, కాబట్టి ఇది వర్చువల్ కానిది. - 132. ఇది వర్చువల్ గా నిర్వచించబడింది మరియు ఇది మరొక H నాన్-వర్చువల్ గా కూడా నిర్వచించబడింది. - 133. కాబట్టి, నేను చెప్పగలిగేది ఏమిటంటే, ఇది ఇప్పుడు A లో కనీసం ఒక పాలిమార్ఫిక్ ఫంక్షన్ లేదా కనీసం ఒక వర్చువల్ ఫంక్షన్ కలిగి ఉంది, కాబట్టి ఈ మొత్తం సోపానక్రమం ఒక పాలిమార్ఫిక్ (పాలిమార్ఫిక్) అనేది మనం మొదటిసారి చూసే సోపానక్రమం. - 134. అప్పుడు ఈ ఫంక్షన్లన్నీ B ను తరగతిలోకి వెళ్ళనివ్వడం ద్వారా భర్తీ చేయబడతాయి, కాబట్టి B దానిని వర్చువల్ కానిదిగా భర్తీ చేస్తుంది. - 135. g () మళ్ళీ B లో ఓవర్‌రైడ్ చేయబడింది, ఇది వర్చువల్‌గా కొనసాగుతోంది. నేను ఒక ఫంక్షన్‌ను వర్చువల్ వర్చువల్‌గా వర్గీకరించిన తర్వాత ఇది గమనించవలసిన విషయం. నేను చేస్తే, అది ఏ తరగతిని అందుకున్నా అది వర్చువల్‌గా స్వీకరించాలి ఫంక్షన్. - 136. మరియు దీని కోసం ఇక్కడ వర్చువల్ కీవర్డ్ రాయడం తప్పనిసరి కాదు. - 137. మునుపటి ఉదాహరణలో నేను వ్రాసినట్లు నేను వ్రాయలేను. - 138. నేను వారసత్వంగా వచ్చిన ఈ ఫంక్షన్ ముందు వర్చువల్ కీవర్డ్‌ని వ్రాయకపోయినా, నేను దానిని అధిగమిస్తున్నాను, అయితే బేస్ క్లాస్‌లో అంతర్లీన ఫంక్షన్ వర్చువల్ అయినప్పటికీ అది ఉద్భవించింది (ఉత్పన్నమైంది) కూడా తరగతిలో వర్చువల్ అవుతుంది. - 139. కాబట్టి, ఒకసారి G ఇక్కడ పాలిమార్ఫిక్ అయినప్పుడు, G ఇక్కడ వర్చువల్, నేను దానిని వారసత్వంగా మాత్రమే తీసుకుంటాను (వారసత్వంగా) లేదా నేను వారసత్వంగా (వారసత్వంగా) తీసుకొని దానిని భర్తీ చేస్తాను. - 140. మరియు నేను దాని ముందు వర్చువల్ కీలకపదాలను వ్రాస్తున్నాను, ఇది మంచి అభ్యాసం కావచ్చు, ఎందుకంటే ఏ వ్యక్తి అయినా దాన్ని త్వరగా అర్థం చేసుకోగలడు, కాని ఇది తప్పనిసరి కాదు. - 141. ఇప్పుడు, నేను చేసేది మరింత ఆసక్తికరంగా ఉంది, నాకు హెచ్ () కూడా వారసత్వంగా వచ్చింది (వారసత్వంగా), ఇది వర్చువల్ కానిది మరియు B కి వస్తోంది, నేను దానిని వర్చువల్‌గా చేసాను, ఇప్పుడు నేను దానిని వర్చువల్‌గా వ్రాసాను. - 142. కాబట్టి, సి వాటిని అధిగమిస్తే సి కి ఏమి జరుగుతుంది. - 143. ఇది వర్చువల్ కానిది, ఇది ఇక్కడ వర్చువల్ కానిది మరియు B లో వర్చువల్ అయిన ఈ రెండు ఇప్పుడు C లో వర్చువల్ అవుతాయి. - 144. నేను కీ, q లో ఉన్నానో లేదో చూడటానికి ప్రయత్నిస్తే, నేను C రకం యొక్క ఒక వస్తువును సృష్టిస్తాను మరియు నేను రెండు పాయింటర్లను ఉపయోగిస్తున్నాను, q పాయింటర్ సూచించడానికి ఒక పాయింట్, మరియు సూచించడానికి ఒక పాయింటర్ ఉంది. - 145. P యొక్క వ్యత్యాసం 'A' రకం యొక్క పాయింటర్, మరియు q 'B' రకం యొక్క పాయింటర్. - 146. కాబట్టి, నేను p -> f () అయితే, ఇది C రకం యొక్క వస్తువును సూచిస్తుంది, p యొక్క స్టాటిక్ రకం p, f తరగతిలో వర్చువల్ కానిది. ఫంక్షన్, కాబట్టి A: f () అంటారు సాధారణ స్టాటిక్ బైండింగ్ కేసు. - 147. నేను p -> g () అని చెబితే, g A కి వర్చువల్ ఫంక్షన్ ఉంది, కాబట్టి C రకం అయిన డైనమిక్ రకం p ఉపయోగించబడుతుంది మరియు అందువల్ల, C లో వర్చువల్ ఫంక్షన్ అయిన ఫంక్షన్ ఓవర్రైడ్ వర్చువల్ ఫంక్షన్ సి అని పిలుస్తారు. - 148. నేను h () ను ఇన్వోక్ చేస్తే, సహజంగా మళ్ళీ ఇది f () లాగా ఉంటుంది, ఇది A లో వర్చువల్ కానిది, కాబట్టి నేను p నుండి పిలుస్తుంటే, అది p మరియు A :: h () రకం ఒక ఫంక్షన్ ద్వారా నిర్ణయించబడుతుంది ఆహ్వానించబడాలి. - 149. ఇప్పుడు, మేము q ను పరిశీలిస్తాము, మరొక పాయింటర్ను పరిశీలిద్దాం, నేను q p -> f () చూస్తాను. - 150. F, f వర్చువల్ కానిది, కాబట్టి ఇది గణాంకపరంగా నిర్బంధించబడుతుంది. - 151. కాబట్టి B లో ఈ వర్చువల్ కానిది ఏమిటి, ఎందుకంటే q ఒక B రకం సూచిక. - 152. కాబట్టి, ఇప్పుడు, B లోని ఫంక్షన్ల నిర్వచనం ఏమిటో నేను చూడాలి, ఎందుకంటే Q అనేది B రకం సూచిక. - 153. ఇప్పుడు B లోని q లో, f () అనేది వర్చువల్ కానిది, కాబట్టి నేను q -> f () చేస్తే, అది B లోని f ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది, ఎందుకంటే ఇది గణాంకపరంగా పరిష్కరించబడుతుంది. - 154. g అనేది B లోని వర్చువల్ ఫంక్షన్, కాబట్టి ఇది పాలిమార్ఫిక్‌ను ప్రసారం చేస్తుంది, ఇది q రకం సూచించే వస్తువు రకం ఆధారంగా నిర్ణయించబడుతుంది, ఇది C రకం యొక్క వస్తువు, కాబట్టి, ఇది C తరగతిలో C ఫంక్షన్‌ను కలిగి ఉంటుంది , ఇది వస్తువు రకం ద్వారా నిర్ణయించబడుతుంది. - 155. ఆసక్తికరంగా, నేను q -> h () చేసినప్పుడు. - 156. నేను q -> h () చేసినప్పుడు, q రకం B రకం, అప్పుడు నేను B లో h ఫంక్షన్‌ను చూస్తాను. - 157. రకం B లో, h ఫంక్షన్ వర్చువల్ ఫంక్షన్; ఇప్పుడు ఇది వర్చువల్ ఫంక్షన్ కనుక, ఇది ఇన్వొకేషన్, ఇది బైండింగ్. ఇది సి రకం అయిన డైనమిక్ రకం ద్వారా పరిష్కరించబడుతుంది. - 158. అందువల్ల, ఈ Q -> H () ఇప్పుడు C లో H ఫంక్షన్‌ను పిలుస్తుంది, కాబట్టి అంతకుముందు, నేను అదే వస్తువు కోసం పిలిచినప్పుడు, నేను చేసిన పనిని p నుండి పిలిచినప్పుడు మీరు చూడవచ్చు, కాబట్టి అతను ఈ పనిని A :: h (). - 159. B నుండి పాయింటర్‌ను ఉపయోగించమని నేను ఆహ్వానించినప్పుడు, అది C :: h () ను ప్రారంభించింది. - 160. కాబట్టి, ఇక్కడ ఇది స్థిరంగా ఉంది మరియు ఇక్కడ ఇది డైనమిక్ గా మారింది. - 161. మరియు మార్పు జరిగింది ఎందుకంటే ఉత్పన్నమైన తరగతి B లో, అతిక్రమిస్తున్నప్పుడు నేను మారిపోయాను, ఫంక్షన్ h యొక్క బైండింగ్ ఆస్తిని మార్చాను. - 162. కాబట్టి దయచేసి ఈ ఉదాహరణను మరింత వివరంగా అధ్యయనం చేయండి మరియు ఇది ఒక ప్రాథమిక పాలిమార్ఫిక్ నియమం అనే కారణాన్ని అర్థం చేసుకోవడానికి ప్రయత్నించండి, అది వర్చువల్ అయిన తర్వాత అది అన్ని ప్రత్యేకతలలో వర్చువల్‌గా ఉంటుంది. - 163. ఏ వర్చువల్-కాని ఫంక్షన్ (ఫంక్షన్) ను ఏ దశలోనైనా వర్చువలైజ్ చేయవచ్చు, మరియు ఆ సమయం నుండి ముందుకు, ఇది సోపానక్రమంలో వర్చువల్ ఫంక్షన్ (ఫంక్షన్) క్రిందికి ఉంటుంది. - 164. మరియు కంపైలర్ ఎల్లప్పుడూ స్టాటిక్ రకం పాయింటర్‌ను తీసుకుంటుంది మరియు ఫంక్షన్ వర్చువల్ లేదా వర్చువల్ కానిదా అని చూడటానికి ఆ తరగతికి వెళుతుంది. - 165. ఇది వర్చువల్ కానిది అయితే, ఇది స్టాటిక్ బైండింగ్‌ను ఉపయోగిస్తుంది; ఇది వర్చువల్ అయితే, ఇది డైనమిక్ బైండింగ్ కోసం కోడ్‌ను సృష్టిస్తుంది, తద్వారా రన్ టైమ్‌లో ఉపయోగించబడే వాస్తవ రకాన్ని బట్టి బైండింగ్ నిర్ణయించబడుతుంది. - 166. సంక్షిప్తంగా, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి లోతుగా చూశాము మరియు పాలిమార్ఫిక్ అర్థం చేసుకోవడానికి ప్రయత్నించాము. - 167. మరియు తరువాతి మాడ్యూల్‌లో, పాలిమార్ఫిక్ రకాలతో తలెత్తే వివిధ నిర్దిష్ట సమస్యలపై మా చర్చను కొనసాగిస్తాము. - 168. + ప్రోగ్రామింగ్ ఇన్ C ++ లో మాడ్యూల్ 27 కు స్వాగతం. + మనము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి చర్చిస్తున్నాము. + వాస్తవానికి, వివిధ కాస్టింగ్ ఎంపికల గురించి చివరి మాడ్యూల్లో మనము ఎక్కువగా మాట్లాడాము, ప్రత్యేకించి క్లాస్ హైరార్కీలో కాస్టింగ్ చేయబడినప్పుడు; మరియు మేము ఒక ప్రత్యేక క్లాస్ నుండి ఒక సాధారణ క్లాస్ వరకు అప్కాస్ట్ ఉంటే అది ఒక valid అయ్యే ఆపరేషన్ అని గమనించాము. + ఎందుకంటే స్పెష్యలైజ్డ్ క్లాస్ ఆబ్జెక్ట్ ను జెనర్లైజ్డ్ క్లాస్ ఆబ్జెక్ట్ గా ఇంట్ప్రెట్(interpret) ద్వారా మేము అందుబాటులో ఉన్న సమాచారంలో భాగంగా మాత్రమే ఉపయోగిస్తాము. + కానీ జెనర్లైజ్డ్ క్లాస్ ఆబ్జెక్ట్ ని ఒక స్పెష్యలైజ్డ్ క్లాస్ ఆబ్జెక్ట్ గా డౌన్కాస్ట్ చేయడానికి మీరు ప్రయత్నించినప్పుడు, స్పెష్యలైజ్డ్ క్లాస్ కోసం లేని సమాచారాలను అర్థం చేసుకోవడానికి ప్రయత్నిస్తున్నాము, తద్వారా అది ఎర్రర్ అవుతుంది. + మరియు మనము ఈ కాస్టింగ్ సమస్య గురించి చర్చించాము, ప్రత్యేకించి మేము క్లాస్ హైరార్కీలపై డైనమిక్ బైండింగ్ గురించి చర్చిస్తున్నప్పుడు, క్రమంగా మేము విభిన్న రకాల కాస్టింగ్ చేయవలసి ఉంటుంది. + కాబట్టి, మేము ఒక ఉదాహరణ పరిశీలించాము. + మనం ఈ మాడ్యూల్లో చేస్తాం, మనము చర్చించడాన్ని లేదా స్టాటిక్ మరియు డైనమిక్ బైండింగ్ యొక్క వివరణాత్మక అవగాహనను కొనసాగిస్తాము; మరియు దీనితో, మేము C + + లో పాలిమార్ఫిక్ టైప్ అని పిలుస్తారు. + ఇది మాడ్యూల్ ఆకారం అవుతుంది, మరియు మీ స్క్రీన్ యొక్క ఎడమ చేతి వైపు ఎల్లప్పుడూ కనిపిస్తుంది. + మేము స్టాటిక్ మరియు డైనమిక్ ఆబ్జెక్ట్ ల అర్థం ఏమిటో, అర్థం చేసుకోండి. + నేను క్లాస్ ఎ కలిగి ఉంటే మరియు నేను క్లాస్ ఎ యొక్క వస్తువును వెంటనే నిర్వచించినట్లయితే, ఈ రకమైన రకం క్లాస్ ఎ అని మేము ఇప్పుడు అర్థం చేసుకున్నాము. + మేము దీనిని అర్థం చేసుకున్నాము మరియు అన్నింటికీ ఒకే విధంగా ఉంటుంది. + మేము పాయింటర్ వేరియబుల్ లేదా రిఫరెన్స్ వేరియబుల్ అయినప్పుడు, విషయాలు భిన్నంగా ఉంటాయి, ఇది ఒక నిర్దిష్ట రకం, ఒక నిర్దిష్ట తరగతి యొక్క సోపానక్రమంలో ఒకటి. భాగం. + కాబట్టి ఇక్కడ మనం ఇలాంటి ఉదాహరణను చూపిస్తున్నాము, మనకు క్లాస్ ఎ ఉంది, మరియు మనకు మరొక క్లాస్ బి ఉంది, సోపానక్రమం రేఖాచిత్రం ఇలా ఉంటుంది, ఎ, బి ఐఎస్ఎ ఎ యొక్క ప్రత్యేకత ఉంది. + మరియు ఈ సందర్భంలో, మనకు రకం A యొక్క పాయింటర్ ఉన్నప్పుడు, ఈ పాయింటర్ p ఒక చిరునామాను నిల్వ చేయగలదని అర్థం, ఇక్కడ నేను రకం A యొక్క వస్తువును పొందాలని ఆశిస్తున్నాను. + కాబట్టి నేను A * p కలిగి ఉన్నానని, మరియు నేను ఒక క్రొత్త వస్తువును సృష్టించాను, మరియు చిరునామాను p లో ఉంచాను అని చెబితే, అది ఎక్కడో జ్ఞాపకశక్తిలో ఉంటుంది. డైనమిక్‌గా సృష్టించబడింది, A యొక్క ఉదాహరణ డైనమిక్‌గా సృష్టించబడుతుంది స) ఉదాహరణ సృష్టించబడింది. + B అనేది పాయింటర్, ఇది దీనిని సూచిస్తుంది. + ఈ సందర్భంలో, ఒక రకమైన కంపైలర్‌గా మనకు తెలిసిన కంపైలర్‌గా మనకు తెలుసు, ఇది A యొక్క పాయింటర్ నుండి మరియు అది వాస్తవంగా సూచించే వస్తువు కూడా రకం A కి చెందినది, ఇది సాధారణ దృశ్యం. + కానీ, ఒక వస్తువును సృష్టించే బదులు, నేను B వస్తువును సృష్టించాను. + కాబట్టి నేను ఇక్కడ సృష్టించాను, డైనమిక్‌గా నేను B ఆబ్జెక్ట్‌ని సృష్టించాను, అంటే దానికి A రకం రకం బేస్ భాగం ఉంది మరియు ఇది నా మొత్తం డైనమిక్‌గా సృష్టించిన వస్తువు (ఆబ్జెక్ట్). + మరియు నాకు ఒక పాయింటర్ P ఉంది, ఇది A రకం, కాబట్టి పాయింటర్ P దీనికి సూచిస్తుంది. + ఇది సబ్‌కాస్ట్ యొక్క దృశ్యం అని మేము చూశాము, అది చాలా సాధ్యమే; కాబట్టి, మనం నిజంగా P ద్వారా వస్తువును చూస్తే, అప్పుడు మనం బేస్ క్లాస్ భాగాన్ని మాత్రమే చూడగలుగుతాము, ఇది ఎందుకు అలా అని మాకు అర్థమైంది. + ఇప్పుడు, ఈ సందర్భంలో, సృష్టించబడిన నిజమైన వస్తువు B యొక్క రకం అని మనం చూడవచ్చు; ఇది B కి చెందిన ఒక రకాన్ని మరియు A కి చెందిన ఒక రకమైన సూచికను కలిగి ఉంది. + కాబట్టి మేము ఈ రెండింటినీ వేరు చేస్తాము. + P యొక్క రకం గణాంకపరంగా P యొక్క A రకం అని మేము చెబుతాము, ఎందుకు మేము దానిని గణాంకపరంగా చెప్తున్నాము, ఎందుకంటే కంపైలర్ చూడవలసినది ఇదే. + P ను A రకం పాయింటర్‌గా నిర్వచించారని కంపైలర్ కనుగొంది. + కానీ రన్ టైంలో ఏమి జరిగింది, అసలు అమలులో ఏమి జరిగింది; వాస్తవ అమలు చట్టంలో, B రకం వస్తువు వాస్తవానికి సృష్టించబడుతుంది మరియు ఇది p కు పాయింటర్. + కాబట్టి, P వాస్తవానికి డైనమిక్ రకం నుండి ఎవరు అని సూచిస్తుంది, ఇది B రకం వస్తువును సూచిస్తుంది, అయినప్పటికీ ఇది వాస్తవానికి ఒక రకం సూచిక. + కాబట్టి ఇది డైనమిక్ రకం umption హ. + నేను చెప్పినట్లుగా నేను A * p చేశాను మరియు మేము అక్కడ త్వరగా ఒక వస్తువు చేసాము, అప్పుడు స్టాటిక్ మరియు డైనమిక్ రకం రెండూ A, మరియు అవి ఒకే విధంగా ఉంటాయి, కానీ అది సాధ్యమే. స్టాటిక్ మరియు డైనమిక్ రకాలు భిన్నంగా ఉన్నాయా? . + అందువల్ల, కంపైలర్ చూసే స్టాటిక్ రకం ఏమిటో మరియు కంపైలర్‌తో రన్ టైమ్‌లో చూడలేని డైనమిక్ రకం ఏమిటో చూడటం చాలా ముఖ్యం. + ఇప్పుడు, మేము ఈ రెండు స్టాటిక్ మరియు డైనమిక్ రకాల భావనలను ఎందుకు నిర్మిస్తున్నామో మరియు అవి ఎలా ఉపయోగించబడుతున్నాయో తెలుసుకోవటానికి మీరు ఆసక్తిగా ఉంటారు, తద్వారా మరొక మాడ్యూల్ తర్వాత కూడా వాస్తవానికి డైనమిక్ రకం అనువర్తనాలను చూపించినప్పుడు వెల్లడించాలి ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ కోసం చాలా ముఖ్యమైనది. + కాబట్టి, ఈ రకమైన వస్తువుతో, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్‌ను నిర్వచించవచ్చు. + కాబట్టి, అధికారికంగా, నేను ఇప్పుడే ఒక ఉదాహరణ చూపించాను, కానీ ఇప్పుడు నేను మీకు అధికారిక నిర్వచనం ఇస్తున్నాను. + ఇన్వోకేషన్ స్టాటిక్ రకం ఆధారంగా ఒక ఫంక్షన్ ఫంక్షన్ నిర్వచనానికి కనెక్ట్ అయినప్పుడు, స్టాటిక్ బైండింగ్ సంభవించిందని మేము చెప్తాము. + అందువల్ల, మనం ఏమి చెప్తున్నామో, నాకు ఒక ఫంక్షన్ (శూన్యమైనది) ఉందని నేను చెప్తున్నాను మరియు నేను f () అని చెప్తున్నాను, కాబట్టి నేను f () అని పిలుస్తున్నప్పుడు, నేను ఈ f () ను ఉపయోగిస్తున్నాను. + విభిన్న దృశ్యాలు ఉన్నాయని అనుకుందాం, నాకు శూన్యమైన ఎఫ్ (పూర్ణాంకానికి) ఉంది, నాకు శూన్యమైన ఎఫ్ ఉంది, దీనిపై నాకు ఓవర్‌లోడ్ ఉంది, ఆపై నేను ఎఫ్ (3) అని పిలుస్తాను లేదా ఎఫ్ (3) నేను చెబితే దాన్ని కట్టండి ; నేను f () అని చెబితే, నేను దానికి కట్టుబడి ఉన్నాను. + కాబట్టి, బైండింగ్ అనేది ఒక కాల్ ద్వారా, ఈ కాల్ నుండి పొందబడే అసలు పని ఏమిటో నేను చెప్పగలను, ఇది బైండింగ్ అని పిలువబడే బైండింగ్ ప్రక్రియ. + కంపైల్ సమయంలో నేను ఆ కంపైల్ సమయాన్ని నిర్ణయించగలిగితే, నేను స్టాటిక్ బైండింగ్ (బైండింగ్) కలిగి ఉన్నానని చెప్తాను, మరియు ఐచ్ఛికంగా దీనిని ప్రారంభ బైండింగ్ (బైండింగ్) అని కూడా పిలుస్తారు ఎందుకంటే దీనిని ఒక ప్రోగ్రామ్ అమలులో అర్ధం ఆ సంకలనం ఖచ్చితంగా ముందు ఉంటుంది. + కాబట్టి ఇక్కడ కంపైల్ సమయంలో ప్రోగ్రామ్ రాసే సమయంలో, బైండింగ్ ఏమిటో నాకు తెలుసు, అందువల్ల దీనిని ప్రారంభ బైండింగ్ అని కూడా పిలుస్తారు. + నేను చూపిస్తున్నప్పుడు, సాధారణ ఫంక్షన్ పిలుస్తుంది; ఓవర్లోడ్ ఫంక్షన్ కాల్, ఓవర్లోడ్ ఆపరేటర్ మరియు మొదలైనవి. + మేము చూసిన వివిధ రకాల ఫంక్షన్ ఆహ్వానం సాధారణంగా స్టాటిక్ బైండింగ్ యొక్క ఉదాహరణలు. + దీనికి విరుద్ధంగా, డైనమిక్ బైండింగ్ అనేది ఒక ఫంక్షన్ ఇన్వొకేషన్ ఆబ్జెక్ట్ యొక్క డైనమిక్ రకాన్ని బట్టి ఫంక్షన్ డెఫినిషన్‌ను నిర్వచిస్తుంది. మనకు క్లాస్ B ను A యొక్క స్పెషలైజేషన్‌గా కలిగి ఉంటే, మరియు రెండింటి యొక్క ఫంక్షన్ (ఫంక్షన్) F (), మరియు నేను పిలుస్తున్న పాయింటర్ ఆధారంగా ఒక ఫంక్షన్ + దీన్ని ఇక్కడ కట్టాలి, ఇక్కడ కట్టాలా వద్దా అని నేను నిర్ణయించుకోవాలి. + ఈ నిర్ణయం p యొక్క రకం కాని డైనమిక్ రకం p పై ఆధారపడినట్లయితే, p అనేది ఒక రకం A మాత్రమే కావచ్చు - బేస్ రకం, బేస్ రకం యొక్క పాయింటర్. + కానీ బైండింగ్ P రకంపై మాత్రమే కాకుండా, P ని సూచించే వాస్తవ వస్తువుపై ఆధారపడి ఉంటుంది. + ఇది రకం A యొక్క వస్తువును సూచిస్తుంటే, అది తరగతి A యొక్క f సభ్యునితో జతచేయబడాలి, కాని p రకం B యొక్క వస్తువును సూచిస్తుంటే, అది తప్పనిసరిగా ఆ వస్తువు యొక్క f సభ్యుడితో ముడిపడి ఉండాలి, అది డైనమిక్ బైండింగ్ అంటారు. + P ఒక రకమైన వస్తువును సూచిస్తుందా లేదా అది B రకం వస్తువును సూచిస్తుందా, P -> F () ఈ వ్యక్తీకరణను మార్చదు. + కాబట్టి, కంపైలర్ p -> f () ను మాత్రమే చూడాలి. + అందువల్ల, కంపైలర్ కంపైల్ సమయంలో స్టాటిక్ సమయంలో A: F: () ప్రారంభించబడుతుందా లేదా అమలు సమయంలో B :: F () ను ప్రారంభించాలా అని నిర్ణయించలేదు. కారణం దానిని ఆలస్య బైండింగ్ అని పిలుస్తారు. + కాబట్టి ఇది డైనమిక్ బైండింగ్ ఎందుకంటే ఇది డైనమిక్స్ లేదా ప్రోగ్రామ్ యొక్క అమలు రన్ సమయం మీద ఆధారపడి ఉంటుంది. + ఇది ఆలస్యం బైండింగ్ ఎందుకంటే ఇది కంపైల్ సమయం కంటే తరువాత జరుగుతోంది. + ఇది రన్ టైమ్‌కి సమానం. + అందువల్ల, ఇది అధికారికంగా చర్చించబడలేదు మరియు నిర్వహించబడలేదు, ఫంక్షన్ పాయింటర్ల పరంగా సి కూడా అలాంటి భావనను కలిగి ఉంది. + నేను టైప్‌డెఫ్ కలిగి ఉన్నానని మరియు శూన్యత (* పిఎఫ్) ఉందని నేను చెబితే, పిఎఫ్ ఒక రకమైన ఫంక్షన్ పాయింటర్ అవుతుంది. + కాబట్టి నేను పిఎఫ్ అప్పుడు మైఫ్ అని చెప్పగలను కాబట్టి మైఫ్ ఒక ఫంక్షన్ పాయింటర్, ఇది శూన్యతను తీసుకొని శూన్యతను ఇచ్చే ఏదైనా ఫంక్షన్‌ను సూచించగలదు. + కాబట్టి, ఈ సందర్భంలో, నేను శూన్యమైన g () ను వ్రాస్తే, నేను శూన్యమైన h () ను వ్రాస్తే, నేను myf () ను ఒక ఫంక్షన్‌గా పిలుస్తే, ఈ వ్యక్తీకరణ g () ను ఆహ్వానించగలదు లేదా h () ను పిలుస్తుంది, ఇది అవుతుంది నేను g () కు myf ని కేటాయించానా అనే దానిపై ఆధారపడి g () ను అమలు చేయండి. + నేను h () ను myf కి కేటాయించినట్లయితే అది h () ను ప్రారంభిస్తుంది. + కాబట్టి ఇది మీకు తెలిసిన ఫంక్షన్ పాయింటర్ యొక్క ప్రాథమిక భావన. + కాబట్టి ఇది డైనమిక్ బైండింగ్ యొక్క పరిస్థితి కూడా, ఎందుకంటే ఈ వ్యక్తీకరణ తెలిసిన కంపైలర్ మైఫ్ వాస్తవానికి g ఫంక్షన్ లేదా h ఫంక్షన్‌ను సూచిస్తుందో లేదో తెలియదు. సూచించడానికి సెట్ చేయబడింది. + అందువల్ల, ఫంక్షన్ పాయింటర్లు కూడా ప్రాథమికమైనవి, అవి తమలో తాము డైనమిక్ బైండింగ్‌ను అందిస్తాయి మరియు ఖచ్చితంగా C ++ లో ఉంటాయి. + ఆపై వర్చువల్ ఫంక్షన్ లేట్ బైండింగ్ అనేది సి ++ లో మనకు ఉన్న డైనమిక్ బైండింగ్ యొక్క సరైన ఉదాహరణ. + కాబట్టి మనం వివిధ విషయాలలో ముందుకు వెళ్దాం. + కాబట్టి, మొదటి స్టాటిక్ బైండింగ్‌లో కొంచెం ఎక్కువ. + నాకు క్లాస్ బి ఉంది, క్లాస్ డి బేస్ గా ఉద్భవించింది, ఒక నిర్దిష్ట క్లాస్. + కాబట్టి, నేను ఇక్కడ ఒక సభ్యుడు మరియు ఇక్కడ నివసిస్తున్న సభ్యుడిని కలిగి ఉంటే, ఆపై నేను రెండు వస్తువులను సృష్టిస్తాను. + నేను b.f () చేస్తే, అది ఈ ఫంక్షన్‌ను పిలుస్తుంది ఎందుకంటే ఇది గణాంకపరంగా తెలుసు. + నేను df () అని పిలిస్తే, అది ఈ ఫంక్షన్‌ను కూడా పిలుస్తుంది, ఈ ఫంక్షన్‌ను కూడా పిలుస్తుంది, ఎందుకంటే d వారసత్వంగా ఉంది, మరియు ఒక ప్రత్యేకత ఉండటం మనకు తెలుసు, ఇది వారసత్వంగా కనుగొనబడుతుంది, కాబట్టి d f () లో వారసత్వంగా వస్తుంది కాబట్టి ఇది అవుతుంది B అని పిలుస్తారు: f () ఎందుకంటే ఇది వారసత్వంగా (వారసత్వంగా); అయినప్పటికీ, ఇది d యొక్క పరిధిలో స్పష్టంగా వ్రాయబడలేదు. + నేను క్రొత్త ఫంక్షన్‌ను g, d.g () అని పిలిస్తే, అది d.g () అని పిలుస్తుంది, ఇది వారసత్వంగా కనిపించే ఫంక్షన్ల యొక్క ప్రాథమిక is హ మరియు ఇది మనం చూసినది. + ఇప్పుడు, నేను ఓవర్రైట్ చేస్తే, నేను అదే పని చేస్తున్నాను, కాని నేను క్రొత్త ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభించడానికి బదులుగా B లో అదే ఫంక్షన్ (ఫంక్షన్) యొక్క సంతకాన్ని పరిచయం చేసాను. + నేను అలా చేస్తే, ఇది ఇలా ఉంటుంది, ఇప్పుడు నేను ఖచ్చితంగా BA.F () చేస్తే, కానీ ఇప్పుడు నేను d.f () చేస్తే, అది కొత్త D :: f () లేదా ఓవర్రైట్ ఫంక్షన్ చేస్తుంది. + కాబట్టి, నేను ఓవర్రైట్ చేసినప్పుడు, నేను వాస్తవానికి బేస్ క్లాస్ (ఫంక్షన్) ను D కి మాస్క్ చేస్తున్నాను, బేస్ క్లాస్ (బేస్ క్లాస్) ఫంక్షన్ (ఫంక్షన్) B :: f () ఇకపై అందుబాటులో లేదు, అందువల్ల ఇది ఓవర్రైడింగ్ యొక్క ప్రాథమిక నిర్మాణం కార్యకలాపాలు. + కాబట్టి దానితో వ్యవహరించడంలో మనం జాగ్రత్తగా ఉండాలి. + మేము బేస్ క్లాస్ మరియు ఉత్పన్న క్లాస్ ఫంక్షన్ రెండింటినీ ఉపయోగించలేము. + ఇప్పుడు ఈ సందర్భంలో, ఒక ఉదాహరణకి నేను మిమ్మల్ని సూచిస్తాను, ఇది మేము ఇంతకు ముందు ఇక్కడ తీసుకున్నాము, అదే విషయాన్ని చూపించింది. + మరియు మీకు బేస్ క్లాస్ ఫంక్షన్ F ఉంది, ఇది ఇక్కడ ఓవర్‌రైడ్ చేయబడింది మరియు ఇక్కడ కూడా ఓవర్‌లోడ్ చేయబడింది. + కాబట్టి, ఉత్పన్నమైన తరగతికి f మరియు f అనే రెండు ఫంక్షన్లు ఉన్నాయి, ఇది ఒక పూర్ణాంకం మరియు f ఒక స్ట్రింగ్ తీసుకుంటుంది, కాబట్టి మనం ఉత్పన్నమైన వస్తువును సృష్టించినప్పుడు మరియు f తో 3 తో ​​ఇన్వోక్ చేసినప్పుడు, అది f (int) ఫంక్షన్ (ఫంక్షన్) ను ప్రేరేపిస్తుంది. "ఎరుపు" తో ముందుకు రండి, అది ఓవర్‌లోడ్ చేసిన f ఫంక్షన్‌ను (ఫంక్షన్) ఆహ్వానిస్తుంది. + కాబట్టి, మీరు ఒకే సమయంలో ఓవర్రైడ్ చేయవచ్చు మరియు ఓవర్లోడ్ చేయవచ్చు, కాబట్టి ఇది మేము చూశాము. + కాబట్టి, నేను ఈ విషయాన్ని గుర్తు చేస్తున్నాను ఎందుకంటే ఇవన్నీ ఇప్పుడు కలపబడతాయి. + ఇప్పుడు, మీకు బేస్ క్లాస్‌లో ఫంక్షన్ ఉన్న పరిస్థితి ఉందని అనుకుందాం, బేస్ క్లాస్‌లో మీరు పొందిన సభ్యుల ఫంక్షన్ (ఫంక్షన్) ఉంది) ఓవర్‌లోడ్. + మీరు ఉత్పన్న తరగతిలో ఓవర్‌లోడ్ చేయాలనుకుంటున్న బేస్ క్లాస్‌లో మీకు ఒక ఫంక్షన్ ఉంది. + అందువల్ల మీరు ఓవర్లోడ్ వ్రాశారు. + ఇప్పుడు ప్రశ్న ఏమిటంటే, మీరు ఓవర్‌లోడ్ అయిన వెంటనే, మీరు వారసత్వంగా పొందిన ఫంక్షన్‌ను బేస్ క్లాస్ నుండి దాచిపెడతారు. + కాబట్టి, మీరు దీన్ని చేస్తే, ఆపై మీరు bf () ను వ్రాయడానికి ప్రయత్నిస్తే, మీకు లోపం వస్తుంది, మీకు ఎందుకు లోపం వస్తుంది ఎందుకంటే ఇప్పుడు కంపైలర్ మీకు ఓవర్‌లోడ్ అయ్యిందని తెలుసు (ఓవర్‌లోడ్) మీకు వారసత్వంగా లభించినది, మరియు ఓవర్‌లోడ్ చేయబడింది కంపైలర్‌కు మీకు ఇప్పుడు క్లాస్ B లో ఎఫ్ ఫంక్షన్ (ఫంక్షన్) ఉందని తెలుసు, అది ఒక పూర్ణాంకానికి పడుతుంది మరియు అది ఏ పారామితులు లేకుండా పనిచేయదు. + కాబట్టి, మీరు ఇంకా వారసత్వంగా పొందాలనుకుంటే, దానిని అధిగమించకూడదనుకుంటే, మునుపటి ఉదాహరణలా కాకుండా, మీరు దీనిని ప్రయోగాత్మక నిర్వచనంగా ఉపయోగించవచ్చు. నిర్మాణంలో తెలిసినవారు లేదా వాడతారు, కాబట్టి మీరు A :: F () . + కనుక ఇది మీకు చెప్పేది ఏమిటంటే, మీరు ఈ బేస్ క్లాస్ సభ్యుల ఫంక్షన్‌ను వారసత్వంగా పొందుతున్నారు, మరియు మీరు దాన్ని ఓవర్‌లోడ్ చేస్తారు, కానీ మీరు వారసత్వంగా (వారసత్వంగా), మీరు దానిని భర్తీ చేయకూడదనుకుంటున్నారు; కాబట్టి దీనితో, మీరు f bf (3) చేస్తే, అది ఓవర్లోడ్ (ఓవర్లోడ్) 1 అయిన B క్లాస్ (ఫంక్షన్) అని పిలుస్తుంది, కానీ మీరు ఎటువంటి పారామితులు లేకుండా bf () అని పిలిస్తే, అది పిలిచినప్పుడు, వారసత్వం. + కాబట్టి మేము పనిని దాచిపెడితే ఆ జతను చూడవచ్చు; మేము ఓవర్లోడ్ చేస్తే, వారసత్వంగా ఇచ్చిన ఫంక్షన్‌ను కూడా మేము దాచిపెడతాము; వారసత్వంగా ఇచ్చిన ఫంక్షన్‌ను మేము భర్తీ చేస్తే, ఉత్పన్న తరగతిలో అదే సంతకం యొక్క క్రొత్త ఫంక్షన్ మనకు ఉంటుంది. + మేము ఉత్పన్నమైన తరగతిలో ఎక్కువ బరువు తీసుకోవాలనుకుంటే, మరియు బేస్ క్లాస్ నుండి వారసత్వంగా కనిపించే ఫంక్షన్‌ను కూడా ఉపయోగించాలనుకుంటే, అప్పుడు మేము ఈ కన్స్ట్రక్ట్ కెన్‌ను ఉపయోగించవచ్చు. + కాబట్టి దానితో, అన్ని రూపకల్పన కాంబినేషన్లు చేయవచ్చు. + మరియు ఇవన్నీ స్టాటిక్ రకంలో తీసుకున్న నిర్ణయాలు, కాబట్టి ఇవి స్టాటిక్ బైండింగ్ యొక్క విభిన్న పరిస్థితులు. + ఇప్పుడు, డైనమిక్ బైండింగ్ గురించి మాట్లాడుదాం. + కాబట్టి, నేను మళ్ళీ స్టాటిక్ కేసు వైపు చూస్తాను; నాకు ఇక్కడ సభ్యుల ఫంక్షన్ ఉంది, ఇది ప్రత్యేకమైనది, ఇది ఉత్పన్నమైన క్లాస్ ఫంక్షన్‌లో భర్తీ చేయబడుతుంది. + కాబట్టి, నాకు రెండు వస్తువులు ఉంటే, అప్పుడు బేస్ క్లాస్ మరియు ఉత్పన్నమైన క్లాస్. + మరియు మేము వారి చిరునామాలను టైప్ బేస్ క్లాస్ యొక్క పాయింటర్లో ఉంచడానికి ప్రయత్నించి, మరియు ఫంక్షన్ f ను ఇక్కడ అమలు చేస్తే, రెండు సందర్భాల్లో ఇది వాస్తవానికి బేస్ క్లాస్) ఒక ఫంక్షన్ అంటారు. + ఇది బేస్ క్లాస్ ఫంక్షన్లను నేను స్టాటిక్‌గా బైండింగ్ (బైండింగ్) అని పిలుస్తున్నప్పటికీ, ఎందుకంటే p రకం బేస్ క్లాస్ యొక్క పాయింటర్ అని నాకు తెలుసు. + నేను P -> F () చేస్తే, అది పిలుస్తుంది; నేను p -> f () చేస్తే, p వాస్తవానికి ఉత్పన్నమైన వస్తువును సూచిస్తున్నప్పుడు, అది ఇప్పటికీ బేస్ క్లాస్ సభ్యుడిని పిలుస్తుంది, అందువల్ల ఇది ప్రాథమిక దృశ్యం. + వర్చువల్ కీవర్డ్‌ని పరిచయం చేయడం ద్వారా మనం దీన్ని మార్చవచ్చు. + ఈ సభ్యుల ఫంక్షన్ వర్చువల్ అని మేము చెబితే, మనం దానిని ఓవర్రైడ్ చేస్తే, మనకు మళ్ళీ బేస్ క్లాస్ ఉంది, కాబట్టి ఈ ఉదాహరణలో మిగతావన్నీ వాస్తవం తప్ప ఫంక్షన్ ఇప్పుడు వర్చువల్ అంటారు. + అదే దృష్టాంతంలో, నాకు ఒకే బేస్ క్లాస్ రకం పాయింటర్ ఉంది; నాకు ఒకే రెండు వస్తువులు ఉన్నాయి; మరియు అది బేస్ క్లాస్ ఆబ్జెక్ట్‌ను సూచించే రెండు దృశ్యాలు, ఇది ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తుంది. + నేను మళ్ళీ p -> f () ను చూడటానికి ప్రయత్నిస్తున్నాను. ఇవి సారూప్య వ్యక్తీకరణలు, కాని మనం దీన్ని బేస్ క్లాస్ ఆబ్జెక్ట్ తో చేస్తే, ఇది బేస్ క్లాస్ ఫంక్షన్ () ఫంక్షన్); నేను ఉత్పన్నమైన వస్తువుతో దీన్ని చేస్తే, అది ఉత్పన్నమైన తరగతిని ప్రారంభిస్తుంది. + కాబట్టి, ఇక్కడ ఈ రెండూ బేస్ క్లాస్‌కు తరలివచ్చాయి.ఇప్పుడు రెండవది వాస్తవానికి డైనమిక్ రకం వస్తువు, ప్రకటన రకం వస్తువు, ఆ వస్తువుకు అదే పాయింటర్. వ్యక్తీకరణ పాయింటర్ ఇన్వొకేషన్ వ్యక్తీకరణ నన్ను ఉత్పన్నమైన క్లాస్ ఫంక్షన్‌కు తీసుకువెళుతుంది . + కాబట్టి, ఇది డైనమిక్ బైండింగ్. + కాబట్టి, ఈ రెండింటి మధ్య వ్యక్తీకరణ మారలేదని మీరు చూడవచ్చు, ఇది p -> f (), కానీ ఇది మీరు ఉత్పన్నమైన వస్తువును సూచిస్తున్నారా అనే దానిపై ఆధారపడి ఉంటుంది. లేదా బేస్ క్లాస్ ఆబ్జెక్ట్ కోసం, మీరు స్వయంచాలకంగా కట్టుబడి ఉంటారు ఉత్పన్నమైన తరగతి లేదా బేస్ క్లాస్ ఫంక్షన్). + కాబట్టి, ఇది సి ++ లో మనకు ఉన్న వర్చువల్ ఫంక్షన్ లేదా డైనమిక్ బైండింగ్ పద్ధతుల యొక్క ప్రాథమిక భావన, ఇది చాలా ఉపయోగాలు కలిగి ఉంటుంది. + కాబట్టి, ఇది చివరి మాడ్యూల్‌లో మనం చూసిన ఉదాహరణ మాత్రమే. + కాబట్టి, మీ అవగాహన కోసం మీరు దీన్ని మళ్ళీ చూడవచ్చు. + కాబట్టి, మనకు ఒక పద్ధతి ఉంది, ఇది వర్చువల్ కానిది; మరియు మనకు వర్చువల్ అయిన ఇతర పద్ధతి ఉంది. + కాబట్టి, మేము వీటన్నింటినీ ఆబ్జెక్ట్‌తో కలిపితే, సంబంధిత సభ్యుల ఫంక్షన్ అమలు చేయబడుతుంది. + కాబట్టి మేము B ని ప్రారంభించినప్పుడు, B యొక్క సభ్యుల విధులు ఆహ్వానించబడతాయి; నేను D ని పిలిచినప్పుడు, మేము D సభ్యుల విధులను ఆహ్వానిస్తాము. + కానీ మేము b లేదా d యొక్క చిరునామాను UPCAST ​​ద్వారా ఉంచడానికి బేస్ టైప్ పాయింటర్‌ను ఉపయోగించినప్పుడు, ఆపై అదే సెట్‌ను పాయింటర్ ద్వారా ఇన్వాయిస్ చేయడం ప్రారంభించండి. + అప్పుడు బేస్ క్లాస్ ఆబ్జెక్ట్ కోసం, నేను ఎల్లప్పుడూ బేస్ క్లాస్ మెంబర్ ఫంక్షన్లను పిలుస్తాను. + కానీ ఉత్పన్నమైన వస్తువు కోసం, వర్చువల్-కాని పద్ధతి కోసం బేస్ క్లాస్ (క్లాస్) యొక్క సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను నేను ఆహ్వానిస్తున్నాను, అది నన్ను ఇక్కడకు తీసుకువెళ్ళే స్టాటిక్ బైండింగ్; ఉత్పన్నమైన వస్తువు కోసం, నేను వాస్తవానికి ఉత్పన్నమైన (తరగతి) సభ్యుల ఫంక్షన్‌ను పిలుస్తాను ఎందుకంటే g అనేది వర్చువల్ ఫంక్షన్, ఇది f డైనమిక్ బైండింగ్ యొక్క విలోమం కలిగి ఉంటుంది, ఇది డైనమిక్ కాని లేదా స్టాటిక్ బైండింగ్. + మరియు విషయాలను స్పష్టం చేయడానికి, మీరు పాయింటర్‌కు బదులుగా ఉపయోగిస్తే, మీరు సూచనను ఉపయోగిస్తే ఇలాంటి ప్రవర్తన చూపబడుతుంది. + కాబట్టి ఇవి రకం B తరగతికి సూచనలు, దీనిలో వస్తువు B యొక్క మారుపేరు మరియు B తరగతికి కూడా సూచన, కానీ ఇది UPCAS ద్వారా ప్రకటన చేయడానికి వస్తువును కలిగి ఉంది మరొక పేరు. + కాబట్టి, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) g కోసం నేను ఈ రిఫరెన్స్ ద్వారా g () ను ఇన్వోక్ చేసినప్పుడు, వాస్తవానికి నేను D ఆబ్జెక్ట్, నా కాల్ వారసత్వానికి సూచనను నిర్వహిస్తున్నాను. D క్లాస్ ఫంక్షన్ (ఫంక్షన్) వర్చువల్ ఫంక్షన్‌కు వెళ్తుంది. + కాబట్టి, ఇది ప్రాథమిక వ్యవస్థ. + కాబట్టి, దీని ఆధారంగా, మేము వర్చువల్ ఫంక్షన్‌తో పాలిమార్ఫిక్ రకాన్ని నిర్వచించాము. + పాయింటర్ మరియు రిఫరెన్స్ డేటా రకానికి మాత్రమే డైనమిక్ బైండింగ్ సాధ్యమని మనం చూడవచ్చు. + అందువల్ల, మేము వస్తువు నుండి నేరుగా సభ్యుల పనితీరును ప్రారంభిస్తే, అది ఎల్లప్పుడూ స్థిరంగా కట్టుబడి ఉంటుంది. + ముందు భాగంలో వర్చువల్ అని వ్రాయబడిన విధులను వర్చువల్ ఫంక్షన్లు అంటారు, మరియు వర్చువల్ మెంబర్ ఫంక్షన్‌ను వర్చువల్ అని పిలిస్తే డిక్లేర్ చేస్తే, అది మనం చూసినట్లుగా ఉత్పన్నమైన తరగతిలో భర్తీ చేయవచ్చు. + సభ్యుల ఫంక్షన్ వర్చువల్ కాకపోతే, మరియు అది మేము చెప్పినట్లుగా ఉత్పన్నమైన తరగతిలో పునర్నిర్వచించబడితే, తరువాతి నిర్వచనం మునుపటి నిర్వచనాన్ని దాచిపెడుతుంది లేదా అణిచివేస్తుంది. + కాబట్టి వర్చువల్ మెంబర్ ఫంక్షన్ ఉన్న ఏదైనా క్లాస్, నిర్వచనం లేదా వారసత్వం ద్వారా, మీరు మీరే వర్చువల్ మెంబర్ ఫంక్షన్‌ను నిర్వచించి ఉండాలి, లేదా మీరు మీ పేరెంట్ నుండి వారసత్వంగా పొందవచ్చు, కానీ మీకు కనీసం ఒక వర్చువల్ మెంబర్ ఫంక్షన్ ఉంటే, ఆ క్లాస్ పాలిమార్ఫిక్ రకం అని పిలుస్తారు. + పాలిమార్ఫిక్, ఎందుకంటే ఇది రిఫరెన్స్ పాయింటర్ సూచించే రన్ టైమ్ ఆబ్జెక్ట్‌ను బట్టి వేర్వేరు రూపాలను తీసుకోవచ్చు. + మరియు వాస్తవానికి ఒక సోపానక్రమం పాలిమార్ఫిక్ లేదా పాలిమార్ఫిక్ కానిది కావచ్చు; సోపానక్రమం పాలిమార్ఫిక్ కానిది అయితే దానికి ఖచ్చితంగా పాలిమార్ఫిక్ ఫంక్షన్ లేదా తరగతుల పరంగా ఏదైనా వర్చువల్ ఫంక్షన్ ఉండదు. + కానీ, సోపానక్రమం యొక్క బేస్ క్లాస్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే లేదా క్లాస్ వర్చువల్ ఫంక్షన్ కలిగి ఉంటే, ఆ తరగతి నుండి వేలాడుతున్న మొత్తం సోపానక్రమం పాలిమార్ఫిక్.) జరుగుతుంది. + మరియు పాలిమార్ఫిక్ కాని సోపానక్రమాలు నిజంగా ఉన్నాయని మేము చూస్తాము. నా ఉద్దేశ్యం అవి సృష్టించబడతాయి, కానీ అవి నిర్మాణాత్మక విలువను మాత్రమే కలిగి ఉంటాయి, కానీ వాటికి తక్కువ గణన విలువ ఉంటుంది, ఎందుకంటే మీరు పాలిమార్ఫిక్) రకం కాబట్టి ప్రధాన ప్రయోజనాన్ని ఉపయోగించరు. + ఇప్పుడు, నేను పాలిమార్ఫిజం పాలిమార్ఫిజంపై ఒక చిన్న రహస్యాన్ని వెల్లడిస్తాను. + A బేస్ క్లాస్ అయిన చోట నేను మరొక ఉదాహరణ తీసుకుంటున్నాను; B అనేది సి యొక్క లక్షణం, ఇది బి యొక్క ప్రత్యేకత. + ఇది సాధారణ బహుళస్థాయి వారసత్వం. + నా మూడు విధులు f, g మరియు h. + కాబట్టి, తరగతి A లో, ఇది మాత్రమే నిర్వచించబడింది, కాబట్టి ఇది వర్చువల్ కానిది. + ఇది వర్చువల్ గా నిర్వచించబడింది మరియు ఇది మరొక H నాన్-వర్చువల్ గా కూడా నిర్వచించబడింది. + కాబట్టి, నేను చెప్పగలిగేది ఏమిటంటే, ఇది ఇప్పుడు A లో కనీసం ఒక పాలిమార్ఫిక్ ఫంక్షన్ లేదా కనీసం ఒక వర్చువల్ ఫంక్షన్ కలిగి ఉంది, కాబట్టి ఈ మొత్తం సోపానక్రమం ఒక పాలిమార్ఫిక్ (పాలిమార్ఫిక్) అనేది మనం మొదటిసారి చూసే సోపానక్రమం. + అప్పుడు ఈ ఫంక్షన్లన్నీ B ను తరగతిలోకి వెళ్ళనివ్వడం ద్వారా భర్తీ చేయబడతాయి, కాబట్టి B దానిని వర్చువల్ కానిదిగా భర్తీ చేస్తుంది. + g () మళ్ళీ B లో ఓవర్‌రైడ్ చేయబడింది, ఇది వర్చువల్‌గా కొనసాగుతోంది. నేను ఒక ఫంక్షన్‌ను వర్చువల్ వర్చువల్‌గా వర్గీకరించిన తర్వాత ఇది గమనించవలసిన విషయం. నేను చేస్తే, అది ఏ తరగతిని అందుకున్నా అది వర్చువల్‌గా స్వీకరించాలి ఫంక్షన్. + మరియు దీని కోసం ఇక్కడ వర్చువల్ కీవర్డ్ రాయడం తప్పనిసరి కాదు. + మునుపటి ఉదాహరణలో నేను వ్రాసినట్లు నేను వ్రాయలేను. + నేను వారసత్వంగా వచ్చిన ఈ ఫంక్షన్ ముందు వర్చువల్ కీవర్డ్‌ని వ్రాయకపోయినా, నేను దానిని అధిగమిస్తున్నాను, అయితే బేస్ క్లాస్‌లో అంతర్లీన ఫంక్షన్ వర్చువల్ అయినప్పటికీ అది ఉద్భవించింది (ఉత్పన్నమైంది) కూడా తరగతిలో వర్చువల్ అవుతుంది. + కాబట్టి, ఒకసారి G ఇక్కడ పాలిమార్ఫిక్ అయినప్పుడు, G ఇక్కడ వర్చువల్, నేను దానిని వారసత్వంగా మాత్రమే తీసుకుంటాను (వారసత్వంగా) లేదా నేను వారసత్వంగా (వారసత్వంగా) తీసుకొని దానిని భర్తీ చేస్తాను. + మరియు నేను దాని ముందు వర్చువల్ కీలకపదాలను వ్రాస్తున్నాను, ఇది మంచి అభ్యాసం కావచ్చు, ఎందుకంటే ఏ వ్యక్తి అయినా దాన్ని త్వరగా అర్థం చేసుకోగలడు, కాని ఇది తప్పనిసరి కాదు. + ఇప్పుడు, నేను చేసేది మరింత ఆసక్తికరంగా ఉంది, నాకు హెచ్ () కూడా వారసత్వంగా వచ్చింది (వారసత్వంగా), ఇది వర్చువల్ కానిది మరియు B కి వస్తోంది, నేను దానిని వర్చువల్‌గా చేసాను, ఇప్పుడు నేను దానిని వర్చువల్‌గా వ్రాసాను. + కాబట్టి, సి వాటిని అధిగమిస్తే సి కి ఏమి జరుగుతుంది. + ఇది వర్చువల్ కానిది, ఇది ఇక్కడ వర్చువల్ కానిది మరియు B లో వర్చువల్ అయిన ఈ రెండు ఇప్పుడు C లో వర్చువల్ అవుతాయి. + నేను కీ, q లో ఉన్నానో లేదో చూడటానికి ప్రయత్నిస్తే, నేను C రకం యొక్క ఒక వస్తువును సృష్టిస్తాను మరియు నేను రెండు పాయింటర్లను ఉపయోగిస్తున్నాను, q పాయింటర్ సూచించడానికి ఒక పాయింట్, మరియు సూచించడానికి ఒక పాయింటర్ ఉంది. + P యొక్క వ్యత్యాసం 'A' రకం యొక్క పాయింటర్, మరియు q 'B' రకం యొక్క పాయింటర్. + కాబట్టి, నేను p -> f () అయితే, ఇది C రకం యొక్క వస్తువును సూచిస్తుంది, p యొక్క స్టాటిక్ రకం p, f తరగతిలో వర్చువల్ కానిది. ఫంక్షన్, కాబట్టి A: f () అంటారు సాధారణ స్టాటిక్ బైండింగ్ కేసు. + నేను p -> g () అని చెబితే, g A కి వర్చువల్ ఫంక్షన్ ఉంది, కాబట్టి C రకం అయిన డైనమిక్ రకం p ఉపయోగించబడుతుంది మరియు అందువల్ల, C లో వర్చువల్ ఫంక్షన్ అయిన ఫంక్షన్ ఓవర్రైడ్ వర్చువల్ ఫంక్షన్ సి అని పిలుస్తారు. + నేను h () ను ఇన్వోక్ చేస్తే, సహజంగా మళ్ళీ ఇది f () లాగా ఉంటుంది, ఇది A లో వర్చువల్ కానిది, కాబట్టి నేను p నుండి పిలుస్తుంటే, అది p మరియు A :: h () రకం ఒక ఫంక్షన్ ద్వారా నిర్ణయించబడుతుంది ఆహ్వానించబడాలి. + ఇప్పుడు, మేము q ను పరిశీలిస్తాము, మరొక పాయింటర్ను పరిశీలిద్దాం, నేను q p -> f () చూస్తాను. + F, f వర్చువల్ కానిది, కాబట్టి ఇది గణాంకపరంగా నిర్బంధించబడుతుంది. + కాబట్టి B లో ఈ వర్చువల్ కానిది ఏమిటి, ఎందుకంటే q ఒక B రకం సూచిక. + కాబట్టి, ఇప్పుడు, B లోని ఫంక్షన్ల నిర్వచనం ఏమిటో నేను చూడాలి, ఎందుకంటే Q అనేది B రకం సూచిక. + ఇప్పుడు B లోని q లో, f () అనేది వర్చువల్ కానిది, కాబట్టి నేను q -> f () చేస్తే, అది B లోని f ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది, ఎందుకంటే ఇది గణాంకపరంగా పరిష్కరించబడుతుంది. + g అనేది B లోని వర్చువల్ ఫంక్షన్, కాబట్టి ఇది పాలిమార్ఫిక్‌ను ప్రసారం చేస్తుంది, ఇది q రకం సూచించే వస్తువు రకం ఆధారంగా నిర్ణయించబడుతుంది, ఇది C రకం యొక్క వస్తువు, కాబట్టి, ఇది C తరగతిలో C ఫంక్షన్‌ను కలిగి ఉంటుంది , ఇది వస్తువు రకం ద్వారా నిర్ణయించబడుతుంది. + ఆసక్తికరంగా, నేను q -> h () చేసినప్పుడు. + నేను q -> h () చేసినప్పుడు, q రకం B రకం, అప్పుడు నేను B లో h ఫంక్షన్‌ను చూస్తాను. + రకం B లో, h ఫంక్షన్ వర్చువల్ ఫంక్షన్; ఇప్పుడు ఇది వర్చువల్ ఫంక్షన్ కనుక, ఇది ఇన్వొకేషన్, ఇది బైండింగ్. ఇది సి రకం అయిన డైనమిక్ రకం ద్వారా పరిష్కరించబడుతుంది. + అందువల్ల, ఈ Q -> H () ఇప్పుడు C లో H ఫంక్షన్‌ను పిలుస్తుంది, కాబట్టి అంతకుముందు, నేను అదే వస్తువు కోసం పిలిచినప్పుడు, నేను చేసిన పనిని p నుండి పిలిచినప్పుడు మీరు చూడవచ్చు, కాబట్టి అతను ఈ పనిని A :: h (). + B నుండి పాయింటర్‌ను ఉపయోగించమని నేను ఆహ్వానించినప్పుడు, అది C :: h () ను ప్రారంభించింది. + కాబట్టి, ఇక్కడ ఇది స్థిరంగా ఉంది మరియు ఇక్కడ ఇది డైనమిక్ గా మారింది. + మరియు మార్పు జరిగింది ఎందుకంటే ఉత్పన్నమైన తరగతి B లో, అతిక్రమిస్తున్నప్పుడు నేను మారిపోయాను, ఫంక్షన్ h యొక్క బైండింగ్ ఆస్తిని మార్చాను. + కాబట్టి దయచేసి ఈ ఉదాహరణను మరింత వివరంగా అధ్యయనం చేయండి మరియు ఇది ఒక ప్రాథమిక పాలిమార్ఫిక్ నియమం అనే కారణాన్ని అర్థం చేసుకోవడానికి ప్రయత్నించండి, అది వర్చువల్ అయిన తర్వాత అది అన్ని ప్రత్యేకతలలో వర్చువల్‌గా ఉంటుంది. + ఏ వర్చువల్-కాని ఫంక్షన్ (ఫంక్షన్) ను ఏ దశలోనైనా వర్చువలైజ్ చేయవచ్చు, మరియు ఆ సమయం నుండి ముందుకు, ఇది సోపానక్రమంలో వర్చువల్ ఫంక్షన్ (ఫంక్షన్) క్రిందికి ఉంటుంది. + మరియు కంపైలర్ ఎల్లప్పుడూ స్టాటిక్ రకం పాయింటర్‌ను తీసుకుంటుంది మరియు ఫంక్షన్ వర్చువల్ లేదా వర్చువల్ కానిదా అని చూడటానికి ఆ తరగతికి వెళుతుంది. + ఇది వర్చువల్ కానిది అయితే, ఇది స్టాటిక్ బైండింగ్‌ను ఉపయోగిస్తుంది; ఇది వర్చువల్ అయితే, ఇది డైనమిక్ బైండింగ్ కోసం కోడ్‌ను సృష్టిస్తుంది, తద్వారా రన్ టైమ్‌లో ఉపయోగించబడే వాస్తవ రకాన్ని బట్టి బైండింగ్ నిర్ణయించబడుతుంది. + సంక్షిప్తంగా, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి లోతుగా చూశాము మరియు పాలిమార్ఫిక్ అర్థం చేసుకోవడానికి ప్రయత్నించాము. + మరియు తరువాతి మాడ్యూల్‌లో, పాలిమార్ఫిక్ రకాలతో తలెత్తే వివిధ నిర్దిష్ట సమస్యలపై మా చర్చను కొనసాగిస్తాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/26 ProgramminginCplusplus_Default Parameters and Function Overloading (Contd.) (Lecture 14)-N4gpIkQKUbc.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/26 ProgramminginCplusplus_Default Parameters and Function Overloading (Contd.) (Lecture 14)-N4gpIkQKUbc.txt index c2ac5d3d3390c3f6da8e422ff74a483669fc4e69..2e851fc154f35716f0243c63a834269945791677 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/26 ProgramminginCplusplus_Default Parameters and Function Overloading (Contd.) (Lecture 14)-N4gpIkQKUbc.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/26 ProgramminginCplusplus_Default Parameters and Function Overloading (Contd.) (Lecture 14)-N4gpIkQKUbc.txt @@ -1,201 +1,201 @@ - 1. C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 8 కు స్వాగతం. - 2. మేము ఇప్పటికే డిఫాల్ట్ పారామితులను చర్చించాము మరియు ఫంక్షన్ ఓవర్‌లోడింగ్, ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయడం మరియు ఫంక్షన్‌లను ఓవర్‌లోడ్ చేయడం ఎలా అనే దాని గురించి మేము చర్చించాము. అంటే, సి ++ ఒకే పేరుతో బహుళ ఫంక్షన్లను కలిగి ఉండవచ్చు. - 3. కానీ, పారామితుల రకం, సంఖ్య మరియు పారామితుల రకాన్ని బట్టి అవి విభిన్నంగా ఉంటాయి. - 4. మరియు, రిటర్న్ రకంతో ఫంక్షన్లను ఓవర్లోడ్ చేయలేమని మేము చూశాము. - 5. ఇప్పుడు, ఓవర్లోడ్ రిజల్యూషన్ యొక్క సంగ్రహావలోకనం ఇవ్వడానికి మేము ముందుకు వెళ్తాము. - 6. ఓవర్లోడ్ రిజల్యూషన్ అనేది కంపైలర్ అనేక అభ్యర్థి ఫంక్షన్ల మధ్య నిర్ణయించే ప్రక్రియ, ఓవర్లోడ్ ఫంక్షన్ యొక్క బహుళ అభ్యర్థి నిర్వచనాలు ఉన్నాయి. - 7. కంపైలర్ అతను ఏది కట్టాలి అని నిర్ణయించుకోవాలి. - 8. ఇది ఓవర్‌లోడ్ రిజల్యూషన్, ఫంక్షన్ ఓవర్‌లోడింగ్‌లో కొద్దిగా అభివృద్ధి చెందిన అంశం. - 9. కాబట్టి, మీరు ఈ దశలో నిర్వహించడం కొంచెం కష్టమైతే, మీరు దానిని నిషేధంలో ఉంచవచ్చు మరియు సి ++ లో ఓవర్‌లోడింగ్ యొక్క లోతు గురించి చర్చించినప్పుడు మీరు తిరిగి రావచ్చు. - 10. అందువల్ల, ఓవర్లోడ్ పనులను ఎలా పరిష్కరించాలో ఇక్కడ మీకు ప్రాథమిక ఆలోచన ఇవ్వడానికి ప్రయత్నిస్తాము. - 11. విషయాలు సరళంగా ఉంచడానికి నేను కేవలం ఒక పరామితితో ఇక్కడ ఉదాహరణను ఉపయోగిస్తున్నాను. - 12. అభ్యర్థి ఫంక్షన్ల సమితిని గుర్తించే ప్రాథమిక దశలు ఇవి; అంటే, మీరు ముందు నిర్వచించిన అన్ని ఫంక్షన్లను స్కాన్ చేస్తారు. - 13. ఖచ్చితంగా, ఒక ఫంక్షన్ ఇప్పటికే నిర్వచించబడితే, దానిని పిలుస్తారు. - 14. కాబట్టి, కంపైలర్ ఈ కాల్‌కు ముందు ఇప్పటివరకు అందుకున్న అన్ని నిర్వచనాలను స్కాన్ చేస్తుంది మరియు అభ్యర్థి ఫంక్షన్ల సమితిని సృష్టిస్తుంది. - 15. అప్పుడు, ఇది అభ్యర్థి ఫంక్షన్ల సమితి ద్వారా స్కాన్ చేస్తుంది, ఇది సాధ్యమయ్యే ఫంక్షన్ల సమితిని కనుగొనడానికి అభ్యర్థి ఫంక్షన్ల సమితికి పాయింట్ స్కాన్.ఇది పారామితుల సంఖ్యకు అనుగుణంగా ఉంటుంది. - 16. ఆపై, ఇది కష్టతరమైన భాగాన్ని చేయడానికి ప్రయత్నిస్తుంది, అనగా, ఉత్తమమైన సాధ్యమయ్యే ఫంక్షన్ ఏమిటో నిర్ణయించండి. - 17. మరియు, దీన్ని చేయడానికి ఇది క్రింది వ్యూహాలను ఉపయోగిస్తుంది. - 18. మరియు, దయచేసి ఇక్కడ ఆర్డర్ ముఖ్యం అని గమనించండి. - 19. అంటే, ఇది ఏకపక్షంగా కాకుండా వ్యూహాలకు వర్తిస్తుంది. - 20. కానీ, ఖచ్చితమైన సరిపోలిక, ప్రమోషన్, ప్రామాణిక రకం మార్పిడి మరియు వినియోగదారు నిర్వచించిన రకం మార్పిడి యొక్క ఈ క్రమంలో. - 21. ఇప్పుడు, ఖచ్చితంగా మేము ఇక్కడ అన్నింటినీ వివరించలేము. - 22. అందువల్ల, మేము చాలా తరువాతి దశలో కూడా దీనికి తిరిగి వస్తాము. - 23. ప్రస్తుతానికి, ఖచ్చితమైన సరిపోలికను ఉపయోగించి రిజల్యూషన్ ఎలా చేయబడుతుందనేదానికి ఒక సాధారణ ఉదాహరణను నేను మీకు చూపిస్తాను మరియు ఖచ్చితమైన మ్యాచ్ యొక్క స్థాయి మరియు ప్రమోషన్ యొక్క పరిధి గురించి కొంచెం మాట్లాడతాను. - 24. కాబట్టి, ఒక ఉదాహరణ తీసుకుందాం. - 25. పరామితితో ఓవర్లోడ్ రిజల్యూషన్ యొక్క ఉదాహరణ తీసుకుందాం. - 26. అనుకో; ఇక్కడ ఎగువన ఉన్న జాబితాపై దృష్టి పెట్టండి. - 27. ఈ జాబితాపై దృష్టి పెడదాం. - 28. ఒక నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) యొక్క f పేరు మరియు పారామితి 5.6 కు సరిగ్గా సరిపోయే ఫంక్షన్ ఏమిటో తెలుసుకోవడం మన లక్ష్యం అని అనుకుందాం. - 29. అంటే, నేను f (5.6) అని చెప్పినట్లయితే, వినియోగదారు చెప్పినట్లయితే, ఏ నిర్దిష్ట ఫంక్షన్ (ల) లో వినియోగదారు కాల్ చేయాలనుకుంటున్నారు. - 30. అందువల్ల, 8 వేర్వేరు ఫంక్షన్ (ఫంక్షన్) శీర్షికలు లేదా ఫంక్షన్ (ఫంక్షన్) నిర్వచనాలను కంపైలర్ (కంపైలర్) చూసే ముందు f (5.6) యొక్క కాల్ ఎదురైంది. - 31. మరియు, వాటిని సులభంగా సూచించడానికి మేము వాటిని F1 నుండి F8 అని పిలుస్తాము. - 32. ఇప్పుడు, మీరు ఎలా నిర్ణయిస్తారు? కాబట్టి, వాస్తవానికి f (5.6) యొక్క కాల్ వాటిలో ఒకదానితో సమానంగా ఉండాలి, తద్వారా ఒక నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుందని నేను చెప్పగలను. - 33. కాబట్టి, తీర్మానంలో దశలు ఏమిటి? మీరు ఇక్కడ చూస్తే, మీరు ప్రతిపాదనలలో దశలను ఉపయోగిస్తే, మొదట మీరు అభ్యర్థి ఫంక్షన్‌ను సృష్టించండి. - 34. ఈ సందర్భంలో, అభ్యర్థి ఫంక్షన్‌ను నిర్మించడానికి సరళమైన మార్గం పేరు కోసం వెతకడం మరియు సరిపోలే పేరు ఉన్న ఫంక్షన్‌ను కనుగొనడం. - 35. ఇక్కడ, మాకు ఇతర అంశాలు లేవు. - 36. కాబట్టి, మేము పేరు ద్వారా వెళ్తాము; పేరు ఇక్కడ f. - 37. కాబట్టి, f పేరు ఉన్న ఫంక్షన్లు ఏవి అని చూద్దాం; ఈ ఫంక్షన్, ఈ ఫంక్షన్, ఈ ఫంక్షన్, ఈ ఫంక్షన్. - 38. కాబట్టి ఎఫ్ 2, ఎఫ్ 3, ఎఫ్ 6, ఎఫ్ 8 నా అభ్యర్థులు. - 39. వాస్తవానికి, నేను f (5.6) అని చెబితే, g కి పరామితి ఉన్నప్పటికీ, g కి రెట్టింపు పారామితి రకాన్ని కలిగి ఉన్నప్పటికీ, ఆ ఫంక్షన్ (g) అని అర్ధం కాదు, ఇది 5.6 రకం. - 40. కానీ, నా పేర్లు భిన్నంగా ఉన్నందున నేను అర్థం కాలేదు. - 41. అందువల్ల, నా అభ్యర్థి పనులు నాకు ఈ నాలుగు పనులను ఇస్తాయి. - 42. కాబట్టి, ఇప్పుడు, నేను ఈ అభ్యర్థి ఫంక్షన్ పై మాత్రమే దృష్టి పెడుతున్నాను. - 43. ఇప్పుడు దీని నుండి, ఈ అభ్యర్థి ఆధారంగా నేను చేసే తదుపరి స్క్రీనింగ్ పని పారామితుల సంఖ్యపై ఆధారపడి ఉంటుంది. - 44. అందువల్ల, ఈ అభ్యర్థి ఫంక్షన్లలో, పారామితుల సంఖ్య ఏమిటో నేను చూస్తున్నాను. - 45. కాబట్టి, నేను ఎఫ్ 2 ని చూస్తే, అది 0; నేను ఎఫ్ 3 ని చూస్తే, అది 1; నేను ఎఫ్ 6 ను చూస్తే, అది 2 లేదా 1 మరియు నేను చూస్తే అది 2. - 46. అందువల్ల, సంబంధిత అభ్యర్థి యొక్క విధులను పిలవడానికి అవసరమైన పారామితులు ఇవి. - 47. మరియు, మనకు ఇక్కడ ఎన్ని పారామితులు ఉన్నాయి? 5.6 - ఒక పరామితి. - 48. రెండవది, అది తిరస్కరించబడిందని వెంటనే పేర్కొంది. - 49. నేను f (5.6) నుండి F2 కి కాల్ చేయలేను. - 50. నేను ఒకే విధంగా చెప్పలేను ఎందుకంటే దీనికి రెండు పారామితులు అవసరం. - 51. కాబట్టి, నా ఎంపిక ఈ రెండింటికి దిమ్మదిరుగుతుంది; ఇది ఎఫ్ 3 లేదా ఎఫ్ 6. - 52. అందువల్ల, నేను వాటిని సాధ్యమయ్యే ఫంక్షన్ల సమితి అని పిలుస్తాను. - 53. ఇప్పుడు ఎఫ్ 3 మరియు ఎఫ్ 6 మధ్య, ఏది ఉపయోగించాలో నేను నిర్ణయించుకోవాలి. - 54. అందువల్ల, నేను వాస్తవానికి F3 ఫంక్షన్‌ను పిలుస్తున్నానని అనుకోవచ్చు, దీనికి సన్నిహిత పరామితి అవసరం. - 55. కాబట్టి, నేను ఫంక్షన్ (ఫంక్షన్) F3 అని పిలవాలనుకుంటే? ఈ పరామితి వాస్తవానికి డబుల్ పరామితి అని జరుగుతుంది; 5.6 రెట్టింపు. - 56. కాబట్టి, అది ఎఫ్ 3 అని పిలవాలంటే, ఈ డబుల్‌ను పూర్ణాంకానికి మార్చాలి; అంటే, కొన్ని తొలగింపులు జరగాలి. - 57. నిజానికి, కాల్ F5 అవుతుంది. - 58. ఆపై, నేను దానిని కాల్ చేయగలను. - 59. లేకపోతే, నేను F6 కి కాల్ చేయవచ్చు, ఇక్కడ, ఇది f (మొదటి పరామితిగా 5.6, రెండవ పరామితి అప్రమేయం). - 60. కాబట్టి, ఈ కాల్ {f (5.6,3.4) be కావచ్చు. - 61. కాబట్టి, అది కాల్ లేదా కాల్. - 62. ఇప్పుడు, ఖచ్చితమైన మ్యాచ్ నేను దీన్ని ఎన్నుకుంటానని చెప్తుంది ఎందుకంటే ఇక్కడ పారామితి రకం, అధికారిక పారామితి మరియు వాస్తవ పరామితి రకం ఈ రెండు మ్యాచ్‌లు. - 63. ఈ రెండు రెట్టింపు. - 64. దీనికి మరియు దీనికి మధ్య, నేను మార్చాల్సిన అవసరం రెట్టింపు. - 65. నేను మార్చాలి, నిజంగా దాన్ని కొనసాగించండి. - 66. కాబట్టి, ఇది ఇష్టమైనది కాదు. - 67. అందువల్ల, ఖచ్చితమైన మ్యాచింగ్ స్ట్రాటజీని ఉపయోగించి, టైప్ డబుల్ నా పరిష్కరించిన ఫంక్షన్ F6 అని చెబుతుంది. - 68. అందువల్ల, నేను పూర్తి చేసిన తర్వాత, మీరు ఈ ఫంక్షన్‌ను పిలిచారో లేదో కంపైలర్ నిర్ణయిస్తుంది. - 69. ఇది ఓవర్లోడ్ రిజల్యూషన్ యొక్క ప్రక్రియ. - 70. మరియు, ఇది చాలా క్లిష్టమైన ప్రక్రియ, ఎందుకంటే ఇది చాలా రకాలను కలిగి ఉంటుంది. - 71. కాబట్టి, అనేక విభిన్న కేసులు ఉండవచ్చు. - 72. మరియు, కాబట్టి ఒక కంపైలర్ వ్రాసేటప్పుడు, దానిని బాగా తెలుసుకోవాలి. - 73. ప్రోగ్రామర్‌గా, కొన్ని ఆలోచనలు కలిగి ఉండటం మంచిది, ఎందుకంటే మీరు ఒక నిర్దిష్ట ఓవర్‌లోడ్‌ను అర్థం చేసుకోవచ్చు. - 74. కంపైలర్ వేరే రకం ఓవర్‌లోడ్‌ను ఉపయోగించినట్లయితే, మీరు సరైన స్థానంలో తప్పు ఫంక్షన్‌ను ఉపయోగిస్తున్నారు. - 75. అందువల్ల, ఈ వ్యూహాలలో కొన్నింటిపై మనం దృష్టి పెట్టాలి. - 76. ఖచ్చితమైన మ్యాచ్ మునుపటిది. - 77. దీన్ని పరిష్కరించడానికి వివిధ మార్గాలు ఉన్నాయి, కేవలం రీక్యాప్ చేయడానికి, ఉత్తమ ఫంక్షన్, ఖచ్చితమైన మ్యాచ్ ప్రమోషన్ మరియు మొదలైనవి. - 78. కాబట్టి, మీరు ఖచ్చితమైన మ్యాచ్ ఏమిటో చూస్తున్నారు. - 79. కాబట్టి, ఖచ్చితమైన మ్యాచ్; ఇవి ఖచ్చితమైన మ్యాచ్ యొక్క విభిన్న సందర్భాలు. - 80. అంటే, మీరు ఒక విలువను 1 విలువకు మార్చవచ్చు; మీరు వేరియబుల్ ఉపయోగిస్తుంటే, ఈ పదం మీకు తెలియకపోతే, l విలువ తొలగించబడుతుంది లేదా ప్రాథమికంగా వేరియబుల్ యొక్క చిరునామా. - 81. మరియు, శత్రుత్వం ఒక విలువ; నిజమైన విలువ. - 82. కాబట్టి, ఇది నేను a = b (ఒక అసైన్ బి) వ్రాస్తున్నట్లయితే, అప్పుడు నాకు ఆసక్తి ఉన్నది b యొక్క విలువ. - 83. మరియు, నాకు ఆసక్తి ఉన్న విషయం ఏమిటంటే, నేను వెళ్లి బి విలువను ఉంచగల స్థలం. - 84. కాబట్టి, ఇక్కడ నేను 1 విలువ మరియు విలువపై ఆసక్తి కలిగి ఉన్నాను. - 85. కాబట్టి, మీరు 1 విలువ నుండి rvalue కు మార్చవలసి ఉంటుంది. - 86. ఇతర అవకాశాలు ఇలా ఉంటాయి, ఇక్కడ మీరు మార్పిడి చేస్తారు మరియు మీరు శ్రేణిని పాస్ చేయడానికి ప్రయత్నిస్తున్నారు, కాని వాస్తవ ఫంక్షన్‌కు పాయింటర్ అవసరం. - 87. మీరు ప్రాథమికంగా శ్రేణులను పాయింటర్లుగా మార్చవచ్చు. - 88. మీరు ఒక ఫంక్షన్‌ను పాయింటర్‌గా మార్చవచ్చు. - 89. ఉదాహరణకు, ఇది ఫంక్షన్ పాయింటర్. - 90. ఫంక్షన్ పాయింటర్లు ఏమిటో మనం చూశాము. - 91. ఇది నేను పరిష్కరించడానికి ప్రయత్నిస్తున్న ఫంక్షన్. - 92. అంటే, రెండవ పరామితి ఫంక్షన్ పాయింటర్; ఈ ప్రత్యేక పని సూచిక. - 93. కానీ, నేను దాటినది వాస్తవానికి ఒక ఫంక్షన్. - 94. నేను పాయింటర్ పాస్ చేయలేదు. - 95. కాబట్టి, నేను తప్పక పాస్ చేయాలి మరియు ఇది పాయింటర్ అయిన జి. - 96. అయితే, నేను ఫంక్షన్‌కు పేరు పెట్టాను. - 97. కాబట్టి, ఈ మార్పిడి మ్యాచ్‌గా అనుమతించబడుతుంది. - 98. మరియు, నేను పాయింటర్లను పాయింటర్లుగా మార్చగలను. - 99. కాబట్టి, ఇవి ఓవర్‌లోడ్ రిజల్యూషన్‌ను ఉపయోగించే ఖచ్చితమైన సరిపోలిక యొక్క విభిన్న సందర్భాలు. - 100. అదనంగా, మీరు ప్రమోషన్లు మరియు మార్పిడులు తీసుకోవచ్చు. - 101. ఉదాహరణకు, నేను ఒక అక్షరాన్ని పూర్ణాంకానికి, ఎనుమ్ నుండి పూర్ణాంకానికి, బూల్ పూర్ణాంకానికి మార్చగలను. - 102. లేదా, నేను డబుల్ ఫ్లోట్‌గా మార్చగలను, ఇతర రకాల సమగ్ర మార్పిడుల మధ్య తేలుతాను; ఆ రకాలను అన్ని రకాల పాయింటర్లకు మార్చవచ్చు. - 103. కాబట్టి, ఈ ప్రమోషన్లు మరియు పరివర్తనాలన్నీ ఓవర్‌లోడ్ రిజల్యూషన్ కోసం కూడా ఉపయోగించబడతాయి. - 104. ఇది మీకు ఒక సంగ్రహావలోకనం ఇవ్వడానికి మాత్రమే. - 105. మేము C ++ లో సాధ్యమయ్యే వివిధ రకాల ఓవర్‌లోడింగ్ గురించి మాట్లాడేటప్పుడు చాలా కాలం తరువాత దీనికి వస్తాము. - 106. కాబట్టి, ఇది మీకు ప్రాథమిక ఆలోచనను ఇవ్వడం. - 107. ఇప్పుడు, నేను పూర్తి చేస్తాను. - 108. నేను పూర్తి చేయడానికి ముందు, ఓవర్‌లోడ్ రిజల్యూషన్ వివిధ సందర్భాల్లో విఫలం కావచ్చని కూడా చూపిస్తాను. - 109. మరియు, మీరు ఆ వ్యక్తుల గురించి జాగ్రత్తగా ఉండాలి. - 110. ఉదాహరణకు, ఈ మూడు రచనలను ఇక్కడ చూడండి; ఫంక్షన్ 1 లో ఫ్లోట్ ఉంది, ఫంక్షన్ 2 కి రెండు పారామితులు ఉన్నాయి, ఫంక్షన్ 2 లో ఒక డిఫాల్ట్ తో రెండు పారామితులు కూడా ఉన్నాయి. - 111. మరియు, ఇది మీరు చేయడానికి ప్రయత్నిస్తున్న ఉపయోగం. - 112. కాబట్టి, మీరు దాన్ని పరిష్కరించడానికి ప్రయత్నిస్తే, మొదట కాల్ చేయండి - 1, ఇది రెండు పారామితులను తీసుకుంటుంది, అప్పుడు మీ అభ్యర్థులు ఏమిటి? మూడు విధులు మీ అభ్యర్థులు; ఫంక్షన్ 1, 2, 3, ఎందుకంటే పేరు సరిపోతుంది. - 113. ఇప్పుడు, ఆచరణీయమైనది ఏమిటి? సాధ్యమయ్యే పారామితుల సంఖ్యను చూస్తే. - 114. ఇది ఫంక్షన్ 2 మరియు ఫంక్షన్ 3. - 115. ఇప్పుడు ఈ రెండింటి మధ్య ఫంక్షన్ 2 మరియు ఫంక్షన్ 3 లలో ఏది ఉత్తమమైనది? P ఏది ఉత్తమమో చెప్పడం కష్టం, ఎందుకంటే p ఇక్కడ ఫ్లోట్, ఇది ఈ రెండు ఫంక్షన్ల యొక్క మొదటి పారామితి రకానికి సరిపోతుంది. - 116. మనం సెకనులో చూస్తే, ఇది s, int, ఇది ఈ రెండు ఫంక్షన్ల యొక్క రెండవ పారామితి రకానికి అనుగుణంగా ఉంటుంది. - 117. అందువల్ల, ఫంక్షన్ 2 మరియు ఫంక్షన్ 3 మధ్య పరిష్కరించడం మీకు సాధ్యం కాదు. - 118. కాబట్టి, మాకు అలాంటి కాల్ ఉంటే, కంపైలర్ తిరిగి వచ్చి మీకు చెప్తుంది, అది అస్పష్టంగా ఉంది. - 119. కంపైలర్ "నేను అయోమయంలో ఉన్నాను, ఏమి చేయాలో నాకు తెలియదు" అని చెబుతుంది. - 120. కాబట్టి, ఇవి వివిక్త కేసులు, ఇక్కడ ఓవర్‌లోడ్ రిజల్యూషన్ విఫలమవుతుంది. - 121. రెండవది మనం ఒక ఫంక్షన్ కోసం ఒక పరామితిని మాత్రమే ఉపయోగిస్తున్న మరొక సందర్భం. - 122. కాబట్టి, సహజంగానే మీ అభ్యర్థులు ముగ్గురూ మళ్ళీ. - 123. అయితే, మీ సాధ్యమయ్యేది రెండు ఆచరణీయమైనది కాదు ఎందుకంటే ఇక్కడ మీరు కేవలం ఒక పరామితిని ఉపయోగిస్తున్నారు. - 124. ఫంక్షన్ 2 కి రెండు పారామితులు అవసరం. - 125. కాబట్టి, ఈ రెండూ ఆచరణీయమైనవి. - 126. అయితే, ఈ రెండూ సాధ్యమైతే, మీరు వాటి మధ్య తేలికగా పరిష్కరించలేరు ఎందుకంటే మీరు మార్పిడి ద్వారా, Int యొక్క ఫ్లోట్ ద్వారా ప్రచారం చేయవచ్చు; మేము ఇప్పుడే చూశాము - 127. లేదా, ఇది అప్రమేయంగా 3 కాల్స్ చేయవచ్చు. - 128. మరియు, ఇది మళ్ళీ తేలుటకు మరొక ప్రమోషన్. - 129. కాబట్టి, రెండూ ఒకే రకమైన, మీకు తెలిసిన, ప్రయత్నం, ఒకే రకమైన సంక్లిష్టతను కలిగి ఉంటాయి. - 130. కాబట్టి, ఇది అస్పష్టతకు దారితీస్తుంది. - 131. అందువల్ల, మీరు ఓవర్‌లోడ్ ఫంక్షన్లను వ్రాసినప్పుడల్లా, అలాంటి సందర్భాలు మీ కోడ్‌లో లేవని లేదా కంపైలర్ (కంపైలర్) దానిని కంపైల్ చేయడానికి నిరాకరించి, అస్పష్టత ఉందని చెబితే, దయచేసి ఈ పరిస్థితులలో కొన్నింటిని చూడండి . - 132. ఇప్పుడు మీ కోడ్, ఇప్పుడు మేము డిఫాల్ట్ పారామితులను చూశాము మరియు ఫంక్షన్ ఓవర్లోడింగ్ చూశాము. - 133. ఇప్పుడు, మేము వాటిని ఒకే మాడ్యూల్‌లో ఉంచడానికి కారణం అవి ప్రాథమికంగా ఉండటం మాత్రమే అని మీరు చూడవచ్చు; ప్రధానంగా అవి డిఫాల్ట్ పారామితి విషయంలో తప్ప, డిఫాల్ట్ పారామితి విషయంలో తప్ప, అదే లక్షణం. - 134. భాషలో మొత్తం వ్యవస్థ ఒకేలా ఉంటుంది. - 135. కాబట్టి, మేము ఇక్కడ ఎడమ మరియు కుడి నిలువు వరుసల నుండి ఈ రెండు కోడ్‌లను పరిశీలిస్తే మరియు మీరు ప్రధాన ఫంక్షన్‌ను పరిశీలిస్తే, ఇక్కడ ప్రధాన ఫంక్షన్ ఒకే విధంగా ఉంటుంది. - 136. ఇది, ఈ రెండింటిపై ఒకే కోడ్. - 137. ఇక్కడ మనకు రెండు ఫంక్షన్లతో ఫంక్షన్ డిఫాల్ట్ ఉంది మరియు ఇక్కడ మనకు మూడు ఫంక్షన్లు ఓవర్లోడ్ ఉన్నాయి. - 138. ఇప్పుడు కాల్స్ సందర్భంలో, మూడు కాల్స్ ఒకే ఫంక్షన్‌ను పరిష్కరిస్తాయి. - 139. అలాగే, ఇది మీరు ఎన్ని పారామితులను ఉపయోగిస్తున్నారనే దానిపై ఆధారపడి ఉంటుంది. - 140. మరియు ఇక్కడ, వారు సంబంధిత పనుల కోసం రిజల్యూషన్ చేస్తారు, దానిపై ఆధారపడి ఇది సాధారణ రిజల్యూషన్; ఎందుకంటే ఈ సందర్భాలలో, మీరు అర్థం చేసుకోగలిగినట్లుగా, ముగ్గురు అభ్యర్థులు మాత్రమే సెట్‌లో ఉంటారు. - 141. మరియు, ప్రతి సందర్భంలోనూ సాధ్యమయ్యే సెట్‌లో ఒకే ఒక ఫంక్షన్ ఉంటుంది. - 142. కాబట్టి, చూడటానికి ఏమీ లేదు. - 143. కాబట్టి, ప్రాథమికంగా మీరు ఆలోచించగలిగేది ఏమిటంటే, మీరు ఫంక్షన్ యొక్క సమితిని, ఫంక్షన్ యొక్క పారామితులను డిఫాల్ట్ చేస్తే, మీకు ఎల్లప్పుడూ డిఫాల్ట్ పారామితి ఉంటుంది, ఈ కాల్ సైట్‌లో ఉండవచ్చు లేదా ఉనికిలో ఉండకపోవచ్చు. . - 144. కాల్ సైట్లో. - 145. దానిపై ఆధారపడి, మీరు ఒకే ఫంక్షన్ కోసం రెండు వేర్వేరు సంతకాలను సృష్టిస్తున్నారు. - 146. అందువల్ల, నేను చెప్పేది ఏమిటంటే, నేను ఈ ఫంక్షన్ వ్రాస్తే; అంటే, నేను Int (int) int (int) తో int (int) అని చెప్పగలను, ఇది ప్రాథమికంగా ఈ ఓవర్లోడ్. - 147. నేను రెండవ పరామితిని వదిలివేయగలనని కూడా దీని అర్థం. - 148. కాబట్టి, నేను దీనిని ఒక పూర్ణాంకంతో (పూర్ణాంకానికి) చెప్పగలను, ఇది ఈ ఓవర్లోడ్. - 149. నేను ఏ పరామితిని పేర్కొనలేనని కూడా దీని అర్థం. - 150. పరామితి లేకుండా కాల్ చేయండి, ఇది ఈ ఓవర్లోడ్. - 151. అందువల్ల, డిఫాల్ట్ పరామితి ప్రాథమికంగా ఓవర్‌లోడింగ్ ఫంక్షన్ యొక్క ప్రత్యేక సందర్భం తప్ప మరొకటి కాదు. - 152. అదనపు లక్షణంతో ఇది పరామితి విలువతో పాటు ప్రారంభంలో ఉన్న ఓవర్‌లోడ్ విలువను కూడా కలిగి ఉంటుంది. - 153. లేకపోతే, ఫంక్షన్ సైట్‌ను బట్టి, అటువంటి కాల్ సైట్ లేదా ఫంక్షన్‌కు కట్టుబడి ఉండేది, మళ్ళీ ఓవర్‌లోడ్ రిజల్యూషన్ సమస్య. - 154. కాబట్టి, ఇప్పుడు సహజంగా మీరు ఫంక్షన్ ఓవర్‌లోడింగ్‌తో డిఫాల్ట్ పారామితులను ఉపయోగించవచ్చు. - 155. మునుపటి కొన్ని ఉదాహరణలు, నేను ఇప్పటికే ఉపయోగించాను. - 156. కానీ, ఇక్కడ నేను ఓవర్‌లోడ్ ఫంక్షన్ల మధ్య కొన్ని పారామితులను డిఫాల్ట్ చేయగలనని స్పష్టంగా చర్చించాలనుకుంటున్నాను. - 157. కానీ, మీరు కాల్ సైట్ నుండి డిఫాల్ట్ పారామితులతో మొత్తం ఫంక్షన్లను పరిష్కరించగలిగినంత వరకు, ఈ ఉపయోగాలన్నీ చక్కగా ఉంటాయి. - 158. కాబట్టి, ఇక్కడ మళ్ళీ ఒక ఉదాహరణ ఇక్కడ ఉంది. - 159. కాబట్టి, ఏరియా ఫంక్షన్, మాకు ఈ ఫంక్షన్ ఉంది, మేము ఇంతకు ముందు చూశాము. - 160. కాబట్టి, రెండింటికి ఇక్కడ రెండు పారామితులు ఉన్నాయి. - 161. అవి వివిధ రకాలు. - 162. మరియు, ఈ సందర్భంలో ఒక పరామితి అప్రమేయం. - 163. కాబట్టి, మేము ఈ కాల్ చేస్తే, ఈ ఫంక్షన్‌ను మాత్రమే పరామితితో పిలుస్తారు. - 164. ఇది ఇక్కడ పరిష్కరించబడుతుంది. - 165. మేము ఇలా చెబితే, z రకం రెట్టింపు మరియు y రకం పూర్ణాంకం. - 166. కాబట్టి, మీరు మొదట ఫంక్షన్‌కు కాల్ చేయలేరు. - 167. మేము రెండవ ఫంక్షన్ అని పిలుస్తాము ఎందుకంటే మొదటి పరామితి రెట్టింపుగా సరిపోతుంది. - 168. మరియు, Int (int) ను డబుల్ (డబుల్) గా మార్చడం కంటే int (int) ను డబుల్ (డబుల్) గా మార్చడం చాలా సులభం ఎందుకంటే మీరు డబుల్ (డబుల్) ను int (int) గా మార్చినట్లయితే, మీరు సమాచారం ఇవ్వండి. - 169. మీరు Int (int) ను డబుల్ (డబుల్) గా మార్చినట్లయితే, మీరు సమాచారాన్ని కోల్పోరు. - 170. కాబట్టి, ఇది ఒక ప్రచార వ్యూహం, ఇది బైండింగ్ ఉంటుందని మీకు తెలియజేస్తుంది, ఎందుకంటే ఇది ఇక్కడ బంధిస్తుంది మరియు ఇది ఇక్కడ బంధిస్తుంది. - 171. ఈ సమయంలో మేము చూపించాము. - 172. అందువల్ల, బాటమ్ లైన్ మేము వివరించడానికి ప్రయత్నిస్తున్నాము, డిఫాల్ట్ పరామితి మరియు ఫంక్షన్ ఓవర్లోడింగ్ మొత్తం విషయం పరిష్కరించబడే వరకు కలపవచ్చు. వెళ్ళవచ్చు. - 173. మరియు, వాస్తవానికి అది విఫలం కావచ్చు. - 174. ఉదాహరణకు, ఇది, ఏదో ఒక విధంగా మనం ఇంతకు ముందు చూశాము. - 175. కానీ మళ్ళీ, ఇక్కడ ఓవర్లోడ్ చేయబడిన మూడు ఫంక్షన్లు ఉన్నాయని ప్రత్యేకంగా గమనించండి; ఇది సున్నా పరామితి, ఇది ఒక పరామితి మరియు ఇది రెండు పారామితులు. - 176. కాబట్టి, ఈ మూడు కాల్స్ ఖచ్చితంగా పరిష్కరించగలవు. - 177. ఈ సాధ్యమయ్యే ఫంక్షన్ సెట్ యొక్క ప్రతి సందర్భంలో, ప్రతి ఒక్కటి ఒకే ఫంక్షన్ కలిగి ఉంటుంది; చెయ్యగలుగుట - 178. కానీ, మీరు ఈ ఓవర్‌లోడ్ ఫంక్షన్‌లో ఒకదానికి డిఫాల్ట్ పరామితిని నమోదు చేసినప్పుడు, మీకు సమస్య ఉంది ఎందుకంటే ఇప్పుడు ఈ ఫంక్షన్ (ఫంక్షన్) లో పరామితి (పరామితి) ఉంది లేదా శూన్య పరామితి (పరామితి) కావచ్చు. - 179. కాబట్టి, నేను సున్నా పరామితితో ఫంక్షన్ కాల్ వ్రాసినప్పుడు, మీరు ఈ రెండింటినీ మీ సాధ్యమయ్యే సెట్‌లో కలిగి ఉంటారు. - 180. మరియు, పరామితి లేనందున. - 181. మీరు ప్రయత్నించగల సరిపోలిక లేదు ఎందుకంటే పరామితి లేకపోతే, అసలు పరామితి రకం మరియు అధికారిక పరామితి రకం మధ్య మీరు ఏ విధమైన సరిపోలికను చూడబోతున్నారు. - 182. అందువల్ల, కంపైలర్ పరిష్కరించదు. - 183. మరియు, ఇది మళ్ళీ ఒక సాధారణ కంపైలర్ నుండి. - 184. ఇది మీకు అందుతున్న దోష సందేశం. - 185. మరియు, కంపైలర్ ఏమి చెబుతుందో చూడండి; ఓవర్‌లోడ్ అనేది ఒక ఫంక్షన్‌కు మసక కాల్. - 186. మరియు, ఇది ఈ రెండు ఫంక్షన్ల మధ్య పరిష్కరించలేమని చెప్పింది. - 187. అందువల్ల, మీరు ఓవర్‌లోడ్‌తో డిఫాల్ట్ పారామితులను ఉపయోగించినప్పుడు, మీరు ఓవర్‌లోడింగ్‌ను చూడలేరని గుర్తుంచుకోవాలి లేదా డిఫాల్ట్ పరామితిని చూడలేరు. - 188. వేర్వేరు ఓవర్‌లోడ్‌లకు కారణమయ్యే డిఫాల్ట్ పారామితులను మీరు చూడాలి మరియు అవి వేర్వేరు ఓవర్‌లోడ్‌లు అయినా, మేము వివరించే యంత్రాంగం యొక్క ఫ్రేమ్‌వర్క్ ద్వారా వాటిని నిజంగా పరిష్కరించవచ్చు. - 189. కాబట్టి ఇది ఇది; ఇవి లక్షణాలు. - 190. కాబట్టి, చివరికి నేను ఈ మాడ్యూల్‌లో సి ++ భాష యొక్క ప్రధాన అంశాన్ని పరిష్కరించడానికి ప్రయత్నించానని, ఇది ఫంక్షన్ ఓవర్‌లోడింగ్ అని చెప్పాలనుకుంటున్నాను. - 191. మొదట, డిఫాల్ట్ పారామితుల యొక్క భావనను మేము పరిగణనలోకి తీసుకున్నాము, ఇది మేము తరువాత వివరించాము, ఇది ఓవర్లోడింగ్ ఫంక్షన్ యొక్క ప్రత్యేక సందర్భం. - 192. డిఫాల్ట్ పారామితులు వాటి డిఫాల్ట్ విలువలను అందించడానికి మరియు ఫంక్షన్ లైబ్రరీలను ఉపయోగించడాన్ని సులభతరం చేయడానికి పెద్ద సంఖ్యలో పారామితులతో ఫంక్షన్లను వ్రాయడం చాలా సులభం చేస్తాయి. - 193. మరియు, ఫంక్షన్ ఓవర్‌లోడింగ్ అనేది మరొక పారామితి రకాలు భిన్నంగా ఉన్నంత వరకు ఒకే ఫంక్షన్ పేరుతో బహుళ ఫంక్షన్లను వ్రాయడానికి అనుమతించే మరొక లక్షణం. - 194. అందువల్ల, ఈ విషయంలో మేము వివిధ ప్రత్యేకతలను పరిశీలించాము. - 195. మరియు, మేము ప్రాథమిక స్టాటిక్ పాలిమార్ఫిజం గురించి మాట్లాడాము. - 196. మరియు ముఖ్యంగా, మేము అర్థం చేసుకున్న యంత్రాంగాన్ని కూడా చర్చించాము; ఓవర్లోడ్ కోసం వివిధ విధులను పరిష్కరించగల యంత్రాంగం యొక్క చట్రాన్ని మేము చర్చించాము. - 197. దీనితో, మేము ఈ మాడ్యూల్‌ను ముగించాము. - 198. మరియు, తరువాతి వాటిలో మేము అదే భావనను కొనసాగిస్తాము. - 199. మరియు, ఆపరేటర్ల విషయంలో C ++ లో కూడా ఇలాంటి ఓవర్‌లోడింగ్ భావనను అమలు చేయవచ్చని చూడండి, దీనిని ఆపరేటర్ ఓవర్‌లోడింగ్ అని పిలుస్తారు. - 200. + C++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 8 కు స్వాగతం. + మేము ఇప్పటికే డిఫాల్ట్ పారామితులను చర్చించాము మరియు ఫంక్షన్ ఓవర్‌లోడింగ్, ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయడం మరియు ఫంక్షన్‌లను ఓవర్‌లోడ్ చేయడం ఎలా అనే దాని గురించి మేము చర్చించాము. అంటే, సి ++ ఒకే పేరుతో బహుళ ఫంక్షన్లను కలిగి ఉండవచ్చు. + కానీ, పారామితుల రకం, సంఖ్య మరియు పారామితుల రకాన్ని బట్టి అవి విభిన్నంగా ఉంటాయి. + మరియు, రిటర్న్ రకంతో ఫంక్షన్లను ఓవర్లోడ్ చేయలేమని మేము చూశాము. + ఇప్పుడు, ఓవర్లోడ్ రిజల్యూషన్ యొక్క సంగ్రహావలోకనం ఇవ్వడానికి మేము ముందుకు వెళ్తాము. + ఓవర్లోడ్ రిజల్యూషన్ అనేది కంపైలర్ అనేక అభ్యర్థి ఫంక్షన్ల మధ్య నిర్ణయించే ప్రక్రియ, ఓవర్లోడ్ ఫంక్షన్ యొక్క బహుళ అభ్యర్థి నిర్వచనాలు ఉన్నాయి. + కంపైలర్ అతను ఏది కట్టాలి అని నిర్ణయించుకోవాలి. + ఇది ఓవర్‌లోడ్ రిజల్యూషన్, ఫంక్షన్ ఓవర్‌లోడింగ్‌లో కొద్దిగా అభివృద్ధి చెందిన అంశం. + కాబట్టి, మీరు ఈ దశలో నిర్వహించడం కొంచెం కష్టమైతే, మీరు దానిని నిషేధంలో ఉంచవచ్చు మరియు సి ++ లో ఓవర్‌లోడింగ్ యొక్క లోతు గురించి చర్చించినప్పుడు మీరు తిరిగి రావచ్చు. + అందువల్ల, ఓవర్లోడ్ పనులను ఎలా పరిష్కరించాలో ఇక్కడ మీకు ప్రాథమిక ఆలోచన ఇవ్వడానికి ప్రయత్నిస్తాము. + విషయాలు సరళంగా ఉంచడానికి నేను కేవలం ఒక పరామితితో ఇక్కడ ఉదాహరణను ఉపయోగిస్తున్నాను. + అభ్యర్థి ఫంక్షన్ల సమితిని గుర్తించే ప్రాథమిక దశలు ఇవి; అంటే, మీరు ముందు నిర్వచించిన అన్ని ఫంక్షన్లను స్కాన్ చేస్తారు. + ఖచ్చితంగా, ఒక ఫంక్షన్ ఇప్పటికే నిర్వచించబడితే, దానిని పిలుస్తారు. + కాబట్టి, కంపైలర్ ఈ కాల్‌కు ముందు ఇప్పటివరకు అందుకున్న అన్ని నిర్వచనాలను స్కాన్ చేస్తుంది మరియు అభ్యర్థి ఫంక్షన్ల సమితిని సృష్టిస్తుంది. + అప్పుడు, ఇది అభ్యర్థి ఫంక్షన్ల సమితి ద్వారా స్కాన్ చేస్తుంది, ఇది సాధ్యమయ్యే ఫంక్షన్ల సమితిని కనుగొనడానికి అభ్యర్థి ఫంక్షన్ల సమితికి పాయింట్ స్కాన్.ఇది పారామితుల సంఖ్యకు అనుగుణంగా ఉంటుంది. + ఆపై, ఇది కష్టతరమైన భాగాన్ని చేయడానికి ప్రయత్నిస్తుంది, అనగా, ఉత్తమమైన సాధ్యమయ్యే ఫంక్షన్ ఏమిటో నిర్ణయించండి. + మరియు, దీన్ని చేయడానికి ఇది క్రింది వ్యూహాలను ఉపయోగిస్తుంది. + మరియు, దయచేసి ఇక్కడ ఆర్డర్ ముఖ్యం అని గమనించండి. + అంటే, ఇది ఏకపక్షంగా కాకుండా వ్యూహాలకు వర్తిస్తుంది. + కానీ, ఖచ్చితమైన సరిపోలిక, ప్రమోషన్, ప్రామాణిక రకం మార్పిడి మరియు వినియోగదారు నిర్వచించిన రకం మార్పిడి యొక్క ఈ క్రమంలో. + ఇప్పుడు, ఖచ్చితంగా మేము ఇక్కడ అన్నింటినీ వివరించలేము. + అందువల్ల, మేము చాలా తరువాతి దశలో కూడా దీనికి తిరిగి వస్తాము. + ప్రస్తుతానికి, ఖచ్చితమైన సరిపోలికను ఉపయోగించి రిజల్యూషన్ ఎలా చేయబడుతుందనేదానికి ఒక సాధారణ ఉదాహరణను నేను మీకు చూపిస్తాను మరియు ఖచ్చితమైన మ్యాచ్ యొక్క స్థాయి మరియు ప్రమోషన్ యొక్క పరిధి గురించి కొంచెం మాట్లాడతాను. + కాబట్టి, ఒక ఉదాహరణ తీసుకుందాం. + పరామితితో ఓవర్లోడ్ రిజల్యూషన్ యొక్క ఉదాహరణ తీసుకుందాం. + అనుకో; ఇక్కడ ఎగువన ఉన్న జాబితాపై దృష్టి పెట్టండి. + ఈ జాబితాపై దృష్టి పెడదాం. + ఒక నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) యొక్క f పేరు మరియు పారామితి 5.6 కు సరిగ్గా సరిపోయే ఫంక్షన్ ఏమిటో తెలుసుకోవడం మన లక్ష్యం అని అనుకుందాం. + అంటే, నేను f (5.6) అని చెప్పినట్లయితే, వినియోగదారు చెప్పినట్లయితే, ఏ నిర్దిష్ట ఫంక్షన్ (ల) లో వినియోగదారు కాల్ చేయాలనుకుంటున్నారు. + అందువల్ల, 8 వేర్వేరు ఫంక్షన్ (ఫంక్షన్) శీర్షికలు లేదా ఫంక్షన్ (ఫంక్షన్) నిర్వచనాలను కంపైలర్ (కంపైలర్) చూసే ముందు f (5.6) యొక్క కాల్ ఎదురైంది. + మరియు, వాటిని సులభంగా సూచించడానికి మేము వాటిని F1 నుండి F8 అని పిలుస్తాము. + ఇప్పుడు, మీరు ఎలా నిర్ణయిస్తారు? కాబట్టి, వాస్తవానికి f (5.6) యొక్క కాల్ వాటిలో ఒకదానితో సమానంగా ఉండాలి, తద్వారా ఒక నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుందని నేను చెప్పగలను. + కాబట్టి, తీర్మానంలో దశలు ఏమిటి? మీరు ఇక్కడ చూస్తే, మీరు ప్రతిపాదనలలో దశలను ఉపయోగిస్తే, మొదట మీరు అభ్యర్థి ఫంక్షన్‌ను సృష్టించండి. + ఈ సందర్భంలో, అభ్యర్థి ఫంక్షన్‌ను నిర్మించడానికి సరళమైన మార్గం పేరు కోసం వెతకడం మరియు సరిపోలే పేరు ఉన్న ఫంక్షన్‌ను కనుగొనడం. + ఇక్కడ, మాకు ఇతర అంశాలు లేవు. + కాబట్టి, మేము పేరు ద్వారా వెళ్తాము; పేరు ఇక్కడ f. + కాబట్టి, f పేరు ఉన్న ఫంక్షన్లు ఏవి అని చూద్దాం; ఈ ఫంక్షన్, ఈ ఫంక్షన్, ఈ ఫంక్షన్, ఈ ఫంక్షన్. + కాబట్టి ఎఫ్ 2, ఎఫ్ 3, ఎఫ్ 6, ఎఫ్ 8 నా అభ్యర్థులు. + వాస్తవానికి, నేను f (5.6) అని చెబితే, g కి పరామితి ఉన్నప్పటికీ, g కి రెట్టింపు పారామితి రకాన్ని కలిగి ఉన్నప్పటికీ, ఆ ఫంక్షన్ (g) అని అర్ధం కాదు, ఇది 5.6 రకం. + కానీ, నా పేర్లు భిన్నంగా ఉన్నందున నేను అర్థం కాలేదు. + అందువల్ల, నా అభ్యర్థి పనులు నాకు ఈ నాలుగు పనులను ఇస్తాయి. + కాబట్టి, ఇప్పుడు, నేను ఈ అభ్యర్థి ఫంక్షన్ పై మాత్రమే దృష్టి పెడుతున్నాను. + ఇప్పుడు దీని నుండి, ఈ అభ్యర్థి ఆధారంగా నేను చేసే తదుపరి స్క్రీనింగ్ పని పారామితుల సంఖ్యపై ఆధారపడి ఉంటుంది. + అందువల్ల, ఈ అభ్యర్థి ఫంక్షన్లలో, పారామితుల సంఖ్య ఏమిటో నేను చూస్తున్నాను. + కాబట్టి, నేను ఎఫ్ 2 ని చూస్తే, అది 0; నేను ఎఫ్ 3 ని చూస్తే, అది 1; నేను ఎఫ్ 6 ను చూస్తే, అది 2 లేదా 1 మరియు నేను చూస్తే అది 2. + అందువల్ల, సంబంధిత అభ్యర్థి యొక్క విధులను పిలవడానికి అవసరమైన పారామితులు ఇవి. + మరియు, మనకు ఇక్కడ ఎన్ని పారామితులు ఉన్నాయి? 5.6 - ఒక పరామితి. + రెండవది, అది తిరస్కరించబడిందని వెంటనే పేర్కొంది. + నేను f (5.6) నుండి F2 కి కాల్ చేయలేను. + నేను ఒకే విధంగా చెప్పలేను ఎందుకంటే దీనికి రెండు పారామితులు అవసరం. + కాబట్టి, నా ఎంపిక ఈ రెండింటికి దిమ్మదిరుగుతుంది; ఇది ఎఫ్ 3 లేదా ఎఫ్ 6. + అందువల్ల, నేను వాటిని సాధ్యమయ్యే ఫంక్షన్ల సమితి అని పిలుస్తాను. + ఇప్పుడు ఎఫ్ 3 మరియు ఎఫ్ 6 మధ్య, ఏది ఉపయోగించాలో నేను నిర్ణయించుకోవాలి. + అందువల్ల, నేను వాస్తవానికి F3 ఫంక్షన్‌ను పిలుస్తున్నానని అనుకోవచ్చు, దీనికి సన్నిహిత పరామితి అవసరం. + కాబట్టి, నేను ఫంక్షన్ (ఫంక్షన్) F3 అని పిలవాలనుకుంటే? ఈ పరామితి వాస్తవానికి డబుల్ పరామితి అని జరుగుతుంది; 5.6 రెట్టింపు. + కాబట్టి, అది ఎఫ్ 3 అని పిలవాలంటే, ఈ డబుల్‌ను పూర్ణాంకానికి మార్చాలి; అంటే, కొన్ని తొలగింపులు జరగాలి. + నిజానికి, కాల్ F5 అవుతుంది. + ఆపై, నేను దానిని కాల్ చేయగలను. + లేకపోతే, నేను F6 కి కాల్ చేయవచ్చు, ఇక్కడ, ఇది f (మొదటి పరామితిగా 5.6, రెండవ పరామితి అప్రమేయం). + కాబట్టి, ఈ కాల్ {f (5.6,3.4) be కావచ్చు. + కాబట్టి, అది కాల్ లేదా కాల్. + ఇప్పుడు, ఖచ్చితమైన మ్యాచ్ నేను దీన్ని ఎన్నుకుంటానని చెప్తుంది ఎందుకంటే ఇక్కడ పారామితి రకం, అధికారిక పారామితి మరియు వాస్తవ పరామితి రకం ఈ రెండు మ్యాచ్‌లు. + ఈ రెండు రెట్టింపు. + దీనికి మరియు దీనికి మధ్య, నేను మార్చాల్సిన అవసరం రెట్టింపు. + నేను మార్చాలి, నిజంగా దాన్ని కొనసాగించండి. + కాబట్టి, ఇది ఇష్టమైనది కాదు. + అందువల్ల, ఖచ్చితమైన మ్యాచింగ్ స్ట్రాటజీని ఉపయోగించి, టైప్ డబుల్ నా పరిష్కరించిన ఫంక్షన్ F6 అని చెబుతుంది. + అందువల్ల, నేను పూర్తి చేసిన తర్వాత, మీరు ఈ ఫంక్షన్‌ను పిలిచారో లేదో కంపైలర్ నిర్ణయిస్తుంది. + ఇది ఓవర్లోడ్ రిజల్యూషన్ యొక్క ప్రక్రియ. + మరియు, ఇది చాలా క్లిష్టమైన ప్రక్రియ, ఎందుకంటే ఇది చాలా రకాలను కలిగి ఉంటుంది. + కాబట్టి, అనేక విభిన్న కేసులు ఉండవచ్చు. + మరియు, కాబట్టి ఒక కంపైలర్ వ్రాసేటప్పుడు, దానిని బాగా తెలుసుకోవాలి. + ప్రోగ్రామర్‌గా, కొన్ని ఆలోచనలు కలిగి ఉండటం మంచిది, ఎందుకంటే మీరు ఒక నిర్దిష్ట ఓవర్‌లోడ్‌ను అర్థం చేసుకోవచ్చు. + కంపైలర్ వేరే రకం ఓవర్‌లోడ్‌ను ఉపయోగించినట్లయితే, మీరు సరైన స్థానంలో తప్పు ఫంక్షన్‌ను ఉపయోగిస్తున్నారు. + అందువల్ల, ఈ వ్యూహాలలో కొన్నింటిపై మనం దృష్టి పెట్టాలి. + ఖచ్చితమైన మ్యాచ్ మునుపటిది. + దీన్ని పరిష్కరించడానికి వివిధ మార్గాలు ఉన్నాయి, కేవలం రీక్యాప్ చేయడానికి, ఉత్తమ ఫంక్షన్, ఖచ్చితమైన మ్యాచ్ ప్రమోషన్ మరియు మొదలైనవి. + కాబట్టి, మీరు ఖచ్చితమైన మ్యాచ్ ఏమిటో చూస్తున్నారు. + కాబట్టి, ఖచ్చితమైన మ్యాచ్; ఇవి ఖచ్చితమైన మ్యాచ్ యొక్క విభిన్న సందర్భాలు. + అంటే, మీరు ఒక విలువను 1 విలువకు మార్చవచ్చు; మీరు వేరియబుల్ ఉపయోగిస్తుంటే, ఈ పదం మీకు తెలియకపోతే, l విలువ తొలగించబడుతుంది లేదా ప్రాథమికంగా వేరియబుల్ యొక్క చిరునామా. + మరియు, శత్రుత్వం ఒక విలువ; నిజమైన విలువ. + కాబట్టి, ఇది నేను a = b (ఒక అసైన్ బి) వ్రాస్తున్నట్లయితే, అప్పుడు నాకు ఆసక్తి ఉన్నది b యొక్క విలువ. + మరియు, నాకు ఆసక్తి ఉన్న విషయం ఏమిటంటే, నేను వెళ్లి బి విలువను ఉంచగల స్థలం. + కాబట్టి, ఇక్కడ నేను 1 విలువ మరియు విలువపై ఆసక్తి కలిగి ఉన్నాను. + కాబట్టి, మీరు 1 విలువ నుండి rvalue కు మార్చవలసి ఉంటుంది. + ఇతర అవకాశాలు ఇలా ఉంటాయి, ఇక్కడ మీరు మార్పిడి చేస్తారు మరియు మీరు శ్రేణిని పాస్ చేయడానికి ప్రయత్నిస్తున్నారు, కాని వాస్తవ ఫంక్షన్‌కు పాయింటర్ అవసరం. + మీరు ప్రాథమికంగా శ్రేణులను పాయింటర్లుగా మార్చవచ్చు. + మీరు ఒక ఫంక్షన్‌ను పాయింటర్‌గా మార్చవచ్చు. + ఉదాహరణకు, ఇది ఫంక్షన్ పాయింటర్. + ఫంక్షన్ పాయింటర్లు ఏమిటో మనం చూశాము. + ఇది నేను పరిష్కరించడానికి ప్రయత్నిస్తున్న ఫంక్షన్. + అంటే, రెండవ పరామితి ఫంక్షన్ పాయింటర్; ఈ ప్రత్యేక పని సూచిక. + కానీ, నేను దాటినది వాస్తవానికి ఒక ఫంక్షన్. + నేను పాయింటర్ పాస్ చేయలేదు. + కాబట్టి, నేను తప్పక పాస్ చేయాలి మరియు ఇది పాయింటర్ అయిన జి. + అయితే, నేను ఫంక్షన్‌కు పేరు పెట్టాను. + కాబట్టి, ఈ మార్పిడి మ్యాచ్‌గా అనుమతించబడుతుంది. + మరియు, నేను పాయింటర్లను పాయింటర్లుగా మార్చగలను. + కాబట్టి, ఇవి ఓవర్‌లోడ్ రిజల్యూషన్‌ను ఉపయోగించే ఖచ్చితమైన సరిపోలిక యొక్క విభిన్న సందర్భాలు. + అదనంగా, మీరు ప్రమోషన్లు మరియు మార్పిడులు తీసుకోవచ్చు. + ఉదాహరణకు, నేను ఒక అక్షరాన్ని పూర్ణాంకానికి, ఎనుమ్ నుండి పూర్ణాంకానికి, బూల్ పూర్ణాంకానికి మార్చగలను. + లేదా, నేను డబుల్ ఫ్లోట్‌గా మార్చగలను, ఇతర రకాల సమగ్ర మార్పిడుల మధ్య తేలుతాను; ఆ రకాలను అన్ని రకాల పాయింటర్లకు మార్చవచ్చు. + కాబట్టి, ఈ ప్రమోషన్లు మరియు పరివర్తనాలన్నీ ఓవర్‌లోడ్ రిజల్యూషన్ కోసం కూడా ఉపయోగించబడతాయి. + ఇది మీకు ఒక సంగ్రహావలోకనం ఇవ్వడానికి మాత్రమే. + మేము C ++ లో సాధ్యమయ్యే వివిధ రకాల ఓవర్‌లోడింగ్ గురించి మాట్లాడేటప్పుడు చాలా కాలం తరువాత దీనికి వస్తాము. + కాబట్టి, ఇది మీకు ప్రాథమిక ఆలోచనను ఇవ్వడం. + ఇప్పుడు, నేను పూర్తి చేస్తాను. + నేను పూర్తి చేయడానికి ముందు, ఓవర్‌లోడ్ రిజల్యూషన్ వివిధ సందర్భాల్లో విఫలం కావచ్చని కూడా చూపిస్తాను. + మరియు, మీరు ఆ వ్యక్తుల గురించి జాగ్రత్తగా ఉండాలి. + ఉదాహరణకు, ఈ మూడు రచనలను ఇక్కడ చూడండి; ఫంక్షన్ 1 లో ఫ్లోట్ ఉంది, ఫంక్షన్ 2 కి రెండు పారామితులు ఉన్నాయి, ఫంక్షన్ 2 లో ఒక డిఫాల్ట్ తో రెండు పారామితులు కూడా ఉన్నాయి. + మరియు, ఇది మీరు చేయడానికి ప్రయత్నిస్తున్న ఉపయోగం. + కాబట్టి, మీరు దాన్ని పరిష్కరించడానికి ప్రయత్నిస్తే, మొదట కాల్ చేయండి - 1, ఇది రెండు పారామితులను తీసుకుంటుంది, అప్పుడు మీ అభ్యర్థులు ఏమిటి? మూడు విధులు మీ అభ్యర్థులు; ఫంక్షన్ 1, 2, 3, ఎందుకంటే పేరు సరిపోతుంది. + ఇప్పుడు, ఆచరణీయమైనది ఏమిటి? సాధ్యమయ్యే పారామితుల సంఖ్యను చూస్తే. + ఇది ఫంక్షన్ 2 మరియు ఫంక్షన్ 3. + ఇప్పుడు ఈ రెండింటి మధ్య ఫంక్షన్ 2 మరియు ఫంక్షన్ 3 లలో ఏది ఉత్తమమైనది? P ఏది ఉత్తమమో చెప్పడం కష్టం, ఎందుకంటే p ఇక్కడ ఫ్లోట్, ఇది ఈ రెండు ఫంక్షన్ల యొక్క మొదటి పారామితి రకానికి సరిపోతుంది. + మనం సెకనులో చూస్తే, ఇది s, int, ఇది ఈ రెండు ఫంక్షన్ల యొక్క రెండవ పారామితి రకానికి అనుగుణంగా ఉంటుంది. + అందువల్ల, ఫంక్షన్ 2 మరియు ఫంక్షన్ 3 మధ్య పరిష్కరించడం మీకు సాధ్యం కాదు. + కాబట్టి, మాకు అలాంటి కాల్ ఉంటే, కంపైలర్ తిరిగి వచ్చి మీకు చెప్తుంది, అది అస్పష్టంగా ఉంది. + కంపైలర్ "నేను అయోమయంలో ఉన్నాను, ఏమి చేయాలో నాకు తెలియదు" అని చెబుతుంది. + కాబట్టి, ఇవి వివిక్త కేసులు, ఇక్కడ ఓవర్‌లోడ్ రిజల్యూషన్ విఫలమవుతుంది. + రెండవది మనం ఒక ఫంక్షన్ కోసం ఒక పరామితిని మాత్రమే ఉపయోగిస్తున్న మరొక సందర్భం. + కాబట్టి, సహజంగానే మీ అభ్యర్థులు ముగ్గురూ మళ్ళీ. + అయితే, మీ సాధ్యమయ్యేది రెండు ఆచరణీయమైనది కాదు ఎందుకంటే ఇక్కడ మీరు కేవలం ఒక పరామితిని ఉపయోగిస్తున్నారు. + ఫంక్షన్ 2 కి రెండు పారామితులు అవసరం. + కాబట్టి, ఈ రెండూ ఆచరణీయమైనవి. + అయితే, ఈ రెండూ సాధ్యమైతే, మీరు వాటి మధ్య తేలికగా పరిష్కరించలేరు ఎందుకంటే మీరు మార్పిడి ద్వారా, Int యొక్క ఫ్లోట్ ద్వారా ప్రచారం చేయవచ్చు; మేము ఇప్పుడే చూశాము + లేదా, ఇది అప్రమేయంగా 3 కాల్స్ చేయవచ్చు. + మరియు, ఇది మళ్ళీ తేలుటకు మరొక ప్రమోషన్. + కాబట్టి, రెండూ ఒకే రకమైన, మీకు తెలిసిన, ప్రయత్నం, ఒకే రకమైన సంక్లిష్టతను కలిగి ఉంటాయి. + కాబట్టి, ఇది అస్పష్టతకు దారితీస్తుంది. + అందువల్ల, మీరు ఓవర్‌లోడ్ ఫంక్షన్లను వ్రాసినప్పుడల్లా, అలాంటి సందర్భాలు మీ కోడ్‌లో లేవని లేదా కంపైలర్ (కంపైలర్) దానిని కంపైల్ చేయడానికి నిరాకరించి, అస్పష్టత ఉందని చెబితే, దయచేసి ఈ పరిస్థితులలో కొన్నింటిని చూడండి . + ఇప్పుడు మీ కోడ్, ఇప్పుడు మేము డిఫాల్ట్ పారామితులను చూశాము మరియు ఫంక్షన్ ఓవర్లోడింగ్ చూశాము. + ఇప్పుడు, మేము వాటిని ఒకే మాడ్యూల్‌లో ఉంచడానికి కారణం అవి ప్రాథమికంగా ఉండటం మాత్రమే అని మీరు చూడవచ్చు; ప్రధానంగా అవి డిఫాల్ట్ పారామితి విషయంలో తప్ప, డిఫాల్ట్ పారామితి విషయంలో తప్ప, అదే లక్షణం. + భాషలో మొత్తం వ్యవస్థ ఒకేలా ఉంటుంది. + కాబట్టి, మేము ఇక్కడ ఎడమ మరియు కుడి నిలువు వరుసల నుండి ఈ రెండు కోడ్‌లను పరిశీలిస్తే మరియు మీరు ప్రధాన ఫంక్షన్‌ను పరిశీలిస్తే, ఇక్కడ ప్రధాన ఫంక్షన్ ఒకే విధంగా ఉంటుంది. + ఇది, ఈ రెండింటిపై ఒకే కోడ్. + ఇక్కడ మనకు రెండు ఫంక్షన్లతో ఫంక్షన్ డిఫాల్ట్ ఉంది మరియు ఇక్కడ మనకు మూడు ఫంక్షన్లు ఓవర్లోడ్ ఉన్నాయి. + ఇప్పుడు కాల్స్ సందర్భంలో, మూడు కాల్స్ ఒకే ఫంక్షన్‌ను పరిష్కరిస్తాయి. + అలాగే, ఇది మీరు ఎన్ని పారామితులను ఉపయోగిస్తున్నారనే దానిపై ఆధారపడి ఉంటుంది. + మరియు ఇక్కడ, వారు సంబంధిత పనుల కోసం రిజల్యూషన్ చేస్తారు, దానిపై ఆధారపడి ఇది సాధారణ రిజల్యూషన్; ఎందుకంటే ఈ సందర్భాలలో, మీరు అర్థం చేసుకోగలిగినట్లుగా, ముగ్గురు అభ్యర్థులు మాత్రమే సెట్‌లో ఉంటారు. + మరియు, ప్రతి సందర్భంలోనూ సాధ్యమయ్యే సెట్‌లో ఒకే ఒక ఫంక్షన్ ఉంటుంది. + కాబట్టి, చూడటానికి ఏమీ లేదు. + కాబట్టి, ప్రాథమికంగా మీరు ఆలోచించగలిగేది ఏమిటంటే, మీరు ఫంక్షన్ యొక్క సమితిని, ఫంక్షన్ యొక్క పారామితులను డిఫాల్ట్ చేస్తే, మీకు ఎల్లప్పుడూ డిఫాల్ట్ పారామితి ఉంటుంది, ఈ కాల్ సైట్‌లో ఉండవచ్చు లేదా ఉనికిలో ఉండకపోవచ్చు. . + కాల్ సైట్లో. + దానిపై ఆధారపడి, మీరు ఒకే ఫంక్షన్ కోసం రెండు వేర్వేరు సంతకాలను సృష్టిస్తున్నారు. + అందువల్ల, నేను చెప్పేది ఏమిటంటే, నేను ఈ ఫంక్షన్ వ్రాస్తే; అంటే, నేను Int (int) int (int) తో int (int) అని చెప్పగలను, ఇది ప్రాథమికంగా ఈ ఓవర్లోడ్. + నేను రెండవ పరామితిని వదిలివేయగలనని కూడా దీని అర్థం. + కాబట్టి, నేను దీనిని ఒక పూర్ణాంకంతో (పూర్ణాంకానికి) చెప్పగలను, ఇది ఈ ఓవర్లోడ్. + నేను ఏ పరామితిని పేర్కొనలేనని కూడా దీని అర్థం. + పరామితి లేకుండా కాల్ చేయండి, ఇది ఈ ఓవర్లోడ్. + అందువల్ల, డిఫాల్ట్ పరామితి ప్రాథమికంగా ఓవర్‌లోడింగ్ ఫంక్షన్ యొక్క ప్రత్యేక సందర్భం తప్ప మరొకటి కాదు. + అదనపు లక్షణంతో ఇది పరామితి విలువతో పాటు ప్రారంభంలో ఉన్న ఓవర్‌లోడ్ విలువను కూడా కలిగి ఉంటుంది. + లేకపోతే, ఫంక్షన్ సైట్‌ను బట్టి, అటువంటి కాల్ సైట్ లేదా ఫంక్షన్‌కు కట్టుబడి ఉండేది, మళ్ళీ ఓవర్‌లోడ్ రిజల్యూషన్ సమస్య. + కాబట్టి, ఇప్పుడు సహజంగా మీరు ఫంక్షన్ ఓవర్‌లోడింగ్‌తో డిఫాల్ట్ పారామితులను ఉపయోగించవచ్చు. + మునుపటి కొన్ని ఉదాహరణలు, నేను ఇప్పటికే ఉపయోగించాను. + కానీ, ఇక్కడ నేను ఓవర్‌లోడ్ ఫంక్షన్ల మధ్య కొన్ని పారామితులను డిఫాల్ట్ చేయగలనని స్పష్టంగా చర్చించాలనుకుంటున్నాను. + కానీ, మీరు కాల్ సైట్ నుండి డిఫాల్ట్ పారామితులతో మొత్తం ఫంక్షన్లను పరిష్కరించగలిగినంత వరకు, ఈ ఉపయోగాలన్నీ చక్కగా ఉంటాయి. + కాబట్టి, ఇక్కడ మళ్ళీ ఒక ఉదాహరణ ఇక్కడ ఉంది. + కాబట్టి, ఏరియా ఫంక్షన్, మాకు ఈ ఫంక్షన్ ఉంది, మేము ఇంతకు ముందు చూశాము. + కాబట్టి, రెండింటికి ఇక్కడ రెండు పారామితులు ఉన్నాయి. + అవి వివిధ రకాలు. + మరియు, ఈ సందర్భంలో ఒక పరామితి అప్రమేయం. + కాబట్టి, మేము ఈ కాల్ చేస్తే, ఈ ఫంక్షన్‌ను మాత్రమే పరామితితో పిలుస్తారు. + ఇది ఇక్కడ పరిష్కరించబడుతుంది. + మేము ఇలా చెబితే, z రకం రెట్టింపు మరియు y రకం పూర్ణాంకం. + కాబట్టి, మీరు మొదట ఫంక్షన్‌కు కాల్ చేయలేరు. + మేము రెండవ ఫంక్షన్ అని పిలుస్తాము ఎందుకంటే మొదటి పరామితి రెట్టింపుగా సరిపోతుంది. + మరియు, Int (int) ను డబుల్ (డబుల్) గా మార్చడం కంటే int (int) ను డబుల్ (డబుల్) గా మార్చడం చాలా సులభం ఎందుకంటే మీరు డబుల్ (డబుల్) ను int (int) గా మార్చినట్లయితే, మీరు సమాచారం ఇవ్వండి. + మీరు Int (int) ను డబుల్ (డబుల్) గా మార్చినట్లయితే, మీరు సమాచారాన్ని కోల్పోరు. + కాబట్టి, ఇది ఒక ప్రచార వ్యూహం, ఇది బైండింగ్ ఉంటుందని మీకు తెలియజేస్తుంది, ఎందుకంటే ఇది ఇక్కడ బంధిస్తుంది మరియు ఇది ఇక్కడ బంధిస్తుంది. + ఈ సమయంలో మేము చూపించాము. + అందువల్ల, బాటమ్ లైన్ మేము వివరించడానికి ప్రయత్నిస్తున్నాము, డిఫాల్ట్ పరామితి మరియు ఫంక్షన్ ఓవర్లోడింగ్ మొత్తం విషయం పరిష్కరించబడే వరకు కలపవచ్చు. వెళ్ళవచ్చు. + మరియు, వాస్తవానికి అది విఫలం కావచ్చు. + ఉదాహరణకు, ఇది, ఏదో ఒక విధంగా మనం ఇంతకు ముందు చూశాము. + కానీ మళ్ళీ, ఇక్కడ ఓవర్లోడ్ చేయబడిన మూడు ఫంక్షన్లు ఉన్నాయని ప్రత్యేకంగా గమనించండి; ఇది సున్నా పరామితి, ఇది ఒక పరామితి మరియు ఇది రెండు పారామితులు. + కాబట్టి, ఈ మూడు కాల్స్ ఖచ్చితంగా పరిష్కరించగలవు. + ఈ సాధ్యమయ్యే ఫంక్షన్ సెట్ యొక్క ప్రతి సందర్భంలో, ప్రతి ఒక్కటి ఒకే ఫంక్షన్ కలిగి ఉంటుంది; చెయ్యగలుగుట + కానీ, మీరు ఈ ఓవర్‌లోడ్ ఫంక్షన్‌లో ఒకదానికి డిఫాల్ట్ పరామితిని నమోదు చేసినప్పుడు, మీకు సమస్య ఉంది ఎందుకంటే ఇప్పుడు ఈ ఫంక్షన్ (ఫంక్షన్) లో పరామితి (పరామితి) ఉంది లేదా శూన్య పరామితి (పరామితి) కావచ్చు. + కాబట్టి, నేను సున్నా పరామితితో ఫంక్షన్ కాల్ వ్రాసినప్పుడు, మీరు ఈ రెండింటినీ మీ సాధ్యమయ్యే సెట్‌లో కలిగి ఉంటారు. + మరియు, పరామితి లేనందున. + మీరు ప్రయత్నించగల సరిపోలిక లేదు ఎందుకంటే పరామితి లేకపోతే, అసలు పరామితి రకం మరియు అధికారిక పరామితి రకం మధ్య మీరు ఏ విధమైన సరిపోలికను చూడబోతున్నారు. + అందువల్ల, కంపైలర్ పరిష్కరించదు. + మరియు, ఇది మళ్ళీ ఒక సాధారణ కంపైలర్ నుండి. + ఇది మీకు అందుతున్న దోష సందేశం. + మరియు, కంపైలర్ ఏమి చెబుతుందో చూడండి; ఓవర్‌లోడ్ అనేది ఒక ఫంక్షన్‌కు మసక కాల్. + మరియు, ఇది ఈ రెండు ఫంక్షన్ల మధ్య పరిష్కరించలేమని చెప్పింది. + అందువల్ల, మీరు ఓవర్‌లోడ్‌తో డిఫాల్ట్ పారామితులను ఉపయోగించినప్పుడు, మీరు ఓవర్‌లోడింగ్‌ను చూడలేరని గుర్తుంచుకోవాలి లేదా డిఫాల్ట్ పరామితిని చూడలేరు. + వేర్వేరు ఓవర్‌లోడ్‌లకు కారణమయ్యే డిఫాల్ట్ పారామితులను మీరు చూడాలి మరియు అవి వేర్వేరు ఓవర్‌లోడ్‌లు అయినా, మేము వివరించే యంత్రాంగం యొక్క ఫ్రేమ్‌వర్క్ ద్వారా వాటిని నిజంగా పరిష్కరించవచ్చు. + కాబట్టి ఇది ఇది; ఇవి లక్షణాలు. + కాబట్టి, చివరికి నేను ఈ మాడ్యూల్‌లో సి ++ భాష యొక్క ప్రధాన అంశాన్ని పరిష్కరించడానికి ప్రయత్నించానని, ఇది ఫంక్షన్ ఓవర్‌లోడింగ్ అని చెప్పాలనుకుంటున్నాను. + మొదట, డిఫాల్ట్ పారామితుల యొక్క భావనను మేము పరిగణనలోకి తీసుకున్నాము, ఇది మేము తరువాత వివరించాము, ఇది ఓవర్లోడింగ్ ఫంక్షన్ యొక్క ప్రత్యేక సందర్భం. + డిఫాల్ట్ పారామితులు వాటి డిఫాల్ట్ విలువలను అందించడానికి మరియు ఫంక్షన్ లైబ్రరీలను ఉపయోగించడాన్ని సులభతరం చేయడానికి పెద్ద సంఖ్యలో పారామితులతో ఫంక్షన్లను వ్రాయడం చాలా సులభం చేస్తాయి. + మరియు, ఫంక్షన్ ఓవర్‌లోడింగ్ అనేది మరొక పారామితి రకాలు భిన్నంగా ఉన్నంత వరకు ఒకే ఫంక్షన్ పేరుతో బహుళ ఫంక్షన్లను వ్రాయడానికి అనుమతించే మరొక లక్షణం. + అందువల్ల, ఈ విషయంలో మేము వివిధ ప్రత్యేకతలను పరిశీలించాము. + మరియు, మేము ప్రాథమిక స్టాటిక్ పాలిమార్ఫిజం గురించి మాట్లాడాము. + మరియు ముఖ్యంగా, మేము అర్థం చేసుకున్న యంత్రాంగాన్ని కూడా చర్చించాము; ఓవర్లోడ్ కోసం వివిధ విధులను పరిష్కరించగల యంత్రాంగం యొక్క చట్రాన్ని మేము చర్చించాము. + దీనితో, మేము ఈ మాడ్యూల్‌ను ముగించాము. + మరియు, తరువాతి వాటిలో మేము అదే భావనను కొనసాగిస్తాము. + మరియు, ఆపరేటర్ల విషయంలో C ++ లో కూడా ఇలాంటి ఓవర్‌లోడింగ్ భావనను అమలు చేయవచ్చని చూడండి, దీనిని ఆపరేటర్ ఓవర్‌లోడింగ్ అని పిలుస్తారు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/27 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Lecture 23)-wtuks_f3vP4.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/27 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Lecture 23)-wtuks_f3vP4.txt index 577c78bfabf5f87b5328db641f5a5e8bed6ab38a..5f42debee5d4cf545aba936506eedc34fbedfa13 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/27 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Lecture 23)-wtuks_f3vP4.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/27 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Lecture 23)-wtuks_f3vP4.txt @@ -1,93 +1,93 @@ - 1. సి ++  ప్రొగ్రామ్మింగ్ మోడులెస్  13 అంశం లొకి స్వాగతము. - 2. ఈ మాడ్యూల్‌లో, వస్తువులు ఎలా సృష్టించబడుతున్నాయి లేదా ప్రారంభించబడ్డాయి, మరియు అవి ఎలా ఉపయోగించబడుతున్నాయో అవి ఎలా నాశనం చేయబడతాయి లేదా ప్రారంభించబడతాయో అర్థం చేసుకోవడం గురించి మరియు ఆ మొత్తం జీవిత ప్రక్రియలో మనం మాట్లాడుతాము. సమయం అంటే వస్తువు ఉంటుంది. - 3. C ++ లోని ఆబ్జెక్ట్-ఓరియెంటెడ్ ఫ్యూచర్స్ సందర్భంలో, తరగతులను ఎలా నిర్వచించవచ్చో మరియు ఒక నిర్దిష్ట తరగతి యొక్క వస్తువులను ఎలా వేగవంతం చేయవచ్చో మేము ఇప్పటికే చూశాము. - 4. మేము ఇప్పటికే డేటా సభ్యులు మరియు పద్ధతులను పరిశీలించాము మరియు సమాచారాన్ని దాచడానికి, డిజైన్‌లో డేటా స్పెసిఫికేషన్లను ప్రత్యేకంగా ప్రైవేట్‌గా చేయడానికి మొత్తం నమూనా గురించి మాట్లాడాము. స్పెసిఫికేషన్ మరియు స్పెసిఫికేషన్ ఆంక్షలు మరియు తయారుచేసే పద్ధతుల యొక్క ప్రాథమిక రూపకల్పన ప్రక్రియకు ఇంటర్‌ఫేస్‌ను అందిస్తుంది. ప్రజా. - 5. ఇప్పుడు, మేము దానిపై విస్తరిస్తాము మరియు మరింత మాట్లాడతాము, ఇది తరగతి యొక్క నిర్మాణం లేదా విభిన్న వస్తువుల బ్లూప్రింట్ పరంగా డిజైన్ అంశంపై ఎక్కువగా ఉంది. - 6. ఇప్పుడు ప్రస్తుత మాడ్యూల్ రన్‌టైమ్ ఎగ్జిక్యూషన్‌లో ప్రత్యేకంగా కనిపిస్తుంది, ఒక వస్తువు యొక్క రన్‌టైమ్ ప్రవర్తన జీవితానికి వచ్చినప్పుడు తెలుసుకోవడానికి ప్రయత్నిస్తుంది మరియు ఇది జీవితంలో ఎంతకాలం ఉంటుంది? మరియు ఒక వస్తువు యొక్క జీవిత చివరలో ఏమి జరుగుతుంది? మేము ఈ చర్చలన్నిటితో ప్రారంభిస్తాము, ఇది మీ ప్యానెల్ యొక్క ఎడమ వైపున చూడగలిగే రూపురేఖలు. - 7. కాబట్టి మనం ఇప్పటికే ప్రవేశపెట్టిన స్టాక్ యొక్క మునుపటి ఉదాహరణలలో ఒకదాన్ని ప్రస్తావిద్దాం. - 8. ఈ స్టాక్‌లో ఇద్దరు డేటా సభ్యులు ఉంటారు, స్టాక్ ఎలిమెంట్స్‌ను నిల్వ చేయడానికి అక్షరాల శ్రేణి, టాప్ ఎలిమెంట్ యొక్క ఇండెక్స్ మరియు దాని నాలుగు LIFO పద్ధతులను బహిరంగంగా ఉంచే హెడర్ మార్కర్., ఈ స్టాక్‌ను ఉపయోగించడానికి LIFO ఇంటర్ఫేస్ ఖాళీగా ఉంది, పుష్, పాప్ మరియు టాప్. మరియు ఇక్కడ మేము స్ట్రింగ్ రివర్స్ చేయడానికి ఈ స్టాక్ యొక్క ఉపయోగాన్ని చూపుతాము. - 9. ఇప్పుడు, మేము దీనిని పరిశీలిస్తే, ఇక్కడ మనం ఉపయోగిస్తున్నట్లు ఒక వస్తువును సృష్టించడానికి వెంటనే ఈ స్టాక్‌ను సృష్టిస్తుందని మీరు కనుగొంటారు, కాని మేము స్టాక్ వస్తువును సృష్టించిన వెంటనే, రివర్స్ స్ట్రింగ్ ఆపరేషన్ చేయడానికి దాన్ని ఉపయోగించలేము మేము ఇక్కడ చేస్తున్నాం, మధ్యలో మనం స్టాక్ వన్ సరైన ప్రారంభమని నిర్ధారించుకోవాలి, అంటే S తక్షణం అయిన తర్వాత నేను తెలుసుకోవాలి, ఈ సమయంలో టాప్ మార్కర్ యొక్క విలువ ఏమిటో తెలుసుకోండి. - 10. ఇది ఇప్పటివరకు ఎటువంటి ఆపరేషన్ చేయని పాయింట్, కాబట్టి మీరు ఒక స్టాక్ కేవలం కొన్ని ఖాళీ స్టాక్ (స్టాక్) కలిగి ఉన్న శూన్య స్టాక్‌తో సంభావితంగా సృష్టించబడిందని నిర్ధారించుకోవాలి. అందువల్ల, దాని హెడ్ మార్కర్ తక్కువగా ఉండాలి అగ్ర మార్కర్ -1 గా ఉండే శ్రేణిలోకి వెళ్ళగల మొదటి మూలకం కంటే. - 11. అందువల్ల, ఈ కోడ్ పనిచేయడానికి, స్టాక్ వేరియబుల్ అయిన వెంటనే అసైన్‌మెంట్ ద్వారా టాప్ మార్కర్ యొక్క ప్రారంభ విలువను జోడించడం చాలా ముఖ్యం. - 12. మీరు మరింత దగ్గరగా చూస్తే, మేము దీన్ని చేయగలమని మీరు గ్రహిస్తారు, ఎందుకంటే నేను దీనిని స్టాక్ వేరియబుల్‌గా నిర్వచించాను, డేటా సభ్యులుగా పబ్లిక్. - 13. అందువల్ల, నేను టాప్_డేటా సభ్యుడిని సులభంగా యాక్సెస్ చేయగలను మరియు ఈ నియామకాన్ని చేయగలను, అందువల్ల మనం ఇక్కడ చూసినవి ఈ పరిష్కారంలో ఉన్నాయి. సమాచారాన్ని దాచిపెట్టే సూత్రాలకు విరుద్ధంగా ఉండే ఒక ప్రారంభాన్ని మేము కలిగి ఉన్నాము. మనం ఇంతకుముందు ఆహ్వానించిన లోపలి భాగాన్ని బహిర్గతం చేస్తుంది. - 14. కాబట్టి, మనం ఎదురుగా ఉన్న పబ్లిక్ డేటా ఇక్కడ ఉపయోగించబడే కుడి కాలమ్‌కు వెళ్దాం, దీనికి విరుద్ధంగా మేము ప్రైవేట్ డేటాను ఉపయోగిస్తాము, మన సమాచారాన్ని దాచడానికి తిరిగి వెళ్తాము, తద్వారా మేము డేటాను ప్రైవేట్‌గా చేయగలము మరియు మనం సహజంగా చేస్తే, మేము ఇకపై ఇక్కడ వ్రాయలేము ఎందుకంటే మేము s.top_ = -1 వ్రాయడానికి ప్రయత్నిస్తే మీరు బాగా అర్థం చేసుకోవచ్చు; అప్పుడు కంపైలర్ ఈ ప్రోగ్రామ్‌ను కంపైల్ చేయదు, ఇది హెడర్ ఒక ప్రైవేట్ డేటా సభ్యుడు మరియు యాక్సెస్ చేయలేమని చెప్పడంలో లోపం ఇస్తుంది. - 15. Init () అని పిలువబడే వేరే ఫంక్షన్ (init) ను పరిచయం చేయడం ద్వారా మేము ఆ సమస్యను పరిష్కరిస్తాము, దీనిని మేము ఇంటర్‌ఫేస్‌లో పబ్లిక్ పద్దతిగా ఉంచాము మరియు init () ప్రాథమికంగా టాప్ -1 ను ప్రారంభిస్తుంది. మరియు ఇక్కడ s.top = -1 చేయడానికి బదులుగా మేము init () అని పిలుస్తాము. - 16. వారు అదే ప్రయోజనాన్ని అందించాలి.దీనితో మనం ఆబ్జెక్ట్-ఓరియెంటెడ్ డిజైన్‌ను తప్పనిసరిగా అనుసరించాల్సిన సమాచారాన్ని దాచడం యొక్క సూత్రాన్ని కొనసాగించవచ్చు మరియు పరిష్కారం పనిచేస్తుందని నిర్ధారించుకోవచ్చు. - 17. మరియు ఇలా చేయడం వల్ల కలిగే ప్రయోజనం ఏమిటంటే, మీరు ఈ రెండు పంక్తులను పోల్చవచ్చు, ఉదాహరణకు డేటా సభ్యుడు పబ్లిక్‌గా ఉన్నప్పుడు యాక్సెస్ స్పెసిఫికేషన్ మాడ్యూల్ పరంగా మేము ఇంతకుముందు వివరించినట్లు డేటా సభ్యుడు పబ్లిక్‌గా ఉంటే ఏదైనా సృష్టించడం సాధ్యమైతే, అనుకోకుండా s.top మధ్యలో కొంత విలువకు కేటాయించినట్లయితే సంభావ్య ప్రమాదం. - 18. అయినప్పటికీ, మేము సమాచారాన్ని దాచడం అనే సూత్రానికి తిరిగి వచ్చినప్పుడు, అటువంటి కోడ్ ప్రైవేట్ డేటాతో తిరిగి ఇవ్వబడదు ఎందుకంటే ఇది సంకలన లోపంగా మారుతుంది. - 19. ఆ విధంగా డేటా సభ్యుడిని ప్రైవేట్‌గా చేయడం మరియు ప్రారంభ ఫంక్షన్‌ను అందించడం ప్రారంభ సమస్యకు మంచి పరిష్కారం, మరియు మేము ఈ ప్రైవేట్ డేటాతో మరింత పని చేయాలనుకుంటున్నాము. - 20. దీనితో మనము ఆబ్జెక్ట్-ఓరియంటెడ్ డిజైన్(object-oriented design) తప్పనిసరిగా అనుసరిస్తూ, పరిష్కారం పని చేస్తుంది. - 21. ఇప్పుడు మరియు వెళ్దాం. - 22. ఎడమ కాలమ్‌లో, శీర్షికను ప్రారంభించడానికి init () పద్ధతిలో సహా ప్రైవేట్ డేటా మరియు పబ్లిక్ పద్ధతులను కలిగి ఉన్న మీరు చూసిన కోడ్‌ను మీరు చూస్తారు. - 23. మేము చూసినట్లుగా ఇది క్లీన్ ఇనిషియలైజేషన్‌ను అందిస్తుంది, అయితే అప్లికేషన్ init () కి కాల్ చేయడం మరచిపోతే ప్రశ్న ఖచ్చితంగా ఉంటుంది, లేదా అప్లికేషన్ తప్పు స్థితిలో పిలుస్తే? అనువర్తనం స్ట్రింగ్‌ను రివర్స్ చేయడానికి ప్రయత్నిస్తున్నందున మరియు ఇది ఖాళీ, టాప్, పాప్ మరియు పుష్‌లను కలిగి ఉన్న LIFO నిర్మాణం అని తెలుసు కాబట్టి ఇది ప్రయోజనం లేని అనువర్తనం కోసం ఉద్దేశించిన ఈ init () ని పిలవడానికి అనువర్తనం గుర్తుంచుకుంటే, ఇవి నాలుగు పద్ధతులు కానీ, వీటన్నింటికీ పిలుపుగా పనిచేయడం, కానీ అది తప్పిపోతే, సహజంగానే మనకు అగ్రస్థానం ఉంటుంది. ఏకపక్ష విలువ ఉంది, అందువల్ల మొత్తం ప్రోగ్రామ్ చాలా అనూహ్య ప్రవర్తనను ఇస్తుంది.కాబట్టి మీరు దీని కంటే మెరుగైన పని చేయగలరా అని మీరు ఒక ప్రశ్న అడగండి, మేము దానిని పేర్చగలమా. వాస్తవానికి ఇది నిర్వచించబడినప్పుడు, ఈ ప్రారంభ కాల్‌ను ఎలాగైనా చేయగలిగితే అది తక్షణ సమయంలో సరైనది. - 24. కన్స్ట్రక్టర్ యొక్క వ్యవస్థ ప్రాథమికంగా ఈ పరిష్కారాన్ని అందిస్తుంది. - 25. C ++ ఒక యంత్రాంగాన్ని అందిస్తుంది, దీని ద్వారా మీరు ఒక వస్తువును ఒక నిర్దిష్ట ఫంక్షన్‌కు పిలిస్తే, ఈ సమయంలో కన్స్ట్రక్టర్ సరిగ్గా ఆరంభించబడతారు మరియు ఈ కన్స్ట్రక్టర్ యొక్క ఉపయోగం అవసరం సభ్యుల విలువలను ప్రారంభించడానికి డేటాను ఉపయోగించవచ్చు. - 26. ఈ ఉదాహరణను చూస్తే, మనకు init () కాల్ లేదు, అది కాదు. బదులుగా ఈ వస్తువు యొక్క కన్స్ట్రక్టర్ అనే కొత్త పద్ధతిని ప్రవేశపెట్టాము. - 27. ఇది నిర్మాత అని మీకు ఎలా తెలుసు? ఇది క్లాస్ పేరుకు సమానమైన పేరుతో ఒక నిర్దిష్ట సంతకాన్ని కలిగి ఉంది, కాబట్టి ఇది కన్స్ట్రక్టర్ అని మీకు తెలిసిన పేరు దానిలో వస్తువులను ఉంచడానికి వేరే మార్గాన్ని కలిగి ఉంది మరియు మేము దానిని చర్చిస్తాము. - 28. కానీ, మేము ఇక్కడ చెప్పేది ఏమిటంటే, మేము డేటా సభ్యుడిని పైకి కదిలి, 1 ను ప్రారంభ విలువగా ఉంచాలి. - 29. రెండవది, ఇది శ్రేణిని ప్రారంభించాల్సిన అవసరం లేదు ఎందుకంటే ఇది పుష్ మరియు పాప్‌గా ఉపయోగించబడుతుంది. - 30. కానీ ప్రయోజనం ఏమిటంటే, మేము ఒక కన్స్ట్రక్టర్‌ను నిర్వచించినట్లయితే, నియంత్రణ ఈ నిర్దిష్ట బిందువును దాటిన వెంటనే, ఆ వస్తువు ఆటోమేటిక్ కాల్‌గా మారినప్పుడు, ఈ పద్ధతి ద్వారా ఒక అవ్యక్త కాల్ ఉంటుంది., మరియు ఈ కాల్ వాస్తవానికి శీర్షం అని నిర్ధారించుకుంటుంది -1 కు కేటాయించబడింది. - 31. అందువల్ల, మేము ఈ సమయంలో ఈ కాల్ నుండి తిరిగి వచ్చినప్పుడు, మనకు ఇప్పటికే అవును -1 యొక్క అగ్ర ప్రారంభ ఉంది మరియు ఇది, ఇది అంతర్లీన ప్రారంభ నిర్మాణం యొక్క సౌందర్యం. - 32. ఇక్కడ మరిన్ని ఉదాహరణలు చెప్తాము, కన్స్ట్రక్టర్ ఉన్న స్టాక్‌తో అదే ఉదాహరణతో మళ్ళీ రండి మరియు ఎడమ వైపున కన్స్ట్రక్టర్ పైభాగాన్ని ప్రారంభిస్తారని మనకు తెలుసు, నేను ఇక్కడ చూపిస్తున్నదాన్ని చేస్తాను. - 33. కన్స్ట్రక్టర్ తరగతిలో భాగంగా వ్రాయబడింది, ఈ సమయంలో మీరు గుర్తుంచుకుంటారు. - 34. కానీ ఇప్పుడు, మేము దానిని తరగతి వెలుపల వ్రాసాము, ఇది స్టాక్ (స్టాక్) :: స్టాక్ (స్టాక్) :, దీనికి పేరు పెట్టడం మీరు ఏదైనా తరగతి (తరగతి) సభ్యునికి పేరు కలిగి ఉన్నారని గుర్తుంచుకుంటారు. తరగతి పేరు. - 35. కాబట్టి, ఇది క్లాస్ స్టాక్ పేరు, ఇది కన్స్ట్రక్టర్ పేరు. - 36. మన వద్ద ఉన్నది కన్స్ట్రక్టర్ యొక్క శరీరం, మరియు ఆ శరీరంలో మేము టాప్ -1 ను ప్రారంభించాము మరియు తరువాత మిగిలిన స్టేట్మెంట్. - 37. మేము ఇలా చేస్తే, ఇక్కడ స్టాక్ వేగవంతం అయిన వెంటనే పైభాగంలో ఈ సమయంలో కాల్ చేయబడిన ఒక కోర్ట్ ఉంది, ఇది నియంత్రణ ఇక్కడ తిరిగి వస్తుందని మీరు చూస్తారు మరియు అది స్ట్రింగ్ యొక్క విలోమం జరుగుతుంది. - 38. శీర్షిక స్పష్టంగా ప్రారంభించబడుతున్న చాలా స్పష్టమైన ప్రక్రియ, ఇది మరొక డేటా సభ్యుని యొక్క స్వయంచాలక డిఫాల్ట్ ప్రారంభించడం, ఇది శ్రేణి, ఎందుకంటే ఇది ఇచ్చిన స్థిర పరిమాణం (శ్రేణి). - 39. ఇప్పుడు, మీరు అక్షరానికి పాయింటర్ అయితే స్వయంచాలక శ్రేణి (శ్రేణి) గా కాకుండా చిన్న మార్పు చేద్దామా అని చూద్దాం, కాబట్టి మనం చేయడానికి ప్రయత్నిస్తున్నది ఈ శ్రేణిని (శ్రేణి) డైనమిక్‌గా మార్చడం) తయారు చేయాలి. - 40. మనము దేనిని కన్స్ట్రక్టర్ (constructor) యొక్క బాడి, మరియు ఆ బాడి లో మొదట మేము -1 మరియు తరువాత cout స్టేట్మెంట్ మిగిలిన. - 41. కాబట్టి సహజంగా స్టాక్ కోడ్‌లో పైకి ప్రారంభించడం అదే విధంగా ఉంటుంది, కాని ఇప్పుడు మనం అర్రే పాయింటర్‌ను కూడా ప్రారంభించాలి, దీన్ని డైనమిక్‌గా కేటాయించడం ద్వారా మేము చేస్తాము. - 42. ఈ సమయంలో వ్రాసే ప్రారంభ విధానాన్ని అర్థం చేసుకుందాం. - 43. ప్రారంభంలో మేము మొదట డేటా సభ్యుని పేరును వ్రాస్తాము మరియు తరువాత ఒక జత కుండలీకరణాల్లో మనం ప్రారంభీకరణగా ఉపయోగించాలనుకునే విలువను వ్రాస్తాము. - 44. మేము డేటాను పరిశీలిస్తే, ఇది డేటా పాయింటర్ మరియు మీకు తెలిసినట్లుగా ఈ వ్యక్తీకరణ ఆపరేటర్ 10 అక్షరాల యొక్క కొత్త శ్రేణిని (శ్రేణి) కేటాయింపును పాయింటర్ రకంగా పాయింటర్ రకంగా ఉపయోగిస్తుంది.ఆ శ్రేణిని తిరిగి ఇస్తుంది మరియు ఆ పాయింటర్ డేటాలో ప్రారంభ విలువగా సెట్ చేయబడుతోంది. - 45. ఇది మేము ఇంతకు ముందు చూడని విషయం. - 46. మునుపటి అప్పగింత శైలి, ఇక్కడ మేము top_ = 1 అని చెప్తాము, లేదా డేటా (డేటా) = కొత్త చార్ [10] ఇలా చెబుతాము. - 47. మీరు ఇక్కడ ఒక కన్స్ట్రక్టర్‌ను ఉపయోగిస్తున్నప్పుడు మరియు కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) సంతకం చేసిన తర్వాత మీకు పెద్దప్రేగు రూపంలో ఒక సెపరేటర్ ఉందని మరియు మీరు అవసరం అని గమనించండి. కొలోన్ మరియు కన్స్ట్రక్టర్ బాడీ యొక్క ప్రారంభ వంకర బ్రాకెట్ల మధ్య డేటా సభ్యుల ప్రారంభం యొక్క పూర్తి జాబితాను రాయండి. - 48. ఇక్కడ మీరు కోమా లోపల డేటా సభ్యుడిని కోమాతో వేరు చేసిన తర్వాత వ్రాస్తారు మరియు ప్రతి డేటా సభ్యుడు ఒక జత బ్రాకెట్లలోని తర్వాత మీరు వాటిని ప్రారంభించాలనుకుంటున్న విలువను వ్రాస్తారు. - 49. వాస్తవానికి, ప్రతి డేటా సభ్యుడు ఒక్కసారి మాత్రమే ఇక్కడ ఉండగలడు మరియు అన్ని డేటా సభ్యులను ప్రారంభించాల్సిన అవసరం లేదు, కానీ మేము వారందరినీ కూడా ప్రారంభించగలము, ఈ సందర్భంలో మనకు కావలసినట్లే. - 50. స్టాక్ యొక్క ఈ ప్రత్యేక సంస్కరణకు ఏమి జరుగుతుంది? నియంత్రణను ఈ కన్స్ట్రక్టర్ అని పిలిచే పాయింట్ గుండా వెళుతున్నప్పుడు, స్టాక్ ఆబ్జెక్ట్ యొక్క పైభాగం -1 కు ప్రారంభమవుతుంది, పరిమాణం 10 (శ్రేణి) యొక్క అక్షర శ్రేణి డైనమిక్ కేటాయింపును కలిగి ఉంటుంది మరియు దాని పాయింటర్ దీనికి సెట్ చేయబడుతుంది డేటా, ఆపై స్టాక్ కాల్, ఈ సందేశం ముద్రించబడుతుంది మరియు నియంత్రణ పూర్తయినప్పుడు స్ట్రింగ్ రివర్స్ ఫార్వర్డ్ ఉన్న చోటికి తిరిగి వస్తుంది. పెరుగుతుంది. - 51. దీనితో మనం కన్స్ట్రక్టర్‌ను డేటా సభ్యునిని అనేక రకాలుగా ప్రారంభించడానికి ఉపయోగించవచ్చని మరియు C ++ యొక్క యంత్రాంగం ఆ వస్తువునే వస్తువు అని నిర్ధారిస్తుంది. ప్రారంభించడం. - 52. స్టాకింగ్ డేటా భాగం లేదా స్టాక్ టాప్ మార్కర్ భాగం కోసం ప్రారంభించడం గుర్తుకు రావడానికి లేదా చేయడానికి తలకి అనువర్తనం హక్కు లేదు, ఇది కన్స్ట్రక్టర్ మరియు కంపైలర్ యొక్క బాధ్యత అవుతుంది.ఈ కన్స్ట్రక్టర్‌ను అవ్యక్తంగా పిలుస్తుంది. - 53. కాల్ చేయడానికి ఇది గుర్తుంచుకోవాలి, సహేతుకమైన సమయంలో ప్రతిసారీ పిలువబడుతుంది. - 54. ఇప్పుడు, ఒక కన్స్ట్రక్టర్ ఏమి చేస్తాడో, మనం చూసినట్లుగా, ఒక కన్స్ట్రక్టర్ తప్పనిసరిగా సభ్యుల ఫంక్షన్, కానీ దీనికి సభ్యుల ఫంక్షన్‌తో చాలా తేడాలు ఉన్నాయి. - 55. అందువల్ల, సభ్యుల ఫంక్షన్ అయినందున, ఇది ఏదైనా సభ్యుల ఫంక్షన్ లాగా ఈ పాయింటర్‌ను కలిగి ఉంటుంది, కాని దాని పేరు, నేను ఇప్పటికే చెప్పినట్లుగా, ప్రత్యేకంగా తరగతి పేరు ఇతర సభ్యుల ఫంక్షన్లకు అలా కాదు. - 56. కన్స్ట్రక్టర్ యొక్క పని వస్తువును సృష్టించడం మరియు దానిని ప్రారంభించడం ఎందుకంటే రిటర్న్ రకం చూపబడటం లేదని మీరు ఇప్పటికే గమనించి ఉండవచ్చు, ఇది గణన చేయడం మరియు మీకు విలువను తిరిగి ఇవ్వడం కాదు. - 57. కన్స్ట్రక్టర్ ఒక ఫంక్షన్ అయినప్పటికీ, అది ఏ విలువను ఇవ్వదు మరియు తిరిగి వచ్చే రకం కూడా శూన్యమైనది కాదు. - 58. నేను దేనినీ తిరిగి ఇవ్వడం లేదని చెప్పే సున్నా రిటర్న్ రకాలను కలిగి ఉన్న ఫంక్షన్‌ను మీరు చూశారు, కాని కన్స్ట్రక్టర్ అలా చేయడు. - 59. కన్స్ట్రక్టర్‌లో మీరు చెప్పినదానిలో ఏదైనా విలువను తిరిగి ఇవ్వడానికి యంత్రాంగం లేదు, కాబట్టి పేర్కొనడానికి రిటర్న్ రకం లేదు. - 60. రిటర్న్ రకం లేనందున, రిటర్న్ స్టేట్మెంట్ లేదు, కాబట్టి మీకు రిటర్న్ స్టేట్మెంట్ లభించదు. సాధారణ సభ్యుల ఫంక్షన్ మాదిరిగా కాకుండా, రిటర్న్ స్టేట్మెంట్ ఎక్కడ ఉంటుంది లేదా మీ రిటర్న్ రకం సున్నా అయితే రిటర్న్ సూచించవచ్చు, కానీ a కన్స్ట్రక్టర్‌కు రిటర్న్ స్టేట్‌మెంట్ అవసరం లేదు, అది పరోక్షంగా తిరిగి వస్తుంది. - 61. అదనంగా, కన్స్ట్రక్టర్‌కు ప్రారంభ జాబితా ఉంటుంది, ఇది కుండలీకరణాల్లోని డేటా సభ్యుల జాబితాకు ప్రారంభ విలువ విలువను వివరించాను. - 62. జాబితా కన్స్ట్రక్టర్ బాడీ ప్రారంభంతో ప్రారంభమయ్యే పెద్దప్రేగుతో మొదలవుతుంది మరియు ఇది ఇతర సభ్యుల ఫంక్షన్లకు సమాంతరంగా ఉండదు. - 63. కన్స్ట్రక్టర్‌కు స్పష్టమైన కాల్ లేదు, దానిని అత్యవసరంగా పిలుస్తారు.నేను ఈ వస్తువును ఇన్‌స్టాంట్ చేసిన వెంటనే కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇక్కడ ప్రకృతిలో కాల్ ఆబ్జెక్ట్ (ఆబ్జెక్ట్) అవసరం. స్పష్టంగా ఉన్నాయి. - 64. మేము ఉదాహరణను చూస్తాము, కాని చివరికి ఒక కన్స్ట్రక్టర్ యొక్క ఉదాహరణ పారామితి లేదని మనం చూసిన ఏదైనా పరామితిని కలిగి ఉంటుంది, కానీ ఇతర సభ్యుల ఫంక్షన్ వంటి కన్స్ట్రక్టర్. ఎన్ని పారామితులను కలిగి ఉండవచ్చు మరియు ఒక కన్స్ట్రక్టర్ లోడ్ చేయవచ్చు ఏ ఇతర సభ్యుల ఫంక్షన్ లాగా. - 65. కన్స్ట్రక్టర్ అనేది ఒక ప్రత్యేకమైన ఫంక్షన్, ఇది అంతర్లీన వస్తువులను అన్ని సమయాలలో ప్రారంభించడానికి ప్రాథమికంగా మాకు సహాయపడుతుంది. - 66. మీరు C ++ లో నిర్వచించగలిగే వివిధ రకాల కన్స్ట్రక్టర్లను చూసే ఒక జత స్లైడర్‌ల ద్వారా మేము త్వరగా తిరుగుతాము, పారామిటరైజ్డ్ కన్స్ట్రక్టర్స్ (కన్స్ట్రక్టర్) అని పిలువబడే కన్స్ట్రక్టర్‌లో మీరు పారామితులను (కన్స్ట్రక్టర్లను) కలిగి ఉండవచ్చు. - 67. మేము ఇప్పటికే చూసిన డబుల్ రకాలను మళ్ళీ చూపిస్తున్నాము, కాబట్టి ఈ పారామితి విలువ ప్రారంభ సభ్యుల జాబితా ద్వారా డేటా సభ్యులను ప్రారంభించడానికి ఉపయోగపడుతుంది. - 68. అప్పుడు కన్స్ట్రక్టర్ ఆవశ్యకతతో అవ్యక్తంగా పిలువబడుతుంది మరియు సాధారణంగా దీనికి రెండు వాక్యనిర్మాణాలు ఉపయోగించబడతాయి. - 69. వాక్యనిర్మాణం ఒక నిర్దిష్ట ఫంక్షన్ కాల్ రకాన్ని కలిగి ఉంది, ఇక్కడ మీరు ఆబ్జెక్ట్ పేరు మరియు బ్రాకెట్లను ఉంచారు.మీరు కన్స్ట్రక్టర్ యొక్క పారామితులను కన్స్ట్రక్టర్ కోసం నిర్వచించిన క్రమంలో ఉంచుతారు. - 70. కాబట్టి నేను ఈ ప్రత్యేకమైన ఆబ్జెక్ట్ ఇన్‌స్టాంటియేషన్‌ను వ్రాసేటప్పుడు, నియంత్రణ ఈ పాయింట్ గుండా వెళుతున్నప్పుడు కాంప్లెక్స్ యొక్క కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇక్కడ 4.2 మళ్ళీ విలువగా, 5.3 IM విలువగా వెళ్ళాలి. ఇది దానిలోకి మరియు దానితో పాటు వెళ్తుంది దానితో వస్తువు నిర్మించబడుతుంది మరియు వస్తువు c గా సెట్ చేయబడుతుంది. - 71. దీనికి మించి, మీరు c.re చేస్తే, మీరు విలువ 4.2 ను పొందాలి, అనగా, ఈ ముద్రణ ప్రకటన ఇక్కడ చూపబడింది, ఇక్కడ మేము సంక్లిష్ట సంఖ్య సంక్లిష్ట సంజ్ఞామానాన్ని ముద్రించి దాని ప్రమాణాన్ని లెక్కిస్తాము. - 72. అదేవిధంగా, నేను సి భాగాన్ని సి చేస్తే నాకు 5.3 లభిస్తుంది. - 73. రెండవది, d విషయంలో మనం వేరే ప్రత్యామ్నాయ సంజ్ఞామానం లో ఒకదాన్ని మాత్రమే చూపిస్తే, దానిని జాబితా ప్రారంభించడం అంటారు. - 74. అంటే, మీరు ఒక కన్స్ట్రక్టర్‌లో బహుళ పారామితులను కలిగి ఉంటే, మీరు ఈ పారామితుల యొక్క ప్రారంభ విలువలను జాబితా సంజ్ఞామానం లో ఒక జత వంకర కలుపులు (సూచన సమయం: 21:22) మరియు వస్తువుతో సూచించవచ్చు. మీరు ప్రారంభ చిహ్నాన్ని ఉపయోగించవచ్చు పేరు తరువాత. - 75. రెండూ ఒకే ప్రభావాన్ని కలిగి ఉంటాయి, అవి ఒకే ఆపరేషన్ చేయడానికి ప్రత్యామ్నాయ సంజ్ఞామానం మాత్రమే. - 76. కాబట్టి, ఒకటి లేదా అంతకంటే ఎక్కువ పారామితులను కలిగి ఉన్న కన్స్ట్రక్టర్లను పారామీటర్ చేయబడిన కన్స్ట్రక్టర్స్ అంటారు. - 77. ప్రస్తుతం, ప్రతి విషయంలో కన్స్ట్రక్టర్ మరొక సభ్యుల ఫంక్షన్, లేదా సి ++ లో ప్రత్యేకంగా మరో ఫంక్షన్ మాత్రమే ఉంది, కాబట్టి, నాకు పారామితులు ఉంటే, నేను డిఫాల్ట్ విలువను కూడా ఉంచగలను. - 78. అందువల్ల, నేను వేర్వేరు డిఫాల్ట్ విలువలతో ఒక కన్స్ట్రక్టర్‌ను కలిగి ఉండగలను, కాబట్టి మీరు ఇక్కడ రెండు పారామితులతో మళ్ళీ ఒక ఉదాహరణను చూపిస్తారు మరియు డిఫాల్ట్ విలువలు 0.0 వాటిని. - 79. ఫంక్షన్ల కోసం డిఫాల్ట్ పరామితి యొక్క అన్ని నియమాలు మరియు ఫంక్షన్లను ప్రారంభించడానికి డిఫాల్ట్ పరామితి ఆధారంగా మూడు వేర్వేరు మార్గాల్లో వస్తువులను సృష్టించడానికి మనం ఇదే కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు.నేను నేను మొదటి పారామితిని మాత్రమే పేర్కొనగల రెండు పారామితులను ఉంచగలను లేదా నేను పారామితులను పేర్కొనలేను. - 80. పేర్కొన్న పారామితులు డిఫాల్ట్ విలువలను తీసుకుంటాయి మరియు తదనుగుణంగా మీరు ప్రింట్ చేస్తే సంబంధిత వస్తువులు సృష్టించబడినప్పుడు మీరు వాటిని చూడగలరు. - 81. డిఫాల్ట్ పారామితులతో కూడిన ఫంక్షన్ కోసం మేము నేర్చుకున్న అన్ని నియమాలు, ఆ పారామితులన్నింటినీ డిఫాల్ట్ చేసే మొత్తం విధానం కన్స్ట్రక్టర్లకు కూడా వర్తిస్తుందని ఇది చూపిస్తుంది. - 82. ఇది ఇక్కడ మరొక ఉదాహరణ, మేము తిరిగి స్టాక్ చేయబోతున్నాం, కాబట్టి దీని కోసం ఒక కన్స్ట్రక్టర్‌ను డిఫాల్ట్ సైజు_టి విలువ 10 (సైజు_టి = 10) తో చూపిస్తాము. - 83. కన్స్ట్రక్టర్ నిర్వచనంలో, మనకు ఒక పరామితి ఉంది, కాబట్టి నాకు కావాలంటే, నేను ఈ పారామితి విలువను ఉదాహరణకు ఇక్కడ పాస్ చేయగలను, అప్పుడు మేము ఆ స్ట్రింగ్ యొక్క పొడవును తీసుకుంటాము, మనం రివర్స్ చేయదలిచిన వస్తువును నిర్మిస్తున్నాము ఎందుకంటే ఈ స్టాక్ ఉంటే ఇచ్చిన స్ట్రింగ్ STR ను రివర్స్ చేసి, స్ట్రింగ్ యొక్క పొడవు ద్వారా రివర్స్ చేయండి ఎక్కువ పరిమాణం అవసరం లేదు, కాబట్టి మనం దానిని ఉపయోగించుకోవచ్చు మరియు స్ట్రింగ్‌కు తగినట్లుగా పెద్దదిగా ఉండే స్టాక్‌ను సృష్టించవచ్చు మరియు ఇక్కడ మీరు కన్స్ట్రక్టర్‌గా ముద్రించడం ద్వారా చూడవచ్చు సృష్టించబడిన స్టాక్ పరిమాణం ఎంత. - 84. నేను దానిని ఉపయోగించకపోతే, పరిమాణం ఎలా ఉండాలో మేము ఈ సమాచారాన్ని అందించకపోతే, మనం స్టాక్ వ్రాస్తే అది ఖచ్చితంగా డిఫాల్ట్ పారామితి విలువ 10 మరియు 10 మూలకాల స్టాక్ తీసుకుంటుంది. (స్టాక్). - 85. కాబట్టి, ఇవి మన వద్ద ఉన్న కన్స్ట్రక్టర్ల యొక్క వివిధ ఉదాహరణలు. - 86. ఏదైనా తరువాతి C ++ సమూహ ఫంక్షన్ల మాదిరిగానే, కన్స్ట్రక్టర్లను కూడా ఓవర్‌లోడ్ చేయవచ్చు, అంటే ఒక తరగతి ఒకటి కంటే ఎక్కువ కన్స్ట్రక్టర్లను కలిగి ఉంటుంది, ఎందుకంటే దాని పేరు తప్పనిసరిగా కన్స్ట్రక్టర్ కావడం తరగతి పేరు. అదే విధంగా ఉంటుంది, కాబట్టి నేను ఉంటే ఇద్దరు కన్స్ట్రక్టర్లను వ్రాయాలనుకుంటున్నారు, వారికి ఒకే పేరు అవసరం, కానీ పారామితులు లేదా టైప్ పారామితులలో తేడా ఉన్నంత వరకు అలా చేయడానికి అనుమతి ఉంది. - 87. ఫంక్షన్ ఓవర్‌లోడింగ్ యొక్క అన్ని నియమాలు మనం నేర్చుకున్నట్లే, అధిక-లోడ్ చేసిన కన్స్ట్రక్టర్ సందర్భంలో వర్తిస్తాయి. - 88. కాబట్టి ఇక్కడ మేము ఒక కాంప్లెక్స్ కోసం మూడు కన్స్ట్రక్టర్లను చూపిస్తున్నాము, అది రెండు పారామితులను తీసుకొని రెండింటినీ తిరిగి అమలు చేస్తుంది, ఒకటి శ్రేణులను మాత్రమే తీసుకుంటుంది మరియు ఏమీ తీసుకోదు. - 89. మరియు మేము ఈ పారామితులను ఉపయోగిస్తున్నాము, ఇది పరిష్కరించాల్సిన పారామితుల సంఖ్య యొక్క మూడు ఆవశ్యకత దృష్ట్యా ఒక నిర్దిష్ట రూపం కన్స్ట్రక్టర్‌ను పిలుస్తుంది. - 90. ఉదాహరణకు, సి 2 యొక్క ఈ ఆవశ్యకతను మనం చూసినట్లయితే, ఎప్పుడు సి 2 త్వరగా పొందబడుతుందో, అప్పుడు సహజంగానే ఈ కన్స్ట్రక్టర్‌తో ఒక కన్స్ట్రక్టర్ ఆహ్వానించబడతారు. - 91. అయితే, సి 1, సి 1 తక్షణం చేయబడినప్పుడు, రెండు పారామితులతో కూడిన కన్స్ట్రక్టర్ ఆహ్వానించబడతారు, కాబట్టి ఈ సందర్భంలో ఓవర్‌లోడ్ చేసిన కన్స్ట్రక్టర్ (ల) యొక్క అన్ని నియమాలు వర్తిస్తాయి. - 92. ఈ విధంగా కన్స్ట్రక్టర్లను లోడ్ చేయవచ్చు మరియు మేము వివిధ రకాల పారామితులు మరియు వాటి కలయికల పరంగా బిల్డ్ ప్రాసెస్‌ను వ్రాయవచ్చు మరియు మనం వెళ్తున్నప్పుడు, వివిధ తరగతుల కోసం ఓవర్‌లోడ్ నిర్మాణాలు ఎలా జరుగుతాయో చెప్పడానికి ఇంకా చాలా ఉదాహరణలు చూస్తాము. మేము నిర్మించిన చాలా ప్రభావవంతమైన నిర్మాణ విధానాలను వ్రాయడానికి. + సి ++  ప్రొగ్రామ్మింగ్ మోడులెస్  13 అంశం లొకి స్వాగతము. + ఈ మాడ్యూల్‌లో, వస్తువులు ఎలా సృష్టించబడుతున్నాయి లేదా ప్రారంభించబడ్డాయి, మరియు అవి ఎలా ఉపయోగించబడుతున్నాయో అవి ఎలా నాశనం చేయబడతాయి లేదా ప్రారంభించబడతాయో అర్థం చేసుకోవడం గురించి మరియు ఆ మొత్తం జీవిత ప్రక్రియలో మనం మాట్లాడుతాము. సమయం అంటే వస్తువు ఉంటుంది. + C ++ లోని ఆబ్జెక్ట్-ఓరియెంటెడ్ ఫ్యూచర్స్ సందర్భంలో, తరగతులను ఎలా నిర్వచించవచ్చో మరియు ఒక నిర్దిష్ట తరగతి యొక్క వస్తువులను ఎలా వేగవంతం చేయవచ్చో మేము ఇప్పటికే చూశాము. + మేము ఇప్పటికే డేటా సభ్యులు మరియు పద్ధతులను పరిశీలించాము మరియు సమాచారాన్ని దాచడానికి, డిజైన్‌లో డేటా స్పెసిఫికేషన్లను ప్రత్యేకంగా ప్రైవేట్‌గా చేయడానికి మొత్తం నమూనా గురించి మాట్లాడాము. స్పెసిఫికేషన్ మరియు స్పెసిఫికేషన్ ఆంక్షలు మరియు తయారుచేసే పద్ధతుల యొక్క ప్రాథమిక రూపకల్పన ప్రక్రియకు ఇంటర్‌ఫేస్‌ను అందిస్తుంది. ప్రజా. + ఇప్పుడు, మేము దానిపై విస్తరిస్తాము మరియు మరింత మాట్లాడతాము, ఇది తరగతి యొక్క నిర్మాణం లేదా విభిన్న వస్తువుల బ్లూప్రింట్ పరంగా డిజైన్ అంశంపై ఎక్కువగా ఉంది. + ఇప్పుడు ప్రస్తుత మాడ్యూల్ రన్‌టైమ్ ఎగ్జిక్యూషన్‌లో ప్రత్యేకంగా కనిపిస్తుంది, ఒక వస్తువు యొక్క రన్‌టైమ్ ప్రవర్తన జీవితానికి వచ్చినప్పుడు తెలుసుకోవడానికి ప్రయత్నిస్తుంది మరియు ఇది జీవితంలో ఎంతకాలం ఉంటుంది? మరియు ఒక వస్తువు యొక్క జీవిత చివరలో ఏమి జరుగుతుంది? మేము ఈ చర్చలన్నిటితో ప్రారంభిస్తాము, ఇది మీ ప్యానెల్ యొక్క ఎడమ వైపున చూడగలిగే రూపురేఖలు. + కాబట్టి మనం ఇప్పటికే ప్రవేశపెట్టిన స్టాక్ యొక్క మునుపటి ఉదాహరణలలో ఒకదాన్ని ప్రస్తావిద్దాం. + ఈ స్టాక్‌లో ఇద్దరు డేటా సభ్యులు ఉంటారు, స్టాక్ ఎలిమెంట్స్‌ను నిల్వ చేయడానికి అక్షరాల శ్రేణి, టాప్ ఎలిమెంట్ యొక్క ఇండెక్స్ మరియు దాని నాలుగు LIFO పద్ధతులను బహిరంగంగా ఉంచే హెడర్ మార్కర్., ఈ స్టాక్‌ను ఉపయోగించడానికి LIFO ఇంటర్ఫేస్ ఖాళీగా ఉంది, పుష్, పాప్ మరియు టాప్. మరియు ఇక్కడ మేము స్ట్రింగ్ రివర్స్ చేయడానికి ఈ స్టాక్ యొక్క ఉపయోగాన్ని చూపుతాము. + ఇప్పుడు, మేము దీనిని పరిశీలిస్తే, ఇక్కడ మనం ఉపయోగిస్తున్నట్లు ఒక వస్తువును సృష్టించడానికి వెంటనే ఈ స్టాక్‌ను సృష్టిస్తుందని మీరు కనుగొంటారు, కాని మేము స్టాక్ వస్తువును సృష్టించిన వెంటనే, రివర్స్ స్ట్రింగ్ ఆపరేషన్ చేయడానికి దాన్ని ఉపయోగించలేము మేము ఇక్కడ చేస్తున్నాం, మధ్యలో మనం స్టాక్ వన్ సరైన ప్రారంభమని నిర్ధారించుకోవాలి, అంటే S తక్షణం అయిన తర్వాత నేను తెలుసుకోవాలి, ఈ సమయంలో టాప్ మార్కర్ యొక్క విలువ ఏమిటో తెలుసుకోండి. + ఇది ఇప్పటివరకు ఎటువంటి ఆపరేషన్ చేయని పాయింట్, కాబట్టి మీరు ఒక స్టాక్ కేవలం కొన్ని ఖాళీ స్టాక్ (స్టాక్) కలిగి ఉన్న శూన్య స్టాక్‌తో సంభావితంగా సృష్టించబడిందని నిర్ధారించుకోవాలి. అందువల్ల, దాని హెడ్ మార్కర్ తక్కువగా ఉండాలి అగ్ర మార్కర్ -1 గా ఉండే శ్రేణిలోకి వెళ్ళగల మొదటి మూలకం కంటే. + అందువల్ల, ఈ కోడ్ పనిచేయడానికి, స్టాక్ వేరియబుల్ అయిన వెంటనే అసైన్‌మెంట్ ద్వారా టాప్ మార్కర్ యొక్క ప్రారంభ విలువను జోడించడం చాలా ముఖ్యం. + మీరు మరింత దగ్గరగా చూస్తే, మేము దీన్ని చేయగలమని మీరు గ్రహిస్తారు, ఎందుకంటే నేను దీనిని స్టాక్ వేరియబుల్‌గా నిర్వచించాను, డేటా సభ్యులుగా పబ్లిక్. + అందువల్ల, నేను టాప్_డేటా సభ్యుడిని సులభంగా యాక్సెస్ చేయగలను మరియు ఈ నియామకాన్ని చేయగలను, అందువల్ల మనం ఇక్కడ చూసినవి ఈ పరిష్కారంలో ఉన్నాయి. సమాచారాన్ని దాచిపెట్టే సూత్రాలకు విరుద్ధంగా ఉండే ఒక ప్రారంభాన్ని మేము కలిగి ఉన్నాము. మనం ఇంతకుముందు ఆహ్వానించిన లోపలి భాగాన్ని బహిర్గతం చేస్తుంది. + కాబట్టి, మనం ఎదురుగా ఉన్న పబ్లిక్ డేటా ఇక్కడ ఉపయోగించబడే కుడి కాలమ్‌కు వెళ్దాం, దీనికి విరుద్ధంగా మేము ప్రైవేట్ డేటాను ఉపయోగిస్తాము, మన సమాచారాన్ని దాచడానికి తిరిగి వెళ్తాము, తద్వారా మేము డేటాను ప్రైవేట్‌గా చేయగలము మరియు మనం సహజంగా చేస్తే, మేము ఇకపై ఇక్కడ వ్రాయలేము ఎందుకంటే మేము s.top_ = -1 వ్రాయడానికి ప్రయత్నిస్తే మీరు బాగా అర్థం చేసుకోవచ్చు; అప్పుడు కంపైలర్ ఈ ప్రోగ్రామ్‌ను కంపైల్ చేయదు, ఇది హెడర్ ఒక ప్రైవేట్ డేటా సభ్యుడు మరియు యాక్సెస్ చేయలేమని చెప్పడంలో లోపం ఇస్తుంది. + Init () అని పిలువబడే వేరే ఫంక్షన్ (init) ను పరిచయం చేయడం ద్వారా మేము ఆ సమస్యను పరిష్కరిస్తాము, దీనిని మేము ఇంటర్‌ఫేస్‌లో పబ్లిక్ పద్దతిగా ఉంచాము మరియు init () ప్రాథమికంగా టాప్ -1 ను ప్రారంభిస్తుంది. మరియు ఇక్కడ s.top = -1 చేయడానికి బదులుగా మేము init () అని పిలుస్తాము. + వారు అదే ప్రయోజనాన్ని అందించాలి.దీనితో మనం ఆబ్జెక్ట్-ఓరియెంటెడ్ డిజైన్‌ను తప్పనిసరిగా అనుసరించాల్సిన సమాచారాన్ని దాచడం యొక్క సూత్రాన్ని కొనసాగించవచ్చు మరియు పరిష్కారం పనిచేస్తుందని నిర్ధారించుకోవచ్చు. + మరియు ఇలా చేయడం వల్ల కలిగే ప్రయోజనం ఏమిటంటే, మీరు ఈ రెండు పంక్తులను పోల్చవచ్చు, ఉదాహరణకు డేటా సభ్యుడు పబ్లిక్‌గా ఉన్నప్పుడు యాక్సెస్ స్పెసిఫికేషన్ మాడ్యూల్ పరంగా మేము ఇంతకుముందు వివరించినట్లు డేటా సభ్యుడు పబ్లిక్‌గా ఉంటే ఏదైనా సృష్టించడం సాధ్యమైతే, అనుకోకుండా s.top మధ్యలో కొంత విలువకు కేటాయించినట్లయితే సంభావ్య ప్రమాదం. + అయినప్పటికీ, మేము సమాచారాన్ని దాచడం అనే సూత్రానికి తిరిగి వచ్చినప్పుడు, అటువంటి కోడ్ ప్రైవేట్ డేటాతో తిరిగి ఇవ్వబడదు ఎందుకంటే ఇది సంకలన లోపంగా మారుతుంది. + ఆ విధంగా డేటా సభ్యుడిని ప్రైవేట్‌గా చేయడం మరియు ప్రారంభ ఫంక్షన్‌ను అందించడం ప్రారంభ సమస్యకు మంచి పరిష్కారం, మరియు మేము ఈ ప్రైవేట్ డేటాతో మరింత పని చేయాలనుకుంటున్నాము. + దీనితో మనము ఆబ్జెక్ట్-ఓరియంటెడ్ డిజైన్(object-oriented design) తప్పనిసరిగా అనుసరిస్తూ, పరిష్కారం పని చేస్తుంది. + ఇప్పుడు మరియు వెళ్దాం. + ఎడమ కాలమ్‌లో, శీర్షికను ప్రారంభించడానికి init () పద్ధతిలో సహా ప్రైవేట్ డేటా మరియు పబ్లిక్ పద్ధతులను కలిగి ఉన్న మీరు చూసిన కోడ్‌ను మీరు చూస్తారు. + మేము చూసినట్లుగా ఇది క్లీన్ ఇనిషియలైజేషన్‌ను అందిస్తుంది, అయితే అప్లికేషన్ init () కి కాల్ చేయడం మరచిపోతే ప్రశ్న ఖచ్చితంగా ఉంటుంది, లేదా అప్లికేషన్ తప్పు స్థితిలో పిలుస్తే? అనువర్తనం స్ట్రింగ్‌ను రివర్స్ చేయడానికి ప్రయత్నిస్తున్నందున మరియు ఇది ఖాళీ, టాప్, పాప్ మరియు పుష్‌లను కలిగి ఉన్న LIFO నిర్మాణం అని తెలుసు కాబట్టి ఇది ప్రయోజనం లేని అనువర్తనం కోసం ఉద్దేశించిన ఈ init () ని పిలవడానికి అనువర్తనం గుర్తుంచుకుంటే, ఇవి నాలుగు పద్ధతులు కానీ, వీటన్నింటికీ పిలుపుగా పనిచేయడం, కానీ అది తప్పిపోతే, సహజంగానే మనకు అగ్రస్థానం ఉంటుంది. ఏకపక్ష విలువ ఉంది, అందువల్ల మొత్తం ప్రోగ్రామ్ చాలా అనూహ్య ప్రవర్తనను ఇస్తుంది.కాబట్టి మీరు దీని కంటే మెరుగైన పని చేయగలరా అని మీరు ఒక ప్రశ్న అడగండి, మేము దానిని పేర్చగలమా. వాస్తవానికి ఇది నిర్వచించబడినప్పుడు, ఈ ప్రారంభ కాల్‌ను ఎలాగైనా చేయగలిగితే అది తక్షణ సమయంలో సరైనది. + కన్స్ట్రక్టర్ యొక్క వ్యవస్థ ప్రాథమికంగా ఈ పరిష్కారాన్ని అందిస్తుంది. + C ++ ఒక యంత్రాంగాన్ని అందిస్తుంది, దీని ద్వారా మీరు ఒక వస్తువును ఒక నిర్దిష్ట ఫంక్షన్‌కు పిలిస్తే, ఈ సమయంలో కన్స్ట్రక్టర్ సరిగ్గా ఆరంభించబడతారు మరియు ఈ కన్స్ట్రక్టర్ యొక్క ఉపయోగం అవసరం సభ్యుల విలువలను ప్రారంభించడానికి డేటాను ఉపయోగించవచ్చు. + ఈ ఉదాహరణను చూస్తే, మనకు init () కాల్ లేదు, అది కాదు. బదులుగా ఈ వస్తువు యొక్క కన్స్ట్రక్టర్ అనే కొత్త పద్ధతిని ప్రవేశపెట్టాము. + ఇది నిర్మాత అని మీకు ఎలా తెలుసు? ఇది క్లాస్ పేరుకు సమానమైన పేరుతో ఒక నిర్దిష్ట సంతకాన్ని కలిగి ఉంది, కాబట్టి ఇది కన్స్ట్రక్టర్ అని మీకు తెలిసిన పేరు దానిలో వస్తువులను ఉంచడానికి వేరే మార్గాన్ని కలిగి ఉంది మరియు మేము దానిని చర్చిస్తాము. + కానీ, మేము ఇక్కడ చెప్పేది ఏమిటంటే, మేము డేటా సభ్యుడిని పైకి కదిలి, 1 ను ప్రారంభ విలువగా ఉంచాలి. + రెండవది, ఇది శ్రేణిని ప్రారంభించాల్సిన అవసరం లేదు ఎందుకంటే ఇది పుష్ మరియు పాప్‌గా ఉపయోగించబడుతుంది. + కానీ ప్రయోజనం ఏమిటంటే, మేము ఒక కన్స్ట్రక్టర్‌ను నిర్వచించినట్లయితే, నియంత్రణ ఈ నిర్దిష్ట బిందువును దాటిన వెంటనే, ఆ వస్తువు ఆటోమేటిక్ కాల్‌గా మారినప్పుడు, ఈ పద్ధతి ద్వారా ఒక అవ్యక్త కాల్ ఉంటుంది., మరియు ఈ కాల్ వాస్తవానికి శీర్షం అని నిర్ధారించుకుంటుంది -1 కు కేటాయించబడింది. + అందువల్ల, మేము ఈ సమయంలో ఈ కాల్ నుండి తిరిగి వచ్చినప్పుడు, మనకు ఇప్పటికే అవును -1 యొక్క అగ్ర ప్రారంభ ఉంది మరియు ఇది, ఇది అంతర్లీన ప్రారంభ నిర్మాణం యొక్క సౌందర్యం. + ఇక్కడ మరిన్ని ఉదాహరణలు చెప్తాము, కన్స్ట్రక్టర్ ఉన్న స్టాక్‌తో అదే ఉదాహరణతో మళ్ళీ రండి మరియు ఎడమ వైపున కన్స్ట్రక్టర్ పైభాగాన్ని ప్రారంభిస్తారని మనకు తెలుసు, నేను ఇక్కడ చూపిస్తున్నదాన్ని చేస్తాను. + కన్స్ట్రక్టర్ తరగతిలో భాగంగా వ్రాయబడింది, ఈ సమయంలో మీరు గుర్తుంచుకుంటారు. + కానీ ఇప్పుడు, మేము దానిని తరగతి వెలుపల వ్రాసాము, ఇది స్టాక్ (స్టాక్) :: స్టాక్ (స్టాక్) :, దీనికి పేరు పెట్టడం మీరు ఏదైనా తరగతి (తరగతి) సభ్యునికి పేరు కలిగి ఉన్నారని గుర్తుంచుకుంటారు. తరగతి పేరు. + కాబట్టి, ఇది క్లాస్ స్టాక్ పేరు, ఇది కన్స్ట్రక్టర్ పేరు. + మన వద్ద ఉన్నది కన్స్ట్రక్టర్ యొక్క శరీరం, మరియు ఆ శరీరంలో మేము టాప్ -1 ను ప్రారంభించాము మరియు తరువాత మిగిలిన స్టేట్మెంట్. + మేము ఇలా చేస్తే, ఇక్కడ స్టాక్ వేగవంతం అయిన వెంటనే పైభాగంలో ఈ సమయంలో కాల్ చేయబడిన ఒక కోర్ట్ ఉంది, ఇది నియంత్రణ ఇక్కడ తిరిగి వస్తుందని మీరు చూస్తారు మరియు అది స్ట్రింగ్ యొక్క విలోమం జరుగుతుంది. + శీర్షిక స్పష్టంగా ప్రారంభించబడుతున్న చాలా స్పష్టమైన ప్రక్రియ, ఇది మరొక డేటా సభ్యుని యొక్క స్వయంచాలక డిఫాల్ట్ ప్రారంభించడం, ఇది శ్రేణి, ఎందుకంటే ఇది ఇచ్చిన స్థిర పరిమాణం (శ్రేణి). + ఇప్పుడు, మీరు అక్షరానికి పాయింటర్ అయితే స్వయంచాలక శ్రేణి (శ్రేణి) గా కాకుండా చిన్న మార్పు చేద్దామా అని చూద్దాం, కాబట్టి మనం చేయడానికి ప్రయత్నిస్తున్నది ఈ శ్రేణిని (శ్రేణి) డైనమిక్‌గా మార్చడం) తయారు చేయాలి. + మనము దేనిని కన్స్ట్రక్టర్ (constructor) యొక్క బాడి, మరియు ఆ బాడి లో మొదట మేము -1 మరియు తరువాత cout స్టేట్మెంట్ మిగిలిన. + కాబట్టి సహజంగా స్టాక్ కోడ్‌లో పైకి ప్రారంభించడం అదే విధంగా ఉంటుంది, కాని ఇప్పుడు మనం అర్రే పాయింటర్‌ను కూడా ప్రారంభించాలి, దీన్ని డైనమిక్‌గా కేటాయించడం ద్వారా మేము చేస్తాము. + ఈ సమయంలో వ్రాసే ప్రారంభ విధానాన్ని అర్థం చేసుకుందాం. + ప్రారంభంలో మేము మొదట డేటా సభ్యుని పేరును వ్రాస్తాము మరియు తరువాత ఒక జత కుండలీకరణాల్లో మనం ప్రారంభీకరణగా ఉపయోగించాలనుకునే విలువను వ్రాస్తాము. + మేము డేటాను పరిశీలిస్తే, ఇది డేటా పాయింటర్ మరియు మీకు తెలిసినట్లుగా ఈ వ్యక్తీకరణ ఆపరేటర్ 10 అక్షరాల యొక్క కొత్త శ్రేణిని (శ్రేణి) కేటాయింపును పాయింటర్ రకంగా పాయింటర్ రకంగా ఉపయోగిస్తుంది.ఆ శ్రేణిని తిరిగి ఇస్తుంది మరియు ఆ పాయింటర్ డేటాలో ప్రారంభ విలువగా సెట్ చేయబడుతోంది. + ఇది మేము ఇంతకు ముందు చూడని విషయం. + మునుపటి అప్పగింత శైలి, ఇక్కడ మేము top_ = 1 అని చెప్తాము, లేదా డేటా (డేటా) = కొత్త చార్ [10] ఇలా చెబుతాము. + మీరు ఇక్కడ ఒక కన్స్ట్రక్టర్‌ను ఉపయోగిస్తున్నప్పుడు మరియు కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) సంతకం చేసిన తర్వాత మీకు పెద్దప్రేగు రూపంలో ఒక సెపరేటర్ ఉందని మరియు మీరు అవసరం అని గమనించండి. కొలోన్ మరియు కన్స్ట్రక్టర్ బాడీ యొక్క ప్రారంభ వంకర బ్రాకెట్ల మధ్య డేటా సభ్యుల ప్రారంభం యొక్క పూర్తి జాబితాను రాయండి. + ఇక్కడ మీరు కోమా లోపల డేటా సభ్యుడిని కోమాతో వేరు చేసిన తర్వాత వ్రాస్తారు మరియు ప్రతి డేటా సభ్యుడు ఒక జత బ్రాకెట్లలోని తర్వాత మీరు వాటిని ప్రారంభించాలనుకుంటున్న విలువను వ్రాస్తారు. + వాస్తవానికి, ప్రతి డేటా సభ్యుడు ఒక్కసారి మాత్రమే ఇక్కడ ఉండగలడు మరియు అన్ని డేటా సభ్యులను ప్రారంభించాల్సిన అవసరం లేదు, కానీ మేము వారందరినీ కూడా ప్రారంభించగలము, ఈ సందర్భంలో మనకు కావలసినట్లే. + స్టాక్ యొక్క ఈ ప్రత్యేక సంస్కరణకు ఏమి జరుగుతుంది? నియంత్రణను ఈ కన్స్ట్రక్టర్ అని పిలిచే పాయింట్ గుండా వెళుతున్నప్పుడు, స్టాక్ ఆబ్జెక్ట్ యొక్క పైభాగం -1 కు ప్రారంభమవుతుంది, పరిమాణం 10 (శ్రేణి) యొక్క అక్షర శ్రేణి డైనమిక్ కేటాయింపును కలిగి ఉంటుంది మరియు దాని పాయింటర్ దీనికి సెట్ చేయబడుతుంది డేటా, ఆపై స్టాక్ కాల్, ఈ సందేశం ముద్రించబడుతుంది మరియు నియంత్రణ పూర్తయినప్పుడు స్ట్రింగ్ రివర్స్ ఫార్వర్డ్ ఉన్న చోటికి తిరిగి వస్తుంది. పెరుగుతుంది. + దీనితో మనం కన్స్ట్రక్టర్‌ను డేటా సభ్యునిని అనేక రకాలుగా ప్రారంభించడానికి ఉపయోగించవచ్చని మరియు C ++ యొక్క యంత్రాంగం ఆ వస్తువునే వస్తువు అని నిర్ధారిస్తుంది. ప్రారంభించడం. + స్టాకింగ్ డేటా భాగం లేదా స్టాక్ టాప్ మార్కర్ భాగం కోసం ప్రారంభించడం గుర్తుకు రావడానికి లేదా చేయడానికి తలకి అనువర్తనం హక్కు లేదు, ఇది కన్స్ట్రక్టర్ మరియు కంపైలర్ యొక్క బాధ్యత అవుతుంది.ఈ కన్స్ట్రక్టర్‌ను అవ్యక్తంగా పిలుస్తుంది. + కాల్ చేయడానికి ఇది గుర్తుంచుకోవాలి, సహేతుకమైన సమయంలో ప్రతిసారీ పిలువబడుతుంది. + ఇప్పుడు, ఒక కన్స్ట్రక్టర్ ఏమి చేస్తాడో, మనం చూసినట్లుగా, ఒక కన్స్ట్రక్టర్ తప్పనిసరిగా సభ్యుల ఫంక్షన్, కానీ దీనికి సభ్యుల ఫంక్షన్‌తో చాలా తేడాలు ఉన్నాయి. + అందువల్ల, సభ్యుల ఫంక్షన్ అయినందున, ఇది ఏదైనా సభ్యుల ఫంక్షన్ లాగా ఈ పాయింటర్‌ను కలిగి ఉంటుంది, కాని దాని పేరు, నేను ఇప్పటికే చెప్పినట్లుగా, ప్రత్యేకంగా తరగతి పేరు ఇతర సభ్యుల ఫంక్షన్లకు అలా కాదు. + కన్స్ట్రక్టర్ యొక్క పని వస్తువును సృష్టించడం మరియు దానిని ప్రారంభించడం ఎందుకంటే రిటర్న్ రకం చూపబడటం లేదని మీరు ఇప్పటికే గమనించి ఉండవచ్చు, ఇది గణన చేయడం మరియు మీకు విలువను తిరిగి ఇవ్వడం కాదు. + కన్స్ట్రక్టర్ ఒక ఫంక్షన్ అయినప్పటికీ, అది ఏ విలువను ఇవ్వదు మరియు తిరిగి వచ్చే రకం కూడా శూన్యమైనది కాదు. + నేను దేనినీ తిరిగి ఇవ్వడం లేదని చెప్పే సున్నా రిటర్న్ రకాలను కలిగి ఉన్న ఫంక్షన్‌ను మీరు చూశారు, కాని కన్స్ట్రక్టర్ అలా చేయడు. + కన్స్ట్రక్టర్‌లో మీరు చెప్పినదానిలో ఏదైనా విలువను తిరిగి ఇవ్వడానికి యంత్రాంగం లేదు, కాబట్టి పేర్కొనడానికి రిటర్న్ రకం లేదు. + రిటర్న్ రకం లేనందున, రిటర్న్ స్టేట్మెంట్ లేదు, కాబట్టి మీకు రిటర్న్ స్టేట్మెంట్ లభించదు. సాధారణ సభ్యుల ఫంక్షన్ మాదిరిగా కాకుండా, రిటర్న్ స్టేట్మెంట్ ఎక్కడ ఉంటుంది లేదా మీ రిటర్న్ రకం సున్నా అయితే రిటర్న్ సూచించవచ్చు, కానీ a కన్స్ట్రక్టర్‌కు రిటర్న్ స్టేట్‌మెంట్ అవసరం లేదు, అది పరోక్షంగా తిరిగి వస్తుంది. + అదనంగా, కన్స్ట్రక్టర్‌కు ప్రారంభ జాబితా ఉంటుంది, ఇది కుండలీకరణాల్లోని డేటా సభ్యుల జాబితాకు ప్రారంభ విలువ విలువను వివరించాను. + జాబితా కన్స్ట్రక్టర్ బాడీ ప్రారంభంతో ప్రారంభమయ్యే పెద్దప్రేగుతో మొదలవుతుంది మరియు ఇది ఇతర సభ్యుల ఫంక్షన్లకు సమాంతరంగా ఉండదు. + కన్స్ట్రక్టర్‌కు స్పష్టమైన కాల్ లేదు, దానిని అత్యవసరంగా పిలుస్తారు.నేను ఈ వస్తువును ఇన్‌స్టాంట్ చేసిన వెంటనే కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇక్కడ ప్రకృతిలో కాల్ ఆబ్జెక్ట్ (ఆబ్జెక్ట్) అవసరం. స్పష్టంగా ఉన్నాయి. + మేము ఉదాహరణను చూస్తాము, కాని చివరికి ఒక కన్స్ట్రక్టర్ యొక్క ఉదాహరణ పారామితి లేదని మనం చూసిన ఏదైనా పరామితిని కలిగి ఉంటుంది, కానీ ఇతర సభ్యుల ఫంక్షన్ వంటి కన్స్ట్రక్టర్. ఎన్ని పారామితులను కలిగి ఉండవచ్చు మరియు ఒక కన్స్ట్రక్టర్ లోడ్ చేయవచ్చు ఏ ఇతర సభ్యుల ఫంక్షన్ లాగా. + కన్స్ట్రక్టర్ అనేది ఒక ప్రత్యేకమైన ఫంక్షన్, ఇది అంతర్లీన వస్తువులను అన్ని సమయాలలో ప్రారంభించడానికి ప్రాథమికంగా మాకు సహాయపడుతుంది. + మీరు C ++ లో నిర్వచించగలిగే వివిధ రకాల కన్స్ట్రక్టర్లను చూసే ఒక జత స్లైడర్‌ల ద్వారా మేము త్వరగా తిరుగుతాము, పారామిటరైజ్డ్ కన్స్ట్రక్టర్స్ (కన్స్ట్రక్టర్) అని పిలువబడే కన్స్ట్రక్టర్‌లో మీరు పారామితులను (కన్స్ట్రక్టర్లను) కలిగి ఉండవచ్చు. + మేము ఇప్పటికే చూసిన డబుల్ రకాలను మళ్ళీ చూపిస్తున్నాము, కాబట్టి ఈ పారామితి విలువ ప్రారంభ సభ్యుల జాబితా ద్వారా డేటా సభ్యులను ప్రారంభించడానికి ఉపయోగపడుతుంది. + అప్పుడు కన్స్ట్రక్టర్ ఆవశ్యకతతో అవ్యక్తంగా పిలువబడుతుంది మరియు సాధారణంగా దీనికి రెండు వాక్యనిర్మాణాలు ఉపయోగించబడతాయి. + వాక్యనిర్మాణం ఒక నిర్దిష్ట ఫంక్షన్ కాల్ రకాన్ని కలిగి ఉంది, ఇక్కడ మీరు ఆబ్జెక్ట్ పేరు మరియు బ్రాకెట్లను ఉంచారు.మీరు కన్స్ట్రక్టర్ యొక్క పారామితులను కన్స్ట్రక్టర్ కోసం నిర్వచించిన క్రమంలో ఉంచుతారు. + కాబట్టి నేను ఈ ప్రత్యేకమైన ఆబ్జెక్ట్ ఇన్‌స్టాంటియేషన్‌ను వ్రాసేటప్పుడు, నియంత్రణ ఈ పాయింట్ గుండా వెళుతున్నప్పుడు కాంప్లెక్స్ యొక్క కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇక్కడ 4.2 మళ్ళీ విలువగా, 5.3 IM విలువగా వెళ్ళాలి. ఇది దానిలోకి మరియు దానితో పాటు వెళ్తుంది దానితో వస్తువు నిర్మించబడుతుంది మరియు వస్తువు c గా సెట్ చేయబడుతుంది. + దీనికి మించి, మీరు c.re చేస్తే, మీరు విలువ 4.2 ను పొందాలి, అనగా, ఈ ముద్రణ ప్రకటన ఇక్కడ చూపబడింది, ఇక్కడ మేము సంక్లిష్ట సంఖ్య సంక్లిష్ట సంజ్ఞామానాన్ని ముద్రించి దాని ప్రమాణాన్ని లెక్కిస్తాము. + అదేవిధంగా, నేను సి భాగాన్ని సి చేస్తే నాకు 5.3 లభిస్తుంది. + రెండవది, d విషయంలో మనం వేరే ప్రత్యామ్నాయ సంజ్ఞామానం లో ఒకదాన్ని మాత్రమే చూపిస్తే, దానిని జాబితా ప్రారంభించడం అంటారు. + అంటే, మీరు ఒక కన్స్ట్రక్టర్‌లో బహుళ పారామితులను కలిగి ఉంటే, మీరు ఈ పారామితుల యొక్క ప్రారంభ విలువలను జాబితా సంజ్ఞామానం లో ఒక జత వంకర కలుపులు (సూచన సమయం: 21:22) మరియు వస్తువుతో సూచించవచ్చు. మీరు ప్రారంభ చిహ్నాన్ని ఉపయోగించవచ్చు పేరు తరువాత. + రెండూ ఒకే ప్రభావాన్ని కలిగి ఉంటాయి, అవి ఒకే ఆపరేషన్ చేయడానికి ప్రత్యామ్నాయ సంజ్ఞామానం మాత్రమే. + కాబట్టి, ఒకటి లేదా అంతకంటే ఎక్కువ పారామితులను కలిగి ఉన్న కన్స్ట్రక్టర్లను పారామీటర్ చేయబడిన కన్స్ట్రక్టర్స్ అంటారు. + ప్రస్తుతం, ప్రతి విషయంలో కన్స్ట్రక్టర్ మరొక సభ్యుల ఫంక్షన్, లేదా సి ++ లో ప్రత్యేకంగా మరో ఫంక్షన్ మాత్రమే ఉంది, కాబట్టి, నాకు పారామితులు ఉంటే, నేను డిఫాల్ట్ విలువను కూడా ఉంచగలను. + అందువల్ల, నేను వేర్వేరు డిఫాల్ట్ విలువలతో ఒక కన్స్ట్రక్టర్‌ను కలిగి ఉండగలను, కాబట్టి మీరు ఇక్కడ రెండు పారామితులతో మళ్ళీ ఒక ఉదాహరణను చూపిస్తారు మరియు డిఫాల్ట్ విలువలు 0.0 వాటిని. + ఫంక్షన్ల కోసం డిఫాల్ట్ పరామితి యొక్క అన్ని నియమాలు మరియు ఫంక్షన్లను ప్రారంభించడానికి డిఫాల్ట్ పరామితి ఆధారంగా మూడు వేర్వేరు మార్గాల్లో వస్తువులను సృష్టించడానికి మనం ఇదే కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు.నేను నేను మొదటి పారామితిని మాత్రమే పేర్కొనగల రెండు పారామితులను ఉంచగలను లేదా నేను పారామితులను పేర్కొనలేను. + పేర్కొన్న పారామితులు డిఫాల్ట్ విలువలను తీసుకుంటాయి మరియు తదనుగుణంగా మీరు ప్రింట్ చేస్తే సంబంధిత వస్తువులు సృష్టించబడినప్పుడు మీరు వాటిని చూడగలరు. + డిఫాల్ట్ పారామితులతో కూడిన ఫంక్షన్ కోసం మేము నేర్చుకున్న అన్ని నియమాలు, ఆ పారామితులన్నింటినీ డిఫాల్ట్ చేసే మొత్తం విధానం కన్స్ట్రక్టర్లకు కూడా వర్తిస్తుందని ఇది చూపిస్తుంది. + ఇది ఇక్కడ మరొక ఉదాహరణ, మేము తిరిగి స్టాక్ చేయబోతున్నాం, కాబట్టి దీని కోసం ఒక కన్స్ట్రక్టర్‌ను డిఫాల్ట్ సైజు_టి విలువ 10 (సైజు_టి = 10) తో చూపిస్తాము. + కన్స్ట్రక్టర్ నిర్వచనంలో, మనకు ఒక పరామితి ఉంది, కాబట్టి నాకు కావాలంటే, నేను ఈ పారామితి విలువను ఉదాహరణకు ఇక్కడ పాస్ చేయగలను, అప్పుడు మేము ఆ స్ట్రింగ్ యొక్క పొడవును తీసుకుంటాము, మనం రివర్స్ చేయదలిచిన వస్తువును నిర్మిస్తున్నాము ఎందుకంటే ఈ స్టాక్ ఉంటే ఇచ్చిన స్ట్రింగ్ STR ను రివర్స్ చేసి, స్ట్రింగ్ యొక్క పొడవు ద్వారా రివర్స్ చేయండి ఎక్కువ పరిమాణం అవసరం లేదు, కాబట్టి మనం దానిని ఉపయోగించుకోవచ్చు మరియు స్ట్రింగ్‌కు తగినట్లుగా పెద్దదిగా ఉండే స్టాక్‌ను సృష్టించవచ్చు మరియు ఇక్కడ మీరు కన్స్ట్రక్టర్‌గా ముద్రించడం ద్వారా చూడవచ్చు సృష్టించబడిన స్టాక్ పరిమాణం ఎంత. + నేను దానిని ఉపయోగించకపోతే, పరిమాణం ఎలా ఉండాలో మేము ఈ సమాచారాన్ని అందించకపోతే, మనం స్టాక్ వ్రాస్తే అది ఖచ్చితంగా డిఫాల్ట్ పారామితి విలువ 10 మరియు 10 మూలకాల స్టాక్ తీసుకుంటుంది. (స్టాక్). + కాబట్టి, ఇవి మన వద్ద ఉన్న కన్స్ట్రక్టర్ల యొక్క వివిధ ఉదాహరణలు. + ఏదైనా తరువాతి C ++ సమూహ ఫంక్షన్ల మాదిరిగానే, కన్స్ట్రక్టర్లను కూడా ఓవర్‌లోడ్ చేయవచ్చు, అంటే ఒక తరగతి ఒకటి కంటే ఎక్కువ కన్స్ట్రక్టర్లను కలిగి ఉంటుంది, ఎందుకంటే దాని పేరు తప్పనిసరిగా కన్స్ట్రక్టర్ కావడం తరగతి పేరు. అదే విధంగా ఉంటుంది, కాబట్టి నేను ఉంటే ఇద్దరు కన్స్ట్రక్టర్లను వ్రాయాలనుకుంటున్నారు, వారికి ఒకే పేరు అవసరం, కానీ పారామితులు లేదా టైప్ పారామితులలో తేడా ఉన్నంత వరకు అలా చేయడానికి అనుమతి ఉంది. + ఫంక్షన్ ఓవర్‌లోడింగ్ యొక్క అన్ని నియమాలు మనం నేర్చుకున్నట్లే, అధిక-లోడ్ చేసిన కన్స్ట్రక్టర్ సందర్భంలో వర్తిస్తాయి. + కాబట్టి ఇక్కడ మేము ఒక కాంప్లెక్స్ కోసం మూడు కన్స్ట్రక్టర్లను చూపిస్తున్నాము, అది రెండు పారామితులను తీసుకొని రెండింటినీ తిరిగి అమలు చేస్తుంది, ఒకటి శ్రేణులను మాత్రమే తీసుకుంటుంది మరియు ఏమీ తీసుకోదు. + మరియు మేము ఈ పారామితులను ఉపయోగిస్తున్నాము, ఇది పరిష్కరించాల్సిన పారామితుల సంఖ్య యొక్క మూడు ఆవశ్యకత దృష్ట్యా ఒక నిర్దిష్ట రూపం కన్స్ట్రక్టర్‌ను పిలుస్తుంది. + ఉదాహరణకు, సి 2 యొక్క ఈ ఆవశ్యకతను మనం చూసినట్లయితే, ఎప్పుడు సి 2 త్వరగా పొందబడుతుందో, అప్పుడు సహజంగానే ఈ కన్స్ట్రక్టర్‌తో ఒక కన్స్ట్రక్టర్ ఆహ్వానించబడతారు. + అయితే, సి 1, సి 1 తక్షణం చేయబడినప్పుడు, రెండు పారామితులతో కూడిన కన్స్ట్రక్టర్ ఆహ్వానించబడతారు, కాబట్టి ఈ సందర్భంలో ఓవర్‌లోడ్ చేసిన కన్స్ట్రక్టర్ (ల) యొక్క అన్ని నియమాలు వర్తిస్తాయి. + ఈ విధంగా కన్స్ట్రక్టర్లను లోడ్ చేయవచ్చు మరియు మేము వివిధ రకాల పారామితులు మరియు వాటి కలయికల పరంగా బిల్డ్ ప్రాసెస్‌ను వ్రాయవచ్చు మరియు మనం వెళ్తున్నప్పుడు, వివిధ తరగతుల కోసం ఓవర్‌లోడ్ నిర్మాణాలు ఎలా జరుగుతాయో చెప్పడానికి ఇంకా చాలా ఉదాహరణలు చూస్తాము. మేము నిర్మించిన చాలా ప్రభావవంతమైన నిర్మాణ విధానాలను వ్రాయడానికి. diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/28 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 24)-Dgv9ErvGnLo.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/28 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 24)-Dgv9ErvGnLo.txt index 3241cb1e5cd89c6a691b8499fc0d66394fc98d5e..23fe2a8a9b2f198b2277049149e61eb201cc87d6 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/28 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 24)-Dgv9ErvGnLo.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/28 ProgramminginCplusplus_Constructors, Destructors and Object Lifetime (Contd.) (Lecture 24)-Dgv9ErvGnLo.txt @@ -1,85 +1,84 @@ - 1. మాడ్యూల్ 13, పార్ట్ -2  ప్రోగ్రామింగ్ ఇన్ C ++ కు స్వాగతం. - 2. ఈ మాడ్యూల్ యొక్క మొదటి భాగంలో, తరగతుల కన్స్ట్రక్టర్లను ఉపయోగించి వస్తువులను ఎలా నిర్మించవచ్చో చూశాము, అవ్యక్త కన్స్ట్రక్టర్లను ఎలా పిలుస్తారు మరియు ప్రారంభ జాబితా ద్వారా వస్తువులను పేర్కొనడానికి వాటిని ఉపయోగిస్తాము. (ఆబ్జెక్ట్స్) యొక్క డేటా సభ్యులను ప్రారంభించడానికి చేయవచ్చు, మరియు మేము ఎలా నిర్మించగలమో కూడా చూశాము? ఆ పారామితుల కోసం డిఫాల్ట్ విలువలను ఎలా ఉపయోగించగలం? అన్ని రకాల నిర్మాణ మరియు ప్రారంభ విధానాల కోసం ఓవర్‌లోడ్ కన్స్ట్రక్టర్లను ఎలా అందించగలం? ఇప్పుడు, కథ యొక్క మరొక కోణాన్ని పరిశీలిస్తాము. - 3. ఒక వస్తువు జీవిత చివరకి చేరుకున్నప్పుడు లేదా అది విధ్వంసక సమయం అయినప్పుడు ఏమి జరుగుతుందో దానిపై మేము దృష్టి పెడతాము. - 4. కాబట్టి, మళ్ళీ మనం స్టాక్ ఉదాహరణకి తిరిగి వెళ్తాము. - 5. మేము ప్రైవేట్ డేటాను కలిగి ఉన్న స్టాక్‌ను చూస్తున్నాము మరియు స్టాక్ యొక్క అంశాలను కలిగి ఉన్న కంటైనర్ డైనమిక్‌గా కేటాయించిన శ్రేణి, కాబట్టి మనకు ఒక పాయింటర్ ఉంది. - 6. కాబట్టి, స్టాక్ సందర్భంలో మనకు ఏమి చేయాలో తెలుసు, నిర్మాణ పరంగా ఏమి చేయాలో మాకు తెలుసు, మేము దీనిని చూశాము. - 7. 10 అక్షరాల శ్రేణికి క్రొత్త ఆపరేటర్‌తో డైనమిక్ కేటాయింపు జరుగుతుంది మరియు ఆ పాయింటర్ డేటాలో నిల్వ చేయబడుతుంది. - 8. కాబట్టి, స్టాక్ పని చేస్తుంది, ఇది ఈ బిల్డ్ ద్వారా ప్రారంభమవుతుంది మరియు తరువాత అది రివర్స్ అవుతుంది. - 9. కాబట్టి, ప్రదర్శన యొక్క స్పష్టత కొరకు నేను స్టాక్ పద్ధతుల యొక్క అన్ని వివరాలను వదిలివేసాను మరియు స్ట్రింగ్ కోడ్‌ను రివర్స్ చేసాను, ఇది మునుపటిలాగే ఉంది, కానీ అలా చేస్తున్నప్పుడు, మేము ఈ దశకు చేరుకున్నప్పుడు, మేము దీనిని పూర్తి చేసాము స్టాక్ మరియు మేము తిరిగి రావాలి. - 10. పాయింట్, మనం ఇప్పటికే గుర్తించినట్లుగా, డైనమిక్‌గా కేటాయించిన శ్రేణి ఉంది, దీని పాయింటర్ స్టాక్ ఆబ్జెక్ట్ యొక్క డేటా భాగం ద్వారా ఉంటుంది. - 11. ఇప్పుడు, మేము ఈ దశకు తిరిగి వస్తే; మేము ప్రధాన నుండి తిరిగి వచ్చి నియంత్రణ ముగిస్తే, అప్పుడు ఈ డైనమిక్‌గా నిర్మించిన శ్రేణి సాధించలేనిది, ఎందుకంటే నిశ్శబ్దంగా S, ఇక్కడ వేగవంతం అయిన వస్తువు S ఈ ఫంక్షన్ యొక్క పరిధి. - 12. కాబట్టి, నేను తిరిగి వచ్చి దాని నుండి బయటికి వెళితే నేను s ని యాక్సెస్ చేయగల మార్గం లేదు, అందువల్ల నేను s.data ని యాక్సెస్ చేయగలిగే మార్గం లేదు లేదా మన దగ్గర ఉన్న మెమరీని విడుదల చేయటం కొత్త ప్రక్రియ ద్వారా సాధించబడుతుంది. - 13. నిర్మాణం. - 14. అందువల్ల, ఈ సమస్యను నివారించడానికి మా వనరులను సరిగ్గా నిర్వహించడానికి మరియు విడుదల చేయడానికి, వనరును ఉపయోగించడం పూర్తయినప్పుడల్లా, డి-ఇనిషియలైజేషన్ యొక్క సరిపోయే విధానం ఉండాలి, ఇది మేము ప్రారంభ సమయంలో చేసిన వాటిని రద్దు చేస్తుంది. - 15. కాబట్టి, మొదట మనం ప్రారంభించినట్లే అదే umption హను చేస్తాము, ఒక ఫంక్షన్ (ఫంక్షన్) de_init (), మనకు ఫంక్షన్ (ఫంక్షన్) ఎందుకు అవసరం? మరియు మనం ఆ ఫంక్షన్‌ను ఇక్కడ ఎందుకు ఉంచాలి? ఎందుకంటే కేటాయించిన శ్రేణిని విడుదల చేయడానికి, మేము స్టాక్ క్లాస్ యొక్క "డేటా (డేటా) _" డేటా (డేటా) సభ్యుడిని యాక్సెస్ చేయాలి. - 16. అందువల్ల, మేము de_init () పద్ధతిని బహిరంగంగా ఉంచి, ఆ పద్ధతిని పిలుస్తాము, ప్రారంభంలో మేము చేసిన శైలి మరియు దానికి కారణమయ్యే సమస్యలు ప్రారంభానికి సమానంగా ఉంటాయి. - 17. అనువర్తనం init అని పిలవడం మర్చిపోయే ఒక భాగం అయితే మంచిది. - 18. రెండవది, ఈ సందర్భంలో మనకు పెద్ద సమస్య ఉంది, ఎందుకంటే ఇది de_init () ని పిలవడం మర్చిపోవడమే కాదు, ఒక పెద్ద సమస్య కూడా నాకు గుర్తుంటే, నేను కాల్ చేసిన తర్వాత స్టాక్ (స్టాక్) ను ఉపయోగించటానికి ప్రయత్నించే ఖచ్చితమైన స్థానం ఏమిటి? de_init (), నేను de_init () మరియు de_init () అని పిలిస్తే. - 19. స్టాక్‌లో కంటైనర్ లేనందున అప్పుడు నాకు మూల్యాంకనం ఉంటుంది. - 20. నేను ఇప్పటికే దీన్ని విడుదల చేసాను, కాని డి_నిట్ () స్టాక్ నిర్వచించబడిన అదే పరిధిలో ఉంది. - 21. అందువల్ల, ఇక్కడ కాల్ చేసిన తర్వాత de_init () స్టాక్ (స్టాక్) ను ఉపయోగించడానికి ప్రయత్నించవచ్చు. - 22. అందువల్ల, ప్రతి కాల్ de_init () ఆ తరువాత S యొక్క ఉపయోగం లేదని నిర్ధారించడానికి నేను చాలా జాగ్రత్తగా ఉండాలి. - 23. ఒక ఫంక్షన్ నుండి మరొక ఫంక్షన్ వరకు; ఇది మేము ఇక్కడ చూపిస్తున్న చాలా సులభమైన కేసు, ఒక ఫంక్షన్ నుండి, నేను వాస్తవానికి తిరిగి వచ్చే చాలా ప్రదేశాలు ఉండవచ్చు, నేను చాలా ప్రదేశాల నుండి తిరిగి వస్తున్నట్లయితే నాకు మొదట తెలియదు మరియు నియంత్రణ ప్రవాహం ద్వారా ఎవరు ఒక నిర్దిష్ట స్పెసిఫికేషన్ ఉపసంహరించబడతారు . - 24. అందువల్ల, నేను ఈ ప్రదేశాలలో ప్రతిదానిని గుర్తుంచుకోవాలి మరియు de_init () ను ఉంచాలి. - 25. కాబట్టి, ఇది పూర్తి గజిబిజి, ఇది పూర్తి గజిబిజి మరియు దీనికి ప్రధాన కారణం సి లోని సమస్యకు తెలిసిన మూలం, కేటాయించిన వనరులు సరిగా కేటాయించబడలేదు లేదా సరిగా విడుదల చేయబడలేదు. - 26. C ++ లో, మనకు విధ్వంసక అని పిలువబడే అందమైన పరిష్కారం ఉంది. - 27. ఆ పరిష్కారాన్ని చూద్దాం; మనం చేసేది క్లాసులో మరొక సభ్యుల ఫంక్షన్ ప్రారంభించడం. - 28. ఈ సభ్యుల ఫంక్షన్ కూడా తరగతికి సమానమైన పేరును కలిగి ఉంది, కానీ దానిలోని తేడాలు ప్రత్యేక చిహ్నం టిల్డే (~) తో ప్రిఫిక్స్ చేయబడతాయి మరియు వాటిని క్లాస్ డిస్ట్రక్టర్స్ అంటారు. - 29. కాబట్టి, ఏమి జరుగుతుందో ఆ వస్తువును కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇది అత్యవసర సమయం. - 30. అదేవిధంగా, వస్తువు ఇక్కడ నుండి నిష్క్రమించినప్పుడు, ఇది ఒక వంకర కలుపు, ఈ వస్తువు పరిధి నుండి బయటకు వెళుతుంది, ఈ వంకర కలుపును నియంత్రణ ద్వారా దాటిన తరువాత, C యొక్క స్కోప్ నియమం యొక్క పరిధి అని మాట్లాడటానికి మార్గం లేదు సి ++. - 31. అందువల్ల, ఈ స్కోప్ ముగింపును దాటడానికి ప్రయత్నిస్తున్నప్పుడు, తరగతి యొక్క విధ్వంసకుడిని ఈ వస్తువు కోసం పిలుస్తారు. - 32. ఈ సమయంలో s ~ stack (), ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుంది మరియు మొత్తం యొక్క అందం ఏమిటంటే వినియోగదారు లేదా ప్రోగ్రామర్ కాల్ చేసి గుర్తుంచుకోవలసిన అవసరం లేదు. - 33. కంపైలర్ క్లుప్తంగా లెక్కిస్తుంది, ఇది s యొక్క స్కోప్ యొక్క ముగింపు మరియు ఈ కాల్ స్కోప్ చివరిలో పరోక్షంగా ఉంచబడుతుంది. - 34. కాబట్టి, ఇప్పుడు మనం మొత్తం వ్యవస్థను కలిసి చూస్తే, మనకు ఈ రకమైన డి_ఇనిట్ () అవసరం లేదు, ఇక్కడ అవసరం లేదు. - 35. కన్స్ట్రక్టర్ ఈ ఫంక్షన్‌ను మరియు అది ముద్రించే సందేశాన్ని పిలవడానికి స్టాక్ ఈ సమయంలో ప్రారంభించబడుతుంది. - 36. అప్పుడు స్ట్రింగ్ రివర్స్ చేయడానికి స్టాక్ ఉపయోగించబడుతుంది. - 37. రివర్స్ స్ట్రింగ్ అవుట్పుట్ మరియు తరువాత నియంత్రణ ఈ సమయంలో స్కోప్ నుండి బయటపడుతుంది మరియు దీనిని స్పష్టంగా డిస్ట్రక్టర్ ఫంక్షన్ అని పిలుస్తారు మరియు డిస్ట్రక్టర్ ఫంక్షన్ లోపల సందేశం ముద్రించబడిందని గుర్తించడానికి డిస్ట్రక్టర్ ఫంక్షన్ అని పిలుస్తారు. - 38. కాబట్టి, స్టాక్ క్లాస్ యొక్క ఈ డేటా సభ్యునిలో డైనమిక్‌గా ఉంచిన డేటాను ఈ సమయంలో విడుదల చేయవచ్చని ఇది నిర్ధారిస్తుంది. - 39. కాబట్టి, నేను స్టాక్‌ను ఏ సందర్భంలో ఉపయోగించినా, నేను స్టాక్‌ను వేగవంతం చేసినప్పుడల్లా, బిల్డర్ తగిన విధంగా డేటా కేటాయించబడిందని నిర్ధారిస్తుంది. సరైన ప్రారంభాన్ని నిరోధించడమే అవుతుంది, మరియు పేర్చబడిన స్టాక్ ఆబ్జెక్ట్ పరిధికి దూరంగా ఉన్నప్పుడు, కంపైలర్ కన్‌స్ట్రక్టర్‌ను పిలిచారని కూడా నిర్ధారించుకోండి, తద్వారా కేటాయింపుదారుడు డేటాను సరైన విడుదలను నిర్ధారించడానికి. - 40. కాబట్టి, ఈ మిశ్రమ జత కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్లు C ++ లోని ప్రతి వస్తువు యొక్క జీవిత కాలాన్ని చాలా చక్కగా నిర్వహించే పూర్తిగా నిర్వచించిన నిర్మాణాత్మక మార్గాన్ని మాకు అందిస్తుంది. - 41. అందువల్ల, మనం ఇప్పటికే చూసినట్లుగా డిస్ట్రక్టర్ యొక్క అధికారిక లక్షణాలను చూడటానికి, డిస్ట్రక్టర్ కూడా సభ్యుల ఫంక్షన్. - 42. ఈ పాయింటర్‌లోని ఇతర సభ్యుల ఫంక్షన్ మాదిరిగానే, దీనికి ప్రత్యేక పేరు ఉంది, ఇది క్లాస్ పేరును అనుసరించి ఒక టిల్డే, డిస్ట్రక్టర్ కూడా డిస్ట్రక్టర్ దగ్గర రిటర్న్ రకాన్ని కలిగి ఉంటుంది. దీనిని స్కోప్ యొక్క ముగింపు అని పిలుస్తారు మరియు అందువల్ల, అది ఏదైనా తిరిగి ఇస్తే, ఆ తిరిగి వచ్చిన విలువకు టేకర్ ఉండదు. - 43. ఒక వస్తువును నాశనం చేయడం ద్వారా రిటర్న్ లెక్కించడంలో అర్థం లేదు, కాబట్టి డిస్ట్రక్టర్‌కు కూడా రిటర్న్ రకం లేదు - శూన్యమైనది కాదు. - 44. ఖచ్చితంగా, ఫలితంగా ఒక డిస్ట్రక్టర్‌కు రిటర్న్ స్టేట్‌మెంట్ లేదు మరియు మనం ఇప్పటికే చూసినట్లుగా చాలా ముఖ్యమైన మరియు ముఖ్యమైన భాగం ఏమిటంటే, డిస్ట్రక్టర్ స్కోప్ చివరిలో ఉన్నట్లు చెప్పబడింది మరియు ఏదైనా స్వయంచాలక వస్తువు కోసం స్థానికంగా ఉపయోగించవచ్చు. - 45. డిస్ట్రక్టర్‌ను పిలవడానికి ఇతర మార్గాలు ఉన్నాయి, మేము దానిని స్పష్టం చేస్తాము, కాని సాధారణంగా ఒక డిస్ట్రక్టర్‌కు కాల్ అనేది కంపైలర్ చేత సూచించబడుతుంది, ఈ ఆటోమేటిక్ స్కోప్ యొక్క కొలత ద్వారా నిర్దిష్ట వస్తువు నిర్మించబడింది. - 46. కన్స్ట్రక్టర్ మాదిరిగా కాకుండా, ఒక డిస్ట్రక్టర్ ఏ పరామితిని అనుమతించదు. - 47. ఇది అనుమతించబడనందున, మీరు ఇప్పటివరకు అర్థం చేసుకునే ఏదైనా పరామితి ఫలితం చాలా సరైనది, మీరు డిస్ట్రక్టర్‌ను ఓవర్‌లోడ్ చేయలేరు. - 48. అందువల్ల, మీకు పరామితి లేకపోతే మరియు మీరు డిస్ట్రక్టర్‌ను ఓవర్‌లోడ్ చేయలేకపోతే, తరగతి యొక్క డిస్ట్రక్టర్ ప్రత్యేకమైనదని అర్థం. - 49. అందువల్ల, దృష్టాంతంలో ఓవర్లోడింగ్ యొక్క వేర్వేరు యంత్రాంగాల ద్వారా ఒకటి లేదా అంతకంటే ఎక్కువ మంది కన్స్ట్రక్టర్లను కలిగి ఉండగల తరగతి, కానీ దీనికి ఒకే విధమైన విధ్వంసం ఉండాలి మరియు విషయాలు ఒక విధంగా నిర్వచించబడటానికి లోతైన కారణం ఉంది ఎందుకంటే స్పష్టంగా, ఒకసారి మీరు ఒక వస్తువును నిర్మించబోతున్నారు, మీకు ఖచ్చితంగా ఒక ఎంపిక ఉంటుంది, మీకు ఏ పరామితి మరియు అన్నింటిని మీరు ఇష్టపడతారు మీరు ఏ రకమైన వస్తువును సెట్ చేయాలనుకుంటున్నారో బట్టి మరియు నిశ్శబ్దంగా తార్కికంగా మీకు వేర్వేరు యంత్రాంగాలు లేదా విభిన్న పారామితులు అవసరం వస్తువును నిర్మించడానికి సెట్ చేయబడింది మరియు అందువల్ల, మీకు ఓవర్‌లోడ్ కన్స్ట్రక్టర్లు చాలా అవసరం. - 50. కానీ, మేము వస్తువును నిర్మించిన తర్వాత, దానిని నిర్మించడానికి ఏ కన్స్ట్రక్టర్ ఉపయోగించబడ్డాడనే దానిపై ఎటువంటి ఆధారాలు లేవు. - 51. డేటా సభ్యుడు ప్రారంభించబడిందా లేదా దాని విలువ తరువాత నిర్ణయించబడిందో తెలియదు. - 52. అందువల్ల, మీరు నాశనం చేయాలనుకున్నప్పుడు, అన్ని విషయాలు ఒకటే. - 53. నేను ఈ వస్తువుతో పూర్తి చేశానని అతను చెబుతున్నదంతా, నా డేటా సభ్యులు కలిగి ఉన్న అన్ని కేటాయించిన వనరులను విడుదల చేయాలనుకుంటున్నాను మరియు ఆ వస్తువు ప్రస్తుతం నివసిస్తున్న మెమరీని విడిపించాలనుకుంటున్నాను - 54. అందువల్ల, నేను డిస్ట్రక్ట్ ప్రాసెస్‌కు అనుగుణంగా ఉండాలి మరియు అందువల్ల, డిస్ట్రక్ట్ ప్రాసెస్ ఒక తరగతిలోని ఒక వస్తువుకు ప్రత్యేకంగా ఉండాలి మరియు అందువల్ల, సి ++ డిజైన్‌లోని ప్రతి తరగతికి ప్రత్యేకమైన సింగిల్ డిస్ట్రక్టర్. - 55. ఈ సమయంలో, మేము కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్‌ని చూసిన తర్వాత, కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) డిఫాల్ట్‌గా ఉండవచ్చని కూడా గమనించండి. - 56. పరామితి లేని కన్స్ట్రక్టర్‌ను డిఫాల్ట్ కన్స్ట్రక్టర్ అంటారు. - 57. అందువల్ల, వినియోగదారుకు వాస్తవానికి రెండు ఎంపికలు ఉన్నాయి, వినియోగదారు ఒక కన్స్ట్రక్టర్‌ను వ్రాయగలడు లేదా అతను ఒక కన్స్ట్రక్టర్‌ను వ్రాయలేడు, కాని C ++ లో ఒక విధానం ఉంది, అది ప్రతి తరగతికి (కన్స్ట్రక్టర్) కన్స్ట్రక్టర్. - 58. అందువల్ల, కంపైలర్ ఏమి చేస్తుంది, వినియోగదారు కన్స్ట్రక్టర్‌ను అందిస్తే అది ఆ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది, కాని వినియోగదారు క్లాస్ కోసం కన్స్ట్రక్టర్‌ను అందించకపోతే, కంపైలర్ (కంపైలర్) ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను సరఫరా చేస్తుంది. - 59. ఇప్పుడు, కంపైలర్ ఒక కన్స్ట్రక్టర్‌ను సరఫరా చేస్తే, సహజంగా కంపైలర్‌కు మీకు కావలసిన పరామితి తెలియదు. - 60. మీ డేటా సభ్యులను ఎలా ప్రారంభించాలో కంపైలర్‌కు తెలియదు. - 61. కాబట్టి, మొత్తం ప్రక్రియను స్థిరంగా చేయడానికి, కంపైలర్ మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను ఇస్తుంది మరియు మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్ ఉందని uming హిస్తూ కోడ్‌ను కంపైల్ చేస్తుంది.ఫాల్ట్ కన్స్ట్రక్టర్. - 62. అందువల్ల, ఒక పారామితి లేకపోయినా కన్స్ట్రక్టర్‌ను అందించడం మంచిది, ఎందుకంటే మీరు ఒకసారి కన్స్ట్రక్టర్‌ను అందించినప్పుడు, అది డిఫాల్ట్‌గా ఉన్నప్పటికీ, మీ కన్స్ట్రక్టర్. (కన్స్ట్రక్టర్) ఉపయోగించబడుతుంది మరియు కంపైలర్ ఉచిత కన్స్ట్రక్టర్‌ను అందించదు ఎందుకంటే మీరు డిఫాల్ట్ కన్స్ట్రక్టర్ వ్రాస్తే లేదా మీరు మరొక ఓవర్లోడ్ కన్స్ట్రక్టర్ వ్రాస్తే మీకు నిజంగా తెలుసు మీరు ఏమి చేస్తున్నారో - 63. కంపైలర్ దీన్ని అందిస్తే, అది మీ డేటా సభ్యులకు చెత్త యొక్క మొత్తం విలువను కలిగి ఉంటుంది, కాని కంపైలర్ మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను ఇస్తుందని యంత్రాంగాలు ఉన్నాయి. - 64. అదేవిధంగా, విధ్వంసం కోసం, వినియోగదారు ఒక డిస్ట్రక్టర్‌ను అందించకపోతే, కంపైలర్ ఉచిత డిఫాల్ట్ డిస్ట్రక్టర్‌ను సరఫరా చేస్తుంది, ఇది ఖాళీ శరీరమే తప్ప ఏమీ చేయదు. కనుగొనబడింది, కానీ వారి శరీరంలో కోడ్ లేదు ఎందుకంటే ఆ కంపైలర్ లేదు ' విడుదల చేయవలసినది ఏమిటో తెలియదు లేదా విడుదల చేయడానికి ఏమీ లేకపోతే, కానీ కంపైలర్ వాస్తవానికి మొత్తం వ్యవస్థను పని చేయడానికి పని చేస్తుంది. ఉచిత డిఫాల్ట్ డిస్ట్రక్టర్‌ను అందిస్తుంది. - 65. కాబట్టి, డిఫాల్ట్ కన్స్ట్రక్టర్ యొక్క ఉదాహరణను మేము ఇక్కడ చూపిస్తాము. - 66. దయచేసి ఈ తరగతిని చూడండి. - 67. ఇది మా సంక్లిష్ట తరగతిని కలిగి ఉంది, ఇది మా పాత స్నేహితుడు. - 68. ఇలస్ట్రేషన్ కోసం నేను జోడించినది ఏమిటంటే, నేను రెండు సభ్యుల ఫంక్షన్ పద్ధతిని సెట్ చేసాను, అది రెండు డబుల్ విలువలను తీసుకుంటుంది మరియు రెండు విలువలను తరగతిలోని రెండు డేటా సభ్యులుగా సెట్ చేస్తుంది, అవి నా తరగతికి సంక్లిష్ట విలువను కలిగి ఉంటాయి. సమయం, కానీ ఇప్పుడు తప్పిపోయినది ఏమిటంటే, కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ లేడని మీకు తెలుసు. - 69. కాబట్టి, మనం ఉంటే; ఈ సమయంలో ఈ ఆవశ్యకత సంభవించినప్పుడు, కంపైలర్ అందించిన డిఫాల్ట్ కన్స్ట్రక్టర్‌ను పిలవడం డిఫాల్ట్? కాబట్టి, మీరు తరగతి శరీరంలో అలాంటి ఫంక్షన్‌ను నిర్వచించకపోయినా ఈ కాల్ జరుగుతుంది. - 70. అందువల్ల, ఈ బిల్డర్ ఎలా పున art ప్రారంభించబడుతుంది మరియు ఎవరితో ప్రారంభించాలో తెలియదు మరియు అందువల్ల, ఇది ఈ పాయింట్ల వద్ద కొన్ని చెత్త విలువలను వదిలివేస్తుంది. - 71. కాబట్టి, అర్థం చేసుకోవడానికి, ఈ వస్తువు సృష్టించబడితే, మీరు వెంటనే ఆ వస్తువును ప్రింట్ చేస్తే. - 72. నా ఉద్దేశ్యం ఇది ఒక సందర్భం, మీరు ఈ ప్రయోగాన్ని మీరే ప్రయత్నిస్తే, మీరు బహుశా కొన్ని విభిన్న విలువలను పొందుతారు. - 73. కాబట్టి, రీ మరియు ఇమ్ ఉండాల్సిన కొన్ని చెత్త బిట్ నమూనా ఉన్న దాన్ని ప్రింట్ చేస్తుంది, కాని ఒకసారి నేను సెట్ ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించిన తర్వాత నేను కాంపోనెంట్ విలువను తిరిగి మరియు ఇమ్ చేయాలి. సెట్ చేయడానికి ఇక్కడ అందించబడింది మరియు తరువాత నేను ప్రింట్, నేను మళ్ళీ సహేతుకమైన ధరలను పొందుతాను. - 74. సాధారణ సలహా ఏమిటంటే, మీరు కన్స్ట్రక్టర్‌ను అందించకపోతే, దురదృష్టవశాత్తు కంపైలర్ లోపం ఇవ్వదు, కంపైలర్ డిఫాల్ట్ కన్స్ట్రక్టర్‌ను డిఫాల్ట్ కన్స్ట్రక్టర్‌కు అందిస్తుంది మరియు అతనితో కొనసాగుతుంది. - 75. అందువల్ల, ఇది సరసమైన విలువ, సరైన ప్రారంభ వాక్యనిర్మాణం లేని ప్రమాదాన్ని అమలు చేస్తుంది. - 76. అందువల్ల, మీరు క్లాస్ వ్రాసినప్పుడల్లా, మీరు కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ వ్రాసేలా చూసుకోండి. - 77. ఇక్కడ మేము డిఫాల్ట్ కన్స్ట్రక్టర్‌ని చూపిస్తున్న మరొక ఉదాహరణ, కానీ ఈ సందర్భంలో ఉన్న తేడా ఏమిటంటే డిఫాల్ట్ కన్స్ట్రక్టర్ కంపైలర్ చేత అందించబడలేదు, కాని డిఫాల్ట్ (డిఫాల్ట్) కన్స్ట్రక్టర్ యూజర్ అందించారు. - 78. కాబట్టి, వినియోగదారు దీనిని వ్రాశారు. - 79. కాబట్టి, మీరు సహజంగా ప్రారంభించిన తర్వాత మొదటి ముద్రణ చేసినప్పుడు, 0 మరియు 0 యొక్క సహేతుకమైన విలువతో ఒక ప్రారంభీకరణ ఉన్నందున, సహేతుకమైన ప్రారంభ విలువలు ఉన్నాయని మీరు అనుకుంటారు, మునుపటి ఉదాహరణలో మన దగ్గర ఉన్న చెత్త రకం కాదు. నేను. చూసింది - 80. అదేవిధంగా, ఒక డిస్ట్రక్టర్ కూడా ఇక్కడ ఇవ్వబడింది. - 81. ఈ సందర్భంలో, డిస్ట్రక్టర్ ఈ సందేశాన్ని ప్రింట్ చేస్తుంది. - 82. వాస్తవానికి ఒక విధ్వంసకుడు సంక్లిష్ట తరగతి కోసం ఏమీ చేయలేడు, కాని ఒకదాన్ని ఖాళీ శరీరంతో అందించడం ఎల్లప్పుడూ మంచిది. - 83. దీనితో మేము నిర్మాణం మరియు విధ్వంసం ప్రక్రియను ఆపుతాము. - 84. ప్రతి తరగతికి ఒక డిస్ట్రక్టర్ ఉంటుందని మేము తెలుసుకున్నాము, ఇది ప్రత్యేకమైనది మరియు ఇది ఆటోమేటిక్ వస్తువుల కోసం ఉంటుంది, ఈ స్కోప్ చివరిలో పొందబడుతుంది మరియు ఈ డిస్ట్రక్టర్ లోపల, మనం పట్టుకున్న ఏ రకమైన వనరులను అయినా శుభ్రం చేయవచ్చు, మరియు కంపైలర్ డిఫాల్ట్ కన్స్ట్రక్టర్ మరియు డిఫాల్ట్ డిస్ట్రక్టర్ను కూడా అందిస్తుందని మేము చూశాము. వినియోగదారు క్లాస్ కోసం కన్స్ట్రక్టర్ లేదా కన్స్ట్రక్టర్ వ్రాయకపోతే ఇది జరుగుతుంది. - + మాడ్యూల్ 13, పార్ట్ -2  ప్రోగ్రామింగ్ ఇన్ C ++ కు స్వాగతం. + ఈ మాడ్యూల్ యొక్క మొదటి భాగంలో, తరగతుల కన్స్ట్రక్టర్లను ఉపయోగించి వస్తువులను ఎలా నిర్మించవచ్చో చూశాము, అవ్యక్త కన్స్ట్రక్టర్లను ఎలా పిలుస్తారు మరియు ప్రారంభ జాబితా ద్వారా వస్తువులను పేర్కొనడానికి వాటిని ఉపయోగిస్తాము. (ఆబ్జెక్ట్స్) యొక్క డేటా సభ్యులను ప్రారంభించడానికి చేయవచ్చు, మరియు మేము ఎలా నిర్మించగలమో కూడా చూశాము? ఆ పారామితుల కోసం డిఫాల్ట్ విలువలను ఎలా ఉపయోగించగలం? అన్ని రకాల నిర్మాణ మరియు ప్రారంభ విధానాల కోసం ఓవర్‌లోడ్ కన్స్ట్రక్టర్లను ఎలా అందించగలం? ఇప్పుడు, కథ యొక్క మరొక కోణాన్ని పరిశీలిస్తాము. + ఒక వస్తువు జీవిత చివరకి చేరుకున్నప్పుడు లేదా అది విధ్వంసక సమయం అయినప్పుడు ఏమి జరుగుతుందో దానిపై మేము దృష్టి పెడతాము. + కాబట్టి, మళ్ళీ మనం స్టాక్ ఉదాహరణకి తిరిగి వెళ్తాము. + మేము ప్రైవేట్ డేటాను కలిగి ఉన్న స్టాక్‌ను చూస్తున్నాము మరియు స్టాక్ యొక్క అంశాలను కలిగి ఉన్న కంటైనర్ డైనమిక్‌గా కేటాయించిన శ్రేణి, కాబట్టి మనకు ఒక పాయింటర్ ఉంది. + కాబట్టి, స్టాక్ సందర్భంలో మనకు ఏమి చేయాలో తెలుసు, నిర్మాణ పరంగా ఏమి చేయాలో మాకు తెలుసు, మేము దీనిని చూశాము. + 10 అక్షరాల శ్రేణికి క్రొత్త ఆపరేటర్‌తో డైనమిక్ కేటాయింపు జరుగుతుంది మరియు ఆ పాయింటర్ డేటాలో నిల్వ చేయబడుతుంది. + కాబట్టి, స్టాక్ పని చేస్తుంది, ఇది ఈ బిల్డ్ ద్వారా ప్రారంభమవుతుంది మరియు తరువాత అది రివర్స్ అవుతుంది. + కాబట్టి, ప్రదర్శన యొక్క స్పష్టత కొరకు నేను స్టాక్ పద్ధతుల యొక్క అన్ని వివరాలను వదిలివేసాను మరియు స్ట్రింగ్ కోడ్‌ను రివర్స్ చేసాను, ఇది మునుపటిలాగే ఉంది, కానీ అలా చేస్తున్నప్పుడు, మేము ఈ దశకు చేరుకున్నప్పుడు, మేము దీనిని పూర్తి చేసాము స్టాక్ మరియు మేము తిరిగి రావాలి. + పాయింట్, మనం ఇప్పటికే గుర్తించినట్లుగా, డైనమిక్‌గా కేటాయించిన శ్రేణి ఉంది, దీని పాయింటర్ స్టాక్ ఆబ్జెక్ట్ యొక్క డేటా భాగం ద్వారా ఉంటుంది. + ఇప్పుడు, మేము ఈ దశకు తిరిగి వస్తే; మేము ప్రధాన నుండి తిరిగి వచ్చి నియంత్రణ ముగిస్తే, అప్పుడు ఈ డైనమిక్‌గా నిర్మించిన శ్రేణి సాధించలేనిది, ఎందుకంటే నిశ్శబ్దంగా S, ఇక్కడ వేగవంతం అయిన వస్తువు S ఈ ఫంక్షన్ యొక్క పరిధి. + కాబట్టి, నేను తిరిగి వచ్చి దాని నుండి బయటికి వెళితే నేను s ని యాక్సెస్ చేయగల మార్గం లేదు, అందువల్ల నేను s.data ని యాక్సెస్ చేయగలిగే మార్గం లేదు లేదా మన దగ్గర ఉన్న మెమరీని విడుదల చేయటం కొత్త ప్రక్రియ ద్వారా సాధించబడుతుంది. + నిర్మాణం. + అందువల్ల, ఈ సమస్యను నివారించడానికి మా వనరులను సరిగ్గా నిర్వహించడానికి మరియు విడుదల చేయడానికి, వనరును ఉపయోగించడం పూర్తయినప్పుడల్లా, డి-ఇనిషియలైజేషన్ యొక్క సరిపోయే విధానం ఉండాలి, ఇది మేము ప్రారంభ సమయంలో చేసిన వాటిని రద్దు చేస్తుంది. + కాబట్టి, మొదట మనం ప్రారంభించినట్లే అదే umption హను చేస్తాము, ఒక ఫంక్షన్ (ఫంక్షన్) de_init (), మనకు ఫంక్షన్ (ఫంక్షన్) ఎందుకు అవసరం? మరియు మనం ఆ ఫంక్షన్‌ను ఇక్కడ ఎందుకు ఉంచాలి? ఎందుకంటే కేటాయించిన శ్రేణిని విడుదల చేయడానికి, మేము స్టాక్ క్లాస్ యొక్క "డేటా (డేటా) _" డేటా (డేటా) సభ్యుడిని యాక్సెస్ చేయాలి. + అందువల్ల, మేము de_init () పద్ధతిని బహిరంగంగా ఉంచి, ఆ పద్ధతిని పిలుస్తాము, ప్రారంభంలో మేము చేసిన శైలి మరియు దానికి కారణమయ్యే సమస్యలు ప్రారంభానికి సమానంగా ఉంటాయి. + అనువర్తనం init అని పిలవడం మర్చిపోయే ఒక భాగం అయితే మంచిది. + రెండవది, ఈ సందర్భంలో మనకు పెద్ద సమస్య ఉంది, ఎందుకంటే ఇది de_init () ని పిలవడం మర్చిపోవడమే కాదు, ఒక పెద్ద సమస్య కూడా నాకు గుర్తుంటే, నేను కాల్ చేసిన తర్వాత స్టాక్ (స్టాక్) ను ఉపయోగించటానికి ప్రయత్నించే ఖచ్చితమైన స్థానం ఏమిటి? de_init (), నేను de_init () మరియు de_init () అని పిలిస్తే. + స్టాక్‌లో కంటైనర్ లేనందున అప్పుడు నాకు మూల్యాంకనం ఉంటుంది. + నేను ఇప్పటికే దీన్ని విడుదల చేసాను, కాని డి_నిట్ () స్టాక్ నిర్వచించబడిన అదే పరిధిలో ఉంది. + అందువల్ల, ఇక్కడ కాల్ చేసిన తర్వాత de_init () స్టాక్ (స్టాక్) ను ఉపయోగించడానికి ప్రయత్నించవచ్చు. + అందువల్ల, ప్రతి కాల్ de_init () ఆ తరువాత S యొక్క ఉపయోగం లేదని నిర్ధారించడానికి నేను చాలా జాగ్రత్తగా ఉండాలి. + ఒక ఫంక్షన్ నుండి మరొక ఫంక్షన్ వరకు; ఇది మేము ఇక్కడ చూపిస్తున్న చాలా సులభమైన కేసు, ఒక ఫంక్షన్ నుండి, నేను వాస్తవానికి తిరిగి వచ్చే చాలా ప్రదేశాలు ఉండవచ్చు, నేను చాలా ప్రదేశాల నుండి తిరిగి వస్తున్నట్లయితే నాకు మొదట తెలియదు మరియు నియంత్రణ ప్రవాహం ద్వారా ఎవరు ఒక నిర్దిష్ట స్పెసిఫికేషన్ ఉపసంహరించబడతారు . + అందువల్ల, నేను ఈ ప్రదేశాలలో ప్రతిదానిని గుర్తుంచుకోవాలి మరియు de_init () ను ఉంచాలి. + కాబట్టి, ఇది పూర్తి గజిబిజి, ఇది పూర్తి గజిబిజి మరియు దీనికి ప్రధాన కారణం సి లోని సమస్యకు తెలిసిన మూలం, కేటాయించిన వనరులు సరిగా కేటాయించబడలేదు లేదా సరిగా విడుదల చేయబడలేదు. + C ++ లో, మనకు విధ్వంసక అని పిలువబడే అందమైన పరిష్కారం ఉంది. + ఆ పరిష్కారాన్ని చూద్దాం; మనం చేసేది క్లాసులో మరొక సభ్యుల ఫంక్షన్ ప్రారంభించడం. + ఈ సభ్యుల ఫంక్షన్ కూడా తరగతికి సమానమైన పేరును కలిగి ఉంది, కానీ దానిలోని తేడాలు ప్రత్యేక చిహ్నం టిల్డే (~) తో ప్రిఫిక్స్ చేయబడతాయి మరియు వాటిని క్లాస్ డిస్ట్రక్టర్స్ అంటారు. + కాబట్టి, ఏమి జరుగుతుందో ఆ వస్తువును కన్స్ట్రక్టర్ అని పిలుస్తారు, ఇది అత్యవసర సమయం. + అదేవిధంగా, వస్తువు ఇక్కడ నుండి నిష్క్రమించినప్పుడు, ఇది ఒక వంకర కలుపు, ఈ వస్తువు పరిధి నుండి బయటకు వెళుతుంది, ఈ వంకర కలుపును నియంత్రణ ద్వారా దాటిన తరువాత, C యొక్క స్కోప్ నియమం యొక్క పరిధి అని మాట్లాడటానికి మార్గం లేదు సి ++. + అందువల్ల, ఈ స్కోప్ ముగింపును దాటడానికి ప్రయత్నిస్తున్నప్పుడు, తరగతి యొక్క విధ్వంసకుడిని ఈ వస్తువు కోసం పిలుస్తారు. + ఈ సమయంలో s ~ stack (), ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుంది మరియు మొత్తం యొక్క అందం ఏమిటంటే వినియోగదారు లేదా ప్రోగ్రామర్ కాల్ చేసి గుర్తుంచుకోవలసిన అవసరం లేదు. + కంపైలర్ క్లుప్తంగా లెక్కిస్తుంది, ఇది s యొక్క స్కోప్ యొక్క ముగింపు మరియు ఈ కాల్ స్కోప్ చివరిలో పరోక్షంగా ఉంచబడుతుంది. + కాబట్టి, ఇప్పుడు మనం మొత్తం వ్యవస్థను కలిసి చూస్తే, మనకు ఈ రకమైన డి_ఇనిట్ () అవసరం లేదు, ఇక్కడ అవసరం లేదు. + కన్స్ట్రక్టర్ ఈ ఫంక్షన్‌ను మరియు అది ముద్రించే సందేశాన్ని పిలవడానికి స్టాక్ ఈ సమయంలో ప్రారంభించబడుతుంది. + అప్పుడు స్ట్రింగ్ రివర్స్ చేయడానికి స్టాక్ ఉపయోగించబడుతుంది. + రివర్స్ స్ట్రింగ్ అవుట్పుట్ మరియు తరువాత నియంత్రణ ఈ సమయంలో స్కోప్ నుండి బయటపడుతుంది మరియు దీనిని స్పష్టంగా డిస్ట్రక్టర్ ఫంక్షన్ అని పిలుస్తారు మరియు డిస్ట్రక్టర్ ఫంక్షన్ లోపల సందేశం ముద్రించబడిందని గుర్తించడానికి డిస్ట్రక్టర్ ఫంక్షన్ అని పిలుస్తారు. + కాబట్టి, స్టాక్ క్లాస్ యొక్క ఈ డేటా సభ్యునిలో డైనమిక్‌గా ఉంచిన డేటాను ఈ సమయంలో విడుదల చేయవచ్చని ఇది నిర్ధారిస్తుంది. + కాబట్టి, నేను స్టాక్‌ను ఏ సందర్భంలో ఉపయోగించినా, నేను స్టాక్‌ను వేగవంతం చేసినప్పుడల్లా, బిల్డర్ తగిన విధంగా డేటా కేటాయించబడిందని నిర్ధారిస్తుంది. సరైన ప్రారంభాన్ని నిరోధించడమే అవుతుంది, మరియు పేర్చబడిన స్టాక్ ఆబ్జెక్ట్ పరిధికి దూరంగా ఉన్నప్పుడు, కంపైలర్ కన్‌స్ట్రక్టర్‌ను పిలిచారని కూడా నిర్ధారించుకోండి, తద్వారా కేటాయింపుదారుడు డేటాను సరైన విడుదలను నిర్ధారించడానికి. + కాబట్టి, ఈ మిశ్రమ జత కన్స్ట్రక్టర్లు మరియు డిస్ట్రక్టర్లు C ++ లోని ప్రతి వస్తువు యొక్క జీవిత కాలాన్ని చాలా చక్కగా నిర్వహించే పూర్తిగా నిర్వచించిన నిర్మాణాత్మక మార్గాన్ని మాకు అందిస్తుంది. + అందువల్ల, మనం ఇప్పటికే చూసినట్లుగా డిస్ట్రక్టర్ యొక్క అధికారిక లక్షణాలను చూడటానికి, డిస్ట్రక్టర్ కూడా సభ్యుల ఫంక్షన్. + ఈ పాయింటర్‌లోని ఇతర సభ్యుల ఫంక్షన్ మాదిరిగానే, దీనికి ప్రత్యేక పేరు ఉంది, ఇది క్లాస్ పేరును అనుసరించి ఒక టిల్డే, డిస్ట్రక్టర్ కూడా డిస్ట్రక్టర్ దగ్గర రిటర్న్ రకాన్ని కలిగి ఉంటుంది. దీనిని స్కోప్ యొక్క ముగింపు అని పిలుస్తారు మరియు అందువల్ల, అది ఏదైనా తిరిగి ఇస్తే, ఆ తిరిగి వచ్చిన విలువకు టేకర్ ఉండదు. + ఒక వస్తువును నాశనం చేయడం ద్వారా రిటర్న్ లెక్కించడంలో అర్థం లేదు, కాబట్టి డిస్ట్రక్టర్‌కు కూడా రిటర్న్ రకం లేదు - శూన్యమైనది కాదు. + ఖచ్చితంగా, ఫలితంగా ఒక డిస్ట్రక్టర్‌కు రిటర్న్ స్టేట్‌మెంట్ లేదు మరియు మనం ఇప్పటికే చూసినట్లుగా చాలా ముఖ్యమైన మరియు ముఖ్యమైన భాగం ఏమిటంటే, డిస్ట్రక్టర్ స్కోప్ చివరిలో ఉన్నట్లు చెప్పబడింది మరియు ఏదైనా స్వయంచాలక వస్తువు కోసం స్థానికంగా ఉపయోగించవచ్చు. + డిస్ట్రక్టర్‌ను పిలవడానికి ఇతర మార్గాలు ఉన్నాయి, మేము దానిని స్పష్టం చేస్తాము, కాని సాధారణంగా ఒక డిస్ట్రక్టర్‌కు కాల్ అనేది కంపైలర్ చేత సూచించబడుతుంది, ఈ ఆటోమేటిక్ స్కోప్ యొక్క కొలత ద్వారా నిర్దిష్ట వస్తువు నిర్మించబడింది. + కన్స్ట్రక్టర్ మాదిరిగా కాకుండా, ఒక డిస్ట్రక్టర్ ఏ పరామితిని అనుమతించదు. + ఇది అనుమతించబడనందున, మీరు ఇప్పటివరకు అర్థం చేసుకునే ఏదైనా పరామితి ఫలితం చాలా సరైనది, మీరు డిస్ట్రక్టర్‌ను ఓవర్‌లోడ్ చేయలేరు. + అందువల్ల, మీకు పరామితి లేకపోతే మరియు మీరు డిస్ట్రక్టర్‌ను ఓవర్‌లోడ్ చేయలేకపోతే, తరగతి యొక్క డిస్ట్రక్టర్ ప్రత్యేకమైనదని అర్థం. + అందువల్ల, దృష్టాంతంలో ఓవర్లోడింగ్ యొక్క వేర్వేరు యంత్రాంగాల ద్వారా ఒకటి లేదా అంతకంటే ఎక్కువ మంది కన్స్ట్రక్టర్లను కలిగి ఉండగల తరగతి, కానీ దీనికి ఒకే విధమైన విధ్వంసం ఉండాలి మరియు విషయాలు ఒక విధంగా నిర్వచించబడటానికి లోతైన కారణం ఉంది ఎందుకంటే స్పష్టంగా, ఒకసారి మీరు ఒక వస్తువును నిర్మించబోతున్నారు, మీకు ఖచ్చితంగా ఒక ఎంపిక ఉంటుంది, మీకు ఏ పరామితి మరియు అన్నింటిని మీరు ఇష్టపడతారు మీరు ఏ రకమైన వస్తువును సెట్ చేయాలనుకుంటున్నారో బట్టి మరియు నిశ్శబ్దంగా తార్కికంగా మీకు వేర్వేరు యంత్రాంగాలు లేదా విభిన్న పారామితులు అవసరం వస్తువును నిర్మించడానికి సెట్ చేయబడింది మరియు అందువల్ల, మీకు ఓవర్‌లోడ్ కన్స్ట్రక్టర్లు చాలా అవసరం. + కానీ, మేము వస్తువును నిర్మించిన తర్వాత, దానిని నిర్మించడానికి ఏ కన్స్ట్రక్టర్ ఉపయోగించబడ్డాడనే దానిపై ఎటువంటి ఆధారాలు లేవు. + డేటా సభ్యుడు ప్రారంభించబడిందా లేదా దాని విలువ తరువాత నిర్ణయించబడిందో తెలియదు. + అందువల్ల, మీరు నాశనం చేయాలనుకున్నప్పుడు, అన్ని విషయాలు ఒకటే. + నేను ఈ వస్తువుతో పూర్తి చేశానని అతను చెబుతున్నదంతా, నా డేటా సభ్యులు కలిగి ఉన్న అన్ని కేటాయించిన వనరులను విడుదల చేయాలనుకుంటున్నాను మరియు ఆ వస్తువు ప్రస్తుతం నివసిస్తున్న మెమరీని విడిపించాలనుకుంటున్నాను + అందువల్ల, నేను డిస్ట్రక్ట్ ప్రాసెస్‌కు అనుగుణంగా ఉండాలి మరియు అందువల్ల, డిస్ట్రక్ట్ ప్రాసెస్ ఒక తరగతిలోని ఒక వస్తువుకు ప్రత్యేకంగా ఉండాలి మరియు అందువల్ల, సి ++ డిజైన్‌లోని ప్రతి తరగతికి ప్రత్యేకమైన సింగిల్ డిస్ట్రక్టర్. + ఈ సమయంలో, మేము కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్‌ని చూసిన తర్వాత, కన్స్ట్రక్టర్ (కన్స్ట్రక్టర్) డిఫాల్ట్‌గా ఉండవచ్చని కూడా గమనించండి. + పరామితి లేని కన్స్ట్రక్టర్‌ను డిఫాల్ట్ కన్స్ట్రక్టర్ అంటారు. + అందువల్ల, వినియోగదారుకు వాస్తవానికి రెండు ఎంపికలు ఉన్నాయి, వినియోగదారు ఒక కన్స్ట్రక్టర్‌ను వ్రాయగలడు లేదా అతను ఒక కన్స్ట్రక్టర్‌ను వ్రాయలేడు, కాని C ++ లో ఒక విధానం ఉంది, అది ప్రతి తరగతికి (కన్స్ట్రక్టర్) కన్స్ట్రక్టర్. + అందువల్ల, కంపైలర్ ఏమి చేస్తుంది, వినియోగదారు కన్స్ట్రక్టర్‌ను అందిస్తే అది ఆ కన్స్ట్రక్టర్‌ను ఉపయోగిస్తుంది, కాని వినియోగదారు క్లాస్ కోసం కన్స్ట్రక్టర్‌ను అందించకపోతే, కంపైలర్ (కంపైలర్) ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను సరఫరా చేస్తుంది. + ఇప్పుడు, కంపైలర్ ఒక కన్స్ట్రక్టర్‌ను సరఫరా చేస్తే, సహజంగా కంపైలర్‌కు మీకు కావలసిన పరామితి తెలియదు. + మీ డేటా సభ్యులను ఎలా ప్రారంభించాలో కంపైలర్‌కు తెలియదు. + కాబట్టి, మొత్తం ప్రక్రియను స్థిరంగా చేయడానికి, కంపైలర్ మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను ఇస్తుంది మరియు మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్ ఉందని uming హిస్తూ కోడ్‌ను కంపైల్ చేస్తుంది.ఫాల్ట్ కన్స్ట్రక్టర్. + అందువల్ల, ఒక పారామితి లేకపోయినా కన్స్ట్రక్టర్‌ను అందించడం మంచిది, ఎందుకంటే మీరు ఒకసారి కన్స్ట్రక్టర్‌ను అందించినప్పుడు, అది డిఫాల్ట్‌గా ఉన్నప్పటికీ, మీ కన్స్ట్రక్టర్. (కన్స్ట్రక్టర్) ఉపయోగించబడుతుంది మరియు కంపైలర్ ఉచిత కన్స్ట్రక్టర్‌ను అందించదు ఎందుకంటే మీరు డిఫాల్ట్ కన్స్ట్రక్టర్ వ్రాస్తే లేదా మీరు మరొక ఓవర్లోడ్ కన్స్ట్రక్టర్ వ్రాస్తే మీకు నిజంగా తెలుసు మీరు ఏమి చేస్తున్నారో + కంపైలర్ దీన్ని అందిస్తే, అది మీ డేటా సభ్యులకు చెత్త యొక్క మొత్తం విలువను కలిగి ఉంటుంది, కాని కంపైలర్ మీకు ఉచిత డిఫాల్ట్ కన్స్ట్రక్టర్‌ను ఇస్తుందని యంత్రాంగాలు ఉన్నాయి. + అదేవిధంగా, విధ్వంసం కోసం, వినియోగదారు ఒక డిస్ట్రక్టర్‌ను అందించకపోతే, కంపైలర్ ఉచిత డిఫాల్ట్ డిస్ట్రక్టర్‌ను సరఫరా చేస్తుంది, ఇది ఖాళీ శరీరమే తప్ప ఏమీ చేయదు. కనుగొనబడింది, కానీ వారి శరీరంలో కోడ్ లేదు ఎందుకంటే ఆ కంపైలర్ లేదు ' విడుదల చేయవలసినది ఏమిటో తెలియదు లేదా విడుదల చేయడానికి ఏమీ లేకపోతే, కానీ కంపైలర్ వాస్తవానికి మొత్తం వ్యవస్థను పని చేయడానికి పని చేస్తుంది. ఉచిత డిఫాల్ట్ డిస్ట్రక్టర్‌ను అందిస్తుంది. + కాబట్టి, డిఫాల్ట్ కన్స్ట్రక్టర్ యొక్క ఉదాహరణను మేము ఇక్కడ చూపిస్తాము. + దయచేసి ఈ తరగతిని చూడండి. + ఇది మా సంక్లిష్ట తరగతిని కలిగి ఉంది, ఇది మా పాత స్నేహితుడు. + ఇలస్ట్రేషన్ కోసం నేను జోడించినది ఏమిటంటే, నేను రెండు సభ్యుల ఫంక్షన్ పద్ధతిని సెట్ చేసాను, అది రెండు డబుల్ విలువలను తీసుకుంటుంది మరియు రెండు విలువలను తరగతిలోని రెండు డేటా సభ్యులుగా సెట్ చేస్తుంది, అవి నా తరగతికి సంక్లిష్ట విలువను కలిగి ఉంటాయి. సమయం, కానీ ఇప్పుడు తప్పిపోయినది ఏమిటంటే, కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ లేడని మీకు తెలుసు. + కాబట్టి, మనం ఉంటే; ఈ సమయంలో ఈ ఆవశ్యకత సంభవించినప్పుడు, కంపైలర్ అందించిన డిఫాల్ట్ కన్స్ట్రక్టర్‌ను పిలవడం డిఫాల్ట్? కాబట్టి, మీరు తరగతి శరీరంలో అలాంటి ఫంక్షన్‌ను నిర్వచించకపోయినా ఈ కాల్ జరుగుతుంది. + అందువల్ల, ఈ బిల్డర్ ఎలా పున art ప్రారంభించబడుతుంది మరియు ఎవరితో ప్రారంభించాలో తెలియదు మరియు అందువల్ల, ఇది ఈ పాయింట్ల వద్ద కొన్ని చెత్త విలువలను వదిలివేస్తుంది. + కాబట్టి, అర్థం చేసుకోవడానికి, ఈ వస్తువు సృష్టించబడితే, మీరు వెంటనే ఆ వస్తువును ప్రింట్ చేస్తే. + నా ఉద్దేశ్యం ఇది ఒక సందర్భం, మీరు ఈ ప్రయోగాన్ని మీరే ప్రయత్నిస్తే, మీరు బహుశా కొన్ని విభిన్న విలువలను పొందుతారు. + కాబట్టి, రీ మరియు ఇమ్ ఉండాల్సిన కొన్ని చెత్త బిట్ నమూనా ఉన్న దాన్ని ప్రింట్ చేస్తుంది, కాని ఒకసారి నేను సెట్ ఫంక్షన్ (ఫంక్షన్) ను ఉపయోగించిన తర్వాత నేను కాంపోనెంట్ విలువను తిరిగి మరియు ఇమ్ చేయాలి. సెట్ చేయడానికి ఇక్కడ అందించబడింది మరియు తరువాత నేను ప్రింట్, నేను మళ్ళీ సహేతుకమైన ధరలను పొందుతాను. + సాధారణ సలహా ఏమిటంటే, మీరు కన్స్ట్రక్టర్‌ను అందించకపోతే, దురదృష్టవశాత్తు కంపైలర్ లోపం ఇవ్వదు, కంపైలర్ డిఫాల్ట్ కన్స్ట్రక్టర్‌ను డిఫాల్ట్ కన్స్ట్రక్టర్‌కు అందిస్తుంది మరియు అతనితో కొనసాగుతుంది. + అందువల్ల, ఇది సరసమైన విలువ, సరైన ప్రారంభ వాక్యనిర్మాణం లేని ప్రమాదాన్ని అమలు చేస్తుంది. + అందువల్ల, మీరు క్లాస్ వ్రాసినప్పుడల్లా, మీరు కన్స్ట్రక్టర్ మరియు డిస్ట్రక్టర్ వ్రాసేలా చూసుకోండి. + ఇక్కడ మేము డిఫాల్ట్ కన్స్ట్రక్టర్‌ని చూపిస్తున్న మరొక ఉదాహరణ, కానీ ఈ సందర్భంలో ఉన్న తేడా ఏమిటంటే డిఫాల్ట్ కన్స్ట్రక్టర్ కంపైలర్ చేత అందించబడలేదు, కాని డిఫాల్ట్ (డిఫాల్ట్) కన్స్ట్రక్టర్ యూజర్ అందించారు. + కాబట్టి, వినియోగదారు దీనిని వ్రాశారు. + కాబట్టి, మీరు సహజంగా ప్రారంభించిన తర్వాత మొదటి ముద్రణ చేసినప్పుడు, 0 మరియు 0 యొక్క సహేతుకమైన విలువతో ఒక ప్రారంభీకరణ ఉన్నందున, సహేతుకమైన ప్రారంభ విలువలు ఉన్నాయని మీరు అనుకుంటారు, మునుపటి ఉదాహరణలో మన దగ్గర ఉన్న చెత్త రకం కాదు. నేను. చూసింది + అదేవిధంగా, ఒక డిస్ట్రక్టర్ కూడా ఇక్కడ ఇవ్వబడింది. + ఈ సందర్భంలో, డిస్ట్రక్టర్ ఈ సందేశాన్ని ప్రింట్ చేస్తుంది. + వాస్తవానికి ఒక విధ్వంసకుడు సంక్లిష్ట తరగతి కోసం ఏమీ చేయలేడు, కాని ఒకదాన్ని ఖాళీ శరీరంతో అందించడం ఎల్లప్పుడూ మంచిది. + దీనితో మేము నిర్మాణం మరియు విధ్వంసం ప్రక్రియను ఆపుతాము. + ప్రతి తరగతికి ఒక డిస్ట్రక్టర్ ఉంటుందని మేము తెలుసుకున్నాము, ఇది ప్రత్యేకమైనది మరియు ఇది ఆటోమేటిక్ వస్తువుల కోసం ఉంటుంది, ఈ స్కోప్ చివరిలో పొందబడుతుంది మరియు ఈ డిస్ట్రక్టర్ లోపల, మనం పట్టుకున్న ఏ రకమైన వనరులను అయినా శుభ్రం చేయవచ్చు, మరియు కంపైలర్ డిఫాల్ట్ కన్స్ట్రక్టర్ మరియు డిఫాల్ట్ డిస్ట్రక్టర్ను కూడా అందిస్తుందని మేము చూశాము. వినియోగదారు క్లాస్ కోసం కన్స్ట్రక్టర్ లేదా కన్స్ట్రక్టర్ వ్రాయకపోతే ఇది జరుగుతుంది. diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/29 ProgramminginCplusplus_InheritancePart II (Lecture 37)-dLpoq_00DjU(3).txt b/inhouse/NPTEL/PreFinal/c++/Telugu/29 ProgramminginCplusplus_InheritancePart II (Lecture 37)-dLpoq_00DjU(3).txt index 207e9fbc00e2801c5406e310dd84f7beb65e9a9a..8fc54ce0cab72aac655f56693d872bb9c46df614 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/29 ProgramminginCplusplus_InheritancePart II (Lecture 37)-dLpoq_00DjU(3).txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/29 ProgramminginCplusplus_InheritancePart II (Lecture 37)-dLpoq_00DjU(3).txt @@ -1,124 +1,123 @@ - - 1. ప్రోగ్రామింగ్  C ++ లో మాడ్యూల్ 22 కు స్వాగతం. - 2. గత మాడ్యూల్ నుండి, మేము ఇన్హెరిటెన్స్ పై చర్చిస్తున్నట్లు; మేము ఇన్హెరిటెన్స్ గా C ++ లో మోడలింగ్, ఎన్కోడింగ్, ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్, generalization మరియు స్పెషలైజేషన్ సంబంధాల యొక్క ISA సంబంధంలో ఒక ప్రాథమిక మెకానిజం. - 3. మరియు, ల్యాంగ్వేజ్ లో ప్రాథమిక ఇన్హెరిటెన్స్ సమాచారం ఎలా కోడ్ చేయబడిందో తెలుసుకున్నము. - 4. ఈ మాడ్యూల్‌లో, ఇన్హెరిటెన్స్ డేటా సభ్యులు మరియు సభ్యుల పనితీరును ఎలా ప్రభావితం చేస్తుందో చర్చించడానికి ప్రయత్నిస్తాము, ఇది వారసత్వం, డేటా సభ్యులు మరియు సభ్యుల ఫంక్షన్ కింద ఉంది. ఏమి జరుగుతుంది. - 5. సభ్యుల ఫంక్షన్లను అధిగమిస్తున్నది ఏమిటో అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము మరియు మీకు ఇప్పటికే తెలిసిన ఓవర్‌లోడింగ్ భావనతో ఇది ఎలా సంకర్షణ చెందుతుంది. - 6. ఇది రూపురేఖలు మరియు మునుపటి మాడ్యూల్‌లో నేను చెప్పినట్లుగా, ఇది వారసత్వ మొత్తం ఫ్రేమ్‌వర్క్; మరియు నీలం విభాగం అంటే ఈ ప్రస్తుత మాడ్యూల్‌లో మనం చర్చిస్తాము. - 7. కాబట్టి, రీక్యాప్ చేయడానికి, ఇది ఇన్హెరిటెన్స్ అనే పదం యొక్క వారసత్వ అంశం. - 8. కాబట్టి, డేటా సభ్యులతో, సభ్యుల పనితీరు, యాక్సెస్ స్పెసిఫికేషన్, నిర్మాణం, విధ్వంసం, ఆబ్జెక్ట్ జీవితకాలం వంటి అన్ని అంశాల గురించి మనకు ఏమి ఉంది, దాని గురించి అర్థం చేసుకోవాలి. - 9. మరియు ఇక్కడ మేము డేటా సభ్యుల గురించి చర్చించటం ప్రారంభించాము. - 10. ఇప్పుడు ISA బేస్ సాధించినట్లయితే, అప్పుడు ISA రూట్ అనేది మేము ఎన్కోడ్ చేయడానికి ప్రయత్నిస్తున్న ఒక సంబంధం. - 11. అప్పుడు ఉత్పన్నమైన తరగతి బేస్ క్లాస్ యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా తిరిగి ఇస్తుందని మనం చూస్తాము. - 12. వారసత్వ విషయంలో ఇది నిజం. - 13. అదనంగా, ఉత్పన్నమైన తరగతి కొన్ని అదనపు డేటా సభ్యులతో, దాని స్వంత డేటా సభ్యులను జోడించగలదు. - 14. కాబట్టి, ఆబ్జెక్ట్ యొక్క లేఅవుట్ గురించి మాకు ఖచ్చితమైన సూచన ఉంటే, మేము మునుపటి మాడ్యూళ్ళలో కొన్ని వస్తువుల లేఅవుట్ గురించి మాట్లాడామని మీరు గుర్తుంచుకుంటారు. - 15. మరియు మీరు భావనల గురించి స్పష్టంగా తెలియకపోతే, ముందుకు వెళ్ళే ముందు నేను మిమ్మల్ని జోడించి, ఆ మాడ్యూళ్ళను తిరిగి సందర్శిస్తాను. - 16. కాబట్టి, లేఅవుట్ అనేది ప్రాథమికంగా ఒక తరగతి యొక్క వస్తువులోని వేర్వేరు డేటా సభ్యుల జ్ఞాపకశక్తిలో నిర్వహించబడే సంస్థ. - 17. గమనించదగ్గ ముఖ్యమైన విషయం ఏమిటంటే, ఉత్పన్నమైన తరగతి యొక్క లేఅవుట్‌లో ఉత్పన్నమైన తరగతికి బేస్ క్లాస్ యొక్క ఉదాహరణలు ఉంటాయి. - 18. ఇది ఇక్కడకు వచ్చే కొత్త విషయం. - 19. మరింత సహజంగా, ఉత్పన్నమైన తరగతులు వారి స్వంత సభ్యులను కలిగి ఉంటాయి. - 20. మరియు నమూనా డేటా సభ్యుల మాదిరిగా కాకుండా, బేస్ క్లాస్ ఉదాహరణ యొక్క సాపేక్ష స్థానం మరియు ఉత్పన్నమైన తరగతి (తరగతి) సభ్యులకు C ++ లో హామీ లేదు. - 21. ఒక ఉదాహరణకి వెళ్దాం మరియు మన ఉద్దేశ్యాన్ని చూడటం ప్రారంభిద్దాం. - 22. కాబట్టి, మేము బేస్ క్లాస్ నిర్వచనంతో ప్రారంభిస్తాము, B అనేది బేస్ క్లాస్; దీనికి ఇద్దరు డేటా సభ్యులు ఉన్నారు, నేను ఇద్దరు డేటా సభ్యులను ఏకపక్షంగా కలిగి ఉన్నాను, నేను ఇంకా సభ్యుల విధులను చూపించడం లేదు, డేటా సభ్యులను మాత్రమే చూపిస్తున్నాను, కాబట్టి నేను ఎంటర్ చేసిన డేటా 1 బి_ ఒక ప్రైవేట్ సభ్యుడు మరియు డేటా 2 బి_, ఇది ప్రజా సభ్యుడు. - 23. అప్పుడు మనకు మరొక తరగతి D ఉంది, ఇది పబ్లిక్ B; ఇది స్పెషలైజేషన్. - 24. అందువల్ల, నేను UML సంజ్ఞామానం పరంగా గీస్తే, మేము ఇక్కడ ప్రదర్శిస్తున్నది, D ISA B. - 25. ఇప్పుడు మేము D యొక్క డేటా సభ్యులను చూడటానికి ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, మేము చెబుతున్నది క్లాస్ D లో డేటా సభ్యుడు డేటా 1B_ ను కలిగి ఉంటామని మరియు మేము స్పష్టంగా చేయకపోయినా వ్రాస్తాము - 26. అదేవిధంగా, క్లాస్ బి నుండి వారసత్వంగా క్లాస్ డిలో డేటా సభ్యుడు డేటా 2 బి (డేటా 2 బి) _ ను కలిగి ఉంటాము, అందువల్ల ఈ డేటా సభ్యులను నేను ఇక్కడ హైలైట్ చేస్తున్నాను., వారసత్వంగా కలిసిన వారు; వాటిని ఈ వర్గంలో జాబితా చేయలేము. - 27. D ISA B, D యొక్క ప్రతి సందర్భంలోనూ ఇది వారసత్వంలో కనుగొనబడింది, కాని నేను ఇక్కడ ఉంచే infoD_ వంటి కొన్ని అదనపు సభ్యులను కూడా కలిగి ఉండగలను, ఇది D యొక్కది. సభ్యుడు మరియు సభ్యుడు కాదు బి; కాబట్టి, ఇది ఇందులో మాత్రమే ఉంటుంది. - 28. ఈ సందర్భంలో, నేను వెంటనే ఒక వస్తువు B ను వ్రాస్తే, నేను ఖచ్చితంగా దాని కోసం ఒక లేఅవుట్ కలిగి ఉంటాను, ఇది మేము ఇప్పటికే చర్చించినట్లుగానే కనిపిస్తుంది. - 29. మరియు ఒక సాధారణ లేఅవుట్ సందర్భంలో, మేము చర్చించినది ఏమిటంటే, ఒక తరగతి వేగవంతం అయితే, అది వస్తువు మరియు లేఅవుట్ యొక్క ప్రాథమిక ఆస్తి ఏమిటి. - 30. మేము చర్చించిన రెండు ప్రాథమిక లక్షణాలు ఉన్నాయి. అన్ని డేటా సభ్యులకు ఒక వస్తువులో మెమరీలో ఒక స్థలాన్ని కేటాయించబడతాయి, ఇది ఒక వస్తువు యొక్క ప్రారంభ చిరునామా మరియు జ్ఞాపకశక్తిలో అనేక బైట్లు ఉండే పరిమాణం.) ఇది విస్తరిస్తుంది. - 31. మరియు ఈ స్పేస్ సమ్మర్‌లోని మొత్తం డేటా సభ్యులు. - 32. వస్తువు యొక్క ఒక భాగం జ్ఞాపకశక్తి యొక్క ఒక భాగంలో మరియు మరొక భాగం జ్ఞాపకశక్తి యొక్క మరొక భాగంలో ఉందని ఇది ఎప్పటికీ విచ్ఛిన్నం కాదు. - 33. కాబట్టి, సందర్భోచితత అనేది మనం ఇప్పటికే చూసిన లేఅవుట్ యొక్క ప్రాథమిక అవసరం, ఇది ఒకటి. - 34. మనం చూసిన రెండవది ఏమిటంటే, మనకు అలాంటి ఇద్దరు డేటా సభ్యులు ఉంటే ఒకరు తరువాత వస్తారు. - 35. అందువల్ల, అవి తరగతి యొక్క నిర్వచనంలో ఉంచబడిన క్రమంలో సంభవిస్తాయి, ఈ క్రమం నిర్వహించబడుతుంది. - 36. ఇది లేఅవుట్ యొక్క ప్రాథమిక నిర్మాణం. - 37. కాబట్టి, నేను B యొక్క లేఅవుట్లో చూస్తే, ఈ విలువ ఇలాంటిదేనని వారు చెప్పారు. - 38. ఇప్పుడు మేము దానిని పరిగణలోకి తీసుకుంటాము. - 39. D యొక్క లేఅవుట్ ఏమిటి, ప్రత్యేకంగా D లో ఏమి జరుగుతుందో ఖచ్చితంగా దాని స్వంత డేటా సభ్యుడిని కలిగి ఉంటుంది, ఇది అర్థం చేసుకోవడం సులభం. - 40. D ISA B D వస్తువు యొక్క ఒక భాగంగా B వస్తువు యొక్క స్పష్టమైన ఉదాహరణ అవుతుంది కాబట్టి. - 41. కాబట్టి, D ఇక్కడ వస్తువు కాబట్టి, ఒక భాగానికి B వస్తువు ఉంటుంది మరియు D అంటే ఈ డేటా సభ్యుడి నుండి వారసత్వం అని నేను చెప్పినప్పుడు; నేను నిజంగా D.data1b_ గురించి మాట్లాడితే, ఈ ప్రత్యేక మెమరీ ప్రస్తావించబడుతుంది. - 42. మరి ఈ జ్ఞాపకం ఏమిటి? ఈ మెమరీ ఉత్పన్నమైన వస్తువు యొక్క మూల వస్తువు భాగం. - 43. అదేవిధంగా, నేను D.data2B_ ని సూచిస్తే, నేను జ్ఞాపకశక్తి యొక్క ఈ ప్రత్యేక భాగాన్ని సూచిస్తున్నాను, ఇది వారసత్వ సంపద ద్వారా వారసత్వంగా మరియు వాస్తవానికి వస్తువు ద్వారా కనుగొనబడుతుంది. దీని ఆధారంగా - 44. కాబట్టి, ఇక్కడ చాలా ఆసక్తికరమైన విషయం జరుగుతోందని మీరు చూడవచ్చు, మేము ఇంతకు ముందే చూశాము; నేను వివిధ రకాల డేటా సభ్యుల ఉదాహరణను తీసుకుంటే అది పేర్కొంది. - 45. నేను ఇప్పుడే ఇక్కడకు వెళ్లి, నాకు క్లాస్ ఎ ఉందని, నాకు క్లాస్ బి ఉందని, నాకు క్లాస్ సి ఉందని, ఇది ఎ ఎ డేటా సభ్యుడిగా, బి బి ఆబ్జెక్ట్ రూపంలో ఉందని మాకు తెలియజేస్తే, బహుశా డేటా సభ్యుడిగా మరియు ఇటుకగా మరియు మొదలైనవి. - 46. అప్పుడు నేను సి యొక్క ఉదాహరణను చూసినప్పుడు, x సి యొక్క ఉదాహరణ. నేను x ని చూసినప్పుడు, నాకు ఒక వస్తువు A ఉంటుంది, Ab ఆబ్జెక్ట్ B అవుతుంది, ఒక Int I మరియు మొదలైనవి. - 47. అందువల్ల, వేర్వేరు తరగతుల వేర్వేరు వస్తువులు మరొక తరగతి యొక్క లేఅవుట్లో భాగం కావచ్చని మేము ఇప్పటికే చూశాము. - 48. కాబట్టి, ఇది క్లాస్ సి యొక్క క్లాస్ సి మరియు ఆబ్జెక్ట్ ఎక్స్, ఇది ఇతర తరగతుల ఉదాహరణలను కలిగి ఉంది మరియు ఇది భాగం యొక్క భావన. - 49. మేము ఇక్కడ గమనించినప్పుడు క్షమించండి, ఇక్కడ మా సమస్యలు కేవలం ఒక సెకనులో మారుతున్నాయని గమనించండి. - 50. ఇక్కడ, మేము గమనించినట్లుగా, ISA B లో D కూడా ఒక భాగం కాబట్టి, ఈ భాగం చాలా ప్రత్యేకమైనది, ఎందుకంటే నేను ఏ డేటా సభ్యుడిని కలిగి ఉంటాను, నాకు డేటా సభ్యుడు ఉండకూడదు. - 51. నేను వారసత్వం పొందినప్పుడు నేను ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌లో ఒక ప్రత్యేకమైన భాగాన్ని కలిగి ఉంటాను, ఇది బేస్ కాంపోనెంట్ మరియు ఇది ఆబ్జెక్ట్ లేఅవుట్ పరంగా మీరు చాలా తెలుసుకోవాలి. - 52. ఇక్కడ కొన్ని అదనపు గమనికలు ఉన్నాయి, ఇది వెంటనే ముఖ్యమైనది కాదు, కానీ ఇది బేస్ క్లాస్ యొక్క ప్రైవేట్ సభ్యుడు కాబట్టి, ప్రైవేట్ సభ్యుడు బయటి నుండి యాక్సెస్ చేయలేరని మీరు గమనించవచ్చు. - 53. అందువల్ల, నేను d.data1B_ ను వ్రాయగలిగాను మరియు ఇది నేను నిజంగా యాక్సెస్ చేయలేని ఈ మెమరీని సూచిస్తుంది, ఎందుకంటే ఇది యాక్సెస్ కాదు ఎందుకంటే అది దానిలో భాగం కాదు, కానీ యాక్సెస్ పరిమితం చేయబడింది. - 54. అయితే, నేను పబ్లిక్‌గా ఉన్న ఈ ఇతర సభ్యుని గురించి మాట్లాడితే, నేను d.data2B_ ను వ్రాయగలను, నేను కూడా యాక్సెస్ చేయగలను, ఈ యాక్సెస్ సమస్యల గురించి మనం తరువాత మాట్లాడగలను. నేను దాని గురించి చర్చిస్తాను, కానీ నేను దానిపై వెలుగు చూడాలనుకుంటున్నాను . - 55. ఇప్పుడు, సభ్యుల ఫంక్షన్‌తో (ఫంక్షన్) ఏమి జరుగుతుందో పరీక్షించడానికి నేను ముందుకు వెళ్తాను. ఇది అన్ని సభ్యుల ఫంక్షన్లను వారసత్వంగా పొందుతుంది, కాని ముఖ్యమైన విషయం ఏమిటంటే వారసత్వం తరువాత ఈ సభ్యుడు ఫంక్షన్ ఫంక్షన్‌ను భర్తీ చేయగలదు లేదా సభ్యుల ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయగలదు. - 56. కాబట్టి, ఈ భావనలను మనం చాలా జాగ్రత్తగా అర్థం చేసుకోవాలి. - 57. కాబట్టి, నేను దీనిని ఒక ఉదాహరణతో వివరిస్తాను, కాని ప్రయాణిస్తున్నప్పుడు, స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) లేదా ఫ్రెండ్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) యంత్రాంగం ద్వారా వారసత్వంగా పొందబడిందా లేదా చాలా సరళమైన పదాలు ఉండలేదా అని మీరు గమనించాలనుకుంటున్నాను. వారసత్వంలో కనుగొనబడింది. - 58. ఇది సభ్యుల ఫంక్షన్, నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్), లేదా ఈ పాయింటర్ ఉన్న లేదా వాస్తవానికి ఈ సిస్టమ్ యొక్క ఆబ్జెక్ట్ ఉదాహరణతో మాత్రమే అనుబంధించబడిన ఫంక్షన్లు మాత్రమే. మాధ్యమాన్ని వారసత్వంగా పొందవచ్చు. - 59. అందువల్ల, స్థిర మరియు స్నేహితుల పనితీరుకు వారసత్వం యొక్క అర్థం చాలా భిన్నంగా ఉంటుందని మేము చూస్తాము. - 60. కాబట్టి, మనం ఒక ఉదాహరణకి వెళ్లి, వారసత్వం అంటే ఏమిటో అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. - 61. మొదట నేను మీరు ఈ భాగాన్ని మాత్రమే చూడకూడదని, ఈ భాగాన్ని చూడవద్దు, ఈ భాగాన్ని చూడవద్దు, అది భాగం కానట్లు. - 62. కాబట్టి, నాకు క్లాస్ బి ఉంది, నాకు క్లాస్ డి యొక్క ఆధారం ఉంది మరియు ఈ సందర్భంలో సరళత కోసం డెరివేటివ్ రిలేషన్ ఒకేలా ఉంటుంది మరియు నేను డేటా సభ్యుల వైపు చూడటం లేదు, నేను మాత్రమే ఉన్న సభ్యుల చర్యలను చూస్తున్నాను . - 63. ప్రాప్యత సమస్య ఖచ్చితంగా సమస్య కాదు.ఇప్పుడు నాకు క్లాస్ బి లో ఫంక్షన్ (ఫంక్షన్) ఎఫ్ మరియు ఫంక్షన్ జి ఉన్నాయి, కాని క్లాస్ డిలో నాకు ఫంక్షన్ (ఫంక్షన్) లేదు, క్లాస్ డి కేవలం ఖాళీ క్లాస్. (క్లాస్). - 64. కానీ అప్పుడు కూడా అది f ఫంక్షన్‌ను వారసత్వంగా పొందుతుంది, ఇది g ఫంక్షన్‌ను వారసత్వంగా పొందుతుంది మరియు ఇక్కడ మరొక సంజ్ఞామానాన్ని స్పష్టం చేస్తుంది.ఇది ఒక తరగతి పేరు అని మేము ఇంతకుముందు చెప్పిన సంజ్ఞామానం. స్థానం. - 65. కాబట్టి, నేను ఈ తరగతికి దూరంగా ఉంటే, అప్పుడు ఈ ఫంక్షన్ పేరు B :: f. - 66. కాబట్టి, B :: f (int) ద్వారా నేను ప్రాథమికంగా ఈ బేస్ క్లాస్ ఫంక్షన్ అని అర్ధం, ఇది బేస్ క్లాస్ అని నా ఉద్దేశ్యం. - 67. అందువల్ల, నేను చెప్పేది ఏమిటంటే, మీరు దానిని వారసత్వంగా పొందినట్లయితే, మీకు ఈ బేస్ క్లాస్ ఫంక్షన్లు అందుబాటులో ఉంటాయి. - 68. కాబట్టి, దీని అర్థం ఏమిటి, మళ్ళీ ఇక్కడ పర్వాలేదు, దాని అర్థం ఏమిటి, నాకు B మరియు D అనే రెండు ఉదాహరణలు ఉంటే, మరియు నేను ఈ ఫంక్షన్ f మరియు g ను అమలు చేయడానికి ప్రయత్నిస్తాను. - 69. సహజంగానే నేను ఇలా చేస్తే, b.f ఆవాహన చేస్తుందని మేము ఇప్పటికే అర్థం చేసుకున్నాము. - 70. కాబట్టి, దీని అర్థం ఏమిటంటే ఇక్కడ మళ్లీ చూడలేరు, అంటే నేను రెండు సందర్భాల్లో b మరియు d కలిగి ఉంటే, మరియు ఈ ఫంక్షన్లను f మరియు g లను ప్రయోగించటానికి ప్రయత్నిస్తాను. - 71. ఈ ఫంక్షన్ b.g ఈ ఫంక్షన్‌ను ప్రారంభిస్తుంది, ఇది ఆశ్చర్యం కలిగించదు. - 72. ఆసక్తికరమైన విషయం ఏమిటంటే, నేను నిజంగా DF ని ప్రారంభించగలను, ఇది క్లాస్ D యొక్క నిర్వచనంలో లేదు, దీనికి ఉదాహరణ చిన్న D ఒక వస్తువు, కానీ ఇప్పటికీ నేను D.F ని ఆహ్వానిస్తున్నాను. ఎందుకంటే D వారసత్వంగా B మరియు B నుండి వారసత్వంగా వస్తుంది . - 73. కాబట్టి, నేను d.f ను ప్రారంభించినప్పుడు, నేను నిజంగా బేస్ క్లాస్ యొక్క f ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభిస్తున్నాను. - 74. అదేవిధంగా, నేను dg చేస్తే, నేను బేస్ క్లాస్ యొక్క g ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభిస్తున్నాను, సభ్యుల ఫంక్షన్ల వారసత్వం యొక్క ప్రధాన మరియు ప్రవాహం ఇదే, మీరు మీ తల్లిదండ్రుల నుండి అన్ని సభ్యుల ఫంక్షన్లకు (ఫంక్షన్) ఉపయోగించవచ్చు. ) వారసత్వం. - 75. ఇప్పుడు, ఈ భాగాన్ని మరచి కుడి వైపు చూద్దాం. - 76. మళ్ళీ, అదే బేస్ క్లాస్‌లో తేడా లేదు.నేను మార్చలేదు. - 77. అందువల్ల, ఈ వారసత్వాన్ని నేను వారసత్వంగా చూసినట్లుగా, ఉత్పన్నమైన తరగతిగా పొందాను. - 78. G సందర్భంలో మేము మళ్ళీ ఏమీ చేయలేదు, కానీ F సందర్భంలో నేను ఆసక్తికరంగా ఏదో చేశాను; నేనేం చేశాను? ఇది (రిఫరెన్స్ సమయం: 16:28) f యొక్క సంతకం లేదా ప్రోటోటైప్ b లో చేర్చబడింది ఎందుకంటే సభ్యుల ఫంక్షన్ ఆ నమూనాను మళ్ళీ d లో ఉంచింది. - 79. ఇప్పుడు నేను దీన్ని చేసినప్పుడు నేను మునుపటి ఫంక్షన్‌ను అధిగమిస్తున్నానని చెప్తున్నాను, ఎందుకంటే నేను ఉంచిన క్షణం నేను రెండు ఫంక్షన్ల గురించి మాట్లాడుతున్నాను, ఈ ఫంక్షన్ b :: f మరియు ఈ ఫంక్షన్ (ఫంక్షన్) d :: f. - 80. నాకు ఈ ఫంక్షన్ (ఫంక్షన్) లేనప్పుడు మరియు ఇంకా ఉపయోగించాలనుకున్నప్పుడు, నేను బేస్ క్లాస్ ఫంక్షన్ (ఫంక్షన్) ను మాత్రమే అర్థం చేసుకున్నాను, కాని ఇప్పుడు నేను అదే సంతకం ద్వారా అదే సభ్యుల ఫంక్షన్ (సభ్యుల ఫంక్షన్) ను స్పష్టంగా పొందగలను. యొక్క నిర్వచనం - 81. కాబట్టి, నాకు మళ్ళీ స్పష్టంగా ఉండనివ్వండి. - 82. కాబట్టి, నేను ఇక్కడ వస్తువుల ఉదాహరణలను మళ్ళీ చూస్తే, నేను B మరియు ఆబ్జెక్ట్ తో F మరియు G అని చెబితే దాని ప్రభావం ఖచ్చితంగా ఒకే విధంగా ఉంటుంది. - 83. నేను d వస్తువుతో f అని పిలిస్తే ఏమి జరుగుతుంది, గతంలో d కి f లేదు, కానీ ఇప్పుడు ఈ f ని భర్తీ చేస్తుంది. - 84. అందువల్ల, నేను ఇప్పుడు d.f అని పిలిస్తే, ఈ ఫంక్షన్ (ఫంక్షన్) అంటే అది ఫంక్షన్ (ఫంక్షన్) అని అర్ధం కాదని అర్ధం కాదు, కాబట్టి ఇది d :: f గా మార్చబడింది. - 85. అందువల్ల, మీరు దానిని మునుపటి df (3) తో పోల్చినట్లయితే, ఇది f యొక్క ఫంక్షన్. ఇప్పుడు ఇది f యొక్క ఫంక్షన్ మరియు వారసత్వం క్రింద సభ్యుల ఫంక్షన్ల యొక్క ప్రవర్తనను ఓవర్రైడింగ్ అంటారు. - 86. ఓవర్‌రైడింగ్‌లో, మీరు ఓవర్‌రైడింగ్ గురించి మాట్లాడినప్పుడల్లా, మీరు ఒకే పేరుతో మరియు తప్పనిసరిగా ఒక ఫంక్షన్‌కు (ఫంక్షన్) రెండు వేర్వేరు నిర్వచనాలను అటాచ్ చేయడానికి ప్రయత్నిస్తున్నారని అర్థం. అదే సంతకం. - 87. అవసరమైన భాగాన్ని ఓవర్‌లోడ్ చేయడానికి సంతకం భిన్నంగా ఉండాలి అని మీరు గుర్తుంచుకోవాలి, కనీసం ఒక పరామితి యొక్క అర్ధంలో సంతకం రెండు ఓవర్‌లోడ్ ఫంక్షన్ల మధ్య తేడా ఉండటానికి పేరు ఫంక్షన్ (ఫంక్షన్) కు సమానం. రిటర్న్ రకం పట్టింపు లేదు, కానీ ఫంక్షన్ పరామితి భిన్నంగా ఉండాలి, మరికొన్ని సంతకం భిన్నంగా ఉండాలి. - 88. భర్తీ చేయడానికి, సంతకాలు ఒకేలా ఉండాలి, కానీ అవి రెండు వేర్వేరు తరగతులకు చెందినవి, ఇవి సాధారణీకరణ, ప్రత్యేకత, వారసత్వం, సంబంధం. - 89. ఆపై మీరు ఏ నిర్దిష్ట వస్తువును ఉపయోగిస్తున్నారనే దానిపై ఆధారపడి, ఇది ఈ ఫంక్షన్ యొక్క విభిన్న సంస్కరణలను పిలుస్తుంది. - 90. అందువల్ల మేము bf ను మీరు ఒక ఫంక్షన్ (ఫంక్షన్) అని పిలిచినప్పుడు మీరు ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు, కానీ మీరు df చేసినప్పుడు మీరు వేరే ఫంక్షన్ (ఫంక్షన్) ను ఓవర్రైడ్ చేస్తారు. - 91. సభ్యుల ఫంక్షన్లను భర్తీ చేయడానికి ఇది ప్రాథమిక విధానం, ఇది మొత్తం కథకు చాలా కొత్త విలువను మరియు అర్థాలను జోడిస్తుంది. - 92. ఇప్పుడు అదే సమయంలో మీరు b లో మరొక ఫంక్షన్ g ను వారసత్వంగా వారసత్వంగా చూస్తే, కానీ ఆ ఫంక్షన్ (ఫంక్షన్) అధిగమించబడదు, అది మనకు G యొక్క క్రొత్త సంతకం కొత్త సంతకాన్ని కలిగి ఉండదు. - 93. కాబట్టి, ఈ సందర్భంలో నేను DG అని చెబితే, మేము నిజంగా B లో ఒక ఫంక్షన్ అని పిలుస్తాము, ఎందుకంటే ఇది వారసత్వంగా కనిపించే ఒక ఫంక్షన్. - 94. కాబట్టి, ఎడమ మరియు కుడి మధ్య ఈ ప్రవర్తన d.g (4) ను మార్చదు, ఎందుకంటే G ఇన్హెరిటెన్స్లో కనుగొనబడలేదు, ఇది వారసత్వం తరువాత D తరగతిలో భర్తీ చేయబడదు. - 95. అందువల్ల, వారసత్వంలో కనిపించే మలినాల మధ్య తేడా ఏమిటో ఇది స్పష్టంగా తెలుపుతుంది. - 96. ఒక పని యొక్క వారసత్వం మరియు వారసత్వం మరియు భర్తీ చేయడం. - 97. మొత్తం విషయం చాలా రుచిగా ఉంటుంది, నేను దానిని ఒక ఫంక్షన్‌గా ఓవర్‌లోడ్ చేయగలను, ఇది బేస్ క్లాస్. - 98. ఇప్పుడు ఈ రెండింటిని చూడండి మరియు ఇది తరచూ విద్యార్థులను కలవరపెడుతుంది మరియు మీకు తెలుసు. - 99. నేను ఏమి చేస్తున్నానో, నేను ఏమి చేస్తున్నానో ఓవర్లోడ్ చేస్తున్నాను. - 100. ఇక్కడ ఉన్న ప్రత్యేక లక్షణాలు ఏమిటంటే, ఫంక్షన్ యొక్క సంతకం ఈ రెండు కేసుల మధ్య భిన్నంగా ఉంటుంది. - 101. అందువల్ల, క్లాస్ డి కేవలం ఒక క్రొత్త ఫంక్షన్‌ను అనుకోకుండా ప్రారంభిస్తున్నట్లుగా మీకు అనిపిస్తుందని మీకు అనిపించదు, ఇది బి. (వారసత్వం) నుండి ఇప్పటికే వారసత్వంగా పొందిన ఫంక్షన్‌కు అదే పేరు. - 102. కాబట్టి, నేను ఈ d.f లాంటిదాన్ని తిరిగి అమలు చేస్తే, కానీ స్ట్రింగ్ సి స్ట్రింగ్ అయిన పరామితితో, దానిని స్ట్రింగ్‌లో stl రకంగా కూడా తీసుకోవచ్చు. - 103. ఈ రెండు ఫంక్షన్ల మధ్య ఉన్న ఈ d.f మరియు ఈ df మధ్య, ఓవర్‌లోడింగ్ యొక్క సాధారణ రిజల్యూషన్ పనిచేస్తుంది. - 104. మరియు ఈ రకమైన పరామితిని బట్టి, ఇది ఈ ఫంక్షన్‌తో మరియు ఈ ఫంక్షన్‌తో అనుబంధిస్తుంది, మరియు ఈ ఫంక్షన్ తప్పనిసరిగా ఇతర ఫంక్షన్ ఎఫ్ యొక్క ఓవర్‌లోడ్, ఇది మాకు వారసత్వ వారసత్వాన్ని ఇస్తుంది. కనుగొనబడింది మరియు తరువాత భర్తీ చేస్తుంది. - 105. అందువల్ల, ఓవర్‌రైడింగ్ మాదిరిగా కాకుండా, ఓవర్‌లోడ్ చేసే రెండు ఫంక్షన్లు నేరుగా లేదా వారసత్వం నుండి ఒకే తరగతికి చెందినవి కావాలి మరియు వాటి సంతకంలో తేడా ఉండాలి. ఈ రెండు ఫంక్షన్ల మధ్య తేడా ఉండటానికి వారికి కనీసం ఒక పరామితి అయినా ఉండాలి. - 106. మనకు ఇక్కడ ఓవర్‌లోడింగ్ పరిస్థితి ఉందని చెప్పినప్పుడు ఇది జరుగుతుంది. - 107. వీటన్నిటికీ మించి, తరగతి ఖచ్చితంగా క్రొత్త ఫంక్షన్లను ప్రవేశపెట్టగలదు, అనగా కొత్తగా పేరు పెట్టబడిన ఫంక్షన్, దీని అర్థం బేస్ క్లాస్‌కు ఎఫ్ లేని సభ్యుల ఫంక్షన్లతో పేరు సారూప్యత లేదు మరియు ఎఫ్ లేదా జి మరొక ఫంక్షన్ హెచ్ కాదు, ఇది క్లాస్ డి ను జతచేస్తుంది. - 108. కాబట్టి, క్లాస్ డి వాస్తవానికి ఆ ఫంక్షన్‌ను ఒక ఆబ్జెక్ట్ ఉదాహరణకి వర్తింపజేయవచ్చు మరియు వాస్తవానికి ఈ ఫంక్షన్ జోడించబడుతుంది. - 109. మేము చూస్తున్నట్లుగా, సభ్యుల ఫంక్షన్ల పరంగా నాలుగు డైనమిక్స్ ఉండవచ్చు, ఒకటి మీరు వారసత్వంగా పొందగలిగే G వంటిదాన్ని పొందగలరా మరియు కొన్నింటిని భర్తీ చేయగలదా అనేది ఒకటి. సంతకం అదే విధంగా ఉంటుంది. - 110. కానీ మీరు పునర్నిర్వచించుకుంటున్నారు, కాబట్టి ఈ ఫంక్షన్ అమలులో మీరు దానికి శరీరాన్ని జోడించినప్పుడు ఈ ఫంక్షన్ (ఫంక్షన్) b.f (int) గా అమలు అయ్యే అవకాశం ఉంది. - 111. మరియు ఈ ఫంక్షన్ యొక్క అమలు D :: f దీనికి ఒక శరీరాన్ని జోడిస్తుంది. ఇవి బహుశా మారుతూ ఉంటాయి, కానీ సంతకం ఒకటే. మనకు రెండవ కేసును అధిగమిస్తుంది, మూడవది మీరు చేయగల రెండు సభ్యుల ఫంక్షన్ల మధ్య మునుపటిలా ఓవర్‌లోడ్ కొనసాగించండి. - 112. ఒకే స్కోప్‌లో ఒకే పేరుతో రెండు ఫంక్షన్‌లు ఓవర్‌లోడ్ అవ్వడానికి వేర్వేరు పారామితులను కలిగి ఉండాలి మరియు నాల్గవది మనం ఇంకా కొత్త సభ్యుల ఫంక్షన్‌ను (సభ్యుల ఫంక్షన్) జోడించగలము. - 113. కాబట్టి, తరగతి మరియు తరగతి యొక్క కార్యాచరణను విస్తరించండి. - 114. నా స్వభావంలో పునరావృతమైతే ఈ సూత్రాలు అలాంటివి. - 115. కాబట్టి, ఆ d ఇప్పుడు మరొక తరగతికి బేస్ క్లాస్‌గా మారవచ్చు మరియు d మరొక తరగతికి బేస్ క్లాస్‌ అయితే, ఈ ఫంక్షన్లన్నీ ఓవర్‌రైడ్ ఎఫ్, ఓవర్‌లోడ్ ఎఫ్. - 116. ఇన్హిరిటెన్స్ మరియు హెచ్ ద్వారా ఇక్కడకు వచ్చిన అదృశ్య జి, ఈ నాలుగు విధులు ఏ తరగతి అయినా వారసత్వంలోకి రావడానికి అందుబాటులో ఉంటాయి, ఇది తరగతి. D ఇక్కడ ప్రత్యేకత, ఇక్కడ వారసత్వం గురించి చర్చించడం కొనసాగించడానికి మాడ్యూల్, డేటా సభ్యులు ఒక తరగతి మరొకటి కంటే మెరుగ్గా ఉన్నప్పుడు జరిగే రెండు వారసత్వ భావనలను మేము చర్చించాము. - 117. అలాంటప్పుడు, ఉత్పన్నమైన తరగతి తరగతి వస్తువు యొక్క ఒక భాగంగా వస్తువు యొక్క ఉదాహరణ అవుతుంది. - 118. మరియు లేఅవుట్ పరంగా మేము గుర్తించాము. - 119. బేస్ క్లాస్ ఆబ్జెక్ట్ తక్కువ చిరునామాకు చేరుకుంటుందని మరియు ఉత్పన్నమైన క్లాస్ యొక్క డేటా సభ్యులు అధిక చిరునామా వద్ద ఉంటారని లేదా దీనికి విరుద్ధంగా లేదా ఇతర మిశ్రమంలో ఉంటారని హామీ లేదు. - 120. మరియు వారసత్వ పరంగా, సభ్యుల విధులు ఒక తరగతి నుండి ఉద్భవించిన వారసత్వంలోని ఒక బేస్ తరగతి నుండి ఉద్భవించాయని మేము చూశాము, కానీ వారసత్వం తరువాత చాలా ఆసక్తికరంగా ఉంటుంది. సభ్యుల విధులను భర్తీ చేయవచ్చు. - 121. మరియు ఆ సందర్భంలో, ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు కూడా పని చేస్తూనే ఉంటాయి. - 122. + ప్రోగ్రామింగ్  C ++ లో మాడ్యూల్ 22 కు స్వాగతం. + గత మాడ్యూల్ నుండి, మేము ఇన్హెరిటెన్స్ పై చర్చిస్తున్నట్లు; మేము ఇన్హెరిటెన్స్ గా C ++ లో మోడలింగ్, ఎన్కోడింగ్, ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్, generalization మరియు స్పెషలైజేషన్ సంబంధాల యొక్క ISA సంబంధంలో ఒక ప్రాథమిక మెకానిజం. + మరియు, ల్యాంగ్వేజ్ లో ప్రాథమిక ఇన్హెరిటెన్స్ సమాచారం ఎలా కోడ్ చేయబడిందో తెలుసుకున్నము. + ఈ మాడ్యూల్‌లో, ఇన్హెరిటెన్స్ డేటా సభ్యులు మరియు సభ్యుల పనితీరును ఎలా ప్రభావితం చేస్తుందో చర్చించడానికి ప్రయత్నిస్తాము, ఇది వారసత్వం, డేటా సభ్యులు మరియు సభ్యుల ఫంక్షన్ కింద ఉంది. ఏమి జరుగుతుంది. + సభ్యుల ఫంక్షన్లను అధిగమిస్తున్నది ఏమిటో అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము మరియు మీకు ఇప్పటికే తెలిసిన ఓవర్‌లోడింగ్ భావనతో ఇది ఎలా సంకర్షణ చెందుతుంది. + ఇది రూపురేఖలు మరియు మునుపటి మాడ్యూల్‌లో నేను చెప్పినట్లుగా, ఇది వారసత్వ మొత్తం ఫ్రేమ్‌వర్క్; మరియు నీలం విభాగం అంటే ఈ ప్రస్తుత మాడ్యూల్‌లో మనం చర్చిస్తాము. + కాబట్టి, రీక్యాప్ చేయడానికి, ఇది ఇన్హెరిటెన్స్ అనే పదం యొక్క వారసత్వ అంశం. + కాబట్టి, డేటా సభ్యులతో, సభ్యుల పనితీరు, యాక్సెస్ స్పెసిఫికేషన్, నిర్మాణం, విధ్వంసం, ఆబ్జెక్ట్ జీవితకాలం వంటి అన్ని అంశాల గురించి మనకు ఏమి ఉంది, దాని గురించి అర్థం చేసుకోవాలి. + మరియు ఇక్కడ మేము డేటా సభ్యుల గురించి చర్చించటం ప్రారంభించాము. + ఇప్పుడు ISA బేస్ సాధించినట్లయితే, అప్పుడు ISA రూట్ అనేది మేము ఎన్కోడ్ చేయడానికి ప్రయత్నిస్తున్న ఒక సంబంధం. + అప్పుడు ఉత్పన్నమైన తరగతి బేస్ క్లాస్ యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా తిరిగి ఇస్తుందని మనం చూస్తాము. + వారసత్వ విషయంలో ఇది నిజం. + అదనంగా, ఉత్పన్నమైన తరగతి కొన్ని అదనపు డేటా సభ్యులతో, దాని స్వంత డేటా సభ్యులను జోడించగలదు. + కాబట్టి, ఆబ్జెక్ట్ యొక్క లేఅవుట్ గురించి మాకు ఖచ్చితమైన సూచన ఉంటే, మేము మునుపటి మాడ్యూళ్ళలో కొన్ని వస్తువుల లేఅవుట్ గురించి మాట్లాడామని మీరు గుర్తుంచుకుంటారు. + మరియు మీరు భావనల గురించి స్పష్టంగా తెలియకపోతే, ముందుకు వెళ్ళే ముందు నేను మిమ్మల్ని జోడించి, ఆ మాడ్యూళ్ళను తిరిగి సందర్శిస్తాను. + కాబట్టి, లేఅవుట్ అనేది ప్రాథమికంగా ఒక తరగతి యొక్క వస్తువులోని వేర్వేరు డేటా సభ్యుల జ్ఞాపకశక్తిలో నిర్వహించబడే సంస్థ. + గమనించదగ్గ ముఖ్యమైన విషయం ఏమిటంటే, ఉత్పన్నమైన తరగతి యొక్క లేఅవుట్‌లో ఉత్పన్నమైన తరగతికి బేస్ క్లాస్ యొక్క ఉదాహరణలు ఉంటాయి. + ఇది ఇక్కడకు వచ్చే కొత్త విషయం. + మరింత సహజంగా, ఉత్పన్నమైన తరగతులు వారి స్వంత సభ్యులను కలిగి ఉంటాయి. + మరియు నమూనా డేటా సభ్యుల మాదిరిగా కాకుండా, బేస్ క్లాస్ ఉదాహరణ యొక్క సాపేక్ష స్థానం మరియు ఉత్పన్నమైన తరగతి (తరగతి) సభ్యులకు C ++ లో హామీ లేదు. + ఒక ఉదాహరణకి వెళ్దాం మరియు మన ఉద్దేశ్యాన్ని చూడటం ప్రారంభిద్దాం. + కాబట్టి, మేము బేస్ క్లాస్ నిర్వచనంతో ప్రారంభిస్తాము, B అనేది బేస్ క్లాస్; దీనికి ఇద్దరు డేటా సభ్యులు ఉన్నారు, నేను ఇద్దరు డేటా సభ్యులను ఏకపక్షంగా కలిగి ఉన్నాను, నేను ఇంకా సభ్యుల విధులను చూపించడం లేదు, డేటా సభ్యులను మాత్రమే చూపిస్తున్నాను, కాబట్టి నేను ఎంటర్ చేసిన డేటా 1 బి_ ఒక ప్రైవేట్ సభ్యుడు మరియు డేటా 2 బి_, ఇది ప్రజా సభ్యుడు. + అప్పుడు మనకు మరొక తరగతి D ఉంది, ఇది పబ్లిక్ B; ఇది స్పెషలైజేషన్. + అందువల్ల, నేను UML సంజ్ఞామానం పరంగా గీస్తే, మేము ఇక్కడ ప్రదర్శిస్తున్నది, D ISA B. + ఇప్పుడు మేము D యొక్క డేటా సభ్యులను చూడటానికి ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, మేము చెబుతున్నది క్లాస్ D లో డేటా సభ్యుడు డేటా 1B_ ను కలిగి ఉంటామని మరియు మేము స్పష్టంగా చేయకపోయినా వ్రాస్తాము + అదేవిధంగా, క్లాస్ బి నుండి వారసత్వంగా క్లాస్ డిలో డేటా సభ్యుడు డేటా 2 బి (డేటా 2 బి) _ ను కలిగి ఉంటాము, అందువల్ల ఈ డేటా సభ్యులను నేను ఇక్కడ హైలైట్ చేస్తున్నాను., వారసత్వంగా కలిసిన వారు; వాటిని ఈ వర్గంలో జాబితా చేయలేము. + D ISA B, D యొక్క ప్రతి సందర్భంలోనూ ఇది వారసత్వంలో కనుగొనబడింది, కాని నేను ఇక్కడ ఉంచే infoD_ వంటి కొన్ని అదనపు సభ్యులను కూడా కలిగి ఉండగలను, ఇది D యొక్కది. సభ్యుడు మరియు సభ్యుడు కాదు బి; కాబట్టి, ఇది ఇందులో మాత్రమే ఉంటుంది. + ఈ సందర్భంలో, నేను వెంటనే ఒక వస్తువు B ను వ్రాస్తే, నేను ఖచ్చితంగా దాని కోసం ఒక లేఅవుట్ కలిగి ఉంటాను, ఇది మేము ఇప్పటికే చర్చించినట్లుగానే కనిపిస్తుంది. + మరియు ఒక సాధారణ లేఅవుట్ సందర్భంలో, మేము చర్చించినది ఏమిటంటే, ఒక తరగతి వేగవంతం అయితే, అది వస్తువు మరియు లేఅవుట్ యొక్క ప్రాథమిక ఆస్తి ఏమిటి. + మేము చర్చించిన రెండు ప్రాథమిక లక్షణాలు ఉన్నాయి. అన్ని డేటా సభ్యులకు ఒక వస్తువులో మెమరీలో ఒక స్థలాన్ని కేటాయించబడతాయి, ఇది ఒక వస్తువు యొక్క ప్రారంభ చిరునామా మరియు జ్ఞాపకశక్తిలో అనేక బైట్లు ఉండే పరిమాణం.) ఇది విస్తరిస్తుంది. + మరియు ఈ స్పేస్ సమ్మర్‌లోని మొత్తం డేటా సభ్యులు. + వస్తువు యొక్క ఒక భాగం జ్ఞాపకశక్తి యొక్క ఒక భాగంలో మరియు మరొక భాగం జ్ఞాపకశక్తి యొక్క మరొక భాగంలో ఉందని ఇది ఎప్పటికీ విచ్ఛిన్నం కాదు. + కాబట్టి, సందర్భోచితత అనేది మనం ఇప్పటికే చూసిన లేఅవుట్ యొక్క ప్రాథమిక అవసరం, ఇది ఒకటి. + మనం చూసిన రెండవది ఏమిటంటే, మనకు అలాంటి ఇద్దరు డేటా సభ్యులు ఉంటే ఒకరు తరువాత వస్తారు. + అందువల్ల, అవి తరగతి యొక్క నిర్వచనంలో ఉంచబడిన క్రమంలో సంభవిస్తాయి, ఈ క్రమం నిర్వహించబడుతుంది. + ఇది లేఅవుట్ యొక్క ప్రాథమిక నిర్మాణం. + కాబట్టి, నేను B యొక్క లేఅవుట్లో చూస్తే, ఈ విలువ ఇలాంటిదేనని వారు చెప్పారు. + ఇప్పుడు మేము దానిని పరిగణలోకి తీసుకుంటాము. + D యొక్క లేఅవుట్ ఏమిటి, ప్రత్యేకంగా D లో ఏమి జరుగుతుందో ఖచ్చితంగా దాని స్వంత డేటా సభ్యుడిని కలిగి ఉంటుంది, ఇది అర్థం చేసుకోవడం సులభం. + D ISA B D వస్తువు యొక్క ఒక భాగంగా B వస్తువు యొక్క స్పష్టమైన ఉదాహరణ అవుతుంది కాబట్టి. + కాబట్టి, D ఇక్కడ వస్తువు కాబట్టి, ఒక భాగానికి B వస్తువు ఉంటుంది మరియు D అంటే ఈ డేటా సభ్యుడి నుండి వారసత్వం అని నేను చెప్పినప్పుడు; నేను నిజంగా D.data1b_ గురించి మాట్లాడితే, ఈ ప్రత్యేక మెమరీ ప్రస్తావించబడుతుంది. + మరి ఈ జ్ఞాపకం ఏమిటి? ఈ మెమరీ ఉత్పన్నమైన వస్తువు యొక్క మూల వస్తువు భాగం. + అదేవిధంగా, నేను D.data2B_ ని సూచిస్తే, నేను జ్ఞాపకశక్తి యొక్క ఈ ప్రత్యేక భాగాన్ని సూచిస్తున్నాను, ఇది వారసత్వ సంపద ద్వారా వారసత్వంగా మరియు వాస్తవానికి వస్తువు ద్వారా కనుగొనబడుతుంది. దీని ఆధారంగా + కాబట్టి, ఇక్కడ చాలా ఆసక్తికరమైన విషయం జరుగుతోందని మీరు చూడవచ్చు, మేము ఇంతకు ముందే చూశాము; నేను వివిధ రకాల డేటా సభ్యుల ఉదాహరణను తీసుకుంటే అది పేర్కొంది. + నేను ఇప్పుడే ఇక్కడకు వెళ్లి, నాకు క్లాస్ ఎ ఉందని, నాకు క్లాస్ బి ఉందని, నాకు క్లాస్ సి ఉందని, ఇది ఎ ఎ డేటా సభ్యుడిగా, బి బి ఆబ్జెక్ట్ రూపంలో ఉందని మాకు తెలియజేస్తే, బహుశా డేటా సభ్యుడిగా మరియు ఇటుకగా మరియు మొదలైనవి. + అప్పుడు నేను సి యొక్క ఉదాహరణను చూసినప్పుడు, x సి యొక్క ఉదాహరణ. నేను x ని చూసినప్పుడు, నాకు ఒక వస్తువు A ఉంటుంది, Ab ఆబ్జెక్ట్ B అవుతుంది, ఒక Int I మరియు మొదలైనవి. + అందువల్ల, వేర్వేరు తరగతుల వేర్వేరు వస్తువులు మరొక తరగతి యొక్క లేఅవుట్లో భాగం కావచ్చని మేము ఇప్పటికే చూశాము. + కాబట్టి, ఇది క్లాస్ సి యొక్క క్లాస్ సి మరియు ఆబ్జెక్ట్ ఎక్స్, ఇది ఇతర తరగతుల ఉదాహరణలను కలిగి ఉంది మరియు ఇది భాగం యొక్క భావన. + మేము ఇక్కడ గమనించినప్పుడు క్షమించండి, ఇక్కడ మా సమస్యలు కేవలం ఒక సెకనులో మారుతున్నాయని గమనించండి. + ఇక్కడ, మేము గమనించినట్లుగా, ISA B లో D కూడా ఒక భాగం కాబట్టి, ఈ భాగం చాలా ప్రత్యేకమైనది, ఎందుకంటే నేను ఏ డేటా సభ్యుడిని కలిగి ఉంటాను, నాకు డేటా సభ్యుడు ఉండకూడదు. + నేను వారసత్వం పొందినప్పుడు నేను ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌లో ఒక ప్రత్యేకమైన భాగాన్ని కలిగి ఉంటాను, ఇది బేస్ కాంపోనెంట్ మరియు ఇది ఆబ్జెక్ట్ లేఅవుట్ పరంగా మీరు చాలా తెలుసుకోవాలి. + ఇక్కడ కొన్ని అదనపు గమనికలు ఉన్నాయి, ఇది వెంటనే ముఖ్యమైనది కాదు, కానీ ఇది బేస్ క్లాస్ యొక్క ప్రైవేట్ సభ్యుడు కాబట్టి, ప్రైవేట్ సభ్యుడు బయటి నుండి యాక్సెస్ చేయలేరని మీరు గమనించవచ్చు. + అందువల్ల, నేను d.data1B_ ను వ్రాయగలిగాను మరియు ఇది నేను నిజంగా యాక్సెస్ చేయలేని ఈ మెమరీని సూచిస్తుంది, ఎందుకంటే ఇది యాక్సెస్ కాదు ఎందుకంటే అది దానిలో భాగం కాదు, కానీ యాక్సెస్ పరిమితం చేయబడింది. + అయితే, నేను పబ్లిక్‌గా ఉన్న ఈ ఇతర సభ్యుని గురించి మాట్లాడితే, నేను d.data2B_ ను వ్రాయగలను, నేను కూడా యాక్సెస్ చేయగలను, ఈ యాక్సెస్ సమస్యల గురించి మనం తరువాత మాట్లాడగలను. నేను దాని గురించి చర్చిస్తాను, కానీ నేను దానిపై వెలుగు చూడాలనుకుంటున్నాను . + ఇప్పుడు, సభ్యుల ఫంక్షన్‌తో (ఫంక్షన్) ఏమి జరుగుతుందో పరీక్షించడానికి నేను ముందుకు వెళ్తాను. ఇది అన్ని సభ్యుల ఫంక్షన్లను వారసత్వంగా పొందుతుంది, కాని ముఖ్యమైన విషయం ఏమిటంటే వారసత్వం తరువాత ఈ సభ్యుడు ఫంక్షన్ ఫంక్షన్‌ను భర్తీ చేయగలదు లేదా సభ్యుల ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయగలదు. + కాబట్టి, ఈ భావనలను మనం చాలా జాగ్రత్తగా అర్థం చేసుకోవాలి. + కాబట్టి, నేను దీనిని ఒక ఉదాహరణతో వివరిస్తాను, కాని ప్రయాణిస్తున్నప్పుడు, స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) లేదా ఫ్రెండ్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్) యంత్రాంగం ద్వారా వారసత్వంగా పొందబడిందా లేదా చాలా సరళమైన పదాలు ఉండలేదా అని మీరు గమనించాలనుకుంటున్నాను. వారసత్వంలో కనుగొనబడింది. + ఇది సభ్యుల ఫంక్షన్, నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్ (మెంబర్ ఫంక్షన్), లేదా ఈ పాయింటర్ ఉన్న లేదా వాస్తవానికి ఈ సిస్టమ్ యొక్క ఆబ్జెక్ట్ ఉదాహరణతో మాత్రమే అనుబంధించబడిన ఫంక్షన్లు మాత్రమే. మాధ్యమాన్ని వారసత్వంగా పొందవచ్చు. + అందువల్ల, స్థిర మరియు స్నేహితుల పనితీరుకు వారసత్వం యొక్క అర్థం చాలా భిన్నంగా ఉంటుందని మేము చూస్తాము. + కాబట్టి, మనం ఒక ఉదాహరణకి వెళ్లి, వారసత్వం అంటే ఏమిటో అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. + మొదట నేను మీరు ఈ భాగాన్ని మాత్రమే చూడకూడదని, ఈ భాగాన్ని చూడవద్దు, ఈ భాగాన్ని చూడవద్దు, అది భాగం కానట్లు. + కాబట్టి, నాకు క్లాస్ బి ఉంది, నాకు క్లాస్ డి యొక్క ఆధారం ఉంది మరియు ఈ సందర్భంలో సరళత కోసం డెరివేటివ్ రిలేషన్ ఒకేలా ఉంటుంది మరియు నేను డేటా సభ్యుల వైపు చూడటం లేదు, నేను మాత్రమే ఉన్న సభ్యుల చర్యలను చూస్తున్నాను . + ప్రాప్యత సమస్య ఖచ్చితంగా సమస్య కాదు.ఇప్పుడు నాకు క్లాస్ బి లో ఫంక్షన్ (ఫంక్షన్) ఎఫ్ మరియు ఫంక్షన్ జి ఉన్నాయి, కాని క్లాస్ డిలో నాకు ఫంక్షన్ (ఫంక్షన్) లేదు, క్లాస్ డి కేవలం ఖాళీ క్లాస్. (క్లాస్). + కానీ అప్పుడు కూడా అది f ఫంక్షన్‌ను వారసత్వంగా పొందుతుంది, ఇది g ఫంక్షన్‌ను వారసత్వంగా పొందుతుంది మరియు ఇక్కడ మరొక సంజ్ఞామానాన్ని స్పష్టం చేస్తుంది.ఇది ఒక తరగతి పేరు అని మేము ఇంతకుముందు చెప్పిన సంజ్ఞామానం. స్థానం. + కాబట్టి, నేను ఈ తరగతికి దూరంగా ఉంటే, అప్పుడు ఈ ఫంక్షన్ పేరు B :: f. + కాబట్టి, B :: f (int) ద్వారా నేను ప్రాథమికంగా ఈ బేస్ క్లాస్ ఫంక్షన్ అని అర్ధం, ఇది బేస్ క్లాస్ అని నా ఉద్దేశ్యం. + అందువల్ల, నేను చెప్పేది ఏమిటంటే, మీరు దానిని వారసత్వంగా పొందినట్లయితే, మీకు ఈ బేస్ క్లాస్ ఫంక్షన్లు అందుబాటులో ఉంటాయి. + కాబట్టి, దీని అర్థం ఏమిటి, మళ్ళీ ఇక్కడ పర్వాలేదు, దాని అర్థం ఏమిటి, నాకు B మరియు D అనే రెండు ఉదాహరణలు ఉంటే, మరియు నేను ఈ ఫంక్షన్ f మరియు g ను అమలు చేయడానికి ప్రయత్నిస్తాను. + సహజంగానే నేను ఇలా చేస్తే, b.f ఆవాహన చేస్తుందని మేము ఇప్పటికే అర్థం చేసుకున్నాము. + కాబట్టి, దీని అర్థం ఏమిటంటే ఇక్కడ మళ్లీ చూడలేరు, అంటే నేను రెండు సందర్భాల్లో b మరియు d కలిగి ఉంటే, మరియు ఈ ఫంక్షన్లను f మరియు g లను ప్రయోగించటానికి ప్రయత్నిస్తాను. + ఈ ఫంక్షన్ b.g ఈ ఫంక్షన్‌ను ప్రారంభిస్తుంది, ఇది ఆశ్చర్యం కలిగించదు. + ఆసక్తికరమైన విషయం ఏమిటంటే, నేను నిజంగా DF ని ప్రారంభించగలను, ఇది క్లాస్ D యొక్క నిర్వచనంలో లేదు, దీనికి ఉదాహరణ చిన్న D ఒక వస్తువు, కానీ ఇప్పటికీ నేను D.F ని ఆహ్వానిస్తున్నాను. ఎందుకంటే D వారసత్వంగా B మరియు B నుండి వారసత్వంగా వస్తుంది . + కాబట్టి, నేను d.f ను ప్రారంభించినప్పుడు, నేను నిజంగా బేస్ క్లాస్ యొక్క f ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభిస్తున్నాను. + అదేవిధంగా, నేను dg చేస్తే, నేను బేస్ క్లాస్ యొక్క g ఫంక్షన్ (ఫంక్షన్) ను ప్రారంభిస్తున్నాను, సభ్యుల ఫంక్షన్ల వారసత్వం యొక్క ప్రధాన మరియు ప్రవాహం ఇదే, మీరు మీ తల్లిదండ్రుల నుండి అన్ని సభ్యుల ఫంక్షన్లకు (ఫంక్షన్) ఉపయోగించవచ్చు. ) వారసత్వం. + ఇప్పుడు, ఈ భాగాన్ని మరచి కుడి వైపు చూద్దాం. + మళ్ళీ, అదే బేస్ క్లాస్‌లో తేడా లేదు.నేను మార్చలేదు. + అందువల్ల, ఈ వారసత్వాన్ని నేను వారసత్వంగా చూసినట్లుగా, ఉత్పన్నమైన తరగతిగా పొందాను. + G సందర్భంలో మేము మళ్ళీ ఏమీ చేయలేదు, కానీ F సందర్భంలో నేను ఆసక్తికరంగా ఏదో చేశాను; నేనేం చేశాను? ఇది (రిఫరెన్స్ సమయం: 16:28) f యొక్క సంతకం లేదా ప్రోటోటైప్ b లో చేర్చబడింది ఎందుకంటే సభ్యుల ఫంక్షన్ ఆ నమూనాను మళ్ళీ d లో ఉంచింది. + ఇప్పుడు నేను దీన్ని చేసినప్పుడు నేను మునుపటి ఫంక్షన్‌ను అధిగమిస్తున్నానని చెప్తున్నాను, ఎందుకంటే నేను ఉంచిన క్షణం నేను రెండు ఫంక్షన్ల గురించి మాట్లాడుతున్నాను, ఈ ఫంక్షన్ b :: f మరియు ఈ ఫంక్షన్ (ఫంక్షన్) d :: f. + నాకు ఈ ఫంక్షన్ (ఫంక్షన్) లేనప్పుడు మరియు ఇంకా ఉపయోగించాలనుకున్నప్పుడు, నేను బేస్ క్లాస్ ఫంక్షన్ (ఫంక్షన్) ను మాత్రమే అర్థం చేసుకున్నాను, కాని ఇప్పుడు నేను అదే సంతకం ద్వారా అదే సభ్యుల ఫంక్షన్ (సభ్యుల ఫంక్షన్) ను స్పష్టంగా పొందగలను. యొక్క నిర్వచనం + కాబట్టి, నాకు మళ్ళీ స్పష్టంగా ఉండనివ్వండి. + కాబట్టి, నేను ఇక్కడ వస్తువుల ఉదాహరణలను మళ్ళీ చూస్తే, నేను B మరియు ఆబ్జెక్ట్ తో F మరియు G అని చెబితే దాని ప్రభావం ఖచ్చితంగా ఒకే విధంగా ఉంటుంది. + నేను d వస్తువుతో f అని పిలిస్తే ఏమి జరుగుతుంది, గతంలో d కి f లేదు, కానీ ఇప్పుడు ఈ f ని భర్తీ చేస్తుంది. + అందువల్ల, నేను ఇప్పుడు d.f అని పిలిస్తే, ఈ ఫంక్షన్ (ఫంక్షన్) అంటే అది ఫంక్షన్ (ఫంక్షన్) అని అర్ధం కాదని అర్ధం కాదు, కాబట్టి ఇది d :: f గా మార్చబడింది. + అందువల్ల, మీరు దానిని మునుపటి df (3) తో పోల్చినట్లయితే, ఇది f యొక్క ఫంక్షన్. ఇప్పుడు ఇది f యొక్క ఫంక్షన్ మరియు వారసత్వం క్రింద సభ్యుల ఫంక్షన్ల యొక్క ప్రవర్తనను ఓవర్రైడింగ్ అంటారు. + ఓవర్‌రైడింగ్‌లో, మీరు ఓవర్‌రైడింగ్ గురించి మాట్లాడినప్పుడల్లా, మీరు ఒకే పేరుతో మరియు తప్పనిసరిగా ఒక ఫంక్షన్‌కు (ఫంక్షన్) రెండు వేర్వేరు నిర్వచనాలను అటాచ్ చేయడానికి ప్రయత్నిస్తున్నారని అర్థం. అదే సంతకం. + అవసరమైన భాగాన్ని ఓవర్‌లోడ్ చేయడానికి సంతకం భిన్నంగా ఉండాలి అని మీరు గుర్తుంచుకోవాలి, కనీసం ఒక పరామితి యొక్క అర్ధంలో సంతకం రెండు ఓవర్‌లోడ్ ఫంక్షన్ల మధ్య తేడా ఉండటానికి పేరు ఫంక్షన్ (ఫంక్షన్) కు సమానం. రిటర్న్ రకం పట్టింపు లేదు, కానీ ఫంక్షన్ పరామితి భిన్నంగా ఉండాలి, మరికొన్ని సంతకం భిన్నంగా ఉండాలి. + భర్తీ చేయడానికి, సంతకాలు ఒకేలా ఉండాలి, కానీ అవి రెండు వేర్వేరు తరగతులకు చెందినవి, ఇవి సాధారణీకరణ, ప్రత్యేకత, వారసత్వం, సంబంధం. + ఆపై మీరు ఏ నిర్దిష్ట వస్తువును ఉపయోగిస్తున్నారనే దానిపై ఆధారపడి, ఇది ఈ ఫంక్షన్ యొక్క విభిన్న సంస్కరణలను పిలుస్తుంది. + అందువల్ల మేము bf ను మీరు ఒక ఫంక్షన్ (ఫంక్షన్) అని పిలిచినప్పుడు మీరు ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు, కానీ మీరు df చేసినప్పుడు మీరు వేరే ఫంక్షన్ (ఫంక్షన్) ను ఓవర్రైడ్ చేస్తారు. + సభ్యుల ఫంక్షన్లను భర్తీ చేయడానికి ఇది ప్రాథమిక విధానం, ఇది మొత్తం కథకు చాలా కొత్త విలువను మరియు అర్థాలను జోడిస్తుంది. + ఇప్పుడు అదే సమయంలో మీరు b లో మరొక ఫంక్షన్ g ను వారసత్వంగా వారసత్వంగా చూస్తే, కానీ ఆ ఫంక్షన్ (ఫంక్షన్) అధిగమించబడదు, అది మనకు G యొక్క క్రొత్త సంతకం కొత్త సంతకాన్ని కలిగి ఉండదు. + కాబట్టి, ఈ సందర్భంలో నేను DG అని చెబితే, మేము నిజంగా B లో ఒక ఫంక్షన్ అని పిలుస్తాము, ఎందుకంటే ఇది వారసత్వంగా కనిపించే ఒక ఫంక్షన్. + కాబట్టి, ఎడమ మరియు కుడి మధ్య ఈ ప్రవర్తన d.g (4) ను మార్చదు, ఎందుకంటే G ఇన్హెరిటెన్స్లో కనుగొనబడలేదు, ఇది వారసత్వం తరువాత D తరగతిలో భర్తీ చేయబడదు. + అందువల్ల, వారసత్వంలో కనిపించే మలినాల మధ్య తేడా ఏమిటో ఇది స్పష్టంగా తెలుపుతుంది. + ఒక పని యొక్క వారసత్వం మరియు వారసత్వం మరియు భర్తీ చేయడం. + మొత్తం విషయం చాలా రుచిగా ఉంటుంది, నేను దానిని ఒక ఫంక్షన్‌గా ఓవర్‌లోడ్ చేయగలను, ఇది బేస్ క్లాస్. + ఇప్పుడు ఈ రెండింటిని చూడండి మరియు ఇది తరచూ విద్యార్థులను కలవరపెడుతుంది మరియు మీకు తెలుసు. + నేను ఏమి చేస్తున్నానో, నేను ఏమి చేస్తున్నానో ఓవర్లోడ్ చేస్తున్నాను. + ఇక్కడ ఉన్న ప్రత్యేక లక్షణాలు ఏమిటంటే, ఫంక్షన్ యొక్క సంతకం ఈ రెండు కేసుల మధ్య భిన్నంగా ఉంటుంది. + అందువల్ల, క్లాస్ డి కేవలం ఒక క్రొత్త ఫంక్షన్‌ను అనుకోకుండా ప్రారంభిస్తున్నట్లుగా మీకు అనిపిస్తుందని మీకు అనిపించదు, ఇది బి. (వారసత్వం) నుండి ఇప్పటికే వారసత్వంగా పొందిన ఫంక్షన్‌కు అదే పేరు. + కాబట్టి, నేను ఈ d.f లాంటిదాన్ని తిరిగి అమలు చేస్తే, కానీ స్ట్రింగ్ సి స్ట్రింగ్ అయిన పరామితితో, దానిని స్ట్రింగ్‌లో stl రకంగా కూడా తీసుకోవచ్చు. + ఈ రెండు ఫంక్షన్ల మధ్య ఉన్న ఈ d.f మరియు ఈ df మధ్య, ఓవర్‌లోడింగ్ యొక్క సాధారణ రిజల్యూషన్ పనిచేస్తుంది. + మరియు ఈ రకమైన పరామితిని బట్టి, ఇది ఈ ఫంక్షన్‌తో మరియు ఈ ఫంక్షన్‌తో అనుబంధిస్తుంది, మరియు ఈ ఫంక్షన్ తప్పనిసరిగా ఇతర ఫంక్షన్ ఎఫ్ యొక్క ఓవర్‌లోడ్, ఇది మాకు వారసత్వ వారసత్వాన్ని ఇస్తుంది. కనుగొనబడింది మరియు తరువాత భర్తీ చేస్తుంది. + అందువల్ల, ఓవర్‌రైడింగ్ మాదిరిగా కాకుండా, ఓవర్‌లోడ్ చేసే రెండు ఫంక్షన్లు నేరుగా లేదా వారసత్వం నుండి ఒకే తరగతికి చెందినవి కావాలి మరియు వాటి సంతకంలో తేడా ఉండాలి. ఈ రెండు ఫంక్షన్ల మధ్య తేడా ఉండటానికి వారికి కనీసం ఒక పరామితి అయినా ఉండాలి. + మనకు ఇక్కడ ఓవర్‌లోడింగ్ పరిస్థితి ఉందని చెప్పినప్పుడు ఇది జరుగుతుంది. + వీటన్నిటికీ మించి, తరగతి ఖచ్చితంగా క్రొత్త ఫంక్షన్లను ప్రవేశపెట్టగలదు, అనగా కొత్తగా పేరు పెట్టబడిన ఫంక్షన్, దీని అర్థం బేస్ క్లాస్‌కు ఎఫ్ లేని సభ్యుల ఫంక్షన్లతో పేరు సారూప్యత లేదు మరియు ఎఫ్ లేదా జి మరొక ఫంక్షన్ హెచ్ కాదు, ఇది క్లాస్ డి ను జతచేస్తుంది. + కాబట్టి, క్లాస్ డి వాస్తవానికి ఆ ఫంక్షన్‌ను ఒక ఆబ్జెక్ట్ ఉదాహరణకి వర్తింపజేయవచ్చు మరియు వాస్తవానికి ఈ ఫంక్షన్ జోడించబడుతుంది. + మేము చూస్తున్నట్లుగా, సభ్యుల ఫంక్షన్ల పరంగా నాలుగు డైనమిక్స్ ఉండవచ్చు, ఒకటి మీరు వారసత్వంగా పొందగలిగే G వంటిదాన్ని పొందగలరా మరియు కొన్నింటిని భర్తీ చేయగలదా అనేది ఒకటి. సంతకం అదే విధంగా ఉంటుంది. + కానీ మీరు పునర్నిర్వచించుకుంటున్నారు, కాబట్టి ఈ ఫంక్షన్ అమలులో మీరు దానికి శరీరాన్ని జోడించినప్పుడు ఈ ఫంక్షన్ (ఫంక్షన్) b.f (int) గా అమలు అయ్యే అవకాశం ఉంది. + మరియు ఈ ఫంక్షన్ యొక్క అమలు D :: f దీనికి ఒక శరీరాన్ని జోడిస్తుంది. ఇవి బహుశా మారుతూ ఉంటాయి, కానీ సంతకం ఒకటే. మనకు రెండవ కేసును అధిగమిస్తుంది, మూడవది మీరు చేయగల రెండు సభ్యుల ఫంక్షన్ల మధ్య మునుపటిలా ఓవర్‌లోడ్ కొనసాగించండి. + ఒకే స్కోప్‌లో ఒకే పేరుతో రెండు ఫంక్షన్‌లు ఓవర్‌లోడ్ అవ్వడానికి వేర్వేరు పారామితులను కలిగి ఉండాలి మరియు నాల్గవది మనం ఇంకా కొత్త సభ్యుల ఫంక్షన్‌ను (సభ్యుల ఫంక్షన్) జోడించగలము. + కాబట్టి, తరగతి మరియు తరగతి యొక్క కార్యాచరణను విస్తరించండి. + నా స్వభావంలో పునరావృతమైతే ఈ సూత్రాలు అలాంటివి. + కాబట్టి, ఆ d ఇప్పుడు మరొక తరగతికి బేస్ క్లాస్‌గా మారవచ్చు మరియు d మరొక తరగతికి బేస్ క్లాస్‌ అయితే, ఈ ఫంక్షన్లన్నీ ఓవర్‌రైడ్ ఎఫ్, ఓవర్‌లోడ్ ఎఫ్. + ఇన్హిరిటెన్స్ మరియు హెచ్ ద్వారా ఇక్కడకు వచ్చిన అదృశ్య జి, ఈ నాలుగు విధులు ఏ తరగతి అయినా వారసత్వంలోకి రావడానికి అందుబాటులో ఉంటాయి, ఇది తరగతి. D ఇక్కడ ప్రత్యేకత, ఇక్కడ వారసత్వం గురించి చర్చించడం కొనసాగించడానికి మాడ్యూల్, డేటా సభ్యులు ఒక తరగతి మరొకటి కంటే మెరుగ్గా ఉన్నప్పుడు జరిగే రెండు వారసత్వ భావనలను మేము చర్చించాము. + అలాంటప్పుడు, ఉత్పన్నమైన తరగతి తరగతి వస్తువు యొక్క ఒక భాగంగా వస్తువు యొక్క ఉదాహరణ అవుతుంది. + మరియు లేఅవుట్ పరంగా మేము గుర్తించాము. + బేస్ క్లాస్ ఆబ్జెక్ట్ తక్కువ చిరునామాకు చేరుకుంటుందని మరియు ఉత్పన్నమైన క్లాస్ యొక్క డేటా సభ్యులు అధిక చిరునామా వద్ద ఉంటారని లేదా దీనికి విరుద్ధంగా లేదా ఇతర మిశ్రమంలో ఉంటారని హామీ లేదు. + మరియు వారసత్వ పరంగా, సభ్యుల విధులు ఒక తరగతి నుండి ఉద్భవించిన వారసత్వంలోని ఒక బేస్ తరగతి నుండి ఉద్భవించాయని మేము చూశాము, కానీ వారసత్వం తరువాత చాలా ఆసక్తికరంగా ఉంటుంది. సభ్యుల విధులను భర్తీ చేయవచ్చు. + మరియు ఆ సందర్భంలో, ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు కూడా పని చేస్తూనే ఉంటాయి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/30 ProgramminginCplusplus_Constants and Inline Functions-accmUsQzNk0.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/30 ProgramminginCplusplus_Constants and Inline Functions-accmUsQzNk0.txt index 14ef3ea020fb11c35994d4200b21321b6241bb6f..a9439e3782cb06039c7f906a1e139a27e03deb8e 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/30 ProgramminginCplusplus_Constants and Inline Functions-accmUsQzNk0.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/30 ProgramminginCplusplus_Constants and Inline Functions-accmUsQzNk0.txt @@ -1,126 +1,126 @@ - 1. C ++  ప్రోగ్రామింగ్ మాడ్యూల్ 6 కు స్వాగతం. - 2. మొదటి ఐదు మాడ్యూల్స్లో మనము C ప్రోగ్రామింగ్ లాంగ్వేజ్(programming language), C స్టాండర్డ్ గ్రంథాలయం (standard library) మరియు C భాష యొక్క వివిధ నిర్మాణాలను పునఃపరిశీలించాము.+ - 3. ప్రాధమిక ఇన్పుట్, అవుట్పుట్, అంకగణిత కార్యకలాపాలు, శ్రేణులు, తీగలను మరియు ముఖ్యంగా డేటా నిర్మాణాన్ని ఉపయోగించడానికి లూప్ రకం ఉదాహరణలతో ప్రారంభించి మేము అనేక ఉదాహరణలు తీసుకున్నాము., C ++ మరియు C ++ లైబ్రరీలో ప్రోగ్రామింగ్ ఎలా ఉంటుందో చూపించడానికి మేము నాలుగు ఉదాహరణలను తీసుకున్నాము లైబ్రరీని న్యాయంగా ఉపయోగించుకోండి. - 4. C ++ లో ప్రోగ్రామింగ్ వాస్తవానికి మరింత సమర్థవంతంగా మరియు తక్కువ లోపంతో చేయటం సులభం. - 5. ఈ మాడ్యూల్‌తో, మేము ఇప్పుడు C ++ ప్రోగ్రామింగ్ భాషలో వివిధ లక్షణాలను చర్చించడం ప్రారంభిస్తాము. - 6. తరువాతి కొన్ని మాడ్యూళ్ళలో, సి ++ లో ఉన్న ఆబ్జెక్ట్ ఓరియంటేషన్ యొక్క ప్రాథమిక నమూనాను ఉపయోగించని లక్షణాలు అయిన మెరుగైన సి ఫీచర్స్ అని పిలువబడే లక్షణాల సమితితో మేము ప్రత్యేకంగా వ్యవహరిస్తాము. హుహ్. - 7. కానీ ఇవి సి భాషకు విధానపరమైన పొడిగింపులు, ఇవి ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్‌ను సాధ్యం చేయడానికి అవసరమవుతాయి మరియు ఇవి సిలో ఉండగల మంచి లక్షణాలు. యాదృచ్ఛికంగా సి రూపకల్పన చేసినప్పుడు కూడా వారు ఆలోచించలేదు. - 8. మరింత ఆసక్తికరంగా, C ++ లో ప్రవేశపెట్టిన తర్వాత ఈ లక్షణాలలో కొన్ని ఉన్నాయి మరియు ఈ మాడ్యూల్‌లో ఆ లక్షణాలలో ఒకదాన్ని మేము చర్చించబోతున్నాము. - 9. ఈ లక్షణాలలో కొన్ని అప్పటి నుండి సి ప్రోగ్రామింగ్‌లోకి తీసుకోబడ్డాయి మరియు ఇప్పుడు C99 ప్రమాణంలో అందుబాటులో ఉన్నాయి. - 10. మేము ఈ మాడ్యూల్ 6 ను ప్రారంభిస్తాము, ఇక్కడ మేము స్థిరాంకాలు మరియు ఇన్లైన్ ఫంక్షన్ల గురించి చర్చిస్తాము. - 11. అందువల్ల, మేము C ++ లో const ను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము మరియు అదే భావనతో సరిగ్గా అదే భావన కాదు, కానీ అదే భావన C లో నిరంతరం కనిపిస్తుంది మరియు C + లో ఇన్లైన్ ఫంక్షన్లను వివరించడానికి ప్రయత్నిస్తాము. + మరియు దీనికి విరుద్ధంగా వాటిని మాక్రోలతో. - 12. కాబట్టి, ఇవి మేము చర్చించబోయే విషయాలు, మీరు దానిని స్క్రీన్ ఎడమ వైపున చూడగలరని మేము క్రమంగా వెల్లడిస్తాము. - 13. కాబట్టి సి లోని మానిఫెస్ట్ స్థిరాంకాలతో ప్రారంభిద్దాం. - 14. మేము # నిర్వచించును వ్రాస్తే అక్షర లేదా వ్యక్తీకరణను ఉపయోగించి స్థిరమైన విలువను లేదా స్థిర విలువను నిర్వచించగలమని మనందరికీ తెలుసు. - 15. ఒక పేరు తరువాత మరియు మేము నిర్వచించదలిచిన ప్రత్యేక వ్యక్తీకరణ. - 16. అందువల్ల, ఎడమ వైపున మనకు ఇక్కడ ఉన్నదానికి ఉదాహరణలు చూడవచ్చు; TWO ఒక నిర్వచించిన విలువ చూడండి. - 17. 2. అదేవిధంగా, వ్యక్తీకరణ పరంగా నిర్వచించబడిన పైని ఎలా నిర్వచించాలో మేము చూపించాము. - 18. పై; అటాన్ (1.0) ఇది PI నుండి 4, కాబట్టి మీరు దానిని 4 తో గుణిస్తే మీరు పై విలువను పొందుతారు. - 19. ఒక వృత్తం యొక్క చుట్టుకొలతను లెక్కించడానికి మేము వాటిని ఇక్కడ వ్యక్తీకరణలో ఉపయోగిస్తాము. - 20. ఇది సి లో చాలా సాధారణంగా ఉపయోగించే ప్రోగ్రామ్ మరియు మీలో చాలామంది ఇంతకు ముందు వ్రాశారు. - 21. ఇప్పుడు, మేము ఈ కార్యక్రమాన్ని కొద్దిగా భిన్నంగా చూస్తాము, కుడి వైపు చూద్దాం. - 22. TWO వద్ద మేము ఇక్కడ కలిగి ఉన్న # నిర్వచించు చివరికి ఈ సమయంలో సి ప్రిప్రాసెసర్ ద్వారా భర్తీ చేయబడుతుంది. - 23. అందువల్ల, ప్రోగ్రామ్ సంకలనంలోకి వెళ్ళే ముందు ఈ పంక్తి తొలగించబడుతుంది మరియు TWO ఎక్కడ సంభవించినా, ఈ గుర్తు మొదట సంభవించింది, ఇక్కడ నేను గుర్తు ఉండాలి అని నిర్వచించే ముందు. - 24. కాబట్టి, ఈ పైలో మొత్తం వ్యక్తీకరణ ద్వారా భర్తీ చేయబడిందని మీరు చూడవచ్చు మరియు ఇది సి కంపైలర్ను కంపైల్ చేయడానికి వాస్తవానికి వెళ్ళే కోడ్. - 25. ఇది తెర వెనుక దృష్టాంతంలో ఉంది మరియు మీరు మీ కంపైలర్‌లో ప్రత్యేక ఎంపికను ఉంచకపోతే మేము సాధారణంగా దీన్ని చేయము.ఈ ప్రోగ్రామ్ యొక్క ఈ సంస్కరణను మీరు చూడలేరు, ఇక్కడ ఈ # నిర్వచనాలు మార్చబడ్డాయి - 26. # నిర్వచించు యొక్క ఉద్దేశ్యం ఏమిటంటే చిహ్నం మరియు వ్యక్తీకరణకు ఒకే పేరు ఇవ్వడం మరియు సి ప్రిప్రాసెసర్ ప్రత్యామ్నాయాన్ని చేయగలదు. - 27. మానిఫెస్ట్ స్థిరాంకం యొక్క దృష్టాంతం ఏమిటో మీరు అర్థం చేసుకోవడం మాత్రమే? కాబట్టి, ఫలితం ఏమిటి? ఫలితం ఏమిటంటే, నేను స్థిరంగా చికిత్స చేయాలనుకున్న విలువను ఉపయోగించాలని నేను నిజంగా కోరుకున్నాను, కాని నేను దాన్ని మళ్ళీ చూసి, వ్యాఖ్యలోని చివరి పంక్తిపై దృష్టి పెడితే నేను కనుగొన్నాను కాబట్టి, నేను దీన్ని ఉచితంగా ఉపయోగించాలనుకున్నాను స్థిరంగా మరియు ప్రక్రియలో కంపైలర్‌కు అవి TWO అని పిలువబడే వేరియబుల్ రూపంలో ఉన్నాయో లేదో తెలియదు లేదా అవి TWO, కంపైలర్ అనే చిహ్నంగా ఉన్నాయా. (కంపైలర్) ఆ సంఖ్యా 3 ను భర్తీ చేసినప్పుడు చూస్తుంది. - 28. కాబట్టి దీనిని జాగ్రత్తగా చూసుకోవటానికి ఒక భావన ప్రవేశపెట్టబడింది. - 29. కాబట్టి, const (ness) ఎలా జరిగిందో చూస్తే, మేము ఒక ప్రకటన చేస్తున్నట్లు మీరు చూస్తారు, అక్కడ మేము n యొక్క డిక్లరేషన్‌ను కొత్త కీవర్డ్ const (const) ద్వారా ఉపసర్గ చేస్తాము. - 30. నేను int n initize 10 ను వ్రాస్తే, n అనేది పూర్ణాంక రకం వేరియబుల్ అని తెలుసు, దీని ప్రారంభ విలువ 10. - 31. మేము ఈ కాన్స్ట్ కీవర్డ్‌తో ప్రిఫిక్స్ చేస్తున్నాము, అంటే దాని అర్థం n యొక్క ప్రారంభ విలువ 10 అని మరియు భవిష్యత్తులో దీనిని మార్చలేమని కూడా చెబుతుంది, ఇది ఒక అసైన్‌మెంట్ కాదు. (అసైన్‌మెంట్) లేదా నేను చేయగల ఇతర మార్గాలు మార్పు n, n ప్రోగ్రామ్ ద్వారా 10 వరకు ఉంటుంది. - 32. కాబట్టి, నేను ఇక్కడ ఇలాంటివి చేయటానికి ప్రయత్నిస్తే, అది 5 కి కేటాయించబడింది మరియు ఆ కోడ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, కంపైలర్ (కంపైలర్) n స్థిరంగా ఉందని లోపం ఇస్తుంది, దానిని మార్చలేము. - 33. నేను దానిని దాటవేయడానికి ప్రయత్నించవచ్చు మరియు సాధారణంగా నేను మరొక వేరియబుల్ m మరియు పాయింటర్ p కలిగి ఉంటే అది పూర్ణాంక రకం పాయింటర్ అయితే నేను m మరియు p యొక్క చిరునామాను తీసుకుంటాను మరియు వాస్తవానికి నేను ఒక పాయింటర్‌ను ఉపయోగించవచ్చు, m యొక్క విలువ, నేను ఏడు నుండి * p కి కేటాయించినట్లయితే అది మీటర్‌ను వాస్తవంగా మారుస్తుంది. - 34. కానీ, నేను ఇక్కడ అదే చేయటానికి ప్రయత్నిస్తే, నేను సూచించిన వేరియబుల్ (p) లో n యొక్క ఈ విలువను మరియు తరువాత n యొక్క విలువను మార్చడానికి ప్రయత్నిస్తే, నేను 5 నుండి * p వరకు కేటాయించవచ్చు. నేను దానిని అనుమతించలేను. - 35. అది చెయ్యి. - 36. కాబట్టి, మేము ఒక వేరియబుల్‌ను const గా నిర్వచించి, ఆపై ఒక పాయింటర్‌ను ఉపయోగించటానికి ప్రయత్నించి, దాని చిరునామాను కూడా కనుగొంటే, ఇది సంకలన లోపం అని మీరు కొద్దిగా ఆశ్చర్యపోవచ్చు. - 37. మరియు అది సంకలన లోపం. అది లోపం కాకపోతే, మీరు దీన్ని చేయగలుగుతారు, ఇది మేము నిర్వచించటానికి ప్రయత్నిస్తున్న const-ness సూత్రాన్ని ఉల్లంఘిస్తోంది, n ను మార్చలేము అని మేము చెబుతున్నాము . - 38. ఫలితం ఏమిటి? దీని తదుపరి సహజ పరిణామం ఏమిటంటే, ఒక కాన్ వేరియబుల్ తప్పక ప్రారంభించబడాలి. - 39. ఇది నిర్వచించబడిన వెంటనే ఇది ప్రారంభించబడాలి, ఎందుకంటే మీరు దానిని ప్రారంభించకపోతే, దాని విలువను మార్చడానికి మార్గం లేదు, కాబట్టి చెత్త విలువ ఏమైనప్పటికీ, అది కేవలం చెత్త అవుతుంది. - 40. అందువల్ల, మీరు ప్రారంభం లేకుండా ఒక స్థితిని ప్రకటించినట్లయితే, అది సంకలన లోపంగా మారుతుంది. - 41. కాబట్టి మనం వేర్వేరు రకాల వేరియబుల్స్ ను కూడా డిక్లేర్ చేయవచ్చు, ఎందుకంటే కాస్ట్ టైప్ వాడకం ఒక సంక్లిష్ట సంఖ్యను చెప్పే వేరియబుల్ యొక్క ఉదాహరణ మరియు మేము దానిని స్థిరంగా నిర్వచించగలము, దీని అర్ధం రాశితో మీరు విలువను మార్చలేరు వేరియబుల్ సి. - 42. నిర్వచనం ప్రకారం re 2.3 ఎందుకంటే మేము ప్రారంభించాము మరియు c అనేది const అని మేము చెప్పినందున, c const అయితే అది పూర్తయింది, ఎందుకంటే నేను ఏ భాగాన్ని మార్చలేను. - 43. కాబట్టి, నేను c.re కి 3.5 ని కేటాయించడానికి ప్రయత్నిస్తే అది సంకలన లోపం అవుతుంది. - 44. ఇది కాన్ - నెస్ యొక్క భావన. - 45. కాబట్టి మనం దాన్ని ఎలా ఉపయోగిస్తామో చూద్దాం. - 46. కాబట్టి, ఇప్పుడు మనకు ఎడమవైపు రెండు ప్రోగ్రామ్‌లు ఉన్నాయి, నిర్దిష్ట సి ప్రోగ్రామ్ # నిర్వచించును ఉపయోగిస్తుంది మరియు కుడి వైపున సి ++ లో ఇలాంటి ప్రోగ్రామ్‌ను వ్రాస్తాము, అదే ప్రయోజనాన్ని సాధించడానికి కాన్-నెస్‌ను ఉపయోగిస్తుంది. - 47. ఇంతకుముందు మేము TWO ని విలువ 2 లో నిర్వచించాము, ఇప్పుడు మేము TWO అనేది 2 తో ప్రారంభించిన పూర్ణాంకం అని చెప్తున్నాము, కానీ ఇది కాస్ట్ వేరియబుల్, కాబట్టి మీరు దీన్ని మార్చలేరు. - 48. దీని యొక్క ప్రధాన ఫలితం ఏమిటంటే, కుడి వైపున ఉన్న ఈ ప్రోగ్రామ్, ఈ ప్రోగ్రామ్ సరైనది అయినప్పుడు, సి ప్రిప్రాసెసర్ ఖచ్చితంగా ఇది # నిర్వచించబడదని చెప్పింది, కాబట్టి ఈ సమయంలో TWO చిహ్నం భర్తీ చేయబడదు. - 49. అదేవిధంగా, PI చిహ్నం అలాగే ఉంటుంది మరియు కంపైలర్ ఇవి ప్రోగ్రామ్‌లో ఉన్న విభిన్న వేరియబుల్స్ అని చూస్తాయి మరియు కంపైలర్‌కు అవి మార్చలేని స్థిరాంకాలు అని తెలుసు. - 50. కాబట్టి మీరు C లో కలిగి ఉన్న అదే లక్ష్యాన్ని మీరు సాధించవచ్చు మరియు ఇప్పుడు కంపైలర్ ఇవన్నీ చూడగల అదనపు ప్రయోజనాన్ని మీరు పొందవచ్చు మరియు కంపైలర్ TWO రకం ఏమిటో కంపైలర్కు తెలుస్తుంది. కంపైలర్. (కంపైలర్) రకం ఏమిటో తెలుస్తుంది PI లేదా దాని కోసం. ఏదైనా వేరియబుల్, మీరు నిర్వచించిన ఏ విలువను అయినా const const ఉపయోగించి నిరంతరాయంగా నిర్వచించండి. - 51. కాబట్టి మీరు దానిని ఉపయోగించడం ద్వారా చాలా ప్రయోజనాలను పొందుతారు. - 52. మీరు స్థిరమైన విలువలను ఉపయోగించాలనుకునే రెండు ప్రధాన సందర్భాలు ఉన్నాయి; ఒక సూచన ఏమిటంటే, మీరు పై వంటి విభిన్న సహజ స్థిరాంకాలతో వ్యవహరించేటప్పుడు ఇ వంటి బంగారు నిష్పత్తి ఫై, తప్పుడు విలువ సున్నా విలువ వంటి బూలియన్ నిజమైన విలువ మరియు మొదలైనవి. - 53. ఒక ప్రోగ్రామ్‌లో చాలా సహజ స్థిరాంకాలు ఉన్నాయి, అవి వాటి విలువను కలిగి ఉంటాయి, వాటి రకాన్ని కలిగి ఉంటాయి మరియు సహజ స్థిరాంకం సహజంగా మీరు వారి అసలు ఆస్తిని కలిగి ఉంటారు, మీరు విలువను మార్చలేరు PI యొక్క లేదా మీరు E విలువను మార్చలేరు, కాబట్టి ఆస్తి కూడా అలాగే ఉంచబడుతుంది. - 54. అలాగే, మనం తరచుగా స్థిరంగా ఉపయోగించే మరొక ప్రదేశం నా ప్రోగ్రామ్ కోసం ఏదో స్థిరంగా ఉంటుంది లేదా ఒక నిర్దిష్ట ఫంక్షన్ కోసం ఏదో స్థిరంగా ఉంటుంది. - 55. కాబట్టి, దీని కోసం మనం మరొక నిర్వచనం యొక్క సమితిని ఉపయోగిస్తాము, అంటే మనకు శ్రేణి ఆకారాన్ని స్థిరంగా నిర్వచించవచ్చు. - 56. ఇవి సార్వత్రిక సహజ స్థిరాంకాలు కాదు, కానీ అవి నా పనికి స్థిరాంకాలు. - 57. నేను ఇలా చేసి ఉంటే, మనకు లభించే ప్రయోజనం, మనం ప్రోగ్రామ్ రాసేటప్పుడు, వాటిని ఈ వేరియబుల్స్ సందర్భంలో వ్రాయవచ్చు, తద్వారా తరువాత మనం వాటిని మార్చవలసి వస్తే, మనం ప్రారంభ ప్రోగ్రామ్‌ను నిరంతరం మార్చవచ్చు.) ఎగువన లేదా బహుశా కొన్ని హెడర్ ఫైల్‌లో. - 58. దీన్ని చేయడం వల్ల మరొక ప్రయోజనం ఏమిటంటే, మీరు # నిర్వచించినట్లయితే, # నిర్వచించు మొత్తం ఫైల్‌లో స్కోప్ ఉంటుంది. - 59. ఒక నిర్దిష్ట నిర్దిష్ట స్థిరమైన విలువ కోసం నేను కొంత విలువ n ని పేర్కొంటే, నా ప్రోగ్రామ్‌లో n ఉన్నచోట, అది ఈ # నిర్వచించే విలువతో భర్తీ చేయబడుతుంది. - 60. కాని const అనేది వేరియబుల్ డిక్లరేషన్, కాబట్టి ఇది ఏ పరిధిలోనైనా చేయవచ్చు, నేను దీన్ని ఒక ఫంక్షన్‌లో చేయగలను, నేను ఒక ఫంక్షన్‌లో ఒక బ్లాక్‌లో చేయగలను మరియు ఏదైనా వేరియబుల్ డిక్లరేషన్ లాగా, const యొక్క వేరియబుల్ డిక్లరేషన్ కూడా దానిలో పరిమితం అవుతుంది పరిధి. - 61. కాబట్టి ఒకే ఫైల్‌లో రెండు వేర్వేరు ఫంక్షన్లలో ఒకే వేరియబుల్ (ఎన్) జరిగే అవకాశం ఉంది, రెండు ప్రదేశాలలో ఇది స్థిరంగా ఉంటుంది, కానీ దీనికి వేర్వేరు విలువలు ఉన్నాయి, మీరు దీన్ని # నిర్వచనంతో చేయవచ్చు ప్రభావాన్ని సాధించలేరు. - 62. మేము # నిర్వచించుట కంటే ఎక్కువ const (const) ను ఇష్టపడతామని సంగ్రహించాము ఎందుకంటే ఇది రకం సందర్భంలో సురక్షితం కాదు, ఇది CPP చేత భర్తీ చేయబడుతుంది, ఇక్కడ const (const) లేనిది. - 63. అందువల్ల, మీరు డీబగ్గర్ ఉపయోగిస్తుంటే, మీరు డీబగ్గర్లో # చిహ్నాలను నిర్వచించలేరు, ఎందుకంటే మీరు చూడగలరు. - 64. ఇతర దుష్ప్రభావం ఏమిటంటే, # ప్రతి దశలో వ్యక్తీకరణను నిర్వచించినందున, ఇది చాలాసార్లు భర్తీ చేయబడినందున మూల్యాంకనం చేయాల్సిన అవసరం ఉంది, ఇక్కడ కాన్ విషయంలో ఇది ప్రారంభ బిందువు వద్ద మాత్రమే అంచనా వేయబడుతుంది. - 65. కాబట్టి, తారాగణం ఖచ్చితంగా # నిర్వచించటం కంటే సంపూర్ణ ప్రయోజనం. - 66. ఇప్పుడు, ముఖ్యంగా const ని నిర్వచించే కొన్ని ఫలితాలను చూద్దాం, పాయింటర్ రకం డేటా యొక్క const - ness ను పరిశీలిస్తాము. - 67. పాయింటర్ రకం డేటాలో, మనకు పాయింటర్ ఉందని మనకు తెలుసు మరియు అది వేరియబుల్‌ను సూచిస్తుంది. - 68. కాబట్టి ప్రశ్న ఏమిటంటే, మేము const-ness గురించి మాట్లాడుతుంటే, మనం ఏ const-ness గురించి మాట్లాడుతున్నాము, మీరు పాయింటర్ యొక్క const-ness లేదా పాయింటర్ డేటా యొక్క const-ness గురించి మాట్లాడుతున్నారా? - 69. ఇక్కడ, డేటా స్థిరంగా ఉందా లేదా పాయింటర్ కాదా లేదా పాయింటర్ స్థిరంగా ఉందా అని స్థిరమైన డేటాను సూచించే రెండు విషయాల గురించి మాట్లాడుతాము, కాని డేటా (డేటా) స్థిరంగా ఉండవచ్చు లేదా ఉండకపోవచ్చు. - 70. ఇక్కడ నేను పాయింటర్ మరియు పాయింటర్‌తో ఎలా లెక్కించాలో ఒక నిర్దిష్ట ఉదాహరణ మాత్రమే చూపిస్తాము.మేము రెండు వేరియబుల్స్ ని నిర్వచించాము, కాబట్టి మనకు పాయింటర్ ఉన్న పాయింటర్ ఉంది. చిరునామా తీసుకుంటుంది మరియు దానిని ఉపయోగించడం ద్వారా నేను నేరుగా వేరియబుల్ మార్చగలను లేదా నేను చేయగలను పాయింటర్ ద్వారా దాన్ని మార్చండి. - 71. అదేవిధంగా, ఈ పంక్తిలో, మొదటి పాయింటర్ n కు గురిపెట్టింది, ఇప్పుడు అది m కు సూచించడానికి మార్చబడింది మరియు వారు m యొక్క విలువను మార్చడానికి దాన్ని మళ్ళీ ఉపయోగించవచ్చు. - 72. ఇది పాయింటర్-పాయింటి దృష్టాంతంలో ఒక సాధారణ ఉపయోగం. - 73. అందువల్ల, const ని ఉపయోగించడం ద్వారా ఈ మార్పును ఎలా నియంత్రించవచ్చో దానితో చర్చిస్తాము. - 74. (స్లైడ్ సమయం చూడండి: 17:34) కాబట్టి మొదటిది, స్థిరమైన డేటా కోసం నాకు సూచిక ఉంటే. - 75. కాబట్టి, మనం ఇక్కడ చేస్తున్నది ఏమిటంటే, డేటాకు ముందు, పాయింటర్ ఏ రకమైన విలువను సూచిస్తుందో ముందు స్థిరంగా వ్రాసాము. - 76. నేను ఈ సమయంలో const వ్రాస్తే, సూచించిన డేటా స్థిరంగా ఉందని అర్థం, దానిని మార్చలేము. - 77. కాబట్టి, n ను స్థిరమైన విలువగా నిర్వచించారు. - 78. N యొక్క విలువను మార్చడానికి ప్రయత్నించడం లోపం అని మనకు ఇప్పటికే తెలుసు, ఎందుకంటే n స్థిరంగా ఉంటే, మరియు p ను n కు పాయింటర్‌గా భావించాము. - 79. కాబట్టి, * p ని కేటాయించిన 7 ను ఉపయోగించి n యొక్క విలువను మార్చడానికి ప్రయత్నించడం కూడా లోపం. - 80. కానీ, p అనేది ఒక స్థిరాంకం కాదు, అందుకే నేను వేరే వేరియబుల్ కోసం p పాయింట్ చేయగలనని కోరుకుంటే, m ఇక్కడ ఒక వేరియబుల్, ఇది స్థిరమైన వేరియబుల్ (వేరియబుల్)) కాదు. - 81. నేను m ని p పాయింట్‌గా చేయగలను, ఆపై m యొక్క విలువను మార్చడానికి నేను ఈ * p కేటాయించిన 8 ని ఉపయోగించవచ్చు, m ఇప్పుడు 8 అవుతుంది, అది 4 అవుతుంది, ఇప్పుడు 8 అవుతుంది. - 82. ఇప్పుడు మీరు చూస్తే, నాకు స్థిరంగా లేని వేరియబుల్ ఉంటే, పూర్ణాంకానికి 5 తో ప్రారంభించిన పూర్ణాంక రకంగా నిర్వచించబడింది మరియు నాకు ఒక పాయింటర్ ఉంది, అది p అనేది స్థిరమైన పూర్ణాంక విలువ యొక్క రకాన్ని సూచిస్తుంది మరియు నేను ప్రవేశించాను. - 83. P లో n యొక్క చిరునామా. - 84. ఇప్పుడు, సహజంగా 6 నుండి n వరకు m కేటాయింపు చెల్లుతుంది ఎందుకంటే n కూడా స్థిరంగా ఉండదు. - 85.  P కేటాయించిన 6 చెల్లుబాటు అయ్యేది, కానీ నేను అలా చేయటానికి ప్రయత్నిస్తే * p 6 ని కేటాయించారు, ఇది చెల్లుబాటు కాదు, ఎందుకంటే m ఒక స్థిరమైన పూర్ణాంకానికి సూచిస్తుంది. - 86. కాబట్టి చాలా ఆసక్తికరమైన దృశ్యం; నేను ఇక్కడ n ను సూచిస్తూ AP కలిగి ఉన్నాను. - 87. P కి తెలుసు, నేను * P వ్రాస్తే స్థిరంగా ఉంటుందని తెలుసు. - 88. ఈ విలువను మార్చడానికి P ఉపయోగించబడదు, కాని n కూడా స్థిరంగా ఉండదు. - 89. కాబట్టి, n మార్చవచ్చు. - 90. ఇప్పుడు, ఇది చెల్లుతుంది ఎందుకంటే మీరు ఏమి చెప్తున్నారో, మీకు కావాల్సిన దానికంటే ఎక్కువ చెబుతున్నారు, n దాని స్వంతంగా మారగలదని మీరు చెబుతున్నారు. - 91. కాబట్టి, నేను దానిని నేరుగా n గా మార్చినా లేదా పాయింటర్ (పాయింటర్) ద్వారా మార్చినా, అది పట్టింపు లేదు ఎందుకంటే n మారవచ్చు, కాని పాయింటర్ (పాయింటర్) నేను మార్చడానికి పరిమితం చేయబడిందని చెప్పాడు. - 92. మీరు నా గుండా వెళితే విలువను మార్చడానికి నేను అనుమతించను అని పాయింటర్ చెప్పింది. - 93. కాబట్టి, వేరియబుల్ వాస్తవానికి మార్చగల దృష్టాంతం ఇక్కడ ఉంది, కానీ పాయింటర్ దానిని మార్చడానికి మిమ్మల్ని అనుమతించని ఒక వీక్షణను ఇస్తుంది, కానీ నేను నేరుగా వెళితే లేదా స్థిరమైన విలువను సూచించని కొన్ని ఇతర పాయింటర్ (పాయింటర్) కావాలనుకుంటే , అప్పుడు మేము మార్చగలుగుతాము. - 94. చివరగా, మేము రివర్స్ చేయడానికి ప్రయత్నిస్తే, నాకు స్థిరమైన వేరియబుల్ (n) ఉంటే మరియు నేను స్థిరంగా లేని విలువ p కోసం పాయింటర్‌ను ఉపయోగించటానికి ప్రయత్నిస్తే, నేను ఇప్పటికీ అలా చేయలేను. - 95. కాబట్టి, మేము ఇప్పుడు వివరించడానికి ప్రయత్నిస్తే, ఇక్కడ చివరి చివరి కేసు ఉంది, కాబట్టి మేము ఈ కేసు గురించి మాట్లాడుతున్నాము, నాకు n ను సూచించే ఒక కోతి ఉంటే, అది నిరంతరంగా ఉంటుంది మరియు * p మనకు స్థిరంగా లేదు, అప్పుడు లోపం చాలా చెల్లుతుంది, ఎందుకంటే n స్థిరంగా ఉంటుంది. - 96.  P స్థిరంగా లేకపోతే, * p n ను సూచించడానికి ప్రయత్నిస్తుంటే, n యొక్క విలువను మార్చడానికి నేను ఎల్లప్పుడూ * p ని ఇక్కడ ఉపయోగించగలను. - 97. కాబట్టి మనం ఇక్కడ నేర్చుకున్నది ఒక విలువ స్థిరంగా లేనట్లయితే, దాన్ని పొందటానికి, నిరంతరాయంగా సూచించడానికి నేను దానిని ఉపయోగించగలను, కాని నేను దానిని ఆ పాయింటర్ (పాయింటర్) అని పిలుస్తాను. - 98. విలువ స్థిరంగా ఉంటే, స్థిరమైన విలువను సూచించే పాయింటర్‌ను నేను ఉపయోగించలేను. ఈ స్థిరమైన వేరియబుల్ (పాయింటర్) చిరునామాతో ఆ కాన్స్ట్ (పాయింటర్) ను కేటాయించనివ్వండి ఎందుకంటే ఇది ప్రారంభించడానికి అనుమతించబడదు ఎందుకంటే ఇది ఉల్లంఘిస్తుంది స్థిరమైన-నెస్ యొక్క ప్రాథమిక సూత్రం. - 99. తరువాత, మరొక వైపు స్థిరమైన నెస్‌ను చూద్దాం, పాయింటర్ స్థిరంగా ఉంటే? కాబట్టి, మేము ఇక్కడే ఉన్నామని మీరు ఇక్కడ చూస్తే, మేము తారాగణం వ్రాసిన స్థానాన్ని కొద్దిగా మార్చాము. - 100. ఇంతకుముందు ఇక్కడ ఈ స్థిరాంకం వ్రాయబడింది, ఇప్పుడు ఖర్చు స్టార్ గుర్తు తర్వాత వ్రాయబడింది, పాయింటర్ స్థిరంగా ఉందని చెప్తుంది, కానీ అది సూచించే విలువ స్థిరంగా లేదు. - 101. నేను దానిని గీస్తే, p అనేది const మరియు n const కాదు. - 102. కాబట్టి, దీని అర్థం ఏమిటంటే, ఇది n const కాదని నేను సులభంగా వ్రాయగలిగితే, నేను దాని విలువను మార్చగలను, ఎందుకంటే n const కాదు కాబట్టి, నేను దీన్ని చేయటానికి p derence ని ఉపయోగించవచ్చు. ఏడు నుండి * p వరకు కేటాయిస్తుంది, ఇది విలువను మారుస్తుంది యొక్క n. - 103. ఎందుకంటే నేను దేనినీ ఉల్లంఘించడం లేదు, కానీ నేను అలా చేయలేను, p లో నిల్వ చేసిన చిరునామాను నేను మార్చలేను. - 104. నేను ఇకపై p ను క్రొత్త వేరియబుల్ m కి సూచించలేను, ఎందుకంటే పాయింటర్ కూడా స్థిరంగా ఉందని నేను చెప్పాను. ఈ వైపు స్థిరంగా ఉంటుంది. ఇప్పుడు రెండవ వైపు స్థిరంగా ఉంది. - 105. సహజంగానే, మనకు ఇది ఉంటే, పొడిగింపు ద్వారా పాయింటర్ మరియు అది సూచించే డేటా నిరంతరంగా ఉండవచ్చని కూడా మనం జోడించవచ్చు. - 106. కాబట్టి, ఇక్కడ మనం రెండు వైపులా కాస్ట్‌లు వ్రాసే ఒక ఉదాహరణను చూపిస్తున్నాము, అంటే p అనేది నిరంతర డేటాకు పాయింటర్, అంటే p కూడా మరొకదానికి సూచించబడదు. N కాకుండా వేరే వేరియబుల్స్ కోసం తయారు చేయవచ్చు, లేదా చేయలేము n విలువను మార్చడానికి p ని ఉపయోగించండి. - 107. కాబట్టి, ఇవన్నీ ఇప్పుడు లోపం అవుతాయి. - 108. ఇప్పుడు, వాస్తవానికి, మేము సూచించిన డేటా లేదా పాయింటర్‌పై const - ness వ్రాస్తున్నందున, నేను ఎక్కడ const వ్రాయాలి అనేది కొన్నిసార్లు గందరగోళంగా ఉంటుంది మరియు const const keyword ఉంచడం ద్వారా ఏమి జరుగుతుంది. - 109. బొటనవేలు నియమం చాలా సులభం, మీకు ఈ ప్రకటన ఉన్నప్పుడు ప్రకటన అంతటా స్టార్ సింబల్‌లో కనిపిస్తుంది. - 110. మానసికంగా ఒక నిలువు వరుసను గీయండి, తద్వారా మీరు దీన్ని చేయటానికి ప్రయత్నిస్తుంటే const int * p, మొదలైనవి చెబుతున్నారు. ఈ నక్షత్ర చిహ్నం ద్వారా నిలువు వరుసను గీయండి మరియు const కీవర్డ్ ఏ వైపున కనిపిస్తుంది అని చూడండి, ఇది మీ డేటా వైపు మరియు ఇది మీ పాయింటింగ్ వైపు. - 111. కాస్ట్-నెస్ డేటా వైపు ఉంటే, మీరు సూచించేది స్థిరంగా ఉంటుంది. - 112. దీనికి విరుద్ధంగా మీకు int * const p et cetera ఉంటే, అది const పాయింటర్‌లో ఉంటుంది కాబట్టి పాయింటర్ స్థిరంగా ఉంటుంది. - 113. కాబట్టి ఇది ప్రాథమిక బొటనవేలు నియమం, వీటిలో ఏది స్థిరంగా ఉందో మీరు నిర్ణయించవచ్చు. - 114. ఉదాహరణలు క్రింద ఇవ్వబడ్డాయి. - 115. కాబట్టి, మీరు దీన్ని ఉపయోగించవచ్చు మరియు ఇది నేను పనిచేసిన స్ట్రింగ్‌కు ఒక ఉదాహరణ. మీరు దీన్ని జాగ్రత్తగా చదవవచ్చు మరియు స్ట్రింగ్ ఇవ్వబడిందని అర్థం చేసుకోవడానికి ప్రయత్నించవచ్చు మరియు మా వద్ద మీకు స్ట్రింగ్ ఉంటే, మీరు మీరు రెండు మార్గాలను మార్చవచ్చు స్ట్రింగ్‌ను సవరించవచ్చు లేదా మీరు స్ట్రింగ్‌ను మార్చవచ్చు. - 116. ఎగువన ఉన్న కోడ్‌లో మేము స్ట్రింగ్‌ను సవరించడం లేదా మొత్తం స్ట్రింగ్‌ను పూర్తిగా మార్చడం యొక్క ప్రభావాన్ని చూపుతాము. - 117. మీరు ఇలా ఏదైనా చేస్తే, ఇక్కడ స్థిరాంకం ఉంచండి, మీరు ఇక్కడ ఒక కాన్స్ట్ ఉంచినట్లయితే, స్ట్రింగ్ స్థిరంగా మారుతుంది, కాబట్టి మీరు స్ట్రింగ్ చేయవచ్చు) ఏ అక్షరాన్ని మార్చలేరు. - 118. అందువల్ల, మీరు ఇకపై చేయలేని మొదటి గుర్తుకు n వ్రాయగలరని మీరు ఇక్కడ చేయలేరు. - 119. అయితే, మీరు ఈ వైపు ప్రసారం చేస్తే, మీరు ఇప్పుడు స్ట్రింగ్‌లోని ఏదైనా చిహ్నాన్ని మార్చవచ్చు, కానీ మీరు స్ట్రింగ్‌ను మొత్తంగా మార్చలేరు. - 120. ఇక్కడ మీరు స్ట్రింగ్‌ను మార్చవచ్చు.ఇప్పుడు మీరు స్ట్రింగ్‌ను మార్చలేరు ఎందుకంటే పాయింటర్‌ను మార్చడం దీని అర్థం. - 121. మీరు పాయింటర్‌కు ఇరువైపులా ప్రసారం చేస్తే, మీరు వరుసగా నాలుగు అక్షరాలను సూచించే నాలుగు నక్షత్రాల నక్షత్రం ఉంటే, రెండింటినీ సవరించలేకపోతే, మీరు రెండు సవరణలను మరియు పేరు మార్పును రక్షించవచ్చు. - 122. అలాగే మార్చలేరు. - 123. రెండు వైపులా కాస్ట్-నెస్ ఎలా వర్తించబడుతుందో చూపించడానికి ఒక ఉదాహరణ. - 124. అందువల్ల, const - ness యొక్క ప్రాథమిక భావనను మరియు పాయింటర్ల పరంగా const - ness ఎలా వర్తించబడుతుందో చర్చించాము. - 125. + C ++  ప్రోగ్రామింగ్ మాడ్యూల్ 6 కు స్వాగతం. + మొదటి ఐదు మాడ్యూల్స్లో మనము C ప్రోగ్రామింగ్ లాంగ్వేజ్(programming language), C స్టాండర్డ్ గ్రంథాలయం (standard library) మరియు C భాష యొక్క వివిధ నిర్మాణాలను పునఃపరిశీలించాము.+ + ప్రాధమిక ఇన్పుట్, అవుట్పుట్, అంకగణిత కార్యకలాపాలు, శ్రేణులు, తీగలను మరియు ముఖ్యంగా డేటా నిర్మాణాన్ని ఉపయోగించడానికి లూప్ రకం ఉదాహరణలతో ప్రారంభించి మేము అనేక ఉదాహరణలు తీసుకున్నాము., C ++ మరియు C ++ లైబ్రరీలో ప్రోగ్రామింగ్ ఎలా ఉంటుందో చూపించడానికి మేము నాలుగు ఉదాహరణలను తీసుకున్నాము లైబ్రరీని న్యాయంగా ఉపయోగించుకోండి. + C ++ లో ప్రోగ్రామింగ్ వాస్తవానికి మరింత సమర్థవంతంగా మరియు తక్కువ లోపంతో చేయటం సులభం. + ఈ మాడ్యూల్‌తో, మేము ఇప్పుడు C ++ ప్రోగ్రామింగ్ భాషలో వివిధ లక్షణాలను చర్చించడం ప్రారంభిస్తాము. + తరువాతి కొన్ని మాడ్యూళ్ళలో, సి ++ లో ఉన్న ఆబ్జెక్ట్ ఓరియంటేషన్ యొక్క ప్రాథమిక నమూనాను ఉపయోగించని లక్షణాలు అయిన మెరుగైన సి ఫీచర్స్ అని పిలువబడే లక్షణాల సమితితో మేము ప్రత్యేకంగా వ్యవహరిస్తాము. హుహ్. + కానీ ఇవి సి భాషకు విధానపరమైన పొడిగింపులు, ఇవి ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్‌ను సాధ్యం చేయడానికి అవసరమవుతాయి మరియు ఇవి సిలో ఉండగల మంచి లక్షణాలు. యాదృచ్ఛికంగా సి రూపకల్పన చేసినప్పుడు కూడా వారు ఆలోచించలేదు. + మరింత ఆసక్తికరంగా, C ++ లో ప్రవేశపెట్టిన తర్వాత ఈ లక్షణాలలో కొన్ని ఉన్నాయి మరియు ఈ మాడ్యూల్‌లో ఆ లక్షణాలలో ఒకదాన్ని మేము చర్చించబోతున్నాము. + ఈ లక్షణాలలో కొన్ని అప్పటి నుండి సి ప్రోగ్రామింగ్‌లోకి తీసుకోబడ్డాయి మరియు ఇప్పుడు C99 ప్రమాణంలో అందుబాటులో ఉన్నాయి. + మేము ఈ మాడ్యూల్ 6 ను ప్రారంభిస్తాము, ఇక్కడ మేము స్థిరాంకాలు మరియు ఇన్లైన్ ఫంక్షన్ల గురించి చర్చిస్తాము. + అందువల్ల, మేము C ++ లో const ను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము మరియు అదే భావనతో సరిగ్గా అదే భావన కాదు, కానీ అదే భావన C లో నిరంతరం కనిపిస్తుంది మరియు C + లో ఇన్లైన్ ఫంక్షన్లను వివరించడానికి ప్రయత్నిస్తాము. + మరియు దీనికి విరుద్ధంగా వాటిని మాక్రోలతో. + కాబట్టి, ఇవి మేము చర్చించబోయే విషయాలు, మీరు దానిని స్క్రీన్ ఎడమ వైపున చూడగలరని మేము క్రమంగా వెల్లడిస్తాము. + కాబట్టి సి లోని మానిఫెస్ట్ స్థిరాంకాలతో ప్రారంభిద్దాం. + మేము # నిర్వచించును వ్రాస్తే అక్షర లేదా వ్యక్తీకరణను ఉపయోగించి స్థిరమైన విలువను లేదా స్థిర విలువను నిర్వచించగలమని మనందరికీ తెలుసు. + ఒక పేరు తరువాత మరియు మేము నిర్వచించదలిచిన ప్రత్యేక వ్యక్తీకరణ. + అందువల్ల, ఎడమ వైపున మనకు ఇక్కడ ఉన్నదానికి ఉదాహరణలు చూడవచ్చు; TWO ఒక నిర్వచించిన విలువ చూడండి. + 2. అదేవిధంగా, వ్యక్తీకరణ పరంగా నిర్వచించబడిన పైని ఎలా నిర్వచించాలో మేము చూపించాము. + పై; అటాన్ (1.0) ఇది PI నుండి 4, కాబట్టి మీరు దానిని 4 తో గుణిస్తే మీరు పై విలువను పొందుతారు. + ఒక వృత్తం యొక్క చుట్టుకొలతను లెక్కించడానికి మేము వాటిని ఇక్కడ వ్యక్తీకరణలో ఉపయోగిస్తాము. + ఇది సి లో చాలా సాధారణంగా ఉపయోగించే ప్రోగ్రామ్ మరియు మీలో చాలామంది ఇంతకు ముందు వ్రాశారు. + ఇప్పుడు, మేము ఈ కార్యక్రమాన్ని కొద్దిగా భిన్నంగా చూస్తాము, కుడి వైపు చూద్దాం. + TWO వద్ద మేము ఇక్కడ కలిగి ఉన్న # నిర్వచించు చివరికి ఈ సమయంలో సి ప్రిప్రాసెసర్ ద్వారా భర్తీ చేయబడుతుంది. + అందువల్ల, ప్రోగ్రామ్ సంకలనంలోకి వెళ్ళే ముందు ఈ పంక్తి తొలగించబడుతుంది మరియు TWO ఎక్కడ సంభవించినా, ఈ గుర్తు మొదట సంభవించింది, ఇక్కడ నేను గుర్తు ఉండాలి అని నిర్వచించే ముందు. + కాబట్టి, ఈ పైలో మొత్తం వ్యక్తీకరణ ద్వారా భర్తీ చేయబడిందని మీరు చూడవచ్చు మరియు ఇది సి కంపైలర్ను కంపైల్ చేయడానికి వాస్తవానికి వెళ్ళే కోడ్. + ఇది తెర వెనుక దృష్టాంతంలో ఉంది మరియు మీరు మీ కంపైలర్‌లో ప్రత్యేక ఎంపికను ఉంచకపోతే మేము సాధారణంగా దీన్ని చేయము.ఈ ప్రోగ్రామ్ యొక్క ఈ సంస్కరణను మీరు చూడలేరు, ఇక్కడ ఈ # నిర్వచనాలు మార్చబడ్డాయి + # నిర్వచించు యొక్క ఉద్దేశ్యం ఏమిటంటే చిహ్నం మరియు వ్యక్తీకరణకు ఒకే పేరు ఇవ్వడం మరియు సి ప్రిప్రాసెసర్ ప్రత్యామ్నాయాన్ని చేయగలదు. + మానిఫెస్ట్ స్థిరాంకం యొక్క దృష్టాంతం ఏమిటో మీరు అర్థం చేసుకోవడం మాత్రమే? కాబట్టి, ఫలితం ఏమిటి? ఫలితం ఏమిటంటే, నేను స్థిరంగా చికిత్స చేయాలనుకున్న విలువను ఉపయోగించాలని నేను నిజంగా కోరుకున్నాను, కాని నేను దాన్ని మళ్ళీ చూసి, వ్యాఖ్యలోని చివరి పంక్తిపై దృష్టి పెడితే నేను కనుగొన్నాను కాబట్టి, నేను దీన్ని ఉచితంగా ఉపయోగించాలనుకున్నాను స్థిరంగా మరియు ప్రక్రియలో కంపైలర్‌కు అవి TWO అని పిలువబడే వేరియబుల్ రూపంలో ఉన్నాయో లేదో తెలియదు లేదా అవి TWO, కంపైలర్ అనే చిహ్నంగా ఉన్నాయా. (కంపైలర్) ఆ సంఖ్యా 3 ను భర్తీ చేసినప్పుడు చూస్తుంది. + కాబట్టి దీనిని జాగ్రత్తగా చూసుకోవటానికి ఒక భావన ప్రవేశపెట్టబడింది. + కాబట్టి, const (ness) ఎలా జరిగిందో చూస్తే, మేము ఒక ప్రకటన చేస్తున్నట్లు మీరు చూస్తారు, అక్కడ మేము n యొక్క డిక్లరేషన్‌ను కొత్త కీవర్డ్ const (const) ద్వారా ఉపసర్గ చేస్తాము. + నేను int n initize 10 ను వ్రాస్తే, n అనేది పూర్ణాంక రకం వేరియబుల్ అని తెలుసు, దీని ప్రారంభ విలువ 10. + మేము ఈ కాన్స్ట్ కీవర్డ్‌తో ప్రిఫిక్స్ చేస్తున్నాము, అంటే దాని అర్థం n యొక్క ప్రారంభ విలువ 10 అని మరియు భవిష్యత్తులో దీనిని మార్చలేమని కూడా చెబుతుంది, ఇది ఒక అసైన్‌మెంట్ కాదు. (అసైన్‌మెంట్) లేదా నేను చేయగల ఇతర మార్గాలు మార్పు n, n ప్రోగ్రామ్ ద్వారా 10 వరకు ఉంటుంది. + కాబట్టి, నేను ఇక్కడ ఇలాంటివి చేయటానికి ప్రయత్నిస్తే, అది 5 కి కేటాయించబడింది మరియు ఆ కోడ్‌ను కంపైల్ చేయడానికి ప్రయత్నిస్తే, కంపైలర్ (కంపైలర్) n స్థిరంగా ఉందని లోపం ఇస్తుంది, దానిని మార్చలేము. + నేను దానిని దాటవేయడానికి ప్రయత్నించవచ్చు మరియు సాధారణంగా నేను మరొక వేరియబుల్ m మరియు పాయింటర్ p కలిగి ఉంటే అది పూర్ణాంక రకం పాయింటర్ అయితే నేను m మరియు p యొక్క చిరునామాను తీసుకుంటాను మరియు వాస్తవానికి నేను ఒక పాయింటర్‌ను ఉపయోగించవచ్చు, m యొక్క విలువ, నేను ఏడు నుండి * p కి కేటాయించినట్లయితే అది మీటర్‌ను వాస్తవంగా మారుస్తుంది. + కానీ, నేను ఇక్కడ అదే చేయటానికి ప్రయత్నిస్తే, నేను సూచించిన వేరియబుల్ (p) లో n యొక్క ఈ విలువను మరియు తరువాత n యొక్క విలువను మార్చడానికి ప్రయత్నిస్తే, నేను 5 నుండి * p వరకు కేటాయించవచ్చు. నేను దానిని అనుమతించలేను. + అది చెయ్యి. + కాబట్టి, మేము ఒక వేరియబుల్‌ను const గా నిర్వచించి, ఆపై ఒక పాయింటర్‌ను ఉపయోగించటానికి ప్రయత్నించి, దాని చిరునామాను కూడా కనుగొంటే, ఇది సంకలన లోపం అని మీరు కొద్దిగా ఆశ్చర్యపోవచ్చు. + మరియు అది సంకలన లోపం. అది లోపం కాకపోతే, మీరు దీన్ని చేయగలుగుతారు, ఇది మేము నిర్వచించటానికి ప్రయత్నిస్తున్న const-ness సూత్రాన్ని ఉల్లంఘిస్తోంది, n ను మార్చలేము అని మేము చెబుతున్నాము . + ఫలితం ఏమిటి? దీని తదుపరి సహజ పరిణామం ఏమిటంటే, ఒక కాన్ వేరియబుల్ తప్పక ప్రారంభించబడాలి. + ఇది నిర్వచించబడిన వెంటనే ఇది ప్రారంభించబడాలి, ఎందుకంటే మీరు దానిని ప్రారంభించకపోతే, దాని విలువను మార్చడానికి మార్గం లేదు, కాబట్టి చెత్త విలువ ఏమైనప్పటికీ, అది కేవలం చెత్త అవుతుంది. + అందువల్ల, మీరు ప్రారంభం లేకుండా ఒక స్థితిని ప్రకటించినట్లయితే, అది సంకలన లోపంగా మారుతుంది. + కాబట్టి మనం వేర్వేరు రకాల వేరియబుల్స్ ను కూడా డిక్లేర్ చేయవచ్చు, ఎందుకంటే కాస్ట్ టైప్ వాడకం ఒక సంక్లిష్ట సంఖ్యను చెప్పే వేరియబుల్ యొక్క ఉదాహరణ మరియు మేము దానిని స్థిరంగా నిర్వచించగలము, దీని అర్ధం రాశితో మీరు విలువను మార్చలేరు వేరియబుల్ సి. + నిర్వచనం ప్రకారం re 2.3 ఎందుకంటే మేము ప్రారంభించాము మరియు c అనేది const అని మేము చెప్పినందున, c const అయితే అది పూర్తయింది, ఎందుకంటే నేను ఏ భాగాన్ని మార్చలేను. + కాబట్టి, నేను c.re కి 3.5 ని కేటాయించడానికి ప్రయత్నిస్తే అది సంకలన లోపం అవుతుంది. + ఇది కాన్ - నెస్ యొక్క భావన. + కాబట్టి మనం దాన్ని ఎలా ఉపయోగిస్తామో చూద్దాం. + కాబట్టి, ఇప్పుడు మనకు ఎడమవైపు రెండు ప్రోగ్రామ్‌లు ఉన్నాయి, నిర్దిష్ట సి ప్రోగ్రామ్ # నిర్వచించును ఉపయోగిస్తుంది మరియు కుడి వైపున సి ++ లో ఇలాంటి ప్రోగ్రామ్‌ను వ్రాస్తాము, అదే ప్రయోజనాన్ని సాధించడానికి కాన్-నెస్‌ను ఉపయోగిస్తుంది. + ఇంతకుముందు మేము TWO ని విలువ 2 లో నిర్వచించాము, ఇప్పుడు మేము TWO అనేది 2 తో ప్రారంభించిన పూర్ణాంకం అని చెప్తున్నాము, కానీ ఇది కాస్ట్ వేరియబుల్, కాబట్టి మీరు దీన్ని మార్చలేరు. + దీని యొక్క ప్రధాన ఫలితం ఏమిటంటే, కుడి వైపున ఉన్న ఈ ప్రోగ్రామ్, ఈ ప్రోగ్రామ్ సరైనది అయినప్పుడు, సి ప్రిప్రాసెసర్ ఖచ్చితంగా ఇది # నిర్వచించబడదని చెప్పింది, కాబట్టి ఈ సమయంలో TWO చిహ్నం భర్తీ చేయబడదు. + అదేవిధంగా, PI చిహ్నం అలాగే ఉంటుంది మరియు కంపైలర్ ఇవి ప్రోగ్రామ్‌లో ఉన్న విభిన్న వేరియబుల్స్ అని చూస్తాయి మరియు కంపైలర్‌కు అవి మార్చలేని స్థిరాంకాలు అని తెలుసు. + కాబట్టి మీరు C లో కలిగి ఉన్న అదే లక్ష్యాన్ని మీరు సాధించవచ్చు మరియు ఇప్పుడు కంపైలర్ ఇవన్నీ చూడగల అదనపు ప్రయోజనాన్ని మీరు పొందవచ్చు మరియు కంపైలర్ TWO రకం ఏమిటో కంపైలర్కు తెలుస్తుంది. కంపైలర్. (కంపైలర్) రకం ఏమిటో తెలుస్తుంది PI లేదా దాని కోసం. ఏదైనా వేరియబుల్, మీరు నిర్వచించిన ఏ విలువను అయినా const const ఉపయోగించి నిరంతరాయంగా నిర్వచించండి. + కాబట్టి మీరు దానిని ఉపయోగించడం ద్వారా చాలా ప్రయోజనాలను పొందుతారు. + మీరు స్థిరమైన విలువలను ఉపయోగించాలనుకునే రెండు ప్రధాన సందర్భాలు ఉన్నాయి; ఒక సూచన ఏమిటంటే, మీరు పై వంటి విభిన్న సహజ స్థిరాంకాలతో వ్యవహరించేటప్పుడు ఇ వంటి బంగారు నిష్పత్తి ఫై, తప్పుడు విలువ సున్నా విలువ వంటి బూలియన్ నిజమైన విలువ మరియు మొదలైనవి. + ఒక ప్రోగ్రామ్‌లో చాలా సహజ స్థిరాంకాలు ఉన్నాయి, అవి వాటి విలువను కలిగి ఉంటాయి, వాటి రకాన్ని కలిగి ఉంటాయి మరియు సహజ స్థిరాంకం సహజంగా మీరు వారి అసలు ఆస్తిని కలిగి ఉంటారు, మీరు విలువను మార్చలేరు PI యొక్క లేదా మీరు E విలువను మార్చలేరు, కాబట్టి ఆస్తి కూడా అలాగే ఉంచబడుతుంది. + అలాగే, మనం తరచుగా స్థిరంగా ఉపయోగించే మరొక ప్రదేశం నా ప్రోగ్రామ్ కోసం ఏదో స్థిరంగా ఉంటుంది లేదా ఒక నిర్దిష్ట ఫంక్షన్ కోసం ఏదో స్థిరంగా ఉంటుంది. + కాబట్టి, దీని కోసం మనం మరొక నిర్వచనం యొక్క సమితిని ఉపయోగిస్తాము, అంటే మనకు శ్రేణి ఆకారాన్ని స్థిరంగా నిర్వచించవచ్చు. + ఇవి సార్వత్రిక సహజ స్థిరాంకాలు కాదు, కానీ అవి నా పనికి స్థిరాంకాలు. + నేను ఇలా చేసి ఉంటే, మనకు లభించే ప్రయోజనం, మనం ప్రోగ్రామ్ రాసేటప్పుడు, వాటిని ఈ వేరియబుల్స్ సందర్భంలో వ్రాయవచ్చు, తద్వారా తరువాత మనం వాటిని మార్చవలసి వస్తే, మనం ప్రారంభ ప్రోగ్రామ్‌ను నిరంతరం మార్చవచ్చు.) ఎగువన లేదా బహుశా కొన్ని హెడర్ ఫైల్‌లో. + దీన్ని చేయడం వల్ల మరొక ప్రయోజనం ఏమిటంటే, మీరు # నిర్వచించినట్లయితే, # నిర్వచించు మొత్తం ఫైల్‌లో స్కోప్ ఉంటుంది. + ఒక నిర్దిష్ట నిర్దిష్ట స్థిరమైన విలువ కోసం నేను కొంత విలువ n ని పేర్కొంటే, నా ప్రోగ్రామ్‌లో n ఉన్నచోట, అది ఈ # నిర్వచించే విలువతో భర్తీ చేయబడుతుంది. + కాని const అనేది వేరియబుల్ డిక్లరేషన్, కాబట్టి ఇది ఏ పరిధిలోనైనా చేయవచ్చు, నేను దీన్ని ఒక ఫంక్షన్‌లో చేయగలను, నేను ఒక ఫంక్షన్‌లో ఒక బ్లాక్‌లో చేయగలను మరియు ఏదైనా వేరియబుల్ డిక్లరేషన్ లాగా, const యొక్క వేరియబుల్ డిక్లరేషన్ కూడా దానిలో పరిమితం అవుతుంది పరిధి. + కాబట్టి ఒకే ఫైల్‌లో రెండు వేర్వేరు ఫంక్షన్లలో ఒకే వేరియబుల్ (ఎన్) జరిగే అవకాశం ఉంది, రెండు ప్రదేశాలలో ఇది స్థిరంగా ఉంటుంది, కానీ దీనికి వేర్వేరు విలువలు ఉన్నాయి, మీరు దీన్ని # నిర్వచనంతో చేయవచ్చు ప్రభావాన్ని సాధించలేరు. + మేము # నిర్వచించుట కంటే ఎక్కువ const (const) ను ఇష్టపడతామని సంగ్రహించాము ఎందుకంటే ఇది రకం సందర్భంలో సురక్షితం కాదు, ఇది CPP చేత భర్తీ చేయబడుతుంది, ఇక్కడ const (const) లేనిది. + అందువల్ల, మీరు డీబగ్గర్ ఉపయోగిస్తుంటే, మీరు డీబగ్గర్లో # చిహ్నాలను నిర్వచించలేరు, ఎందుకంటే మీరు చూడగలరు. + ఇతర దుష్ప్రభావం ఏమిటంటే, # ప్రతి దశలో వ్యక్తీకరణను నిర్వచించినందున, ఇది చాలాసార్లు భర్తీ చేయబడినందున మూల్యాంకనం చేయాల్సిన అవసరం ఉంది, ఇక్కడ కాన్ విషయంలో ఇది ప్రారంభ బిందువు వద్ద మాత్రమే అంచనా వేయబడుతుంది. + కాబట్టి, తారాగణం ఖచ్చితంగా # నిర్వచించటం కంటే సంపూర్ణ ప్రయోజనం. + ఇప్పుడు, ముఖ్యంగా const ని నిర్వచించే కొన్ని ఫలితాలను చూద్దాం, పాయింటర్ రకం డేటా యొక్క const - ness ను పరిశీలిస్తాము. + పాయింటర్ రకం డేటాలో, మనకు పాయింటర్ ఉందని మనకు తెలుసు మరియు అది వేరియబుల్‌ను సూచిస్తుంది. + కాబట్టి ప్రశ్న ఏమిటంటే, మేము const-ness గురించి మాట్లాడుతుంటే, మనం ఏ const-ness గురించి మాట్లాడుతున్నాము, మీరు పాయింటర్ యొక్క const-ness లేదా పాయింటర్ డేటా యొక్క const-ness గురించి మాట్లాడుతున్నారా? + ఇక్కడ, డేటా స్థిరంగా ఉందా లేదా పాయింటర్ కాదా లేదా పాయింటర్ స్థిరంగా ఉందా అని స్థిరమైన డేటాను సూచించే రెండు విషయాల గురించి మాట్లాడుతాము, కాని డేటా (డేటా) స్థిరంగా ఉండవచ్చు లేదా ఉండకపోవచ్చు. + ఇక్కడ నేను పాయింటర్ మరియు పాయింటర్‌తో ఎలా లెక్కించాలో ఒక నిర్దిష్ట ఉదాహరణ మాత్రమే చూపిస్తాము.మేము రెండు వేరియబుల్స్ ని నిర్వచించాము, కాబట్టి మనకు పాయింటర్ ఉన్న పాయింటర్ ఉంది. చిరునామా తీసుకుంటుంది మరియు దానిని ఉపయోగించడం ద్వారా నేను నేరుగా వేరియబుల్ మార్చగలను లేదా నేను చేయగలను పాయింటర్ ద్వారా దాన్ని మార్చండి. + అదేవిధంగా, ఈ పంక్తిలో, మొదటి పాయింటర్ n కు గురిపెట్టింది, ఇప్పుడు అది m కు సూచించడానికి మార్చబడింది మరియు వారు m యొక్క విలువను మార్చడానికి దాన్ని మళ్ళీ ఉపయోగించవచ్చు. + ఇది పాయింటర్-పాయింటి దృష్టాంతంలో ఒక సాధారణ ఉపయోగం. + అందువల్ల, const ని ఉపయోగించడం ద్వారా ఈ మార్పును ఎలా నియంత్రించవచ్చో దానితో చర్చిస్తాము. + (స్లైడ్ సమయం చూడండి: 17:34) కాబట్టి మొదటిది, స్థిరమైన డేటా కోసం నాకు సూచిక ఉంటే. + కాబట్టి, మనం ఇక్కడ చేస్తున్నది ఏమిటంటే, డేటాకు ముందు, పాయింటర్ ఏ రకమైన విలువను సూచిస్తుందో ముందు స్థిరంగా వ్రాసాము. + నేను ఈ సమయంలో const వ్రాస్తే, సూచించిన డేటా స్థిరంగా ఉందని అర్థం, దానిని మార్చలేము. + కాబట్టి, n ను స్థిరమైన విలువగా నిర్వచించారు. + N యొక్క విలువను మార్చడానికి ప్రయత్నించడం లోపం అని మనకు ఇప్పటికే తెలుసు, ఎందుకంటే n స్థిరంగా ఉంటే, మరియు p ను n కు పాయింటర్‌గా భావించాము. + కాబట్టి, * p ని కేటాయించిన 7 ను ఉపయోగించి n యొక్క విలువను మార్చడానికి ప్రయత్నించడం కూడా లోపం. + కానీ, p అనేది ఒక స్థిరాంకం కాదు, అందుకే నేను వేరే వేరియబుల్ కోసం p పాయింట్ చేయగలనని కోరుకుంటే, m ఇక్కడ ఒక వేరియబుల్, ఇది స్థిరమైన వేరియబుల్ (వేరియబుల్)) కాదు. + నేను m ని p పాయింట్‌గా చేయగలను, ఆపై m యొక్క విలువను మార్చడానికి నేను ఈ * p కేటాయించిన 8 ని ఉపయోగించవచ్చు, m ఇప్పుడు 8 అవుతుంది, అది 4 అవుతుంది, ఇప్పుడు 8 అవుతుంది. + ఇప్పుడు మీరు చూస్తే, నాకు స్థిరంగా లేని వేరియబుల్ ఉంటే, పూర్ణాంకానికి 5 తో ప్రారంభించిన పూర్ణాంక రకంగా నిర్వచించబడింది మరియు నాకు ఒక పాయింటర్ ఉంది, అది p అనేది స్థిరమైన పూర్ణాంక విలువ యొక్క రకాన్ని సూచిస్తుంది మరియు నేను ప్రవేశించాను. + P లో n యొక్క చిరునామా. + ఇప్పుడు, సహజంగా 6 నుండి n వరకు m కేటాయింపు చెల్లుతుంది ఎందుకంటే n కూడా స్థిరంగా ఉండదు. +  P కేటాయించిన 6 చెల్లుబాటు అయ్యేది, కానీ నేను అలా చేయటానికి ప్రయత్నిస్తే * p 6 ని కేటాయించారు, ఇది చెల్లుబాటు కాదు, ఎందుకంటే m ఒక స్థిరమైన పూర్ణాంకానికి సూచిస్తుంది. + కాబట్టి చాలా ఆసక్తికరమైన దృశ్యం; నేను ఇక్కడ n ను సూచిస్తూ AP కలిగి ఉన్నాను. + P కి తెలుసు, నేను * P వ్రాస్తే స్థిరంగా ఉంటుందని తెలుసు. + ఈ విలువను మార్చడానికి P ఉపయోగించబడదు, కాని n కూడా స్థిరంగా ఉండదు. + కాబట్టి, n మార్చవచ్చు. + ఇప్పుడు, ఇది చెల్లుతుంది ఎందుకంటే మీరు ఏమి చెప్తున్నారో, మీకు కావాల్సిన దానికంటే ఎక్కువ చెబుతున్నారు, n దాని స్వంతంగా మారగలదని మీరు చెబుతున్నారు. + కాబట్టి, నేను దానిని నేరుగా n గా మార్చినా లేదా పాయింటర్ (పాయింటర్) ద్వారా మార్చినా, అది పట్టింపు లేదు ఎందుకంటే n మారవచ్చు, కాని పాయింటర్ (పాయింటర్) నేను మార్చడానికి పరిమితం చేయబడిందని చెప్పాడు. + మీరు నా గుండా వెళితే విలువను మార్చడానికి నేను అనుమతించను అని పాయింటర్ చెప్పింది. + కాబట్టి, వేరియబుల్ వాస్తవానికి మార్చగల దృష్టాంతం ఇక్కడ ఉంది, కానీ పాయింటర్ దానిని మార్చడానికి మిమ్మల్ని అనుమతించని ఒక వీక్షణను ఇస్తుంది, కానీ నేను నేరుగా వెళితే లేదా స్థిరమైన విలువను సూచించని కొన్ని ఇతర పాయింటర్ (పాయింటర్) కావాలనుకుంటే , అప్పుడు మేము మార్చగలుగుతాము. + చివరగా, మేము రివర్స్ చేయడానికి ప్రయత్నిస్తే, నాకు స్థిరమైన వేరియబుల్ (n) ఉంటే మరియు నేను స్థిరంగా లేని విలువ p కోసం పాయింటర్‌ను ఉపయోగించటానికి ప్రయత్నిస్తే, నేను ఇప్పటికీ అలా చేయలేను. + కాబట్టి, మేము ఇప్పుడు వివరించడానికి ప్రయత్నిస్తే, ఇక్కడ చివరి చివరి కేసు ఉంది, కాబట్టి మేము ఈ కేసు గురించి మాట్లాడుతున్నాము, నాకు n ను సూచించే ఒక కోతి ఉంటే, అది నిరంతరంగా ఉంటుంది మరియు * p మనకు స్థిరంగా లేదు, అప్పుడు లోపం చాలా చెల్లుతుంది, ఎందుకంటే n స్థిరంగా ఉంటుంది. +  P స్థిరంగా లేకపోతే, * p n ను సూచించడానికి ప్రయత్నిస్తుంటే, n యొక్క విలువను మార్చడానికి నేను ఎల్లప్పుడూ * p ని ఇక్కడ ఉపయోగించగలను. + కాబట్టి మనం ఇక్కడ నేర్చుకున్నది ఒక విలువ స్థిరంగా లేనట్లయితే, దాన్ని పొందటానికి, నిరంతరాయంగా సూచించడానికి నేను దానిని ఉపయోగించగలను, కాని నేను దానిని ఆ పాయింటర్ (పాయింటర్) అని పిలుస్తాను. + విలువ స్థిరంగా ఉంటే, స్థిరమైన విలువను సూచించే పాయింటర్‌ను నేను ఉపయోగించలేను. ఈ స్థిరమైన వేరియబుల్ (పాయింటర్) చిరునామాతో ఆ కాన్స్ట్ (పాయింటర్) ను కేటాయించనివ్వండి ఎందుకంటే ఇది ప్రారంభించడానికి అనుమతించబడదు ఎందుకంటే ఇది ఉల్లంఘిస్తుంది స్థిరమైన-నెస్ యొక్క ప్రాథమిక సూత్రం. + తరువాత, మరొక వైపు స్థిరమైన నెస్‌ను చూద్దాం, పాయింటర్ స్థిరంగా ఉంటే? కాబట్టి, మేము ఇక్కడే ఉన్నామని మీరు ఇక్కడ చూస్తే, మేము తారాగణం వ్రాసిన స్థానాన్ని కొద్దిగా మార్చాము. + ఇంతకుముందు ఇక్కడ ఈ స్థిరాంకం వ్రాయబడింది, ఇప్పుడు ఖర్చు స్టార్ గుర్తు తర్వాత వ్రాయబడింది, పాయింటర్ స్థిరంగా ఉందని చెప్తుంది, కానీ అది సూచించే విలువ స్థిరంగా లేదు. + నేను దానిని గీస్తే, p అనేది const మరియు n const కాదు. + కాబట్టి, దీని అర్థం ఏమిటంటే, ఇది n const కాదని నేను సులభంగా వ్రాయగలిగితే, నేను దాని విలువను మార్చగలను, ఎందుకంటే n const కాదు కాబట్టి, నేను దీన్ని చేయటానికి p derence ని ఉపయోగించవచ్చు. ఏడు నుండి * p వరకు కేటాయిస్తుంది, ఇది విలువను మారుస్తుంది యొక్క n. + ఎందుకంటే నేను దేనినీ ఉల్లంఘించడం లేదు, కానీ నేను అలా చేయలేను, p లో నిల్వ చేసిన చిరునామాను నేను మార్చలేను. + నేను ఇకపై p ను క్రొత్త వేరియబుల్ m కి సూచించలేను, ఎందుకంటే పాయింటర్ కూడా స్థిరంగా ఉందని నేను చెప్పాను. ఈ వైపు స్థిరంగా ఉంటుంది. ఇప్పుడు రెండవ వైపు స్థిరంగా ఉంది. + సహజంగానే, మనకు ఇది ఉంటే, పొడిగింపు ద్వారా పాయింటర్ మరియు అది సూచించే డేటా నిరంతరంగా ఉండవచ్చని కూడా మనం జోడించవచ్చు. + కాబట్టి, ఇక్కడ మనం రెండు వైపులా కాస్ట్‌లు వ్రాసే ఒక ఉదాహరణను చూపిస్తున్నాము, అంటే p అనేది నిరంతర డేటాకు పాయింటర్, అంటే p కూడా మరొకదానికి సూచించబడదు. N కాకుండా వేరే వేరియబుల్స్ కోసం తయారు చేయవచ్చు, లేదా చేయలేము n విలువను మార్చడానికి p ని ఉపయోగించండి. + కాబట్టి, ఇవన్నీ ఇప్పుడు లోపం అవుతాయి. + ఇప్పుడు, వాస్తవానికి, మేము సూచించిన డేటా లేదా పాయింటర్‌పై const - ness వ్రాస్తున్నందున, నేను ఎక్కడ const వ్రాయాలి అనేది కొన్నిసార్లు గందరగోళంగా ఉంటుంది మరియు const const keyword ఉంచడం ద్వారా ఏమి జరుగుతుంది. + బొటనవేలు నియమం చాలా సులభం, మీకు ఈ ప్రకటన ఉన్నప్పుడు ప్రకటన అంతటా స్టార్ సింబల్‌లో కనిపిస్తుంది. + మానసికంగా ఒక నిలువు వరుసను గీయండి, తద్వారా మీరు దీన్ని చేయటానికి ప్రయత్నిస్తుంటే const int * p, మొదలైనవి చెబుతున్నారు. ఈ నక్షత్ర చిహ్నం ద్వారా నిలువు వరుసను గీయండి మరియు const కీవర్డ్ ఏ వైపున కనిపిస్తుంది అని చూడండి, ఇది మీ డేటా వైపు మరియు ఇది మీ పాయింటింగ్ వైపు. + కాస్ట్-నెస్ డేటా వైపు ఉంటే, మీరు సూచించేది స్థిరంగా ఉంటుంది. + దీనికి విరుద్ధంగా మీకు int * const p et cetera ఉంటే, అది const పాయింటర్‌లో ఉంటుంది కాబట్టి పాయింటర్ స్థిరంగా ఉంటుంది. + కాబట్టి ఇది ప్రాథమిక బొటనవేలు నియమం, వీటిలో ఏది స్థిరంగా ఉందో మీరు నిర్ణయించవచ్చు. + ఉదాహరణలు క్రింద ఇవ్వబడ్డాయి. + కాబట్టి, మీరు దీన్ని ఉపయోగించవచ్చు మరియు ఇది నేను పనిచేసిన స్ట్రింగ్‌కు ఒక ఉదాహరణ. మీరు దీన్ని జాగ్రత్తగా చదవవచ్చు మరియు స్ట్రింగ్ ఇవ్వబడిందని అర్థం చేసుకోవడానికి ప్రయత్నించవచ్చు మరియు మా వద్ద మీకు స్ట్రింగ్ ఉంటే, మీరు మీరు రెండు మార్గాలను మార్చవచ్చు స్ట్రింగ్‌ను సవరించవచ్చు లేదా మీరు స్ట్రింగ్‌ను మార్చవచ్చు. + ఎగువన ఉన్న కోడ్‌లో మేము స్ట్రింగ్‌ను సవరించడం లేదా మొత్తం స్ట్రింగ్‌ను పూర్తిగా మార్చడం యొక్క ప్రభావాన్ని చూపుతాము. + మీరు ఇలా ఏదైనా చేస్తే, ఇక్కడ స్థిరాంకం ఉంచండి, మీరు ఇక్కడ ఒక కాన్స్ట్ ఉంచినట్లయితే, స్ట్రింగ్ స్థిరంగా మారుతుంది, కాబట్టి మీరు స్ట్రింగ్ చేయవచ్చు) ఏ అక్షరాన్ని మార్చలేరు. + అందువల్ల, మీరు ఇకపై చేయలేని మొదటి గుర్తుకు n వ్రాయగలరని మీరు ఇక్కడ చేయలేరు. + అయితే, మీరు ఈ వైపు ప్రసారం చేస్తే, మీరు ఇప్పుడు స్ట్రింగ్‌లోని ఏదైనా చిహ్నాన్ని మార్చవచ్చు, కానీ మీరు స్ట్రింగ్‌ను మొత్తంగా మార్చలేరు. + ఇక్కడ మీరు స్ట్రింగ్‌ను మార్చవచ్చు.ఇప్పుడు మీరు స్ట్రింగ్‌ను మార్చలేరు ఎందుకంటే పాయింటర్‌ను మార్చడం దీని అర్థం. + మీరు పాయింటర్‌కు ఇరువైపులా ప్రసారం చేస్తే, మీరు వరుసగా నాలుగు అక్షరాలను సూచించే నాలుగు నక్షత్రాల నక్షత్రం ఉంటే, రెండింటినీ సవరించలేకపోతే, మీరు రెండు సవరణలను మరియు పేరు మార్పును రక్షించవచ్చు. + అలాగే మార్చలేరు. + రెండు వైపులా కాస్ట్-నెస్ ఎలా వర్తించబడుతుందో చూపించడానికి ఒక ఉదాహరణ. + అందువల్ల, const - ness యొక్క ప్రాథమిక భావనను మరియు పాయింటర్ల పరంగా const - ness ఎలా వర్తించబడుతుందో చర్చించాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/31 ProgramminginCplusplus_InheritancePart IV (Lecture 39)-W86GWWSvsr0.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/31 ProgramminginCplusplus_InheritancePart IV (Lecture 39)-W86GWWSvsr0.txt index dabc817c3f4f18ce83bf93b195092dfc0634bebc..6eb7e191964631615b6a980c0e5fc73bd7c70a77 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/31 ProgramminginCplusplus_InheritancePart IV (Lecture 39)-W86GWWSvsr0.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/31 ProgramminginCplusplus_InheritancePart IV (Lecture 39)-W86GWWSvsr0.txt @@ -1,153 +1,153 @@ - 1. ప్రోగ్రామింగ్  C ++ లో మాడ్యూల్ 24 కు స్వాగతం. - 2. గత రెండు మాడ్యూల్స్ నుండి మేము C ++ లో ఇన్హెరిటెన్స్ గురించి చర్చిస్తున్నాం. - 3. మేము ఇన్హెరిటెన్స్ ప్రాథమిక డెఫినిషన్(definition) మరియు స్ట్రక్చర్(structure) అర్థం చేసుకున్నాము మరియు ఈ మాడ్యూల్లో ఆ కనెక్షన్లో మేము ఈరోజును ఉపయోగించే ఫోన్ల హైరార్కి(hierarchy) యొక్క ఉదాహరణను రూపొందించడానికి ప్రయత్నిస్తాము. - 4. ఈ మాడ్యూల్ సమయంలో, మనం వాస్తవానికి విభిన్న భావనల యొక్క నైరూప్య రూపాన్ని ఎలా తీసుకోవచ్చో చూపించాలనుకుంటున్నాము, C ++ లో ఉన్నవారికి క్లాస్ మాడ్యూల్‌ను సృష్టించడానికి ప్రయత్నించండి, C ++ కోడ్ సందర్భంలో ఫలిత సోపానక్రమం (సోపానక్రమం) అమర్చండి మరియు సృష్టించండి విస్తరణకు అవకాశాలు. - 5. కాబట్టి, నేను చెప్పినట్లుగా, ఫ్రేమ్‌వర్క్ పరంగా, వారసత్వం యొక్క ప్రాథమిక స్థాయిలో మేము చర్చిస్తున్న మొత్తం ఫ్రేమ్‌వర్క్, మేము ఇప్పటికే OOAD మోడలింగ్‌లో ISA సంబంధం గురించి మాట్లాడుతున్నాము. రెండు లేదా అంతకంటే ఎక్కువ C ++ తరగతుల పరంగా ISA సంబంధాన్ని వ్యక్తీకరించడానికి, దాని ఆధారంగా మనకు డేటా సభ్యులు (సభ్యులు) ఉన్నారు.), వారసత్వం, సభ్యుల ఫంక్షన్ల వారసత్వం కోసం వివరణాత్మక అర్థాలను నిర్వచించింది. - 6. ఒక తరగతి మరొక బేస్ క్లాస్ నుండి ఉద్భవించినప్పుడు అది వారసత్వంలోని అన్ని డేటా (సభ్యులు) మరియు సభ్యుడు (ఫంక్షన్లు) ను తిరిగి ఇస్తుందని మేము చూశాము. - 7. మరియు సభ్యుడు (ఫంక్షన్లు) ఫంక్షన్లను ఒకే సంతకంతో వాటిని ఓవర్రైట్ చేయడానికి పునర్నిర్వచించవచ్చు లేదా సభ్యుల (సభ్యుడు) ఫంక్షన్ల (ఫంక్షన్లు) యొక్క నిర్వచనాలను ప్రస్తుత పేరుతో లేదా మనకు లభించిన పేరును లోడ్ చేయడానికి ఆ సంతకం ఫంక్షన్ (ఫంక్షన్) ను ప్రదర్శించవచ్చు. మేము ఇంతకు ముందు చేయగలిగిన విభిన్న సంతకాలతో వారసత్వం. - 8. అలాగే, క్రొత్త సభ్యులను (డేటా) ఎలా జోడించాలో మేము చూశాము, బేస్ క్లాస్ నుండి డేటా (డేటా) కు యాక్సెస్ మరియు సభ్యుడు (క్లాస్) క్లాస్ యొక్క యాక్సెస్ (ఫంక్షన్లు) ఉన్నాయి. ప్రొటెక్టెడ్ అని పిలువబడే స్పెసిఫైయర్, ఇది ఉత్పన్న తరగతులకు ప్రత్యేక సెమాంటిక్స్ కలిగి ఉంది. - 9. ఉత్పన్నమైన తరగతుల కోసం, ఆధార్ యొక్క అన్ని రక్షిత డేటా (సభ్యుడు) ప్రాప్యత చేయగలదు, అయితే ఈ రక్షిత డేటా (సభ్యుడు) బాహ్య విధులు మరియు ఇతర తరగతులకు అందుబాటులో ఉండదు. హుహ్. - 10. నిర్మాణం మరియు విధ్వంసం ప్రక్రియ మరియు వస్తువు జీవిత సమయం కూడా చూశాము. - 11. ఆ ump హలన్నింటినీ ఉపయోగించి, ఫోన్‌ల సమితి కోసం ప్రాథమిక మాడ్యూల్ నిర్మాణం నిర్మాణం గురించి ఇప్పుడు చర్చిస్తాము. - 12. అందువల్ల, మేము ఫోన్‌ల మోడల్ సోపానక్రమం (సోపానక్రమం) తో ప్రారంభిస్తాము మరియు మన ప్రపంచాన్ని తయారుచేసే మూడు రకాల ఫోన్‌లు ఉన్నాయని by హించడం ద్వారా ప్రారంభిస్తాము. - 13. ల్యాండ్‌లైన్ ఫోన్లు, సాధారణంగా, మేము 20 సంవత్సరాల క్రితం, 30 సంవత్సరాల క్రితం ఉపయోగిస్తున్నాము. - 14. ఈ రోజుల్లో మూగ మొబైల్ ఫోన్ అని పిలువబడే మొబైల్ ఫోన్, మన జీవితాలను ఆక్రమించే అన్ని స్మార్ట్‌ఫోన్‌ల యొక్క పరిమితం చేయబడిన విధులు మరియు వైవిధ్యాల కోసం మాత్రమే చేయగలదు. - 15. కాబట్టి, దీన్ని చేసే ప్రక్రియలో, మేము మొదట సహాయక తరగతుల సమితిని సృష్టిస్తాము, ఈ సహాయక తరగతులలో మనం నిర్వహించాల్సిన లక్షణాల కోసం వివిధ రకాలు ఉంటాయి, తరువాత మేము ప్రతి ఫోన్‌ను విడిగా మోడల్ చేస్తాము. - 16. వీటిలో ప్రతిదానికీ, మేము తరగతి వివరణ యొక్క రూపురేఖలను వ్రాయడానికి ప్రయత్నిస్తాము, ఆ తరువాత, ఈ ఫోన్‌లలో నైపుణ్యం యొక్క కొన్ని స్వాభావిక సోపానక్రమం (సోపానక్రమం) ఉందని మేము చూస్తాము, మేము ఈ కోడ్‌ను సి ++ వారసత్వ సోపానక్రమాలలో ఎలా మిళితం చేస్తాము ( సోపానక్రమం) మరియు ఇది మొత్తం నమూనాను ఎలా సులభతరం చేస్తుంది. - 17. అందువల్ల, ప్రారంభించడానికి మనకు మొదటి సహాయక తరగతుల సమితి ఉంది. - 18. కాబట్టి, నేను ఈ తరగతుల వివరాలను చేర్చలేదు, మీరు ఆ వ్యక్తులకు పని ఇవ్వవచ్చు. - 19. సహజంగానే, ఒక తరగతికి భారతదేశంలో మనకు తెలిసినట్లుగా ఫోన్ నంబర్ మరియు ఫోన్ నంబర్‌ను సూచించాల్సిన అవసరం ఉంది, ఫోన్ నంబర్ దేశ కోడ్‌తో సహా 12 అంకెలు. - 20. కాబట్టి, ఇది రాశిచక్ర రకం, ఇది 12-అంకెల సంఖ్యను సూచిస్తుంది.వాస్తవానికి ఫోన్ సభ్యుడిని తీసుకుంటున్న చందాదారుడి పేరు మాకు అవసరం, మా పరిచయాలకు, మేము కాల్ చేయాలనుకునే వ్యక్తులకు కూడా పేరు అవసరం. - 21. మా పరిచయాల చిత్రాలను కలిగి ఉండటానికి మాకు ఒక నిబంధన ఉంది, కాబట్టి ఫోటోల రూపంలో కొన్ని సహాయక తరగతి ఉంటుంది, ఇది చిత్రం మరియు చిత్రం కోసం ప్రత్యామ్నాయ వచనాన్ని కలిగి ఉంటుంది మరియు అందువల్ల మనకు రింగ్‌టోన్, ఆడియో ఫైల్ (ఆడియో ఫైల్) నిర్వచించే తరగతి ఉంది. ) మరియు ఆ రింగ్‌టోన్ పేరు (రింగ్‌టోన్). - 22. మేము పరిచయం కోసం సహాయక తరగతిని కలిగి ఉంటాము, కనీస సంప్రదింపు సమాచారం ఫోన్ నంబర్ మరియు పేరు మరియు ప్రత్యామ్నాయంగా మేము ఆ పరిచయం యొక్క ఫోటోను కూడా కలిగి ఉండవచ్చు. - 23. వాస్తవానికి, హోదా, కంపెనీ వంటి అనేక ఇతర సాధ్యం. - 24. మేము ఇప్పుడు దాన్ని సరళీకృతం చేస్తున్నాము. - 25. మేము ఇప్పుడే దీనిని సాధారణంగా ఉంచుతున్నాము. - 26. చివరగా, మనకు సహాయక వర్గ చిరునామా పుస్తకం ఉంటుంది, ఇది బహుశా మా ఫోన్‌లలో సృష్టించే మరియు నిర్వహించే పరిచయాల సెట్‌లు లేదా పరిచయాల జాబితా. - 27. అందువల్ల, ఇవి ప్రాథమిక సహాయక తరగతుల సాధారణ సెట్లు, ఇవి రూపకల్పనతో కొనసాగండి. - 28. కాబట్టి, మొదట మేము ల్యాండ్‌లైన్ ఫోన్‌ను మోడల్ చేయాలనుకుంటున్నాము. - 29. మేము ల్యాండ్‌లైన్ ఫోన్‌ను మోడల్ చేయాలనుకున్నప్పుడు, నా వద్ద ల్యాండ్‌లైన్ ఫోన్ ఉంటే మేము గుర్తించాము; ఏదేమైనా, ఆదిమ మీరు సంవత్సరాల క్రితం ఉపయోగించే రొటేటింగ్ డయల్‌లతో ఆ బ్లాక్ హెవీ సెట్‌ల గురించి ఆలోచించవచ్చు. - 30. ల్యాండ్‌లైన్ ఫోన్ తప్పక మద్దతు ఇవ్వవలసిన ప్రాథమిక కార్యాచరణ కాల్‌లు చేయగల సామర్థ్యం మరియు తిరిగి కాల్ చేసే సామర్థ్యం. - 31. కాబట్టి, మాకు కాల్ కార్యాచరణ ఉంది మరియు మాకు సమాధానం ఇచ్చే కార్యాచరణ ఉంది, అది లేకుండా ఫోన్ నిర్వచించబడలేదు. - 32. కాబట్టి, నాకు అది ఉంటే, మేము ఈ ఫోన్ కోసం క్లాస్ రూపకల్పన చేస్తున్నప్పుడు, మేము ఈ మోడల్‌ను రూపొందించడానికి ప్రయత్నిస్తున్నాము. - 33. నేను దీనికి ఒక పేరు ల్యాండ్‌లైన్ ఫోన్ ఇచ్చాను మరియు కాల్ యొక్క కార్యాచరణ కోసం, నేను క్లాస్‌లో కాల్ మెథడ్, కాల్ మెంబర్ (క్లాస్) ఫంక్షన్‌ను ప్రారంభించాను మరియు కాల్ చేయగలిగేలా ఆ సంఖ్య మాకు అవసరం. అవసరం మనకు అవసరం పిలుచుట. - 34. కాబట్టి, ఫోన్ నంబర్ ఈ కాల్ సభ్యుల ఫంక్షన్ యొక్క పరామితి అవుతుంది. - 35. అదేవిధంగా, ఒక కాల్ వస్తే, మేము ఆ కాల్‌కు సమాధానం ఇవ్వాలి, ఫోన్ కాల్‌కు సమాధానం ఇచ్చే ఫంక్షన్‌కు సభ్యుడు (ఫంక్షన్) సమాధానం. - 36. డేటా సభ్యుల విషయానికొస్తే, ప్రతి ల్యాండ్‌లైన్ ఫోన్ యొక్క మన స్వంత సంఖ్యను ఖచ్చితంగా కలిగి ఉండాలి, దానిని పిలవగల సంఖ్య. - 37. కాబట్టి, మనకు సభ్యుడు ఉంటాడు, ఫోన్ ఎవరైనా చందాదారుడు, కాబట్టి ఇది చందాదారుడి పేరు మరియు మనకు రింగ్‌టోన్ ఉండవచ్చు, ఇది చాలా పాత ఫోన్‌కు పరిష్కరించబడింది రింగ్‌టోన్ అంటే మనం సాధారణంగా క్రింక్ క్రింక్ సౌండ్ అని పిలుస్తాము, ఫోన్ యొక్క సందడిగల శబ్దం. - 38. సహజంగానే దీని ఆధారంగా, మేము కన్స్ట్రక్టర్‌ను నిర్వచించాల్సిన అవసరం ఉంది, ఇది కనీసం పేరు మరియు సంఖ్య మరియు క్లయింట్‌ను తీసుకుంటుంది. - 39. ఫోన్ యొక్క ఏదైనా అర్ధవంతమైన నిర్మాణం కోసం ఈ ఇద్దరు సభ్యులను ప్రారంభించాలి, ఈ రింగ్‌టోన్ యొక్క ప్రారంభాన్ని మేము ఉంచవచ్చు, ఇది అప్రమేయంగా దీనికి కొన్ని నిర్దిష్ట రింగ్‌టోన్ ఉందని చెప్పారు. - 40. ఇప్పుడు, ఈ ప్రత్యేకమైన ల్యాండ్‌లైన్ ఫోన్ ఆబ్జెక్ట్ గురించి సమాచారాన్ని చొప్పించడానికి ఫ్రెండ్ ఆపరేటర్ ఫంక్షన్ పరంగా మనకు ఓవర్‌లోడింగ్ ఉంటుంది. - 41. డీబగ్గింగ్ మరియు ప్రోగ్రామింగ్ ట్రేస్ ప్రయోజనాల కోసం ఇది మరింత అవసరం, అప్పుడు వాస్తవానికి ఫోన్ యొక్క కార్యాచరణ. - 42. కాబట్టి, ఇది సహాయక కార్యాచరణ, ఈ ప్రత్యేక తరగతితో పని చేయగలిగేలా మేము ఫ్రెండ్ ఫంక్షన్ సందర్భంలో జోడించాము. - 43. ఇప్పుడు మొబైల్ ఫోన్లో మాట్లాడుదాం. - 44. ఖచ్చితంగా, మొబైల్ ఫోన్‌లకు కాల్ ఫంక్షనాలిటీ ఉంటుంది, సమాధానం ఇచ్చే కార్యాచరణ, కాల్ ఫంక్షనాలిటీ పరంగా, సాధారణంగా మొబైల్ ఫోన్‌లలో, ల్యాండ్‌లైన్ ఫోన్‌లలో మాదిరిగానే మనం నంబర్‌కు కాల్ చేయగలుగుతాము. (ల్యాండ్‌లైన్ ఫోన్), కానీ ఇది కూడా సాధ్యమే మొబైల్ ఫోన్ ఒక రకమైన అడ్రస్ బుక్ వ్యవస్థను కలిగి ఉంటుంది, తద్వారా నేను పరిచయాల సమితిని ఉంచగలను మరియు నేను కొన్ని పరిచయాలను పేరు ద్వారా ఎంచుకోగలను మరియు ఆ పేరు ద్వారా నేను ఆ పరిచయాన్ని పిలుస్తాను. - 45. కాబట్టి, కాల్స్ సందర్భంలో, మొబైల్ ఫోన్‌ల యొక్క రెండు ఎంపికల సందర్భంలో, వాటిలో ఒకటి కాల్ చేస్తోంది, ఇది ల్యాండ్‌లైన్ ఫోన్‌లో అందుబాటులో లేదు. - 46. ఇది కాకుండా, మనకు సాధారణంగా రీడియల్ చేసే అవకాశం ఉంటుంది, సాధారణంగా చివరి నంబర్‌ను మళ్లీ డయల్ చేయడానికి మరియు చాలా మొబైల్ ఫోన్‌లలో రింగ్‌టోన్‌ను సెట్ చేసే అవకాశం మనకు ఉంటుంది.అది కూడా జరుగుతుంది. - 47. కాబట్టి, ఇది ఖచ్చితంగా మనం ఆలోచించగలిగేది చాలా మంది, కానీ ఖచ్చితంగా మొబైల్ ఫోన్ ద్వారా. నేను చెప్పినట్లుగా నేను ప్రారంభ తరం సెల్యులార్ ఫోన్ల గురించి మాట్లాడుతున్నాను, సాధారణంగా మీలో చాలామంది నోకియా 1100 సిరీస్‌ను చూశారు మరియు ఉపయోగించారు. - 48. మీకు ఫోన్‌ చేసే సామర్థ్యం ఉన్న ఫోన్‌లు ఇలాంటి ఫోన్‌లు, కానీ ఈ రోజు మనం చూసే అన్ని విభిన్న ఫాన్సీ ఫంక్షన్‌లు మీకు లేవు. - 49. ఈ సరళమైన మొబైల్ ఫోన్ క్లాస్ కోసం మనం ఒక నిర్వచనాన్ని ఎలా సృష్టిస్తామో చూద్దాం, కాబట్టి మొబైల్ ఫోన్ పేరుతో ప్రతి కార్యాచరణకు ఒక తరగతిని సృష్టించాము, వారు కొంత సభ్యుల పని చేయవలసి ఉందని మేము చూస్తాము. - 50. కాబట్టి, కాల్ కోసం మనకు సభ్యుడు (ఫంక్షన్) ఫంక్షన్ ఉంటుంది, ఇది ల్యాండ్‌లైన్ ఫోన్ క్లాస్ కోసం మేము చేసే కాల్ సభ్యుడు (సభ్యుడు) ఫంక్షన్ లాగా కనిపిస్తుంది, కాబట్టి ఫోన్ నంబర్ తీసుకొని కాల్ చేసేవాడు, కానీ ఇప్పుడు మనం చూస్తాము అదనపు కార్యాచరణ ఉందని, నేను ఒకరిని పేరు ద్వారా పిలవగలను. - 51. కాబట్టి, మేము మరొక కాల్ సభ్యుల ఫంక్షన్‌ను ఉంచుతాము, అది ఒక వ్యక్తి పేరు మరియు కాల్‌లను తీసుకుంటుంది. - 52. అందువల్ల, కాల్ ఫంక్షన్ యొక్క నకిలీ కారణంగా, మేము ఓవర్‌లోడ్ సభ్యుల ఫంక్షన్లను ప్రారంభించబోతున్నాం. - 53. మాకు సమాధానం ఉంటుంది, ఇది సభ్యుల సభ్యుల సమాధానం. - 54. సభ్యుడు (ఫంక్షన్) ఫంక్షన్‌ను రీడియల్ చేయగలిగేలా మేము రేడియల్ సభ్యుడు (సభ్యుడు) ఫంక్షన్‌ను పరిచయం చేస్తున్నాము. - 55. రింగ్‌టోన్‌ను సెట్ చేయడానికి, నేను సెట్ చేయదలిచిన నిర్దిష్ట రింగ్‌టోన్‌ను తప్పనిసరిగా తీసుకోవాలి మరియు నా పరిచయ పుస్తకానికి కొత్త పరిచయస్తులను జోడించడానికి, నాకు సంఖ్యను పేర్కొనవలసిన అవసరం ఉన్న ఒక అదనపు పరిచయం అవసరం మరియు నేను వ్యక్తి పేరును పేర్కొనాలి. - 56. కాబట్టి, దీనితో, తరగతి పేరును నిర్ణయించిన తరువాత మనం ప్రారంభించినప్పుడు, ఇవి మనకు పూర్తి చేసే మొదటి విషయాలు, మనకు ఇంటర్ఫేస్ ఇస్తుంది, ఈ తరగతి (తరగతి) అని మేము చెప్పినట్లుగా, ఇది ప్రాథమిక కార్యాచరణ, తరగతి, సమితి తరగతి కోసం కార్యకలాపాలు. - 57. దీన్ని పేర్కొన్న తరువాత, మేము ఇప్పుడు తరగతుల యొక్క అంతర్గత భాగాలను పరిశీలిస్తాము, నేను ఈ సభ్యుడు (ఫంక్షన్లు) ఫంక్షన్లకు మద్దతు ఇవ్వవలసి వస్తే, నాకు అవసరమైన కార్యాచరణకు, డేటా సభ్యులకు నేను మద్దతు ఇవ్వవలసి వస్తే, నాకు ఏమి కావాలి (సభ్యులు) కావాలా? ఇది జరిగినప్పుడు, నాకు మునుపటిలా ఫోన్ సంఖ్య అవసరం, ఈ ప్రత్యేకమైన మొబైల్ ఫోన్‌ను యాక్సెస్ చేయడానికి నాకు చందాదారుల పేరు కావాలి, సభ్యుడు) ఇవ్వబడింది మరియు మొబైల్ ఫోన్‌గా ఉండటానికి అవకాశం ఉంది, ఇది సెట్ చేసే అవకాశం ఉంటుంది విభిన్న రింగ్‌టోన్ (రింగ్‌టోన్) కాబట్టి నాకు రింగ్‌టోన్ సభ్యుడు ఉన్నారు. - 58. కాబట్టి, ఇవి మనం ఇంతకుముందు చూసినట్లుగా ఉంటాయి, కాని ఇప్పుడు మన ఫోన్‌లో రిఫరెన్స్ ఉంచే అవకాశం ఉందని మేము have హించాము. - 59. అందువల్ల, నాకు చిరునామా పుస్తకం అవసరం. - 60. కాబట్టి, ఒక పుస్తకం ఉంచే సభ్యుడు, ఇది ఒక చిరునామా పుస్తకం, ఇది నేను తరచుగా సూచించదలిచిన జాబితాను లేదా పరిచయాల సమితిని ఉంచుతుంది. - 61. కాబట్టి, నేను యాడ్ కాంటాక్ట్ చేస్తే, ఇది ప్రాథమికంగా ఇక్కడ పరిచయాన్ని జోడిస్తుంది మరియు నాకు ఒక ఫీచర్ కూడా అవసరం, అప్పుడు నేను రీడియల్ చేయాలనుకుంటున్న ఇంటర్ఫేస్ను అందించాలి, నేను చివరిగా డయల్ చేసిన సంఖ్యను మళ్లీ డయల్ చేయాలి. - 62. కాబట్టి, నేను డయల్ చేసిన చివరి సంఖ్య ఏమిటో గుర్తుంచుకోవడానికి నాకు సభ్యుడు కావాలా? కాబట్టి, ఈ డేటా సభ్యుడిని (సభ్యుడిని) తీసుకువచ్చేది కాకుండా నాకు వేరే ఏదైనా అవసరం కావచ్చు; కాబట్టి ఈ కార్యాచరణకు నేను మద్దతు ఇవ్వవలసిన ప్రాథమిక డేటా సభ్యులు మరియు దానికి అదనంగా నాకు మరికొంత మంది సభ్యులు (ఫంక్షన్లు) అవసరం, ఉదాహరణకు, మనం అనుకుంటే మనం రీడియల్ చెప్పండి. - 63. కాబట్టి, నేను రీడియల్ గురించి ఆలోచిస్తే, నేను రీడియల్ చేయాలనుకుంటే నేను కాల్ చేయాలి; ఇది చివరి డయల్. - 64. అందువల్ల, నేను ఈ సభ్యుడిని (ఫంక్షన్) పిలవాలి. - 65. కాబట్టి, నేను కాల్ చేయాలి, రీడియల్ చివరి డయల్ అవుతుంది మరియు ఇది నా ప్రాథమిక రీడియల్ కార్యాచరణ అవుతుంది. - 66. అందువల్ల, ఈ డేటా (సభ్యుడు) సభ్యుడిని సెట్ చేయడానికి నాకు ఒక మార్గం కావాలి, ఈ డేటా (సభ్యుడు) సభ్యుడిని గుర్తుంచుకోవడానికి నాకు ఒక మార్గం కావాలి. - 67. కాబట్టి దీని అర్థం ఏమిటి? దీని అర్థం నేను కొంత నంబర్‌ను డయల్ చేస్తున్నప్పుడు, నేను గుర్తుంచుకోవలసిన కొంత నంబర్‌కు కాల్ చేస్తున్నాను. - 68. కాబట్టి, నేను కాల్ మెంబర్ ఫంక్షన్ యొక్క కాల్ ఫంక్షనాలిటీని పరిశీలిస్తే, ఫోన్ నంబర్ * రకాన్ని అడగండి, అప్పుడు నాకు కావలసింది ఈ ప్రత్యేకమైన చివరి డయల్ ఫంక్షన్ (ఫంక్షన్) ను సెట్ చేయడం; చివరి డయల్ నంబర్ కాబట్టి, ఇక్కడ నేను ఈ సభ్యుడిని (ఫంక్షన్) చేర్చుకుంటాను, ఇది నా కాల్ పద్ధతిలో అమలు చేస్తాను. - 69. అదేవిధంగా, నేను రెండవ కాల్‌ను అమలు చేసినప్పుడు, ఓవర్‌లోడ్ కాల్ పద్ధతిని కూడా అమలు చేస్తాను, ఇది చివరి డయల్ చేసిన సంఖ్యను సెట్ చేస్తుంది. - 70. ఇప్పుడు, నేను దీన్ని చేయడానికి ప్రత్యేక సభ్యుల పని చేస్తున్నానా అని మీరు ఆశ్చర్యపోవచ్చు? నేను చివరి డయల్ లేదా చివరి డయల్ మాత్రమే కేటాయించగలనా అనేదానికి బదులుగా దీన్ని చేయడం ఇతర ఎంపిక.+ - 71. నేను దీన్ని p కి సెట్ చేయగలను ఎందుకంటే ఇది అందరి డొమైన్‌లో అన్ని మొబైల్ ఫోన్ క్లాస్‌ల మాదిరిగానే ఉంటుంది. - 72. నేను ప్రారంభించడానికి సభ్యుల ఫంక్షన్ కలిగి ఉంటానని నేను అనుకుంటున్నాను, ఎందుకంటే నేను ఈ చివరి డయల్ నంబర్‌ను సెట్ చేసినప్పుడు, చివరి డయల్ నంబర్‌తో మరికొన్ని లక్షణాలను ఉంచాలనుకుంటున్నాను, ఉదాహరణకు, నేను దీన్ని చివరిగా డయల్ చేసినప్పుడు కూడా గుర్తుంచుకోవాలనుకోవచ్చు. వ్యక్తి. - 73. చివరి కాల్ యొక్క విధి ఏమిటో నేను గుర్తుంచుకోవాలనుకుంటున్నాను, అది తప్పిపోయినా లేదా తప్పిపోయినా మరియు అది నేను పిలిచిన కాలం మరియు అంతకు మించి ఉంటే. - 74. వాస్తవ కార్యాచరణను అనేక రకాలుగా విస్తరించవచ్చు. - 75. అందువల్ల, ఈ చివరి డయల్ నంబర్‌ను సెట్ చేయడం కంటే ఇది చాలా ఎక్కువ. - 76. అందువల్ల, సభ్యుల పని సందర్భంలో నేను ఈ నమూనాను రూపొందించడానికి ప్రయత్నిస్తాను. - 77. కాబట్టి, ఇది ఒక నిర్దిష్ట శైలి, మనం తరచూ అనుసరించడానికి ప్రయత్నిస్తాము, మనం కొంతమంది సభ్యుడిని, సభ్యుడిని సెట్ చేయాలనుకున్నప్పుడు లేదా తరగతి సభ్యుడు (సభ్యుడు) కొన్ని సార్లు ఉండవచ్చు, మేము ఫంక్షన్ నుండి కొంత డేటా సభ్యుడిని కూడా పొందవచ్చు, అప్పుడు మనం చేయవచ్చు మేము నేరుగా సెట్ చేస్తామా లేదా కొన్ని ప్రైవేట్ సభ్యుల (సభ్యుడు) ఫంక్షన్లను (ఫంక్షన్లు) సెట్ చేయవచ్చో imagine హించుకోండి. - 78. కాబట్టి అదనపు కార్యాచరణ ఉంటే ఆ కార్యాచరణలు కూడా నెరవేరుతాయి. - 79. ఇప్పుడు, సహజంగానే మనకు ఈ విధంగా అనిపిస్తే, మొబైల్ ఫోన్ క్లాస్‌లో ఈ సభ్యుడు (ఫంక్షన్) ఉండాల్సిన అవసరం ఉంది మరియు ఈ సభ్యుడు (సభ్యుడు) ఫంక్షన్ బహిరంగంగా ఉండాలి అనే ప్రశ్న ఉంది, సమాధానం లేదు, ఎందుకంటే మనకు ఇప్పటికే ఉంది ఇంటర్ఫేస్ను నిర్వచించారు. - 80. ఇంటర్ఫేస్ ఇతర బాహ్య తరగతులను మరియు గ్లోబల్ ఫంక్షన్‌ను ప్రాప్యత చేయగలదని మేము కోరుకుంటున్నాము, ఎందుకంటే మీ వద్ద ఉన్న ఫోన్ యొక్క వీక్షణ మీకు ఉంది. - 81. కాబట్టి, మీరు భౌతిక ఫోన్ గురించి ఆలోచిస్తే, మీకు కీబోర్డ్ లేదా గ్రాఫిక్స్ డిస్ప్లే, మీ టచ్ స్క్రీన్, ఫోన్‌లో ఈ ఇంటర్ఫేస్ కార్యకలాపాలన్నింటినీ చేసే ఎంపిక ఉంది, కానీ మీరు నిజంగా ఏదైనా కార్యాచరణను చూస్తున్నారా, ఇక్కడ మీరు చివరి డయల్ నంబర్‌ను సెట్ చేయవచ్చు , మీరు దీన్ని చేయనందున అలా చేయరు. - 82. ఇది ఫోన్‌కు అంతర్గతంగా ఉంటుంది మరియు అందువల్ల, అటువంటి సభ్యుల విధులు ప్రైవేట్‌గా ఉంటాయి మరియు ఇది ఇంటర్ఫేస్ కోసం అని మేము చెప్పినట్లుగా, ఈ సభ్యుల విధులు అమలు కోసం. - 83. కాబట్టి, డిజైన్‌లో మీరు ఈ వ్యత్యాసాన్ని స్పష్టంగా గుర్తుంచుకోవాలి. - 84. అదేవిధంగా మీరు ఎవరినైనా పిలిచినప్పుడు డయల్ చేసేటప్పుడు షో నంబర్ వంటి మరొక సభ్యుని పనిని నేను కలిగి ఉండగలను, మీరు మీ కాలింగ్ నంబర్ చూపించాలనుకుంటున్నారా లేదా కాల్ వచ్చినప్పుడు ఫోన్ రింగ్ అవుతుంది. ఉంది మరియు మీరు ఆ సంఖ్యను చూడటానికి సమాధానం ఇవ్వాలనుకుంటున్నారు. మిమ్మల్ని పిలుస్తోంది. - 85. కాబట్టి, షో నంబర్ () అనేది ఈ ప్రవర్తన అంతా చేయబోయే సభ్యుల ఫంక్షన్. - 86. మీకు అవసరమైన అనేక అదనపు సభ్యుల పనులు ఉంటాయి, కాని నేను ఇప్పుడే, తరగతి యొక్క ప్రైవేట్ భాగంలో చాలా సభ్యుల విధులు ఉండగల మార్గాన్ని వివరించడానికి నేను మీకు రెండు ఉదాహరణలు ఇవ్వబోతున్నాను, ఇవి ప్రాథమికంగా సహాయక విధులు మీరు బహిరంగ ప్రదేశంలో సాధ్యం చేయకూడదనుకునే ఇంటర్‌ఫేస్‌లు మరియు ఇతర సహాయక విధులను గ్రహించడం. - 87. అదేవిధంగా, ఈ కాల్ గురించి మనం కొంచెం మాట్లాడవచ్చు, ఇది ప్రాథమికంగా కాల్ () అని పిలువబడే వ్యక్తి. - 88. కాబట్టి, నేను కలిగి ఉంటే మనకు ఏ కార్యాచరణ అవసరం? ఖచ్చితంగా, మాకు అవసరం, నన్ను క్షమించండి, అది n గా ఉండాలి. - 89. కాబట్టి, ఈ వ్యక్తి సంఖ్య ఏమిటో నేను నిజంగా తెలుసుకోవాలి. - 90. కాబట్టి, చిరునామా పుస్తకం నుండి నంబర్ ఎందుకు పొందాలో నేను పరిశీలిస్తాను. - 91. కాబట్టి, చిరునామా పుస్తకంలో ఒక విధమైన శోధన () సభ్యుల ఫంక్షన్ ఉంటుందని నేను అనుకోవాలి, దీనికి పేరు ఉంది మరియు నాకు ఫోన్ నంబర్ ఇస్తుంది. - 92. కాబట్టి, నేను దానికి సంబంధించి ఫోన్ నంబర్‌ను తిరిగి ఇవ్వగలను మరియు అది తిరిగి వచ్చిన తర్వాత ఫోన్ నంబర్ ఆధారంగా కాల్ చేయగల మరొక ఇంటర్ఫేస్ ఫంక్షన్‌ను ఉపయోగించవచ్చు. - 93. వాస్తవ కార్యాచరణను గ్రహించడానికి మేము ఈ కాల్‌ను ఉపయోగించవచ్చు, ఎందుకంటే మీరు ఈ రెండు ఓవర్‌లోడ్ సభ్యుల (ఫంక్షన్‌ల) మధ్య చూస్తే, ప్రాథమిక కార్యాచరణ అనేది ముందు ఒకరు గ్రహించిన కాల్ మరియు మీ కార్యాచరణకు జోడించబడినది మీరు కాల్ చేయాలనుకుంటున్న ఫైండర్ మరియు ఇక్కడ మరొక ఫంక్షన్ ద్వారా గ్రహించిన కాల్ చేయండి. - 94. కాబట్టి, ఇక్కడే మీరు శోధన చేయడానికి కోడ్ వ్రాస్తారు మరియు మీరు నిజంగా కాల్ చేస్తారు మరియు మీరు డిజైనింగ్‌తో ఎలా ముందుకు సాగాలి మరియు మీరు మీ శోధనను కొనసాగిస్తున్నప్పుడు నేను మీకు సహాయక తరగతుల వివరణ ఇవ్వను అని చెప్పాను. ఇంటర్‌ఫేస్‌లు, వాటి సభ్యుల విధులు మీ డిజైన్ నుండి ఉద్భవించాయి ఎందుకంటే చిరునామా పుస్తకం కోసం ఈ అవసరాన్ని మాత్రమే మేము చూశాము. - 95. కాంటాక్ట్ బుక్ మొదలైనవాటిని జోడించాల్సిన అవసరాన్ని మేము చూశాము. - 96. కాబట్టి, ఇది చిరునామా పుస్తక తరగతిలో ఉండవలసిన అన్ని విభిన్న ఇంటర్ఫేస్ పద్ధతులను పొందుతుంది. - 97. ఇదే విధమైన తర్కంతో ఇతర సహాయక తరగతుల విభిన్న ఇంటర్ఫేస్ అవసరాలను కూడా మీరు కనుగొనవచ్చు. - 98. కాబట్టి, మొబైల్ ఫోన్ క్లాస్ గురించి మాకు చాలా వివరణాత్మక వివరణ ఉంది. - 99. కాబట్టి, మొబైల్ ఫోన్‌లకు సంబంధించి స్మార్ట్ ఫోన్‌లకు వెళ్దాం, నేను స్మార్ట్ ఫోన్‌లను చాలా సింపుల్‌గా ఉంచాను; ఇది టచ్ స్క్రీన్ ద్వారా కాల్స్ చేయవచ్చు. - 100. స్మార్ట్ ఫోన్‌లలో సాధారణంగా టచ్‌స్క్రీన్ ఉండే లక్షణం ఉంటుంది. - 101. కాబట్టి, ఇంతకు ముందు నేను కీప్యాడ్ ఉన్న మొబైల్ ఫోన్ నుండి కాల్ చేస్తున్నాను. - 102. ఇప్పుడు, నేను టచ్ స్క్రీన్‌తో పిలుస్తున్నాను, ప్రాథమిక కార్యాచరణ అదే. - 103. అందువల్ల, నేను ఇప్పుడు డిజైన్ అవసరాలు మరియు తరగతి గది రూపకల్పనను కలిసి చూపిస్తున్నాను. - 104. కాబట్టి, నేను ఒక నంబర్‌కు కాల్ చేసినా లేదా నేను పేరు చెప్పినా ప్రాథమిక అవసరం అలాగే ఉంటుంది, కాని నేను ఈ రెండింటినీ మళ్ళీ ఉంచాలి, ఇవి ఓవర్‌లోడ్ అయ్యాయి, కానీ ఇప్పుడు మీరు ఈ ఓవర్‌రైడింగ్ ఇక్కడ గ్రహించటం ప్రారంభించాలి ఎందుకంటే నేను ఇక్కడ పరిస్థితులు తలెత్తే అవకాశం ఉంది ఫోన్ నంబర్‌కు కాల్ చేయగల సామర్థ్యం ఉన్న అదే కార్యాచరణను కలిగి ఉండండి, కానీ ఆ కార్యాచరణలో మారుతున్నది ఈ ఫంక్షన్ అమలు. - 105. ఇంతకుముందు ఇది కీప్యాడ్ ద్వారా జరిగింది, ఇప్పుడు ఇది టచ్ స్క్రీన్ ద్వారా. - 106. నాకు సమాధానం ఉంది, రీడియల్స్ అన్నీ మేము మొబైల్ ఫోన్ల కోసం చర్చించినట్లుగా ఉంటాయి. - 107. AddContact () పరంగా, ఇది ఇప్పుడు టచ్ స్క్రీన్ స్మార్ట్ డిస్‌ప్లేను కలిగి ఉంది. - 108. అందువల్ల, నేను బహుశా నా పరిచయాల చిత్రాలను కూడా జోడించాల్సి ఉంటుంది. - 109. అందువల్ల, ఇంటర్ఫేస్ చాలా సారూప్యంగా కనిపిస్తుంది, దీనికి తిరిగి అమలు చేయాల్సిన అవసరం ఉన్నప్పటికీ, ఈ డేటా సభ్యులు మేము మొబైల్ ఫోన్లలో చేసినదే. - 110. ఈ పద్ధతులు, ప్రైవేట్ పద్ధతులు కూడా సారూప్యంగా ఉంటాయి, అయితే నేను అదనపు డేటా సభ్యులను కలిగి ఉండవచ్చు, ఇది స్మార్ట్ ఫోన్ అయితే స్మార్ట్ ఫోన్‌ను కనుగొనే ముఖ్య ప్రమాణాలలో ఒకటి ప్రదర్శన పరిమాణం, ఇది 7 అంగుళాల ఫోన్, ఇది ఆరున్నర అంగుళాల ఫోన్ మరియు మొదలైనవి. - 111. అందువల్ల, నేను సైజు చేయాలనుకుంటున్నాను, నేను కాల్ చేస్తున్నప్పుడు లేదా నేను కాల్‌కు సమాధానం ఇస్తున్నప్పుడు, నేను పిలుస్తున్న వ్యక్తి లేదా నన్ను పిలుస్తున్న వ్యక్తి యొక్క ముఖాన్ని చూడాలనుకుంటున్నాను, ఆ వ్యక్తి నా చిరునామా పుస్తకంలో ఉంటే. - 112. కాబట్టి, స్మార్ట్ ఫోన్‌లో ప్రైవేట్ సభ్యుల ఫంక్షన్‌గా డిస్ప్లే ఫోటో () వంటి కార్యాచరణను నేను కలిగి ఉంటాను, ఇంకా చాలా మంది ఉండవచ్చు. - 113. కాబట్టి, ఇవి ల్యాండ్‌లైన్, మొబైల్ మరియు స్మార్ట్ ఫోన్‌ల ప్రాథమిక తరగతి వివరణలు. - 114. కాబట్టి, ఇది వారి విభిన్న కార్యాచరణ యొక్క సారాంశం మరియు మనం ఇంతకుముందు చూసినట్లుగా, తరగతుల మధ్య ఈ భావనల మధ్య సాధారణీకరణ స్పెషలైజేషన్ యొక్క బలమైన భావం ఉంది. - 115. అందువల్ల, మనకు మొబైల్ ఫోన్ (ISA) ల్యాండ్‌లైన్ ఫోన్ మరియు స్మార్ట్ ఫోన్ (ISA) మొబైల్ ఫోన్ ఉన్నాయని త్వరగా తేల్చవచ్చు మరియు ఇప్పుడు మనం మొత్తం కార్యాచరణను చూడవచ్చు. - 116. అంటే, మనం ఇప్పుడు ల్యాండ్‌లైన్ ఫోన్ క్లాస్ మరియు మొబైల్ ఫోన్ క్లాస్ యొక్క ఆ డిజైన్‌ను ఉంచి వాటిని వైపు నుండి చూస్తే, చాలా మంది డేటా సభ్యులు ప్రాథమికంగా సాధారణమైనవారని, కాని క్రొత్తవి మరికొన్ని ఉన్నాయని మేము చూస్తాము. - 117. అదేవిధంగా, కొన్ని పద్ధతులు సాధారణం, కొన్ని పద్ధతులకు కొత్త సంతకాలు మరియు కొత్త అనేక ఇతర పద్ధతులు అవసరం. - 118. అందువల్ల, ఈ పరిశీలనతో, వాస్తవానికి వాటిని ఒక సోపానక్రమం (సోపానక్రమం) సందర్భంలో కలపడానికి మరియు మన వద్ద ఉన్న డిజైన్‌ను తగ్గించడానికి ప్లాన్ చేయవచ్చు. - 119. UML మోడల్ సందర్భంలో మాత్రమే మీరు దీన్ని ఎలా చూస్తారు? ఇది మీ మరింత అవగాహన కోసం. - 120. కానీ ఇప్పుడు, నేను ఈ పరిశీలనను మొబైల్ ఫోన్ మరియు ల్యాండ్‌లైన్ ఫోన్‌ను వేరు చేయడానికి మాత్రమే ఉపయోగించగలను, కానీ నేను మొబైల్ ఫోన్ ISA ల్యాండ్‌లైన్ ఫోన్ (ల్యాండ్‌లైన్) ఫోన్‌ను కూడా పిలుస్తాను. - 121. కాబట్టి, ఇక్కడ నేను వారసత్వాన్ని పరిచయం చేస్తున్నాను, నేను ఇక్కడ వారసత్వాన్ని పరిచయం చేస్తున్న తరుణంలో, ఈ డేటా సభ్యుల అవసరం ఉనికిలో లేదు ఎందుకంటే వారు బేస్ క్లాస్‌లో ఉన్నారు మరియు స్వయంచాలకంగా వారసత్వానికి చేర్చబడతారు, ఈ సభ్యులు ఖచ్చితంగా చేర్చబడతారు. - 122. అదేవిధంగా, నేను దీన్ని చేసినప్పుడు, సమాధానం ఇవ్వబడిన విధానంలో మాకు ప్రత్యేకమైన తేడా లేదని మేము చర్చించినట్లు, మేము కాల్‌ని తీసుకొని మాట్లాడటం ప్రారంభిస్తాము. హుహ్. - 123. అందువల్ల, ల్యాండ్‌లైన్ ఫోన్‌లో మీరు సమాధానం చెప్పే విధానం మరియు మొబైల్ ఫోన్‌లో మీరు సమాధానం చెప్పే విధానం ఒకటే అనే భావనను నేను పొందగలను. - 124. కాబట్టి, ఈ వ్యాఖ్య జరిగింది, అంటే ఈ ప్రత్యేకమైన ఫంక్షన్ ల్యాండ్‌లైన్ ఫోన్‌లో, అసలు తరగతి నుండి వారసత్వంగా లభిస్తుంది, కాని కాల్ సందర్భంలో మనం ఇంకా ఈ సంతకాన్ని నిర్వచించాల్సిన అవసరం ఉంది. కాల్ చేయడానికి చాలా భిన్నంగా ఉంటుంది, ఉదాహరణకు, మొబైల్‌లోకి డయల్ చేయడానికి నేను ఉపయోగించగల ల్యాండ్‌లైన్ ఫోన్. - 125. నేను ఖచ్చితంగా ఉపయోగిస్తున్నాను నేను డయల్ ఉపయోగించడం లేదు. నేను ఖచ్చితంగా కొన్ని రకాల కీప్యాడ్ కీబోర్డును ఉపయోగిస్తున్నాను మరియు ఇంకా నేను చెప్పినట్లుగా నాకు కాల్ () ఫంక్షన్ (ఫంక్షన్) యొక్క మరొక వెర్షన్ అవసరం మరియు నేను ఇక్కడ ఓవర్లోడ్ కలిగి ఉన్నాను. - 126. కాబట్టి, దీనితో, మొబైల్ ఫోన్ క్లాస్ రూపకల్పన మరింత సరళంగా మారుతుంది. - 127. స్మార్ట్ ఫోన్‌లతో ముందుకు సాగడానికి మేము దీన్ని ఉపయోగించవచ్చు. - 128. నేను ఆ స్మార్ట్ ఫోన్ (ISA) మొబైల్ ఫోన్‌ను మోడల్ చేయడానికి ప్రయత్నిస్తున్నాను. - 129. కాబట్టి, స్మార్ట్ ఫోన్ అనేది నేను వారసత్వంగా చేసే మొబైల్ ఫోన్, ఇది ల్యాండ్‌లైన్ ఫోన్‌లతో సాధారణమైనందున ఇంతకు ముందు వ్యాఖ్యానించబడింది. - 130. స్మార్ట్ ఫోన్లలో, ఈ సభ్యులు కూడా అవసరం లేదు. - 131. ఈ డేటా సభ్యులు (సభ్యులు) మరియు పద్ధతులు ఇకపై అవసరం లేదు ఎందుకంటే అవి మొబైల్ ఫోన్ నుండి వారసత్వంగా పొందుతాయి, కాని నేను డేటా సభ్యుడు (సభ్యుడు) మరియు సభ్యుడు (ఫంక్షన్) ఫంక్షన్‌ను పొందుతాను.), ఇవి స్మార్ట్ ఫోన్‌లకు ప్రత్యేకమైనవి. - 132. సహజంగా సంభవించే ఈ సమాధానాలు వారసత్వంలో కనిపిస్తాయి, అయితే మొబైల్ ఫోన్‌లలో ఓవర్‌లోడ్ చేసిన కాల్ ఫంక్షన్ యొక్క రెండు వెర్షన్లు మళ్లీ భర్తీ చేయబడాలి. - 133. ఇప్పుడు, ఇది ఓవర్‌రైడ్ చేయబడిందని మరియు అది మళ్లీ భర్తీ చేయబడుతుందని మనం చూడవచ్చు ఎందుకంటే మీరు టచ్‌స్క్రీన్ ద్వారా పిలిచే విధానం చాలా భిన్నంగా ఉంటుంది. - 134. కాబట్టి, ఇక్కడ మొబైల్ విషయంలో స్మార్ట్ ఫోన్ విషయంలో ఓవర్‌లోడ్ అయింది. - 135. ఇది ఇప్పుడు మీరు మొబైల్ ఫోన్‌లో ఉపయోగించిన నిర్వచనం ద్వారా భర్తీ చేయబడింది, మీరు ఇంటర్‌ఫేస్‌ను ఇకపై మార్చడం లేదు, కానీ మీకు ఖచ్చితంగా వేరే అమలు ఉంటుంది మరియు ఈ అదనపు ఫంక్షన్లన్నీ ఉంటాయి. (విధులు) ఖచ్చితంగా వారసత్వంలో కనుగొనబడతాయి. - 136. వాస్తవానికి రీడియల్ () ను కూడా ఓవర్‌రైడ్ చేయాలి ఎందుకంటే మీ కాల్ దారి మళ్లించబడితే కాల్ ఫంక్షన్ యొక్క మరొక వెర్షన్. - 137. కాబట్టి, కలిసి ఉంచండి, ఇప్పుడు మనకు ల్యాండ్‌లైన్ ఫోన్ ఉంది, నేను వాటిని కలిపితే, మాకు మొబైల్ ఫోన్ (ల్యాండ్‌లైన్ ఫోన్) నైపుణ్యం ఉంది. - 138. మన దగ్గర స్మార్ట్ ఫోన్ ఉంది, ఇది మొబైల్ ఫోన్ యొక్క స్పెషలైజేషన్ మరియు క్లాస్ ఇంటర్ఫేస్ ఎలా ఉంటుంది మరియు నేను ఇక్కడ ఏమి చేస్తాను, నేను ఇప్పుడు ఇక్కడ చర్చించను ఎందుకంటే మనమందరం చర్చించాల్సిన లక్షణాలు సి ++ తో సిద్ధంగా లేవు . - 139. మనకు అలాంటి సోపానక్రమం (సోపానక్రమం) ఉంటే దాన్ని ఎలా సాధారణీకరించాలి మరియు ఫోన్ యొక్క భావనను చూడండి. - 140. కాబట్టి, ఫోన్ యొక్క ప్రాథమిక భావన ఏమిటంటే నేను కాల్ చేయగలను, నేను సమాధానం చెప్పగలను మరియు నేను మళ్ళీ డయల్ చేయవచ్చు. - 141. కాబట్టి, నేను ఒక నైరూప్య ఫోన్ గురించి ఆలోచించగలను, ఇది అన్ని రకాల ఫోన్‌ల సాధారణీకరణ. - 142. అందువల్ల, నేను ల్యాండ్‌లైన్ ఫోన్‌ను ISA ఫోన్ అని పిలుస్తాను, ఇది అన్ని రకాల ఫోన్‌లలో కనిపించని భాగం. - 143. అప్పుడు ఒక మొబైల్ ఫోన్ (ISA), ల్యాండ్‌లైన్ ఫోన్ మరియు స్మార్ట్ ఫోన్, ISA, మొబైల్ ఫోన్ మరియు మొదలైనవి మరియు మీ సోపానక్రమం యొక్క మూలంలో (సోపానక్రమం) సంగ్రహణను నిర్వచించగలగడం వల్ల చాలా ప్రయోజనాలు ఉన్నాయి, ఇది మా చర్చకు సంబంధించిన అంశం మాడ్యూల్. - 144. పాలిమార్ఫిజం, కానీ మీరు పూర్తి ఫోన్ సోపానక్రమం (సోపానక్రమం) ను సృష్టించగలరని చూపించేది మరియు మీ కోసం నా ఉద్దేశ్యం ఏమిటంటే, అది చాలా సరళంగా కనిపిస్తే అది బహుళ-స్థాయి సాధారణ సోపానక్రమం (సోపానక్రమం). - 145. అప్పుడు మీరు ఫోన్‌లు ఎలా ఉంటాయనే దానిపై మీ దృష్టిని కొంత వాస్తవికంగా మార్చాలనుకుంటున్నారు. - 146. కాబట్టి, మీకు ల్యాండ్‌లైన్ ఫోన్ ఉంది, ఇది కార్డ్‌లెస్ హ్యాండ్ సెట్ ఫోన్ కావచ్చు లేదా అది స్పీకర్ ఫోన్ కావచ్చు. - 147. మీకు మొబైల్ ఫోన్ ఉన్నప్పుడు, ఇది కార్డ్‌లెస్ ఫోన్ అలాగే స్పీకర్ ఫోన్ ఎందుకంటే మీరు దీన్ని రెండు వైపుల నుండి ఉపయోగించవచ్చు, ఈ రోజుల్లో లాంచ్ చేయబడిన వీడియో ఫోన్లు ఉన్నాయి. - 148. కాబట్టి, మీరు నిజంగా వీడియో కాల్స్ చేయగలరు మరియు తరువాత మేము చూసిన మొబైల్ ఫోన్‌ల యొక్క స్పెషలైజేషన్‌గా మీకు స్మార్ట్ ఫోన్‌లు ఉన్నాయి, కాని అవి ఐ-ఫోన్ లేదా ఆండ్రాయిడ్ ఫోన్ నుండి వచ్చాయా లేదా నేను కొంత రకాన్ని పొందవచ్చా అనే దానిపై అవి మళ్లీ నిర్దిష్టంగా ఉన్నాయి. టాబ్లెట్ ఫోన్‌ను స్మార్ట్ ఫోన్‌గా, వీడియో ఫోన్‌గా ఉపయోగించవచ్చు. - 149. అందువల్ల, ఈ సోపానక్రమం (సోపానక్రమం) ఆధారంగా మనం ఇంట్లో ప్రయత్నించవచ్చు మరియు ఈ సోపానక్రమం (సోపానక్రమం) లో భాగమైన C ++ వారసత్వ తరగతుల (క్రమానుగత) సమితిని నిర్మించడానికి ప్రయత్నించవచ్చని నేను సూచిస్తున్నాను. - 150. కాబట్టి, క్లుప్తంగా, వాస్తవ పరిస్థితుల కోసం సమర్థవంతమైన C ++ కోడ్ మోడల్‌ను రూపొందించడానికి వారసత్వం ఎలా ఉపయోగపడుతుందో ఇక్కడ చూపించడానికి మేము ఫోన్ సోపానక్రమం (సోపానక్రమం) ను ఉపయోగించవచ్చు. - 151. + ప్రోగ్రామింగ్  C ++ లో మాడ్యూల్ 24 కు స్వాగతం. + గత రెండు మాడ్యూల్స్ నుండి మేము C ++ లో ఇన్హెరిటెన్స్ గురించి చర్చిస్తున్నాం. + మేము ఇన్హెరిటెన్స్ ప్రాథమిక డెఫినిషన్(definition) మరియు స్ట్రక్చర్(structure) అర్థం చేసుకున్నాము మరియు ఈ మాడ్యూల్లో ఆ కనెక్షన్లో మేము ఈరోజును ఉపయోగించే ఫోన్ల హైరార్కి(hierarchy) యొక్క ఉదాహరణను రూపొందించడానికి ప్రయత్నిస్తాము. + ఈ మాడ్యూల్ సమయంలో, మనం వాస్తవానికి విభిన్న భావనల యొక్క నైరూప్య రూపాన్ని ఎలా తీసుకోవచ్చో చూపించాలనుకుంటున్నాము, C ++ లో ఉన్నవారికి క్లాస్ మాడ్యూల్‌ను సృష్టించడానికి ప్రయత్నించండి, C ++ కోడ్ సందర్భంలో ఫలిత సోపానక్రమం (సోపానక్రమం) అమర్చండి మరియు సృష్టించండి విస్తరణకు అవకాశాలు. + కాబట్టి, నేను చెప్పినట్లుగా, ఫ్రేమ్‌వర్క్ పరంగా, వారసత్వం యొక్క ప్రాథమిక స్థాయిలో మేము చర్చిస్తున్న మొత్తం ఫ్రేమ్‌వర్క్, మేము ఇప్పటికే OOAD మోడలింగ్‌లో ISA సంబంధం గురించి మాట్లాడుతున్నాము. రెండు లేదా అంతకంటే ఎక్కువ C ++ తరగతుల పరంగా ISA సంబంధాన్ని వ్యక్తీకరించడానికి, దాని ఆధారంగా మనకు డేటా సభ్యులు (సభ్యులు) ఉన్నారు.), వారసత్వం, సభ్యుల ఫంక్షన్ల వారసత్వం కోసం వివరణాత్మక అర్థాలను నిర్వచించింది. + ఒక తరగతి మరొక బేస్ క్లాస్ నుండి ఉద్భవించినప్పుడు అది వారసత్వంలోని అన్ని డేటా (సభ్యులు) మరియు సభ్యుడు (ఫంక్షన్లు) ను తిరిగి ఇస్తుందని మేము చూశాము. + మరియు సభ్యుడు (ఫంక్షన్లు) ఫంక్షన్లను ఒకే సంతకంతో వాటిని ఓవర్రైట్ చేయడానికి పునర్నిర్వచించవచ్చు లేదా సభ్యుల (సభ్యుడు) ఫంక్షన్ల (ఫంక్షన్లు) యొక్క నిర్వచనాలను ప్రస్తుత పేరుతో లేదా మనకు లభించిన పేరును లోడ్ చేయడానికి ఆ సంతకం ఫంక్షన్ (ఫంక్షన్) ను ప్రదర్శించవచ్చు. మేము ఇంతకు ముందు చేయగలిగిన విభిన్న సంతకాలతో వారసత్వం. + అలాగే, క్రొత్త సభ్యులను (డేటా) ఎలా జోడించాలో మేము చూశాము, బేస్ క్లాస్ నుండి డేటా (డేటా) కు యాక్సెస్ మరియు సభ్యుడు (క్లాస్) క్లాస్ యొక్క యాక్సెస్ (ఫంక్షన్లు) ఉన్నాయి. ప్రొటెక్టెడ్ అని పిలువబడే స్పెసిఫైయర్, ఇది ఉత్పన్న తరగతులకు ప్రత్యేక సెమాంటిక్స్ కలిగి ఉంది. + ఉత్పన్నమైన తరగతుల కోసం, ఆధార్ యొక్క అన్ని రక్షిత డేటా (సభ్యుడు) ప్రాప్యత చేయగలదు, అయితే ఈ రక్షిత డేటా (సభ్యుడు) బాహ్య విధులు మరియు ఇతర తరగతులకు అందుబాటులో ఉండదు. హుహ్. + నిర్మాణం మరియు విధ్వంసం ప్రక్రియ మరియు వస్తువు జీవిత సమయం కూడా చూశాము. + ఆ ump హలన్నింటినీ ఉపయోగించి, ఫోన్‌ల సమితి కోసం ప్రాథమిక మాడ్యూల్ నిర్మాణం నిర్మాణం గురించి ఇప్పుడు చర్చిస్తాము. + అందువల్ల, మేము ఫోన్‌ల మోడల్ సోపానక్రమం (సోపానక్రమం) తో ప్రారంభిస్తాము మరియు మన ప్రపంచాన్ని తయారుచేసే మూడు రకాల ఫోన్‌లు ఉన్నాయని by హించడం ద్వారా ప్రారంభిస్తాము. + ల్యాండ్‌లైన్ ఫోన్లు, సాధారణంగా, మేము 20 సంవత్సరాల క్రితం, 30 సంవత్సరాల క్రితం ఉపయోగిస్తున్నాము. + ఈ రోజుల్లో మూగ మొబైల్ ఫోన్ అని పిలువబడే మొబైల్ ఫోన్, మన జీవితాలను ఆక్రమించే అన్ని స్మార్ట్‌ఫోన్‌ల యొక్క పరిమితం చేయబడిన విధులు మరియు వైవిధ్యాల కోసం మాత్రమే చేయగలదు. + కాబట్టి, దీన్ని చేసే ప్రక్రియలో, మేము మొదట సహాయక తరగతుల సమితిని సృష్టిస్తాము, ఈ సహాయక తరగతులలో మనం నిర్వహించాల్సిన లక్షణాల కోసం వివిధ రకాలు ఉంటాయి, తరువాత మేము ప్రతి ఫోన్‌ను విడిగా మోడల్ చేస్తాము. + వీటిలో ప్రతిదానికీ, మేము తరగతి వివరణ యొక్క రూపురేఖలను వ్రాయడానికి ప్రయత్నిస్తాము, ఆ తరువాత, ఈ ఫోన్‌లలో నైపుణ్యం యొక్క కొన్ని స్వాభావిక సోపానక్రమం (సోపానక్రమం) ఉందని మేము చూస్తాము, మేము ఈ కోడ్‌ను సి ++ వారసత్వ సోపానక్రమాలలో ఎలా మిళితం చేస్తాము ( సోపానక్రమం) మరియు ఇది మొత్తం నమూనాను ఎలా సులభతరం చేస్తుంది. + అందువల్ల, ప్రారంభించడానికి మనకు మొదటి సహాయక తరగతుల సమితి ఉంది. + కాబట్టి, నేను ఈ తరగతుల వివరాలను చేర్చలేదు, మీరు ఆ వ్యక్తులకు పని ఇవ్వవచ్చు. + సహజంగానే, ఒక తరగతికి భారతదేశంలో మనకు తెలిసినట్లుగా ఫోన్ నంబర్ మరియు ఫోన్ నంబర్‌ను సూచించాల్సిన అవసరం ఉంది, ఫోన్ నంబర్ దేశ కోడ్‌తో సహా 12 అంకెలు. + కాబట్టి, ఇది రాశిచక్ర రకం, ఇది 12-అంకెల సంఖ్యను సూచిస్తుంది.వాస్తవానికి ఫోన్ సభ్యుడిని తీసుకుంటున్న చందాదారుడి పేరు మాకు అవసరం, మా పరిచయాలకు, మేము కాల్ చేయాలనుకునే వ్యక్తులకు కూడా పేరు అవసరం. + మా పరిచయాల చిత్రాలను కలిగి ఉండటానికి మాకు ఒక నిబంధన ఉంది, కాబట్టి ఫోటోల రూపంలో కొన్ని సహాయక తరగతి ఉంటుంది, ఇది చిత్రం మరియు చిత్రం కోసం ప్రత్యామ్నాయ వచనాన్ని కలిగి ఉంటుంది మరియు అందువల్ల మనకు రింగ్‌టోన్, ఆడియో ఫైల్ (ఆడియో ఫైల్) నిర్వచించే తరగతి ఉంది. ) మరియు ఆ రింగ్‌టోన్ పేరు (రింగ్‌టోన్). + మేము పరిచయం కోసం సహాయక తరగతిని కలిగి ఉంటాము, కనీస సంప్రదింపు సమాచారం ఫోన్ నంబర్ మరియు పేరు మరియు ప్రత్యామ్నాయంగా మేము ఆ పరిచయం యొక్క ఫోటోను కూడా కలిగి ఉండవచ్చు. + వాస్తవానికి, హోదా, కంపెనీ వంటి అనేక ఇతర సాధ్యం. + మేము ఇప్పుడు దాన్ని సరళీకృతం చేస్తున్నాము. + మేము ఇప్పుడే దీనిని సాధారణంగా ఉంచుతున్నాము. + చివరగా, మనకు సహాయక వర్గ చిరునామా పుస్తకం ఉంటుంది, ఇది బహుశా మా ఫోన్‌లలో సృష్టించే మరియు నిర్వహించే పరిచయాల సెట్‌లు లేదా పరిచయాల జాబితా. + అందువల్ల, ఇవి ప్రాథమిక సహాయక తరగతుల సాధారణ సెట్లు, ఇవి రూపకల్పనతో కొనసాగండి. + కాబట్టి, మొదట మేము ల్యాండ్‌లైన్ ఫోన్‌ను మోడల్ చేయాలనుకుంటున్నాము. + మేము ల్యాండ్‌లైన్ ఫోన్‌ను మోడల్ చేయాలనుకున్నప్పుడు, నా వద్ద ల్యాండ్‌లైన్ ఫోన్ ఉంటే మేము గుర్తించాము; ఏదేమైనా, ఆదిమ మీరు సంవత్సరాల క్రితం ఉపయోగించే రొటేటింగ్ డయల్‌లతో ఆ బ్లాక్ హెవీ సెట్‌ల గురించి ఆలోచించవచ్చు. + ల్యాండ్‌లైన్ ఫోన్ తప్పక మద్దతు ఇవ్వవలసిన ప్రాథమిక కార్యాచరణ కాల్‌లు చేయగల సామర్థ్యం మరియు తిరిగి కాల్ చేసే సామర్థ్యం. + కాబట్టి, మాకు కాల్ కార్యాచరణ ఉంది మరియు మాకు సమాధానం ఇచ్చే కార్యాచరణ ఉంది, అది లేకుండా ఫోన్ నిర్వచించబడలేదు. + కాబట్టి, నాకు అది ఉంటే, మేము ఈ ఫోన్ కోసం క్లాస్ రూపకల్పన చేస్తున్నప్పుడు, మేము ఈ మోడల్‌ను రూపొందించడానికి ప్రయత్నిస్తున్నాము. + నేను దీనికి ఒక పేరు ల్యాండ్‌లైన్ ఫోన్ ఇచ్చాను మరియు కాల్ యొక్క కార్యాచరణ కోసం, నేను క్లాస్‌లో కాల్ మెథడ్, కాల్ మెంబర్ (క్లాస్) ఫంక్షన్‌ను ప్రారంభించాను మరియు కాల్ చేయగలిగేలా ఆ సంఖ్య మాకు అవసరం. అవసరం మనకు అవసరం పిలుచుట. + కాబట్టి, ఫోన్ నంబర్ ఈ కాల్ సభ్యుల ఫంక్షన్ యొక్క పరామితి అవుతుంది. + అదేవిధంగా, ఒక కాల్ వస్తే, మేము ఆ కాల్‌కు సమాధానం ఇవ్వాలి, ఫోన్ కాల్‌కు సమాధానం ఇచ్చే ఫంక్షన్‌కు సభ్యుడు (ఫంక్షన్) సమాధానం. + డేటా సభ్యుల విషయానికొస్తే, ప్రతి ల్యాండ్‌లైన్ ఫోన్ యొక్క మన స్వంత సంఖ్యను ఖచ్చితంగా కలిగి ఉండాలి, దానిని పిలవగల సంఖ్య. + కాబట్టి, మనకు సభ్యుడు ఉంటాడు, ఫోన్ ఎవరైనా చందాదారుడు, కాబట్టి ఇది చందాదారుడి పేరు మరియు మనకు రింగ్‌టోన్ ఉండవచ్చు, ఇది చాలా పాత ఫోన్‌కు పరిష్కరించబడింది రింగ్‌టోన్ అంటే మనం సాధారణంగా క్రింక్ క్రింక్ సౌండ్ అని పిలుస్తాము, ఫోన్ యొక్క సందడిగల శబ్దం. + సహజంగానే దీని ఆధారంగా, మేము కన్స్ట్రక్టర్‌ను నిర్వచించాల్సిన అవసరం ఉంది, ఇది కనీసం పేరు మరియు సంఖ్య మరియు క్లయింట్‌ను తీసుకుంటుంది. + ఫోన్ యొక్క ఏదైనా అర్ధవంతమైన నిర్మాణం కోసం ఈ ఇద్దరు సభ్యులను ప్రారంభించాలి, ఈ రింగ్‌టోన్ యొక్క ప్రారంభాన్ని మేము ఉంచవచ్చు, ఇది అప్రమేయంగా దీనికి కొన్ని నిర్దిష్ట రింగ్‌టోన్ ఉందని చెప్పారు. + ఇప్పుడు, ఈ ప్రత్యేకమైన ల్యాండ్‌లైన్ ఫోన్ ఆబ్జెక్ట్ గురించి సమాచారాన్ని చొప్పించడానికి ఫ్రెండ్ ఆపరేటర్ ఫంక్షన్ పరంగా మనకు ఓవర్‌లోడింగ్ ఉంటుంది. + డీబగ్గింగ్ మరియు ప్రోగ్రామింగ్ ట్రేస్ ప్రయోజనాల కోసం ఇది మరింత అవసరం, అప్పుడు వాస్తవానికి ఫోన్ యొక్క కార్యాచరణ. + కాబట్టి, ఇది సహాయక కార్యాచరణ, ఈ ప్రత్యేక తరగతితో పని చేయగలిగేలా మేము ఫ్రెండ్ ఫంక్షన్ సందర్భంలో జోడించాము. + ఇప్పుడు మొబైల్ ఫోన్లో మాట్లాడుదాం. + ఖచ్చితంగా, మొబైల్ ఫోన్‌లకు కాల్ ఫంక్షనాలిటీ ఉంటుంది, సమాధానం ఇచ్చే కార్యాచరణ, కాల్ ఫంక్షనాలిటీ పరంగా, సాధారణంగా మొబైల్ ఫోన్‌లలో, ల్యాండ్‌లైన్ ఫోన్‌లలో మాదిరిగానే మనం నంబర్‌కు కాల్ చేయగలుగుతాము. (ల్యాండ్‌లైన్ ఫోన్), కానీ ఇది కూడా సాధ్యమే మొబైల్ ఫోన్ ఒక రకమైన అడ్రస్ బుక్ వ్యవస్థను కలిగి ఉంటుంది, తద్వారా నేను పరిచయాల సమితిని ఉంచగలను మరియు నేను కొన్ని పరిచయాలను పేరు ద్వారా ఎంచుకోగలను మరియు ఆ పేరు ద్వారా నేను ఆ పరిచయాన్ని పిలుస్తాను. + కాబట్టి, కాల్స్ సందర్భంలో, మొబైల్ ఫోన్‌ల యొక్క రెండు ఎంపికల సందర్భంలో, వాటిలో ఒకటి కాల్ చేస్తోంది, ఇది ల్యాండ్‌లైన్ ఫోన్‌లో అందుబాటులో లేదు. + ఇది కాకుండా, మనకు సాధారణంగా రీడియల్ చేసే అవకాశం ఉంటుంది, సాధారణంగా చివరి నంబర్‌ను మళ్లీ డయల్ చేయడానికి మరియు చాలా మొబైల్ ఫోన్‌లలో రింగ్‌టోన్‌ను సెట్ చేసే అవకాశం మనకు ఉంటుంది.అది కూడా జరుగుతుంది. + కాబట్టి, ఇది ఖచ్చితంగా మనం ఆలోచించగలిగేది చాలా మంది, కానీ ఖచ్చితంగా మొబైల్ ఫోన్ ద్వారా. నేను చెప్పినట్లుగా నేను ప్రారంభ తరం సెల్యులార్ ఫోన్ల గురించి మాట్లాడుతున్నాను, సాధారణంగా మీలో చాలామంది నోకియా 1100 సిరీస్‌ను చూశారు మరియు ఉపయోగించారు. + మీకు ఫోన్‌ చేసే సామర్థ్యం ఉన్న ఫోన్‌లు ఇలాంటి ఫోన్‌లు, కానీ ఈ రోజు మనం చూసే అన్ని విభిన్న ఫాన్సీ ఫంక్షన్‌లు మీకు లేవు. + ఈ సరళమైన మొబైల్ ఫోన్ క్లాస్ కోసం మనం ఒక నిర్వచనాన్ని ఎలా సృష్టిస్తామో చూద్దాం, కాబట్టి మొబైల్ ఫోన్ పేరుతో ప్రతి కార్యాచరణకు ఒక తరగతిని సృష్టించాము, వారు కొంత సభ్యుల పని చేయవలసి ఉందని మేము చూస్తాము. + కాబట్టి, కాల్ కోసం మనకు సభ్యుడు (ఫంక్షన్) ఫంక్షన్ ఉంటుంది, ఇది ల్యాండ్‌లైన్ ఫోన్ క్లాస్ కోసం మేము చేసే కాల్ సభ్యుడు (సభ్యుడు) ఫంక్షన్ లాగా కనిపిస్తుంది, కాబట్టి ఫోన్ నంబర్ తీసుకొని కాల్ చేసేవాడు, కానీ ఇప్పుడు మనం చూస్తాము అదనపు కార్యాచరణ ఉందని, నేను ఒకరిని పేరు ద్వారా పిలవగలను. + కాబట్టి, మేము మరొక కాల్ సభ్యుల ఫంక్షన్‌ను ఉంచుతాము, అది ఒక వ్యక్తి పేరు మరియు కాల్‌లను తీసుకుంటుంది. + అందువల్ల, కాల్ ఫంక్షన్ యొక్క నకిలీ కారణంగా, మేము ఓవర్‌లోడ్ సభ్యుల ఫంక్షన్లను ప్రారంభించబోతున్నాం. + మాకు సమాధానం ఉంటుంది, ఇది సభ్యుల సభ్యుల సమాధానం. + సభ్యుడు (ఫంక్షన్) ఫంక్షన్‌ను రీడియల్ చేయగలిగేలా మేము రేడియల్ సభ్యుడు (సభ్యుడు) ఫంక్షన్‌ను పరిచయం చేస్తున్నాము. + రింగ్‌టోన్‌ను సెట్ చేయడానికి, నేను సెట్ చేయదలిచిన నిర్దిష్ట రింగ్‌టోన్‌ను తప్పనిసరిగా తీసుకోవాలి మరియు నా పరిచయ పుస్తకానికి కొత్త పరిచయస్తులను జోడించడానికి, నాకు సంఖ్యను పేర్కొనవలసిన అవసరం ఉన్న ఒక అదనపు పరిచయం అవసరం మరియు నేను వ్యక్తి పేరును పేర్కొనాలి. + కాబట్టి, దీనితో, తరగతి పేరును నిర్ణయించిన తరువాత మనం ప్రారంభించినప్పుడు, ఇవి మనకు పూర్తి చేసే మొదటి విషయాలు, మనకు ఇంటర్ఫేస్ ఇస్తుంది, ఈ తరగతి (తరగతి) అని మేము చెప్పినట్లుగా, ఇది ప్రాథమిక కార్యాచరణ, తరగతి, సమితి తరగతి కోసం కార్యకలాపాలు. + దీన్ని పేర్కొన్న తరువాత, మేము ఇప్పుడు తరగతుల యొక్క అంతర్గత భాగాలను పరిశీలిస్తాము, నేను ఈ సభ్యుడు (ఫంక్షన్లు) ఫంక్షన్లకు మద్దతు ఇవ్వవలసి వస్తే, నాకు అవసరమైన కార్యాచరణకు, డేటా సభ్యులకు నేను మద్దతు ఇవ్వవలసి వస్తే, నాకు ఏమి కావాలి (సభ్యులు) కావాలా? ఇది జరిగినప్పుడు, నాకు మునుపటిలా ఫోన్ సంఖ్య అవసరం, ఈ ప్రత్యేకమైన మొబైల్ ఫోన్‌ను యాక్సెస్ చేయడానికి నాకు చందాదారుల పేరు కావాలి, సభ్యుడు) ఇవ్వబడింది మరియు మొబైల్ ఫోన్‌గా ఉండటానికి అవకాశం ఉంది, ఇది సెట్ చేసే అవకాశం ఉంటుంది విభిన్న రింగ్‌టోన్ (రింగ్‌టోన్) కాబట్టి నాకు రింగ్‌టోన్ సభ్యుడు ఉన్నారు. + కాబట్టి, ఇవి మనం ఇంతకుముందు చూసినట్లుగా ఉంటాయి, కాని ఇప్పుడు మన ఫోన్‌లో రిఫరెన్స్ ఉంచే అవకాశం ఉందని మేము have హించాము. + అందువల్ల, నాకు చిరునామా పుస్తకం అవసరం. + కాబట్టి, ఒక పుస్తకం ఉంచే సభ్యుడు, ఇది ఒక చిరునామా పుస్తకం, ఇది నేను తరచుగా సూచించదలిచిన జాబితాను లేదా పరిచయాల సమితిని ఉంచుతుంది. + కాబట్టి, నేను యాడ్ కాంటాక్ట్ చేస్తే, ఇది ప్రాథమికంగా ఇక్కడ పరిచయాన్ని జోడిస్తుంది మరియు నాకు ఒక ఫీచర్ కూడా అవసరం, అప్పుడు నేను రీడియల్ చేయాలనుకుంటున్న ఇంటర్ఫేస్ను అందించాలి, నేను చివరిగా డయల్ చేసిన సంఖ్యను మళ్లీ డయల్ చేయాలి. + కాబట్టి, నేను డయల్ చేసిన చివరి సంఖ్య ఏమిటో గుర్తుంచుకోవడానికి నాకు సభ్యుడు కావాలా? కాబట్టి, ఈ డేటా సభ్యుడిని (సభ్యుడిని) తీసుకువచ్చేది కాకుండా నాకు వేరే ఏదైనా అవసరం కావచ్చు; కాబట్టి ఈ కార్యాచరణకు నేను మద్దతు ఇవ్వవలసిన ప్రాథమిక డేటా సభ్యులు మరియు దానికి అదనంగా నాకు మరికొంత మంది సభ్యులు (ఫంక్షన్లు) అవసరం, ఉదాహరణకు, మనం అనుకుంటే మనం రీడియల్ చెప్పండి. + కాబట్టి, నేను రీడియల్ గురించి ఆలోచిస్తే, నేను రీడియల్ చేయాలనుకుంటే నేను కాల్ చేయాలి; ఇది చివరి డయల్. + అందువల్ల, నేను ఈ సభ్యుడిని (ఫంక్షన్) పిలవాలి. + కాబట్టి, నేను కాల్ చేయాలి, రీడియల్ చివరి డయల్ అవుతుంది మరియు ఇది నా ప్రాథమిక రీడియల్ కార్యాచరణ అవుతుంది. + అందువల్ల, ఈ డేటా (సభ్యుడు) సభ్యుడిని సెట్ చేయడానికి నాకు ఒక మార్గం కావాలి, ఈ డేటా (సభ్యుడు) సభ్యుడిని గుర్తుంచుకోవడానికి నాకు ఒక మార్గం కావాలి. + కాబట్టి దీని అర్థం ఏమిటి? దీని అర్థం నేను కొంత నంబర్‌ను డయల్ చేస్తున్నప్పుడు, నేను గుర్తుంచుకోవలసిన కొంత నంబర్‌కు కాల్ చేస్తున్నాను. + కాబట్టి, నేను కాల్ మెంబర్ ఫంక్షన్ యొక్క కాల్ ఫంక్షనాలిటీని పరిశీలిస్తే, ఫోన్ నంబర్ * రకాన్ని అడగండి, అప్పుడు నాకు కావలసింది ఈ ప్రత్యేకమైన చివరి డయల్ ఫంక్షన్ (ఫంక్షన్) ను సెట్ చేయడం; చివరి డయల్ నంబర్ కాబట్టి, ఇక్కడ నేను ఈ సభ్యుడిని (ఫంక్షన్) చేర్చుకుంటాను, ఇది నా కాల్ పద్ధతిలో అమలు చేస్తాను. + అదేవిధంగా, నేను రెండవ కాల్‌ను అమలు చేసినప్పుడు, ఓవర్‌లోడ్ కాల్ పద్ధతిని కూడా అమలు చేస్తాను, ఇది చివరి డయల్ చేసిన సంఖ్యను సెట్ చేస్తుంది. + ఇప్పుడు, నేను దీన్ని చేయడానికి ప్రత్యేక సభ్యుల పని చేస్తున్నానా అని మీరు ఆశ్చర్యపోవచ్చు? నేను చివరి డయల్ లేదా చివరి డయల్ మాత్రమే కేటాయించగలనా అనేదానికి బదులుగా దీన్ని చేయడం ఇతర ఎంపిక.+ + నేను దీన్ని p కి సెట్ చేయగలను ఎందుకంటే ఇది అందరి డొమైన్‌లో అన్ని మొబైల్ ఫోన్ క్లాస్‌ల మాదిరిగానే ఉంటుంది. + నేను ప్రారంభించడానికి సభ్యుల ఫంక్షన్ కలిగి ఉంటానని నేను అనుకుంటున్నాను, ఎందుకంటే నేను ఈ చివరి డయల్ నంబర్‌ను సెట్ చేసినప్పుడు, చివరి డయల్ నంబర్‌తో మరికొన్ని లక్షణాలను ఉంచాలనుకుంటున్నాను, ఉదాహరణకు, నేను దీన్ని చివరిగా డయల్ చేసినప్పుడు కూడా గుర్తుంచుకోవాలనుకోవచ్చు. వ్యక్తి. + చివరి కాల్ యొక్క విధి ఏమిటో నేను గుర్తుంచుకోవాలనుకుంటున్నాను, అది తప్పిపోయినా లేదా తప్పిపోయినా మరియు అది నేను పిలిచిన కాలం మరియు అంతకు మించి ఉంటే. + వాస్తవ కార్యాచరణను అనేక రకాలుగా విస్తరించవచ్చు. + అందువల్ల, ఈ చివరి డయల్ నంబర్‌ను సెట్ చేయడం కంటే ఇది చాలా ఎక్కువ. + అందువల్ల, సభ్యుల పని సందర్భంలో నేను ఈ నమూనాను రూపొందించడానికి ప్రయత్నిస్తాను. + కాబట్టి, ఇది ఒక నిర్దిష్ట శైలి, మనం తరచూ అనుసరించడానికి ప్రయత్నిస్తాము, మనం కొంతమంది సభ్యుడిని, సభ్యుడిని సెట్ చేయాలనుకున్నప్పుడు లేదా తరగతి సభ్యుడు (సభ్యుడు) కొన్ని సార్లు ఉండవచ్చు, మేము ఫంక్షన్ నుండి కొంత డేటా సభ్యుడిని కూడా పొందవచ్చు, అప్పుడు మనం చేయవచ్చు మేము నేరుగా సెట్ చేస్తామా లేదా కొన్ని ప్రైవేట్ సభ్యుల (సభ్యుడు) ఫంక్షన్లను (ఫంక్షన్లు) సెట్ చేయవచ్చో imagine హించుకోండి. + కాబట్టి అదనపు కార్యాచరణ ఉంటే ఆ కార్యాచరణలు కూడా నెరవేరుతాయి. + ఇప్పుడు, సహజంగానే మనకు ఈ విధంగా అనిపిస్తే, మొబైల్ ఫోన్ క్లాస్‌లో ఈ సభ్యుడు (ఫంక్షన్) ఉండాల్సిన అవసరం ఉంది మరియు ఈ సభ్యుడు (సభ్యుడు) ఫంక్షన్ బహిరంగంగా ఉండాలి అనే ప్రశ్న ఉంది, సమాధానం లేదు, ఎందుకంటే మనకు ఇప్పటికే ఉంది ఇంటర్ఫేస్ను నిర్వచించారు. + ఇంటర్ఫేస్ ఇతర బాహ్య తరగతులను మరియు గ్లోబల్ ఫంక్షన్‌ను ప్రాప్యత చేయగలదని మేము కోరుకుంటున్నాము, ఎందుకంటే మీ వద్ద ఉన్న ఫోన్ యొక్క వీక్షణ మీకు ఉంది. + కాబట్టి, మీరు భౌతిక ఫోన్ గురించి ఆలోచిస్తే, మీకు కీబోర్డ్ లేదా గ్రాఫిక్స్ డిస్ప్లే, మీ టచ్ స్క్రీన్, ఫోన్‌లో ఈ ఇంటర్ఫేస్ కార్యకలాపాలన్నింటినీ చేసే ఎంపిక ఉంది, కానీ మీరు నిజంగా ఏదైనా కార్యాచరణను చూస్తున్నారా, ఇక్కడ మీరు చివరి డయల్ నంబర్‌ను సెట్ చేయవచ్చు , మీరు దీన్ని చేయనందున అలా చేయరు. + ఇది ఫోన్‌కు అంతర్గతంగా ఉంటుంది మరియు అందువల్ల, అటువంటి సభ్యుల విధులు ప్రైవేట్‌గా ఉంటాయి మరియు ఇది ఇంటర్ఫేస్ కోసం అని మేము చెప్పినట్లుగా, ఈ సభ్యుల విధులు అమలు కోసం. + కాబట్టి, డిజైన్‌లో మీరు ఈ వ్యత్యాసాన్ని స్పష్టంగా గుర్తుంచుకోవాలి. + అదేవిధంగా మీరు ఎవరినైనా పిలిచినప్పుడు డయల్ చేసేటప్పుడు షో నంబర్ వంటి మరొక సభ్యుని పనిని నేను కలిగి ఉండగలను, మీరు మీ కాలింగ్ నంబర్ చూపించాలనుకుంటున్నారా లేదా కాల్ వచ్చినప్పుడు ఫోన్ రింగ్ అవుతుంది. ఉంది మరియు మీరు ఆ సంఖ్యను చూడటానికి సమాధానం ఇవ్వాలనుకుంటున్నారు. మిమ్మల్ని పిలుస్తోంది. + కాబట్టి, షో నంబర్ () అనేది ఈ ప్రవర్తన అంతా చేయబోయే సభ్యుల ఫంక్షన్. + మీకు అవసరమైన అనేక అదనపు సభ్యుల పనులు ఉంటాయి, కాని నేను ఇప్పుడే, తరగతి యొక్క ప్రైవేట్ భాగంలో చాలా సభ్యుల విధులు ఉండగల మార్గాన్ని వివరించడానికి నేను మీకు రెండు ఉదాహరణలు ఇవ్వబోతున్నాను, ఇవి ప్రాథమికంగా సహాయక విధులు మీరు బహిరంగ ప్రదేశంలో సాధ్యం చేయకూడదనుకునే ఇంటర్‌ఫేస్‌లు మరియు ఇతర సహాయక విధులను గ్రహించడం. + అదేవిధంగా, ఈ కాల్ గురించి మనం కొంచెం మాట్లాడవచ్చు, ఇది ప్రాథమికంగా కాల్ () అని పిలువబడే వ్యక్తి. + కాబట్టి, నేను కలిగి ఉంటే మనకు ఏ కార్యాచరణ అవసరం? ఖచ్చితంగా, మాకు అవసరం, నన్ను క్షమించండి, అది n గా ఉండాలి. + కాబట్టి, ఈ వ్యక్తి సంఖ్య ఏమిటో నేను నిజంగా తెలుసుకోవాలి. + కాబట్టి, చిరునామా పుస్తకం నుండి నంబర్ ఎందుకు పొందాలో నేను పరిశీలిస్తాను. + కాబట్టి, చిరునామా పుస్తకంలో ఒక విధమైన శోధన () సభ్యుల ఫంక్షన్ ఉంటుందని నేను అనుకోవాలి, దీనికి పేరు ఉంది మరియు నాకు ఫోన్ నంబర్ ఇస్తుంది. + కాబట్టి, నేను దానికి సంబంధించి ఫోన్ నంబర్‌ను తిరిగి ఇవ్వగలను మరియు అది తిరిగి వచ్చిన తర్వాత ఫోన్ నంబర్ ఆధారంగా కాల్ చేయగల మరొక ఇంటర్ఫేస్ ఫంక్షన్‌ను ఉపయోగించవచ్చు. + వాస్తవ కార్యాచరణను గ్రహించడానికి మేము ఈ కాల్‌ను ఉపయోగించవచ్చు, ఎందుకంటే మీరు ఈ రెండు ఓవర్‌లోడ్ సభ్యుల (ఫంక్షన్‌ల) మధ్య చూస్తే, ప్రాథమిక కార్యాచరణ అనేది ముందు ఒకరు గ్రహించిన కాల్ మరియు మీ కార్యాచరణకు జోడించబడినది మీరు కాల్ చేయాలనుకుంటున్న ఫైండర్ మరియు ఇక్కడ మరొక ఫంక్షన్ ద్వారా గ్రహించిన కాల్ చేయండి. + కాబట్టి, ఇక్కడే మీరు శోధన చేయడానికి కోడ్ వ్రాస్తారు మరియు మీరు నిజంగా కాల్ చేస్తారు మరియు మీరు డిజైనింగ్‌తో ఎలా ముందుకు సాగాలి మరియు మీరు మీ శోధనను కొనసాగిస్తున్నప్పుడు నేను మీకు సహాయక తరగతుల వివరణ ఇవ్వను అని చెప్పాను. ఇంటర్‌ఫేస్‌లు, వాటి సభ్యుల విధులు మీ డిజైన్ నుండి ఉద్భవించాయి ఎందుకంటే చిరునామా పుస్తకం కోసం ఈ అవసరాన్ని మాత్రమే మేము చూశాము. + కాంటాక్ట్ బుక్ మొదలైనవాటిని జోడించాల్సిన అవసరాన్ని మేము చూశాము. + కాబట్టి, ఇది చిరునామా పుస్తక తరగతిలో ఉండవలసిన అన్ని విభిన్న ఇంటర్ఫేస్ పద్ధతులను పొందుతుంది. + ఇదే విధమైన తర్కంతో ఇతర సహాయక తరగతుల విభిన్న ఇంటర్ఫేస్ అవసరాలను కూడా మీరు కనుగొనవచ్చు. + కాబట్టి, మొబైల్ ఫోన్ క్లాస్ గురించి మాకు చాలా వివరణాత్మక వివరణ ఉంది. + కాబట్టి, మొబైల్ ఫోన్‌లకు సంబంధించి స్మార్ట్ ఫోన్‌లకు వెళ్దాం, నేను స్మార్ట్ ఫోన్‌లను చాలా సింపుల్‌గా ఉంచాను; ఇది టచ్ స్క్రీన్ ద్వారా కాల్స్ చేయవచ్చు. + స్మార్ట్ ఫోన్‌లలో సాధారణంగా టచ్‌స్క్రీన్ ఉండే లక్షణం ఉంటుంది. + కాబట్టి, ఇంతకు ముందు నేను కీప్యాడ్ ఉన్న మొబైల్ ఫోన్ నుండి కాల్ చేస్తున్నాను. + ఇప్పుడు, నేను టచ్ స్క్రీన్‌తో పిలుస్తున్నాను, ప్రాథమిక కార్యాచరణ అదే. + అందువల్ల, నేను ఇప్పుడు డిజైన్ అవసరాలు మరియు తరగతి గది రూపకల్పనను కలిసి చూపిస్తున్నాను. + కాబట్టి, నేను ఒక నంబర్‌కు కాల్ చేసినా లేదా నేను పేరు చెప్పినా ప్రాథమిక అవసరం అలాగే ఉంటుంది, కాని నేను ఈ రెండింటినీ మళ్ళీ ఉంచాలి, ఇవి ఓవర్‌లోడ్ అయ్యాయి, కానీ ఇప్పుడు మీరు ఈ ఓవర్‌రైడింగ్ ఇక్కడ గ్రహించటం ప్రారంభించాలి ఎందుకంటే నేను ఇక్కడ పరిస్థితులు తలెత్తే అవకాశం ఉంది ఫోన్ నంబర్‌కు కాల్ చేయగల సామర్థ్యం ఉన్న అదే కార్యాచరణను కలిగి ఉండండి, కానీ ఆ కార్యాచరణలో మారుతున్నది ఈ ఫంక్షన్ అమలు. + ఇంతకుముందు ఇది కీప్యాడ్ ద్వారా జరిగింది, ఇప్పుడు ఇది టచ్ స్క్రీన్ ద్వారా. + నాకు సమాధానం ఉంది, రీడియల్స్ అన్నీ మేము మొబైల్ ఫోన్ల కోసం చర్చించినట్లుగా ఉంటాయి. + AddContact () పరంగా, ఇది ఇప్పుడు టచ్ స్క్రీన్ స్మార్ట్ డిస్‌ప్లేను కలిగి ఉంది. + అందువల్ల, నేను బహుశా నా పరిచయాల చిత్రాలను కూడా జోడించాల్సి ఉంటుంది. + అందువల్ల, ఇంటర్ఫేస్ చాలా సారూప్యంగా కనిపిస్తుంది, దీనికి తిరిగి అమలు చేయాల్సిన అవసరం ఉన్నప్పటికీ, ఈ డేటా సభ్యులు మేము మొబైల్ ఫోన్లలో చేసినదే. + ఈ పద్ధతులు, ప్రైవేట్ పద్ధతులు కూడా సారూప్యంగా ఉంటాయి, అయితే నేను అదనపు డేటా సభ్యులను కలిగి ఉండవచ్చు, ఇది స్మార్ట్ ఫోన్ అయితే స్మార్ట్ ఫోన్‌ను కనుగొనే ముఖ్య ప్రమాణాలలో ఒకటి ప్రదర్శన పరిమాణం, ఇది 7 అంగుళాల ఫోన్, ఇది ఆరున్నర అంగుళాల ఫోన్ మరియు మొదలైనవి. + అందువల్ల, నేను సైజు చేయాలనుకుంటున్నాను, నేను కాల్ చేస్తున్నప్పుడు లేదా నేను కాల్‌కు సమాధానం ఇస్తున్నప్పుడు, నేను పిలుస్తున్న వ్యక్తి లేదా నన్ను పిలుస్తున్న వ్యక్తి యొక్క ముఖాన్ని చూడాలనుకుంటున్నాను, ఆ వ్యక్తి నా చిరునామా పుస్తకంలో ఉంటే. + కాబట్టి, స్మార్ట్ ఫోన్‌లో ప్రైవేట్ సభ్యుల ఫంక్షన్‌గా డిస్ప్లే ఫోటో () వంటి కార్యాచరణను నేను కలిగి ఉంటాను, ఇంకా చాలా మంది ఉండవచ్చు. + కాబట్టి, ఇవి ల్యాండ్‌లైన్, మొబైల్ మరియు స్మార్ట్ ఫోన్‌ల ప్రాథమిక తరగతి వివరణలు. + కాబట్టి, ఇది వారి విభిన్న కార్యాచరణ యొక్క సారాంశం మరియు మనం ఇంతకుముందు చూసినట్లుగా, తరగతుల మధ్య ఈ భావనల మధ్య సాధారణీకరణ స్పెషలైజేషన్ యొక్క బలమైన భావం ఉంది. + అందువల్ల, మనకు మొబైల్ ఫోన్ (ISA) ల్యాండ్‌లైన్ ఫోన్ మరియు స్మార్ట్ ఫోన్ (ISA) మొబైల్ ఫోన్ ఉన్నాయని త్వరగా తేల్చవచ్చు మరియు ఇప్పుడు మనం మొత్తం కార్యాచరణను చూడవచ్చు. + అంటే, మనం ఇప్పుడు ల్యాండ్‌లైన్ ఫోన్ క్లాస్ మరియు మొబైల్ ఫోన్ క్లాస్ యొక్క ఆ డిజైన్‌ను ఉంచి వాటిని వైపు నుండి చూస్తే, చాలా మంది డేటా సభ్యులు ప్రాథమికంగా సాధారణమైనవారని, కాని క్రొత్తవి మరికొన్ని ఉన్నాయని మేము చూస్తాము. + అదేవిధంగా, కొన్ని పద్ధతులు సాధారణం, కొన్ని పద్ధతులకు కొత్త సంతకాలు మరియు కొత్త అనేక ఇతర పద్ధతులు అవసరం. + అందువల్ల, ఈ పరిశీలనతో, వాస్తవానికి వాటిని ఒక సోపానక్రమం (సోపానక్రమం) సందర్భంలో కలపడానికి మరియు మన వద్ద ఉన్న డిజైన్‌ను తగ్గించడానికి ప్లాన్ చేయవచ్చు. + UML మోడల్ సందర్భంలో మాత్రమే మీరు దీన్ని ఎలా చూస్తారు? ఇది మీ మరింత అవగాహన కోసం. + కానీ ఇప్పుడు, నేను ఈ పరిశీలనను మొబైల్ ఫోన్ మరియు ల్యాండ్‌లైన్ ఫోన్‌ను వేరు చేయడానికి మాత్రమే ఉపయోగించగలను, కానీ నేను మొబైల్ ఫోన్ ISA ల్యాండ్‌లైన్ ఫోన్ (ల్యాండ్‌లైన్) ఫోన్‌ను కూడా పిలుస్తాను. + కాబట్టి, ఇక్కడ నేను వారసత్వాన్ని పరిచయం చేస్తున్నాను, నేను ఇక్కడ వారసత్వాన్ని పరిచయం చేస్తున్న తరుణంలో, ఈ డేటా సభ్యుల అవసరం ఉనికిలో లేదు ఎందుకంటే వారు బేస్ క్లాస్‌లో ఉన్నారు మరియు స్వయంచాలకంగా వారసత్వానికి చేర్చబడతారు, ఈ సభ్యులు ఖచ్చితంగా చేర్చబడతారు. + అదేవిధంగా, నేను దీన్ని చేసినప్పుడు, సమాధానం ఇవ్వబడిన విధానంలో మాకు ప్రత్యేకమైన తేడా లేదని మేము చర్చించినట్లు, మేము కాల్‌ని తీసుకొని మాట్లాడటం ప్రారంభిస్తాము. హుహ్. + అందువల్ల, ల్యాండ్‌లైన్ ఫోన్‌లో మీరు సమాధానం చెప్పే విధానం మరియు మొబైల్ ఫోన్‌లో మీరు సమాధానం చెప్పే విధానం ఒకటే అనే భావనను నేను పొందగలను. + కాబట్టి, ఈ వ్యాఖ్య జరిగింది, అంటే ఈ ప్రత్యేకమైన ఫంక్షన్ ల్యాండ్‌లైన్ ఫోన్‌లో, అసలు తరగతి నుండి వారసత్వంగా లభిస్తుంది, కాని కాల్ సందర్భంలో మనం ఇంకా ఈ సంతకాన్ని నిర్వచించాల్సిన అవసరం ఉంది. కాల్ చేయడానికి చాలా భిన్నంగా ఉంటుంది, ఉదాహరణకు, మొబైల్‌లోకి డయల్ చేయడానికి నేను ఉపయోగించగల ల్యాండ్‌లైన్ ఫోన్. + నేను ఖచ్చితంగా ఉపయోగిస్తున్నాను నేను డయల్ ఉపయోగించడం లేదు. నేను ఖచ్చితంగా కొన్ని రకాల కీప్యాడ్ కీబోర్డును ఉపయోగిస్తున్నాను మరియు ఇంకా నేను చెప్పినట్లుగా నాకు కాల్ () ఫంక్షన్ (ఫంక్షన్) యొక్క మరొక వెర్షన్ అవసరం మరియు నేను ఇక్కడ ఓవర్లోడ్ కలిగి ఉన్నాను. + కాబట్టి, దీనితో, మొబైల్ ఫోన్ క్లాస్ రూపకల్పన మరింత సరళంగా మారుతుంది. + స్మార్ట్ ఫోన్‌లతో ముందుకు సాగడానికి మేము దీన్ని ఉపయోగించవచ్చు. + నేను ఆ స్మార్ట్ ఫోన్ (ISA) మొబైల్ ఫోన్‌ను మోడల్ చేయడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, స్మార్ట్ ఫోన్ అనేది నేను వారసత్వంగా చేసే మొబైల్ ఫోన్, ఇది ల్యాండ్‌లైన్ ఫోన్‌లతో సాధారణమైనందున ఇంతకు ముందు వ్యాఖ్యానించబడింది. + స్మార్ట్ ఫోన్లలో, ఈ సభ్యులు కూడా అవసరం లేదు. + ఈ డేటా సభ్యులు (సభ్యులు) మరియు పద్ధతులు ఇకపై అవసరం లేదు ఎందుకంటే అవి మొబైల్ ఫోన్ నుండి వారసత్వంగా పొందుతాయి, కాని నేను డేటా సభ్యుడు (సభ్యుడు) మరియు సభ్యుడు (ఫంక్షన్) ఫంక్షన్‌ను పొందుతాను.), ఇవి స్మార్ట్ ఫోన్‌లకు ప్రత్యేకమైనవి. + సహజంగా సంభవించే ఈ సమాధానాలు వారసత్వంలో కనిపిస్తాయి, అయితే మొబైల్ ఫోన్‌లలో ఓవర్‌లోడ్ చేసిన కాల్ ఫంక్షన్ యొక్క రెండు వెర్షన్లు మళ్లీ భర్తీ చేయబడాలి. + ఇప్పుడు, ఇది ఓవర్‌రైడ్ చేయబడిందని మరియు అది మళ్లీ భర్తీ చేయబడుతుందని మనం చూడవచ్చు ఎందుకంటే మీరు టచ్‌స్క్రీన్ ద్వారా పిలిచే విధానం చాలా భిన్నంగా ఉంటుంది. + కాబట్టి, ఇక్కడ మొబైల్ విషయంలో స్మార్ట్ ఫోన్ విషయంలో ఓవర్‌లోడ్ అయింది. + ఇది ఇప్పుడు మీరు మొబైల్ ఫోన్‌లో ఉపయోగించిన నిర్వచనం ద్వారా భర్తీ చేయబడింది, మీరు ఇంటర్‌ఫేస్‌ను ఇకపై మార్చడం లేదు, కానీ మీకు ఖచ్చితంగా వేరే అమలు ఉంటుంది మరియు ఈ అదనపు ఫంక్షన్లన్నీ ఉంటాయి. (విధులు) ఖచ్చితంగా వారసత్వంలో కనుగొనబడతాయి. + వాస్తవానికి రీడియల్ () ను కూడా ఓవర్‌రైడ్ చేయాలి ఎందుకంటే మీ కాల్ దారి మళ్లించబడితే కాల్ ఫంక్షన్ యొక్క మరొక వెర్షన్. + కాబట్టి, కలిసి ఉంచండి, ఇప్పుడు మనకు ల్యాండ్‌లైన్ ఫోన్ ఉంది, నేను వాటిని కలిపితే, మాకు మొబైల్ ఫోన్ (ల్యాండ్‌లైన్ ఫోన్) నైపుణ్యం ఉంది. + మన దగ్గర స్మార్ట్ ఫోన్ ఉంది, ఇది మొబైల్ ఫోన్ యొక్క స్పెషలైజేషన్ మరియు క్లాస్ ఇంటర్ఫేస్ ఎలా ఉంటుంది మరియు నేను ఇక్కడ ఏమి చేస్తాను, నేను ఇప్పుడు ఇక్కడ చర్చించను ఎందుకంటే మనమందరం చర్చించాల్సిన లక్షణాలు సి ++ తో సిద్ధంగా లేవు . + మనకు అలాంటి సోపానక్రమం (సోపానక్రమం) ఉంటే దాన్ని ఎలా సాధారణీకరించాలి మరియు ఫోన్ యొక్క భావనను చూడండి. + కాబట్టి, ఫోన్ యొక్క ప్రాథమిక భావన ఏమిటంటే నేను కాల్ చేయగలను, నేను సమాధానం చెప్పగలను మరియు నేను మళ్ళీ డయల్ చేయవచ్చు. + కాబట్టి, నేను ఒక నైరూప్య ఫోన్ గురించి ఆలోచించగలను, ఇది అన్ని రకాల ఫోన్‌ల సాధారణీకరణ. + అందువల్ల, నేను ల్యాండ్‌లైన్ ఫోన్‌ను ISA ఫోన్ అని పిలుస్తాను, ఇది అన్ని రకాల ఫోన్‌లలో కనిపించని భాగం. + అప్పుడు ఒక మొబైల్ ఫోన్ (ISA), ల్యాండ్‌లైన్ ఫోన్ మరియు స్మార్ట్ ఫోన్, ISA, మొబైల్ ఫోన్ మరియు మొదలైనవి మరియు మీ సోపానక్రమం యొక్క మూలంలో (సోపానక్రమం) సంగ్రహణను నిర్వచించగలగడం వల్ల చాలా ప్రయోజనాలు ఉన్నాయి, ఇది మా చర్చకు సంబంధించిన అంశం మాడ్యూల్. + పాలిమార్ఫిజం, కానీ మీరు పూర్తి ఫోన్ సోపానక్రమం (సోపానక్రమం) ను సృష్టించగలరని చూపించేది మరియు మీ కోసం నా ఉద్దేశ్యం ఏమిటంటే, అది చాలా సరళంగా కనిపిస్తే అది బహుళ-స్థాయి సాధారణ సోపానక్రమం (సోపానక్రమం). + అప్పుడు మీరు ఫోన్‌లు ఎలా ఉంటాయనే దానిపై మీ దృష్టిని కొంత వాస్తవికంగా మార్చాలనుకుంటున్నారు. + కాబట్టి, మీకు ల్యాండ్‌లైన్ ఫోన్ ఉంది, ఇది కార్డ్‌లెస్ హ్యాండ్ సెట్ ఫోన్ కావచ్చు లేదా అది స్పీకర్ ఫోన్ కావచ్చు. + మీకు మొబైల్ ఫోన్ ఉన్నప్పుడు, ఇది కార్డ్‌లెస్ ఫోన్ అలాగే స్పీకర్ ఫోన్ ఎందుకంటే మీరు దీన్ని రెండు వైపుల నుండి ఉపయోగించవచ్చు, ఈ రోజుల్లో లాంచ్ చేయబడిన వీడియో ఫోన్లు ఉన్నాయి. + కాబట్టి, మీరు నిజంగా వీడియో కాల్స్ చేయగలరు మరియు తరువాత మేము చూసిన మొబైల్ ఫోన్‌ల యొక్క స్పెషలైజేషన్‌గా మీకు స్మార్ట్ ఫోన్‌లు ఉన్నాయి, కాని అవి ఐ-ఫోన్ లేదా ఆండ్రాయిడ్ ఫోన్ నుండి వచ్చాయా లేదా నేను కొంత రకాన్ని పొందవచ్చా అనే దానిపై అవి మళ్లీ నిర్దిష్టంగా ఉన్నాయి. టాబ్లెట్ ఫోన్‌ను స్మార్ట్ ఫోన్‌గా, వీడియో ఫోన్‌గా ఉపయోగించవచ్చు. + అందువల్ల, ఈ సోపానక్రమం (సోపానక్రమం) ఆధారంగా మనం ఇంట్లో ప్రయత్నించవచ్చు మరియు ఈ సోపానక్రమం (సోపానక్రమం) లో భాగమైన C ++ వారసత్వ తరగతుల (క్రమానుగత) సమితిని నిర్మించడానికి ప్రయత్నించవచ్చని నేను సూచిస్తున్నాను. + కాబట్టి, క్లుప్తంగా, వాస్తవ పరిస్థితుల కోసం సమర్థవంతమైన C ++ కోడ్ మోడల్‌ను రూపొందించడానికి వారసత్వం ఎలా ఉపయోగపడుతుందో ఇక్కడ చూపించడానికి మేము ఫోన్ సోపానక్రమం (సోపానక్రమం) ను ఉపయోగించవచ్చు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/32 ProgramminginCplusplus_Dynamic Memory Management (Lecture 17)-lkFK2X6qIc0.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/32 ProgramminginCplusplus_Dynamic Memory Management (Lecture 17)-lkFK2X6qIc0.txt index d7d98d50c13a65b1081d96b87098fb9fc68d0062..6bfd27c7e9fc339edb3e359ed41a7bc51205c3e7 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/32 ProgramminginCplusplus_Dynamic Memory Management (Lecture 17)-lkFK2X6qIc0.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/32 ProgramminginCplusplus_Dynamic Memory Management (Lecture 17)-lkFK2X6qIc0.txt @@ -1,158 +1,158 @@ - 1. C ++  ప్రోగ్రామింగ్ మాడ్యూల్ 10 కు స్వాగతం. - 2. మేము సి ++ కొరకు విధానపరమైన పొడిగింపులను (extension) చర్చించాము, ఇది C ++ యొక్క మెరుగైన C యొక్క భాగం, మరియు మేము ఇప్పటికే పలు అంశాలు, కాన్స్టాక్ట్( constant), ఇన్లైన్ ఫంక్షన్ infix function), రిఫరెన్స్ పారామీటర్(reference parameter) మరియు మొదలైనవి మొదలుపెట్టాము. - 3. మరియు ఈ సిరీస్ లో ఇది చివరి అంశం. - 4. నేడు, మేము C ++ లో డైనమిక్ మెమరీ(dynamic memory) నిర్వహణ గురించి చర్చిస్తాము. - 5. అందువల్ల, సి ++ లో ఇప్పటికే ఉన్న సి ++ యొక్క డైనమిక్ మేనేజ్‌మెంట్ సామర్థ్యాలను అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తున్నాము. అందువల్ల, ఇది సాధారణ ఫ్రేమ్‌వర్క్ అవుతుంది, మీరు ఎడమ సరిహద్దులో కూడా చేయవచ్చు. రూపురేఖలను చూడవచ్చు. - 6. సి, మెమరీ మేనేజ్‌మెంట్‌లో, మేము మాలోక్ మరియు ఫ్రీతో రీక్యాప్ చేస్తాము, ఆపై సి ++ లో నిర్వహణ చేయగల వివిధ మార్గాల గురించి మాట్లాడుతాము. మరియు సి లో మనం చేయగలిగేది ఎలా మంచిది. - 7. కాబట్టి, మేము ఎడమ కాలమ్‌లోని ఉదాహరణతో ప్రారంభిస్తాము, డైనమిక్‌గా మెమరీని కేటాయించే చాలా సులభమైన ప్రోగ్రామ్‌ను మీరు చూడవచ్చు. - 8. కాబట్టి, మనం చూస్తే, ఇక్కడే కేటాయింపు జరుగుతోంది. - 9. కాబట్టి, p అనేది ఒక పూర్ణాంకానికి పాయింటర్ మరియు మేము మాలోక్ ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, ఇది కుప్ప మరియు మాలోక్‌పై మెమరీని కేటాయిస్తుంది. ఫంక్షన్ stdlib.h లో లభిస్తుంది. - 10. కాబట్టి, మీరు ఆ శీర్షికను చేర్చారు. - 11. మీకు తెలిసినట్లుగా, malloc కి మెమరీ పరిమాణం కేటాయించాల్సిన అవసరం ఉంది, ఇది ప్రాథమికంగా నేను నిల్వ చేయవలసిన డేటాను నిల్వ చేయవలసిన బైట్ల సంఖ్య. - 12. కాబట్టి, నేను ఒక పూర్ణాంకాన్ని కలిగి ఉండాలనుకుంటున్నాను, మేము మా పరిమాణాన్ని నిల్వ చేస్తాము మరియు మేము inc యొక్క పరిమాణాన్ని malloc కు పాస్ చేస్తాము. - 13. ప్రతిఫలంగా మల్లోక్; కాబట్టి ఇది మేము క్రింద ప్రచురించిన ఒక పాయింట్. - 14. మరియు ఈ పరామితితో, మాలోక్ డైనమిక్ బైట్‌లను ఒక నిరంతర భాగం వలె కేటాయిస్తుంది, ఇవన్నీ కలిసి స్టాక్‌లో వరుసగా ఒక భాగం. - 15. అందువల్ల, మనం సాధారణంగా డైనమిక్ మెమరీ కేటాయింపు గురించి మాట్లాడేటప్పుడు, జ్ఞాపకశక్తి యొక్క కొన్ని విభాగాలకు మెమరీని కేటాయించవచ్చు అనేది ఒక ముఖ్యమైన విషయం. సాధారణంగా, కుప్ప అని పిలుస్తారు లేదా కొన్ని ప్రదేశాలలో దీనిని ఉచిత స్టోర్ అని పిలుస్తారు, ఇది మనకు చేయగల మెమరీ మీ ప్రయోజనం కోసం స్వతంత్రంగా ఉపయోగించండి. - 16. ఇప్పుడు, malloc (malloc) కు కాల్ తిరిగి వచ్చిన తర్వాత, malloc (malloc) ఒక శూన్యమైన * పాయింటర్‌ను తిరిగి ఇస్తుంది, mallock (malloc) సున్నా స్టార్ పాయింటర్ (పాయింటర్) ను తిరిగి ఇస్తుంది, ఎందుకంటే mallock (malloc) ఇది ఎలాంటి డేటా అని తెలియదు మీరు మెమరీని నిల్వ చేయబోతున్నారు, ఇది మీ కోసం మాలోక్‌ను కేటాయిస్తుంది.కాబట్టి, మాలోక్ మీకు తెలియని రకం డేటాపై శూన్యతను అందిస్తుంది. - 17. మరియు ఇది ఇక్కడ ఉన్న ప్రోగ్రామర్ యొక్క బాధ్యత, ఇక్కడ మేము ఆ పాయింటర్‌ను తగిన రకంతో చొప్పించవలసి ఉంటుంది, ఎందుకంటే ఎడమ వైపున ఒక పూర్ణాంకం నిల్వ చేయబడాలని మేము కోరుకుంటున్నాము, మేము దానిని int (int) అని పిలుస్తాము *. - 18. ఇది మనకు ఇస్తుంది, కాబట్టి దీనితో, మన దగ్గర ఉన్నది, మనకు అలాంటిదే ఉంటుంది; ఇది నా పి మరియు ఇది కేటాయించిన మెమరీ. - 19. కాబట్టి, ఇది ఈ మెమరీని కేటాయించిన పాయింటర్. - 20. కాబట్టి, ఈ మెమరీ కేటాయించిన చిరునామా 200 అయితే, p యొక్క విలువ 200 అవుతుంది. - 21. ఆపై నేను డీరెఫరెన్స్ చేయాలనుకుంటున్నాను, ఇది నేను p లోని పాయింట్ వెనుక చేయాలనుకుంటున్నాను మరియు ఈ పూర్ణాంక స్థలంలో విలువను నిల్వ చేయాలనుకుంటున్నాను. - 22. కాబట్టి, నేను * p 5 ను కేటాయించినప్పుడు, 5 ఈ మెమరీ స్థానానికి వెళుతుంది, ఇది తరువాత ప్రింట్ స్టేట్మెంట్లో ఉపయోగించబడుతుంది మరియు ఇది విలువను ప్రింట్ చేస్తుంది. - 23. 5. కాబట్టి, మనమందరం దీనిని అర్థం చేసుకున్నాము మరియు చివరకు, మనకు డైనమిక్‌గా కేటాయించిన మెమరీ అవసరం లేనప్పుడు నేను పూర్తి చేసినప్పుడు, మేము దీన్ని ఉచితంగా చేయవచ్చు. - 24. ఉచిత ఫంక్షన్‌కు కాల్ ద్వారా ఇది జారీ చేయబడుతుంది. - 25. ఈ ఉచిత ఫంక్షన్కు కాల్ ద్వారా విడుదల అవుతుంది. - 26. మరియు అది మొదట కేటాయించిన స్టాక్ నుండి విడుదల అవుతుంది. - 27. కాబట్టి, ప్రామాణిక లైబ్రరీలో అందుబాటులో ఉన్న మాలోక్ మరియు ఉచిత ఫంక్షన్లను ఉపయోగించి వేరియబుల్ కోసం డైనమిక్ కేటాయింపు యొక్క విధానం ఇది.ఇప్పుడు, కోర్సు యొక్క వెనుకబడిన అనుకూలత కారణంగా, C ++ ప్రోగ్రామ్‌లు కూడా దీన్ని ఉపయోగించగలవు. - 28. అందువల్ల, మేము ఇప్పటికే చాలాసార్లు వివరించినట్లు. - 29. ఇప్పుడు హెడర్ పేరు cstdlib అవుతుంది, ఇది std నేమ్‌స్పేస్‌లో ప్రతిదీ ఇస్తుంది. - 30. అందువల్ల, మేము చెబుతున్నాము, నేమ్‌స్పేస్ STD ని ఉపయోగించి మేము ప్రతి ప్రామాణిక లైబ్రరీని సూచిస్తాము, ఇది STD :: తో ప్రిఫిక్స్ చేయబడింది. - 31. మరియు మేము ఎడమ చేతిలో ఉన్న అదే కోడ్‌ను వ్రాస్తాము.మీరు వాటిని తరపున పోల్చినట్లయితే, అవి సరిగ్గా ఒకే కోడ్, మరియు ఈ కోడ్ C ++ లో వలె C ++ లో నడుస్తుంది. - 32. అందువల్ల, మనకు అర్థమయ్యేది మెమరీ యొక్క డైనమిక్ కేటాయింపు మరియు నిర్వహణ, ఇది మాలోక్ మరియు ఫ్రీ కెన్‌ను ఉపయోగించగలదు. - 33. C ++ లో కూడా అదే చేయాలి. - 34. ఇక్కడ నేను కేటాయింపు కోసం మాలోక్ గురించి చర్చిస్తున్నాను, కాలోక్ మరియు రిలోక్ వంటి ఇతర కేటాయింపు విధులు ఉన్నాయని మీకు తెలుసు; ఇచ్చిన జ్ఞాపకశక్తిని పెంచడానికి రియోలోక్ తరచుగా ఉపయోగించబడుతుంది. - 35. కాబట్టి, ఈ ఫంక్షన్లను C ++ లో సమానంగా ఉపయోగించవచ్చు, కాని వాటికి స్పష్టమైన ఉదాహరణను మేము చూపించము, మేము మల్లోక్ కు మాత్రమే పరిమితం అవుతాము. - 36. ఇప్పుడు, మాలోక్ కాకుండా సి ++ ఆఫర్‌లను చూద్దాం మరియు ఇది సి ++ నుండి ఇప్పటికే వస్తుంది. - 37. అందువల్ల, ఎడమ వైపున ఉన్న ప్రోగ్రామ్ సి ప్రోగ్రామ్ మాలోక్ మరియు ఉచితాన్ని ఉపయోగించి మనం ఇప్పుడే చూసిన ప్రోగ్రామ్. - 38. కుడి వైపున ఉన్న ప్రోగ్రామ్ C ++ యొక్క C ++ వ్యవస్థను ఉపయోగిస్తోంది. - 39. ఈ పంక్తిని గమనించండి, ఇక్కడ మెమరీ కేటాయించబడుతుంది. - 40. సి ++ కొత్త ఆపరేటర్‌ను పరిచయం చేసింది; ఆ ఆపరేటర్ పేరు కొత్తది లేదా క్రొత్తది. - 41. అందువల్ల, మీరు ఈ ఆపరేటర్ తర్వాత క్రొత్తగా వ్రాసి డేటా రకం రస్ట్ వ్రాస్తే, క్రొత్తది మాలోక్ మాదిరిగానే చేస్తుంది, ఇది క్రొత్తది, ఇది సిస్టమ్ యొక్క మెమరీ మేనేజర్‌ను కూడా అభ్యర్థిస్తుంది.ఇది కొంత ఉచిత మెమరీని ఇస్తుంది ఆ మెమరీ యొక్క పాయింటర్‌ను స్టాక్ చేసి మీకు అందిస్తుంది. - 42. కాబట్టి, క్రొత్త యొక్క ప్రాథమిక కార్యాచరణ సరిగ్గా మాలోక్ లాగా ఉంటుంది. - 43. కానీ చాలా వ్యత్యాసాలు ఉన్నాయి, కొత్త అవసరాలు ఉపయోగించబడే విధానం మరియు మాలోక్ సాంప్రదాయకంగా ఉపయోగించబడే విధానం లేదా మాలోక్ (మాలోక్) ఉపయోగించే విధానం మధ్య చాలా తేడాలు ఉన్నాయి. - 44. మొదటి విషయం ఏమిటంటే, మాలోక్‌కు పరామితిగా మనం పాస్ చేయదలిచిన మెమరీ పరిమాణం మాలోక్‌కు అవసరం, కొత్తదానికి ఆ రకమైన విషయం అవసరం లేదు. - 45. క్రొత్తది, దీనికి విరుద్ధంగా, వాస్తవానికి నేను స్థలాన్ని కోరుకునే వేరియబుల్ రకాన్ని తీసుకుంటుంది, ఈ రకాన్ని పరామితిగా పాస్ చేయాలి. - 46. ఒక రకాన్ని పరామితిగా పాస్ చేయడం ఈ దశలో మీకు చాలా కష్టమైన అంశం, ఎందుకంటే మీరు ఒక రకాన్ని ఆమోదించలేదు. - 47. కాబట్టి, ప్రస్తుతానికి, క్రొత్తది విలువను తీసుకునే బదులు ఒక రకాన్ని తీసుకోగల ఆపరేటర్ అని హృదయపూర్వకంగా తీసుకోండి. - 48. కాబట్టి, ఇక్కడ కొత్త ఆపరేటర్ int (int) రకాన్ని తీసుకుంటున్నారు. - 49. కాబట్టి, ఒక చాలా విషయం చాలా ఆసక్తికరమైన ఎందుకంటే ఇక్కడ ఉదాహరణకు కొత్త తో చూపిస్తోంది మీరు డబుల్ ఒక కొత్త చేస్తే అది మీరు డబుల్ స్టార్(double star) పాయింటర్(pointer) తిరిగి కనిపిస్తుంది. - 50. ఒక కొత్త నిర్మాణం రకం కాంప్లెక్స్ (complex)చెప్పినట్లయితే, అది మీకు క్లిష్టమైన నక్షత్ర రకం పాయింటర్ ను చూపిస్తుంది. - 51. మరియు ఈ రకం పూర్ణాంకానికి (పూర్ణాంకానికి) పడుతుంది కాబట్టి, ఇది అంతర్గతంగా లెక్కించగలదు, దానికి ఎంత స్థలం కావాలి, ఇది అంతర్గతంగా ఈ పూర్ణాంకానికి (పూర్ణాంకానికి) ఆకృతి చేయగలదు, ఇది మల్లాక్ (మాలోక్) స్పష్టంగా గుండా వెళ్లాల్సిన అవసరం ఉంది, అందువల్ల దీనికి ఏదీ అవసరం లేదు పరిమాణం స్పెసిఫికేషన్ ఇవ్వాలి. - 52. కాబట్టి, malloc లో, మీరు పరిమాణాన్ని మార్చాలి, మీరు ఏ ఆకారాన్ని దాటవలసిన అవసరం లేదు. - 53. మరో పెద్ద వ్యత్యాసం ఏమిటంటే, మలోక్ మీరు ఏ రకమైన డేటాను కేటాయించబోతున్నారో జ్ఞాపకశక్తిలో పెట్టబోతున్నారని తెలియదు కాబట్టి, ఇది మీకు తగిన రకమైన పాయింటర్ (పాయింటర్) ఇవ్వదు. - 54. ఇది మీకు శూన్యమైన సూచనను ఇస్తుంది * కొన్ని తెలియని రకం ఎత్తి చూపబడింది, ఇది మీకు తెలిసినదని మేము ఇప్పటికే చర్చించాము.+ - 55. క్రొత్త వాటిలో, నేను ఇప్పుడే చెప్పినట్లుగా, క్రొత్త రకాన్ని పరామితిగా చూస్తారు. - 56. కాబట్టి, క్రొత్తది తెలుసు, మీరు క్రొత్తదాన్ని కేటాయించే మెమరీలో అవకలన రకం విలువను కలిగి ఉండబోతున్నారు, కాబట్టి క్రొత్తది మీకు Int * రకం యొక్క పాయింటర్ (రకం) ను తిరిగి ఇస్తుంది, మీకు అవసరమైన అసలు రకం . - 57. కాబట్టి, ఇది చాలా ఆసక్తికరమైన విషయం ఎందుకంటే ఇక్కడ ఉదాహరణ క్రొత్తగా కనిపిస్తుంది మీరు ఇప్పుడు క్రొత్తదాన్ని డబుల్‌తో చేస్తే అది మీకు డబుల్ స్టార్ పాయింటర్‌ను అందిస్తుంది. - 58. సే స్ట్రక్చర్ టైప్ కాంప్లెక్స్‌తో మీరు ఆవిష్కరించినట్లయితే, ఇది మీకు క్లిష్టమైన స్టార్ రకం సూచికను అందిస్తుంది. - 59. కాబట్టి, క్రొత్తది మీరు ఏ విధమైన విలువను ఉంచబోతున్నారో తెలుస్తుంది మరియు అందువల్ల, అది తగిన రకమైన పాయింటర్‌కు తిరిగి వస్తుంది. - 60. అందువల్ల, మాలోక్ (మాలోక్) మీకు శూన్యతను తిరిగి ఇస్తుంది కాబట్టి, మీరు దానిని పూర్ణాంకానికి (పూర్ణాంకానికి) ప్రసారం చేయవలసి ఉంటుంది. దీనికి విరుద్ధంగా, క్రొత్తది మీకు పూర్ణాంకానికి (పూర్ణాంకానికి) * పాయింటర్‌ను ఇస్తుంది మరియు ప్రసారం అవసరం లేదు. - 61. ఈ సందర్భంలో, కేటాయింపు పూర్తయిన తర్వాత, మేము ముందుకు వెళ్లి, కేటాయించిన స్థలంలో ప్రారంభ విలువను ఉంచాము, మేము 5 నుండి * p కు కేటాయించాము. - 62. మాలోక్ ఉపయోగించి, ఒకేసారి కేటాయించడానికి మరియు ప్రారంభించడానికి మార్గం లేదు. - 63. క్రొత్తది నేను ఇక్కడ చేస్తున్నట్లుగా నేను ఈ ప్రారంభ విలువ ఐదుని దాటగలను అనే లక్షణాన్ని మీకు అందిస్తుంది, తద్వారా క్రొత్తది పాయింటర్‌ను నాకు తిరిగి ఇచ్చినప్పుడు, అది కేటాయించిన స్థలానికి పాయింటర్‌ను కేటాయించడమే కాదు స్థలం. ఇప్పటికే నేను ప్రారంభ విలువ ఐదుగా ఉండాలని కోరుకుంటున్నాను. - 64. కాబట్టి, మనం డైనమిక్స్‌ను చూస్తే, నేను వాటిని మళ్లీ గీస్తే అది ప్రోగ్రామ్ యొక్క ఓ వైపు ఉంటుంది మరియు అది కేటాయింపు. - 65. అందువల్ల, ఇది పూర్తయిన తర్వాత, మీకు ఇలాంటి పరిస్థితి వస్తుంది, ఇక్కడ విలువ ఏమిటో మీకు తెలియదు. - 66. ఆపై మీరు 5 నుండి * P ని కేటాయిస్తారు, అది 5 పడుతుంది మరియు ఇక్కడ ఉంచండి. - 67. కాబట్టి, ఈ సందర్భంలో ప్రారంభించడం లేదు, మీరు రెండవ స్టేట్మెంట్ ద్వారా తరువాత ఒక నియామకాన్ని సృష్టిస్తున్నారు. - 68. అయితే, ఇక్కడ అది ఎప్పుడు అమలు అవుతుంది, మీరు పాయింటర్ (పాయింటర్) p ను తిరిగి పొందినప్పుడు, పాయింటర్ (పాయింటర్) p వారి కేటాయించిన స్థలాన్ని సూచిస్తున్న సందర్భంలో మీరు మొత్తం తిరిగి పొందుతారు. - 69. మరియు ధర ఇప్పటికే 5. కాబట్టి, ఇది చాలా మంచి ప్రయోజనం; మాలోక్‌లో ఆ ప్రారంభించడం సాధ్యం కాదు, ప్రారంభించడం కొత్తగా చేయవచ్చు. - 70. వాస్తవానికి, మీకు ఎంపిక ఉంది, మీరు కేటాయించాలనుకుంటే మరియు ప్రారంభించకూడదనుకుంటే, మీరు కూడా దీన్ని చేయవచ్చు - 71. మీరు అనుకుంటున్నారు; దీన్ని క్రొత్త పూర్ణాంకం (పూర్ణాంకం) గా వ్రాయండి మరియు ప్రారంభ విలువను ఇవ్వవద్దు; అలాంటప్పుడు అది మీకు మాలోక్‌లో అస్థిర విలువను ఇస్తుంది. - 72. చివరగా, మీరు పూర్తి చేసినప్పుడు, మీరు మలోకో చేత మెమరీని కేటాయించినట్లయితే, మీరు ఉచిత ఫంక్షన్‌కు కాల్ చేసి విడుదల చేయాలి. - 73. ఇక్కడ, మీకు మరొక ఆపరేటర్ ఉంది, ఇది C ++ కి కూడా క్రొత్తది, మరొక ఆపరేటర్ ఈ ఆపరేటర్ పేరును తొలగిస్తుంది. - 74. కాబట్టి, మీరు ఆపరేటర్‌ను తీసివేసి, ఆపై పాయింటర్‌ను వ్రాయండి. - 75. కాబట్టి, ఇది సిస్టమ్‌లోని మెమరీని ఉచితంగా విడుదల చేస్తుంది. - 76. పరంగా ఇవి చాలా పోలి ఉంటాయి. - 77. కాబట్టి, ఉచిత కుప్ప నుండి మెమరీని డీలోకేట్ చేస్తుంది మరియు ఆపరేటర్ కుప్ప నుండి తొలగించిన మెమరీని తొలగిస్తుంది. - 78. క్రొత్త మరియు తొలగింపు యొక్క ఈ చర్చలో, దయచేసి మాలోక్ మరియు ఫ్రీ ఫంక్షన్లు అని నేను నిరంతరం చెబుతున్నానని గుర్తుంచుకోండి, అయితే క్రొత్త మరియు తొలగించు ఆపరేటర్లు. - 79. కాబట్టి, మేము ఆపరేటర్ ఓవర్‌లోడింగ్ గురించి చర్చించినప్పుడు, ఆపరేటర్ మరియు ఫంక్షన్ మధ్య మీకు చాలా తేడాలు ఇచ్చాము. - 80. కాబట్టి, ఆపరేటర్ యొక్క క్రొత్త మరియు ఫంక్షన్ మాలోక్ లేదా ఆపరేటర్ యొక్క తొలగింపు మరియు విముక్తి పొందిన పని మధ్య ఆ వ్యత్యాసాలు ఉంటాయి మరియు మేము ముందుకు వెళ్ళేటప్పుడు ఆ వ్యత్యాసాలలో కొన్నింటిని ఉపయోగిస్తాము. - 81. చివరగా, మాలోక్ మరియు ఫ్రీ స్థానిక భాషలో భాగం కాదని మీరు గమనించవచ్చు. - 82. అందువల్ల, అవి ప్రామాణిక లైబ్రరీ cstdlib నుండి వచ్చాయి, అయితే, క్రొత్త మరియు తొలగించు అనేది కోర్ C ++ భాషలో భాగం, కాబట్టి క్రొత్త లేదా తొలగించే వాటిని సృష్టించడానికి మీరు ప్రత్యేక శీర్షికలను చేర్చాల్సిన అవసరం లేదు. - 83. ఇప్పుడు చాలా ఆసక్తికరమైన విషయం. - 84. మనకు క్రొత్త మరియు తొలగింపు ఆపరేటర్ ఉన్నట్లే, అదేవిధంగా మనం ఆపరేటర్‌ను క్రొత్తగా మరియు తొలగించడానికి వ్రాయవచ్చు. - 85. ప్రతి ఆపరేటర్‌కు ఆపరేటర్ ఉందని మాకు తెలుసు. - 86. కాబట్టి, మీరు ఆపరేటర్ ఫంక్షన్‌ను కూడా నేరుగా ఉపయోగించుకునే అవకాశం ఉంది. - 87. ఈ విధంగా, ఈ ఉదాహరణలో, మళ్ళీ ఎడమ వైపున, మనకు ఒకే రకమైన మల్లోక్ ఉదాహరణ ఉంది, ఇది ఉచితం. - 88. కుడి వైపున, ఆపరేటర్ ఆపరేటర్‌కు బదులుగా, మేము చూపిస్తున్నది ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) కొత్త, సంబంధిత ఫంక్షన్ (ల) ను ఉపయోగించడం, మీరు మునుపటి స్లైడ్ నుండి నన్ను తిరిగి పిలవాలనుకుంటే, మీరు ఆపరేటర్ (ఆపరేటర్) ఉన్నప్పుడు క్రొత్తదాన్ని ఉపయోగించండి, అప్పుడు మీరు క్రొత్తగా వ్రాసి టైప్ చేయండి. - 89. అయితే, మీరు ఆపరేటర్‌కు సంబంధించిన ఫంక్షన్‌ను ఉపయోగించినప్పుడు, ఇది ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్, ఇది మాలోక్ లాగా ఉంటుంది. - 90. కాబట్టి, మీరు ఆకారాన్ని దాటాలి, మీరు ఎక్కువ రకాలను దాటడం లేదు, మీరు ఆకారాన్ని దాటాలి, మీరు పాయింటర్‌ను తిరిగి ఇవ్వాలి. - 91. అందువల్ల, C ++ లో, మీరు ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగించి మాలోక్ వంటి కాల్‌లను కూడా వ్రాయవచ్చు. - 92. మరియు తదనుగుణంగా మీరు ఆపరేటర్‌ను తొలగించే బదులు కూడా వ్రాయవచ్చు, మీరు ఆపరేటర్‌ను ఎలా తొలగిస్తారో మేము ఇంతకుముందు వర్తింపజేసాము, బదులుగా మీరు దీన్ని ఉచిత ఫంక్షన్ శైలిలో చేస్తారు కూడా ఆహ్వానించవచ్చు - 93. సంబంధిత ఆపరేటర్ ఫంక్షన్ అయిన డిలీట్ ఆపరేటర్ అని మీరు చెప్పవచ్చు మరియు ఆపరేటర్‌ను డిలీట్ ఫంక్షన్ యొక్క పరామితిగా పాస్ చేయండి. - 94. అందువల్ల, కుప్ప మీద హీలోక్ కేటాయించబడినందున, ఆపరేటర్ కుప్పపై కొత్త ఫంక్షన్‌ను కూడా కేటాయిస్తాడు, ఎందుకంటే హీప్ ఆపరేటర్ కూడా డిలీలోకేట్‌ను డిలీట్ ఫంక్షన్ నుండి విముక్తి చేస్తుంది.అది పరిష్కరించబడుతుంది. - 95. ఆపరేటర్ కొత్త మరియు ఆపరేటర్ కొత్త ఫంక్షన్ యొక్క రెండు వేర్వేరు యూనిట్లు ఉన్నాయని దయచేసి గుర్తుంచుకోండి మరియు ఆపరేటర్ కొత్త మరియు ఆపరేటర్ కొత్త మధ్య పెద్ద తేడాలు ఉన్నాయి. - 96. అందువల్ల, మేము చర్చించిన ఉదాహరణలో ఎటువంటి తేడాలు కనిపించవు, నేను ఆపరేటర్‌ను క్రొత్తగా ఉపయోగించగలనా లేదా ఆపరేటర్ కోసం కొత్త ఫంక్షన్‌ను క్రొత్తగా ఉపయోగించవచ్చా అనిపిస్తుంది. - 97. అవి సారూప్యంగా ఉంటే, అవి మనకు అదే ప్రభావాన్ని ఇస్తున్నాయి. - 98. మేము అంతర్లీన రకాలను ఉపయోగిస్తున్నంత కాలం ఇది నిజం. - 99. కానీ, మేము నిర్వచించిన కొన్ని రకాల వినియోగదారులను ఉపయోగించిన క్షణం, ఆపరేటర్ వెర్షన్ పనిచేసే విధానం, ఆపరేటర్ వెర్షన్ పనిచేసే విధానం మరియు సంబంధిత ఫంక్షన్ వెర్షన్ పనిచేసే విధానం చూస్తాము. చాలా భిన్నంగా మారుతుంది. - 100. మేము ఆ దశకు వచ్చినప్పుడు, మేము వాటిని చర్చిస్తాము, కాని మేము దానిని మరింత అన్వేషిస్తాము, కాని ప్రస్తుతం వాటి మధ్య పెద్ద వ్యత్యాసం ఉందని మీరు గమనించాలని మేము కోరుకుంటున్నాము.ఇప్పుడు, సి లో మనం చాలా తరచుగా డైనమిక్‌గా కేటాయించే వాటిని చూద్దాం, మనం తరచూ శ్రేణులను కేటాయిస్తాము. - 101. కాబట్టి, మేము శ్రేణులను కేటాయించాలనుకుంటే, మేము అదే మాలోక్ ఫంక్షన్‌ను ఉపయోగిస్తాము, మీ అందరికీ తెలుసు. - 102. కాబట్టి, ఇదే మాలోక్ ఫంక్షన్. - 103. ఒకే తేడా ఏమిటంటే, దాని పరిమాణం 3 గుణించబడిందని మేము చెప్తున్నాము, ఏ అనుభవజ్ఞుడైన సి ప్రోగ్రామర్ మనం చెప్పడానికి ప్రయత్నిస్తున్నాడో అర్థం చేసుకుంటాను, నాకు వరుసగా మూడు ప్రాంతాలు కావాలి, దీని అర్థం ఈ పాయింటర్ వాస్తవానికి తిరిగి రావాలి, చివరికి నాకు 3 వ్యత్యాస అంశాల శ్రేణిని ఇవ్వండి. - 104. మీరు దీన్ని ఎలా చదివారు, కానీ మాలోక్ (మాలోక్) ఏ విలువను పొందుతుందో మీరు చూస్తే, మాలోక్ (మాలోక్) కు పూర్ణాంకం (పూర్ణాంకానికి) పరిమాణం లేదా విలువ ఏమిటో తెలుసుకోవలసిన అవసరం లేదు. మూడు మాలోక్ అంటే వాటి ఉత్పత్తి. - 105. కాబట్టి, int (int) యొక్క పరిమాణం 4 అయితే, malloc యొక్క విలువ 12 అవుతుంది. - 106. ఈ సీజన్లు 3 పూర్ణాంకాల కోసం ఉన్నాయా లేదా 12 సంతకం చేయని అక్షరాలు కాదా అని మలోక్‌కు తెలియదు. - 107. ఇది మొత్తం సంచిత విలువను పొందుతుంది. - 108. దీనికి విరుద్ధంగా, ఆపరేటర్ క్రొత్తది మరియు వేరే పేరును కలిగి ఉంది, మేము దీనిని అర్రే ఆపరేటర్ ఆపరేటర్ అని పిలుస్తాము. - 109. ఈ శ్రేణి ఆపరేటర్ క్రొత్త రకాన్ని తీసుకునే ముందు ఇష్టపడతారు, ఇది పూర్ణాంక రకం, కానీ చదరపు బ్రాకెట్‌లో, అవసరమైన మూలకాల సంఖ్యను తీసుకుంటుంది. - 110. కాబట్టి, మెమరీలో సృష్టించాల్సిన Int (int) రకం యొక్క ఎన్ని అంశాలను కేటాయించాల్సిన అవసరం ఉందని తెలుస్తుంది. - 111. కాబట్టి, ఆచరణలో, ఇది మాలోక్‌తో చాలా పోలి ఉంటుంది, కానీ స్పెసిఫికేషన్ ప్రకారం, ఇది చాలా స్పష్టంగా ఉంటుంది; మీరు నిజంగా చేయాలనుకున్న వాక్యనిర్మాణం యొక్క ఏకరూపతను కూడా మీరు చూడవచ్చు; మూడు పూర్ణాంకాల Int (int) శ్రేణి (int [3]). - 112. మరియు మీరు అక్షరాలా అదే విషయాన్ని వ్రాస్తారు మరియు దీనికి ముందు అది మీకు శూన్యమైన * పాయింటర్ (పాయింటర్) ఇవ్వదు, ఇది మాలోక్ (మాలోక్) విషయంలో చేర్చాలి, కానీ ఇది మీకు పూర్ణాంకానికి (పూర్ణాంకానికి) * పాయింటర్‌ను ఇస్తుంది ( పాయింటర్) తిరిగి వస్తుంది - 113. అదేవిధంగా, మేము పూర్తి చేసినప్పుడు, మీరు మాలోక్ ద్వారా మెమరీని కేటాయించడాన్ని విముక్తి చేస్తారు, కానీ క్రొత్తగా మెమరీని కేటాయించిన సందర్భంలో, మీరు ఇక్కడ ఈ మూలకాల సంఖ్య ఉపయోగించబడుతుంది, మీరు ఆ రకం తర్వాత మూలకాల సంఖ్యను దాటితే, మీరు దానిని అర్రే ద్వారా తొలగించాలి తొలగించు (తొలగించు [] a;). - 114. మునుపటి ఫారమ్‌తో ఉన్న వ్యత్యాసం ఏమిటంటే, కీవర్డ్ తర్వాత మరియు పాయింటర్‌కు ముందు అర్రే ఆపరేటర్‌ను ప్రత్యేకంగా చొప్పించడం. - 115. ఆపై అర్రే డిలీట్ ఆపరేటర్ మెమరీని కుప్పలోకి విడుదల చేస్తుంది. - 116. మరియు ఆపరేటర్ కొత్త ఆపరేటర్ మరియు ఆపరేటర్ అర్రే కొత్త ప్రత్యేక ఆపరేటర్ అని దయచేసి గమనించండి. - 117. అదేవిధంగా, ఆపరేటర్ డిలీట్ మరియు ఆపరేటర్ అర్రే డిలీట్ ప్రత్యేక ఆపరేటర్లు; వాటిని చాలా భిన్నంగా నిర్వహించవచ్చు మరియు దీనికి కొన్ని ఉదాహరణలు చూపిస్తాము. - 118. కాబట్టి, ఇది రెండవ రకం. - 119. కాబట్టి, మీరు వేర్వేరు డేటా ఐటెమ్‌లతో పనిచేస్తుంటే, మీరు ఆపరేటర్ కొత్త మరియు ఆపరేటర్ డిలీట్‌ను ఉపయోగించాలని సిఫార్సు చేయబడింది, కానీ మీరు డేటా ఐటమ్‌ల శ్రేణిని ఉపయోగిస్తుంటే మీరు చేస్తుంటే, మీరు ఆపరేటర్ అర్రే కొత్త మరియు ఆపరేటర్ అర్రే డిలీట్‌ను ఉపయోగిస్తారు. - 120. అందువల్ల, మేము శ్రేణితో వ్యవహరించేటప్పుడు మరియు మీరు ఒకే డేటా ఐటెమ్‌తో పని చేస్తున్నప్పుడు ఈ సిస్టమ్‌కు స్పష్టంగా తెలుసు. - 121. C లోని ఈ వ్యత్యాసం ప్రామాణిక లైబ్రరీ మాలోక్ ఫ్రీ ఫంక్షన్‌ను ఉపయోగించి సాధ్యం కాలేదు, కానీ ఇక్కడ అర్థం చాలా స్పష్టంగా ఉంది. - 122. ఇప్పుడు, మేము C ++ లో మెమరీ కేటాయింపు యొక్క మరొక రూపం గురించి మాట్లాడుతాము. - 123. దీన్ని ప్లేస్‌మెంట్ న్యూ అంటారు. - 124. ఇది క్రొత్త ఆపరేటర్ యొక్క మరొక రూపం, ఇది మెమరీని కేటాయిస్తుంది, అయితే ఇది భావనలో ప్రాథమికంగా చాలా భిన్నంగా ఉంటుంది. - 125. మేము మాలోక్ లేదా ఆ మ్యాటర్ ఆపరేటర్ కోసం కొత్త లేదా ఆపరేటర్ శ్రేణిని సెట్ చేసినప్పుడు, మేము మెమరీని కేటాయించాలనుకుంటున్నాము మరియు ఏ మెమరీని స్టాక్ నుండి రావాలని మేము కోరుకుంటున్నాము, అంటే, మెమరీ సిస్టమ్ యొక్క మెమరీ మేనేజర్‌తో సంకర్షణ చెందాలి మరియు దాని నుండి రావాలి ఉచిత మెమరీ స్టోర్ ప్రాంతం యొక్క ఉచిత స్టోర్ ప్రాంతం. హుహ్. - 126. కాబట్టి, ఆ విధంగా, మేము ఆ విధంగా ఒక వేరియబుల్ లేదా శ్రేణి (శ్రేణి) ను కేటాయిస్తే, వేరియబుల్ సృష్టించబడిన లేదా ఎక్కడ ఉన్న చిరునామా పరంగా నాకు ఖచ్చితంగా నియంత్రణ లేదు. - 127. కానీ నేను చేయాలనుకుంటున్నాను, నేను దీన్ని ఎందుకు చేయాలనుకుంటున్నాను అనే విషయాన్ని నెమ్మదిగా వివరిస్తాను. - 128. కానీ నేను చేయాలనుకుంటున్నాను, నేను దీన్ని ఎందుకు చేయాలనుకుంటున్నాను అనే విషయాన్ని నెమ్మదిగా వివరిస్తాను.. - 129. నేను అదే కేటాయింపు చేయాలనుకుంటున్నాను, కాని నేను వాటిని నాకు తెలిసిన మెమరీ చిరునామాలో చేయాలనుకుంటున్నాను, ఈ ప్రత్యేకమైన కేటాయింపుదారునికి నేను ఇస్తాను. - 130. ఇదే పరిస్థితి; నాకు బఫర్ ఉందని అనుకుందాం. - 131. బఫర్ ఏమీ కాదు, కానీ మీరు స్పెసిఫికేషన్‌ను మాత్రమే చదవగలరు, మీరు బఫర్ యొక్క నిర్వచనాన్ని చదవగలరు. - 132. ఇది పేరు బఫ్ అని చెబుతుంది.ఈ రకం సంతకం చేయని అక్షరం మరియు పరిమాణం లేదా ఈ బఫర్ యొక్క మూలకాల సంఖ్య సైజ్‌ఆఫ్ (పూర్ణాంకానికి) * 2, అంటే నేను 32-బిట్ మెషీన్‌లో ఉంటే, అది కలిగి ఉండటం చాలా సాధారణం sizeof (int)) కాబట్టి, ఇది ప్రాథమికంగా ఎనిమిది అక్షరాలు, వరుసగా ఎనిమిది బైట్లు నేను బఫర్‌గా కలిగి ఉన్నాను. - 133. ఇప్పుడు, మీకు ఏమి కావాలి, నేను పూర్ణాంకాన్ని డైనమిక్‌గా సృష్టించాలనుకుంటున్నాను, కాని ఆ పూర్ణాంకాన్ని ఉచిత స్టోర్‌లో చేయడానికి నేను ఇష్టపడను. - 134. నేను బఫర్‌లోనే పూర్ణాంకం చేయాలనుకుంటున్నాను. - 135. కాబట్టి, నేను బఫర్‌ను విడుదల చేయడానికి ప్రయత్నిస్తే, చెప్పండి, ఇది బఫర్. - 136. కాబట్టి, ఇవి బఫర్ యొక్క 8 బైట్లు.ఇది బఫర్, మరియు పూర్ణాంకం 4 బైట్లు కాబట్టి, ఈ 4 బైట్లు మరియు ఈ 4 బైట్లు ఇక్కడ ఒక పూర్ణాంకం మరియు మరొక పూర్ణాంకం కావాలని నేను కోరుకుంటున్నాను. (పూర్ణాంకం) ఇక్కడ మరియు అందువలన న. - 137. ఇది చిరునామాతో మొదలై నాలుగు బైట్లు, ఈ చిరునామా 200 అయితే, ఈ చిరునామా 203, అదేవిధంగా ఈ చిరునామా 204 అవుతుంది, కాబట్టి ఈ చిరునామా 207 కి, ఆ బఫర్‌లో 200 నుండి 203 వరకు ఉంటుంది. పూర్ణాంకం కావాలనుకుంటున్నారా ; మరియు రెండవది, నేను, అందువల్ల, నేను ఇంకా డైనమిక్‌గా కేటాయించాలనుకుంటున్నాను, నేను డైనమిక్‌గా కేటాయించాలనుకుంటున్నాను, ఈ పంక్తిని చూడండి, డైనమిక్‌గా నేను ఒక పూర్ణాంకాన్ని కేటాయించాలనుకుంటున్నాను మరియు ఆ పాయింటర్‌ను పిన్‌టిగా పొందాలనుకుంటున్నాను. - 138. నేను క్రొత్త మరియు వ్యత్యాస రకానికి మధ్య ఉన్నాను, నేను ఈ బఫర్‌కు పేరు పెట్టాను, దయచేసి దీన్ని ఉచిత స్టోర్‌లో కేటాయించవద్దు, ఈ బఫర్ (బఫర్) నుండి కేటాయించండి, ఇది ప్రాథమికంగా బఫర్‌కు పాయింటర్, కాబట్టి విలువ బఫ్ 200. - 139. కాబట్టి, అది ఏమి చేస్తుంది, pInt, ఈ బఫర్ చిరునామా 200 నుండి చిరునామాను కేటాయిస్తుంది. - 140. మరియు ఇది బఫర్ యొక్క ఈ భాగాన్ని దాని పూర్ణాంకంగా భావిస్తుంది. - 141. అదేవిధంగా, నేను తరువాతిసారి qInt చేస్తే, నేను మళ్ళీ ఒక పూర్ణాంకాన్ని కేటాయిస్తున్నాను, కానీ నేను దీన్ని బఫ్‌లో చేయను, నేను దీన్ని బఫ్ + సైజ్‌ఆఫ్ (int (int)) లో చేస్తాను. - 142. కాబట్టి, బఫ్ 200, సైజోఫ్ (పూర్ణాంకానికి (పూర్ణాంకానికి)) 4. - 143. కాబట్టి, బఫ్ + సైజ్ఆఫ్ (పూర్ణాంకానికి (పూర్ణాంకానికి) 204. - 144. కాబట్టి, నేను ఆ కేటాయింపు చేస్తే, qInt 208 విలువను పొందుతుంది, ఇక్కడే, మరియు, qInt చేయడానికి, ఇది రెండవ పూర్ణాంకం వలె ఉంటుంది. - 145. కాబట్టి, ఇది కేటాయింపును సరిగ్గా అదే విధంగా చేస్తోంది, కాని ఉచిత స్టోర్ నుండి కేటాయింపులు జరగడం లేదు అనే వ్యత్యాసంతో, ఇది ఇప్పటికే ఉన్న బఫర్ నుండి వస్తోంది. - 146. ఇప్పుడు, ఈ బఫర్ ఇక్కడే నేను బఫర్‌ను ఆటోమేటిక్ రకంగా తీసుకున్నాను, ఇది ఫంక్షన్ బాడీకి స్థానికంగా ఉంది, ఈ బఫర్‌ను డైనమిక్‌గా ఉచిత స్టోర్‌కు కేటాయించటానికి. లేకపోతే మేము దానితో ఆందోళన చెందలేదు. - 147. కానీ దీనికి కారణం ఏమిటంటే, మేము దానిని క్రొత్తగా పిలుస్తాము, ఎందుకంటే ఇది కేటాయించడం మాత్రమే కాదు, కానీ అది ఒక కేటాయింపు మరియు నేను కోరుకున్న చోట ఉంచాలి. - 148. కాబట్టి, ఈ ప్లేస్‌మెంట్ నేను కేటాయించడమే కాదు, ఇక్కడే మెమరీ అందుబాటులో ఉందని నేను ఒక పాయింటర్‌ను పాస్ చేస్తున్నాను. మీరు వెళ్లి కేటాయించండి.), మీరు అక్కడకు వెళ్లి వస్తువును అక్కడ ఉంచండి. - 149. ఇప్పుడు, సి ++ లోని వివిధ రకాల పాయింటర్ మానిప్యులేషన్స్‌తో ఇది సాధ్యమవుతుందని మీరు ఖచ్చితంగా వాదిస్తారు, నేను దీన్ని నిజంగా ఎందుకు చేయవలసి వచ్చింది, మీరు అర్థం చేసుకుంటారు, మేము వినియోగదారు నిర్వచించిన రకాలను డైనమిక్‌గా ఉన్నప్పుడు కేటాయింపు గురించి మాట్లాడుదాం. - 150. ప్రస్తుతానికి, మీరు గుర్తుంచుకోవలసినది ఏమిటంటే, నియామకాలను ఆవిష్కరించే అవకాశాలు ఉన్నాయి. - 151. ఇతర రెండు రూపాల నుండి కొత్తగా కేసు ప్లేస్‌మెంట్‌లో ఉన్న తేడా ఏమిటంటే, ప్లేస్‌మెంట్ కోసం మీరు ఆ బఫర్‌ను ఇప్పటికే కొత్తగా అందించారు. - 152. మెమరీ డైనమిక్‌గా కేటాయించబడలేదు. - 153. ఇది ఉచిత స్టోర్ నుండి డైనమిక్‌గా కేటాయించబడనందున, దాన్ని తొలగించడంలో అర్థం లేదు, ఎందుకంటే మెమరీ మేనేజర్ మీకు ఈ మెమరీని పొందలేరు. - 154. కాబట్టి, ఇక్కడ అలాంటి క్రొత్త, క్రొత్త ప్లేస్‌మెంట్ కోసం లేదా ఇక్కడ కొత్త ప్లేస్‌మెంట్ కోసం, మీకు ఇలాంటి తొలగింపు లేదు; లేకపోతే, మీరు ప్రారంభ ఉదాహరణ నుండి ప్రారంభమయ్యే మిగిలిన ఉదాహరణల ద్వారా వెళ్ళవచ్చు లేదా ఇతర అంశాలను సూచించడానికి వాటిని ఉపయోగించవచ్చు. - 155. మీరు ఈ కోడ్ ద్వారా వెళితే, ఇది కొంచెం పాయింటర్ (పాయింటర్) ట్వీకింగ్, మరియు ఇది ఏ ఇతర పాయింటర్ (పాయింటర్) మానిప్యులేషన్ మాదిరిగానే ఉందని మీరు అర్థం చేసుకోవడం అలవాటు చేసుకోవడం మంచిది. - 156. కానీ ఒకే తేడా ఏమిటంటే, చిరునామాలు డైనమిక్ స్టోర్ నుండి రావడం లేదు, అవి ఉచిత స్టోర్ నుండి రావడం లేదు, నేను అందించిన బఫర్ నుండి చిరునామాలు వస్తున్నాయి. - 157. + C ++  ప్రోగ్రామింగ్ మాడ్యూల్ 10 కు స్వాగతం. + మేము సి ++ కొరకు విధానపరమైన పొడిగింపులను (extension) చర్చించాము, ఇది C ++ యొక్క మెరుగైన C యొక్క భాగం, మరియు మేము ఇప్పటికే పలు అంశాలు, కాన్స్టాక్ట్( constant), ఇన్లైన్ ఫంక్షన్ infix function), రిఫరెన్స్ పారామీటర్(reference parameter) మరియు మొదలైనవి మొదలుపెట్టాము. + మరియు ఈ సిరీస్ లో ఇది చివరి అంశం. + నేడు, మేము C ++ లో డైనమిక్ మెమరీ(dynamic memory) నిర్వహణ గురించి చర్చిస్తాము. + అందువల్ల, సి ++ లో ఇప్పటికే ఉన్న సి ++ యొక్క డైనమిక్ మేనేజ్‌మెంట్ సామర్థ్యాలను అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తున్నాము. అందువల్ల, ఇది సాధారణ ఫ్రేమ్‌వర్క్ అవుతుంది, మీరు ఎడమ సరిహద్దులో కూడా చేయవచ్చు. రూపురేఖలను చూడవచ్చు. + సి, మెమరీ మేనేజ్‌మెంట్‌లో, మేము మాలోక్ మరియు ఫ్రీతో రీక్యాప్ చేస్తాము, ఆపై సి ++ లో నిర్వహణ చేయగల వివిధ మార్గాల గురించి మాట్లాడుతాము. మరియు సి లో మనం చేయగలిగేది ఎలా మంచిది. + కాబట్టి, మేము ఎడమ కాలమ్‌లోని ఉదాహరణతో ప్రారంభిస్తాము, డైనమిక్‌గా మెమరీని కేటాయించే చాలా సులభమైన ప్రోగ్రామ్‌ను మీరు చూడవచ్చు. + కాబట్టి, మనం చూస్తే, ఇక్కడే కేటాయింపు జరుగుతోంది. + కాబట్టి, p అనేది ఒక పూర్ణాంకానికి పాయింటర్ మరియు మేము మాలోక్ ఫంక్షన్‌ను ఉపయోగిస్తున్నాము, ఇది కుప్ప మరియు మాలోక్‌పై మెమరీని కేటాయిస్తుంది. ఫంక్షన్ stdlib.h లో లభిస్తుంది. + కాబట్టి, మీరు ఆ శీర్షికను చేర్చారు. + మీకు తెలిసినట్లుగా, malloc కి మెమరీ పరిమాణం కేటాయించాల్సిన అవసరం ఉంది, ఇది ప్రాథమికంగా నేను నిల్వ చేయవలసిన డేటాను నిల్వ చేయవలసిన బైట్ల సంఖ్య. + కాబట్టి, నేను ఒక పూర్ణాంకాన్ని కలిగి ఉండాలనుకుంటున్నాను, మేము మా పరిమాణాన్ని నిల్వ చేస్తాము మరియు మేము inc యొక్క పరిమాణాన్ని malloc కు పాస్ చేస్తాము. + ప్రతిఫలంగా మల్లోక్; కాబట్టి ఇది మేము క్రింద ప్రచురించిన ఒక పాయింట్. + మరియు ఈ పరామితితో, మాలోక్ డైనమిక్ బైట్‌లను ఒక నిరంతర భాగం వలె కేటాయిస్తుంది, ఇవన్నీ కలిసి స్టాక్‌లో వరుసగా ఒక భాగం. + అందువల్ల, మనం సాధారణంగా డైనమిక్ మెమరీ కేటాయింపు గురించి మాట్లాడేటప్పుడు, జ్ఞాపకశక్తి యొక్క కొన్ని విభాగాలకు మెమరీని కేటాయించవచ్చు అనేది ఒక ముఖ్యమైన విషయం. సాధారణంగా, కుప్ప అని పిలుస్తారు లేదా కొన్ని ప్రదేశాలలో దీనిని ఉచిత స్టోర్ అని పిలుస్తారు, ఇది మనకు చేయగల మెమరీ మీ ప్రయోజనం కోసం స్వతంత్రంగా ఉపయోగించండి. + ఇప్పుడు, malloc (malloc) కు కాల్ తిరిగి వచ్చిన తర్వాత, malloc (malloc) ఒక శూన్యమైన * పాయింటర్‌ను తిరిగి ఇస్తుంది, mallock (malloc) సున్నా స్టార్ పాయింటర్ (పాయింటర్) ను తిరిగి ఇస్తుంది, ఎందుకంటే mallock (malloc) ఇది ఎలాంటి డేటా అని తెలియదు మీరు మెమరీని నిల్వ చేయబోతున్నారు, ఇది మీ కోసం మాలోక్‌ను కేటాయిస్తుంది.కాబట్టి, మాలోక్ మీకు తెలియని రకం డేటాపై శూన్యతను అందిస్తుంది. + మరియు ఇది ఇక్కడ ఉన్న ప్రోగ్రామర్ యొక్క బాధ్యత, ఇక్కడ మేము ఆ పాయింటర్‌ను తగిన రకంతో చొప్పించవలసి ఉంటుంది, ఎందుకంటే ఎడమ వైపున ఒక పూర్ణాంకం నిల్వ చేయబడాలని మేము కోరుకుంటున్నాము, మేము దానిని int (int) అని పిలుస్తాము *. + ఇది మనకు ఇస్తుంది, కాబట్టి దీనితో, మన దగ్గర ఉన్నది, మనకు అలాంటిదే ఉంటుంది; ఇది నా పి మరియు ఇది కేటాయించిన మెమరీ. + కాబట్టి, ఇది ఈ మెమరీని కేటాయించిన పాయింటర్. + కాబట్టి, ఈ మెమరీ కేటాయించిన చిరునామా 200 అయితే, p యొక్క విలువ 200 అవుతుంది. + ఆపై నేను డీరెఫరెన్స్ చేయాలనుకుంటున్నాను, ఇది నేను p లోని పాయింట్ వెనుక చేయాలనుకుంటున్నాను మరియు ఈ పూర్ణాంక స్థలంలో విలువను నిల్వ చేయాలనుకుంటున్నాను. + కాబట్టి, నేను * p 5 ను కేటాయించినప్పుడు, 5 ఈ మెమరీ స్థానానికి వెళుతుంది, ఇది తరువాత ప్రింట్ స్టేట్మెంట్లో ఉపయోగించబడుతుంది మరియు ఇది విలువను ప్రింట్ చేస్తుంది. + 5. కాబట్టి, మనమందరం దీనిని అర్థం చేసుకున్నాము మరియు చివరకు, మనకు డైనమిక్‌గా కేటాయించిన మెమరీ అవసరం లేనప్పుడు నేను పూర్తి చేసినప్పుడు, మేము దీన్ని ఉచితంగా చేయవచ్చు. + ఉచిత ఫంక్షన్‌కు కాల్ ద్వారా ఇది జారీ చేయబడుతుంది. + ఈ ఉచిత ఫంక్షన్కు కాల్ ద్వారా విడుదల అవుతుంది. + మరియు అది మొదట కేటాయించిన స్టాక్ నుండి విడుదల అవుతుంది. + కాబట్టి, ప్రామాణిక లైబ్రరీలో అందుబాటులో ఉన్న మాలోక్ మరియు ఉచిత ఫంక్షన్లను ఉపయోగించి వేరియబుల్ కోసం డైనమిక్ కేటాయింపు యొక్క విధానం ఇది.ఇప్పుడు, కోర్సు యొక్క వెనుకబడిన అనుకూలత కారణంగా, C ++ ప్రోగ్రామ్‌లు కూడా దీన్ని ఉపయోగించగలవు. + అందువల్ల, మేము ఇప్పటికే చాలాసార్లు వివరించినట్లు. + ఇప్పుడు హెడర్ పేరు cstdlib అవుతుంది, ఇది std నేమ్‌స్పేస్‌లో ప్రతిదీ ఇస్తుంది. + అందువల్ల, మేము చెబుతున్నాము, నేమ్‌స్పేస్ STD ని ఉపయోగించి మేము ప్రతి ప్రామాణిక లైబ్రరీని సూచిస్తాము, ఇది STD :: తో ప్రిఫిక్స్ చేయబడింది. + మరియు మేము ఎడమ చేతిలో ఉన్న అదే కోడ్‌ను వ్రాస్తాము.మీరు వాటిని తరపున పోల్చినట్లయితే, అవి సరిగ్గా ఒకే కోడ్, మరియు ఈ కోడ్ C ++ లో వలె C ++ లో నడుస్తుంది. + అందువల్ల, మనకు అర్థమయ్యేది మెమరీ యొక్క డైనమిక్ కేటాయింపు మరియు నిర్వహణ, ఇది మాలోక్ మరియు ఫ్రీ కెన్‌ను ఉపయోగించగలదు. + C ++ లో కూడా అదే చేయాలి. + ఇక్కడ నేను కేటాయింపు కోసం మాలోక్ గురించి చర్చిస్తున్నాను, కాలోక్ మరియు రిలోక్ వంటి ఇతర కేటాయింపు విధులు ఉన్నాయని మీకు తెలుసు; ఇచ్చిన జ్ఞాపకశక్తిని పెంచడానికి రియోలోక్ తరచుగా ఉపయోగించబడుతుంది. + కాబట్టి, ఈ ఫంక్షన్లను C ++ లో సమానంగా ఉపయోగించవచ్చు, కాని వాటికి స్పష్టమైన ఉదాహరణను మేము చూపించము, మేము మల్లోక్ కు మాత్రమే పరిమితం అవుతాము. + ఇప్పుడు, మాలోక్ కాకుండా సి ++ ఆఫర్‌లను చూద్దాం మరియు ఇది సి ++ నుండి ఇప్పటికే వస్తుంది. + అందువల్ల, ఎడమ వైపున ఉన్న ప్రోగ్రామ్ సి ప్రోగ్రామ్ మాలోక్ మరియు ఉచితాన్ని ఉపయోగించి మనం ఇప్పుడే చూసిన ప్రోగ్రామ్. + కుడి వైపున ఉన్న ప్రోగ్రామ్ C ++ యొక్క C ++ వ్యవస్థను ఉపయోగిస్తోంది. + ఈ పంక్తిని గమనించండి, ఇక్కడ మెమరీ కేటాయించబడుతుంది. + సి ++ కొత్త ఆపరేటర్‌ను పరిచయం చేసింది; ఆ ఆపరేటర్ పేరు కొత్తది లేదా క్రొత్తది. + అందువల్ల, మీరు ఈ ఆపరేటర్ తర్వాత క్రొత్తగా వ్రాసి డేటా రకం రస్ట్ వ్రాస్తే, క్రొత్తది మాలోక్ మాదిరిగానే చేస్తుంది, ఇది క్రొత్తది, ఇది సిస్టమ్ యొక్క మెమరీ మేనేజర్‌ను కూడా అభ్యర్థిస్తుంది.ఇది కొంత ఉచిత మెమరీని ఇస్తుంది ఆ మెమరీ యొక్క పాయింటర్‌ను స్టాక్ చేసి మీకు అందిస్తుంది. + కాబట్టి, క్రొత్త యొక్క ప్రాథమిక కార్యాచరణ సరిగ్గా మాలోక్ లాగా ఉంటుంది. + కానీ చాలా వ్యత్యాసాలు ఉన్నాయి, కొత్త అవసరాలు ఉపయోగించబడే విధానం మరియు మాలోక్ సాంప్రదాయకంగా ఉపయోగించబడే విధానం లేదా మాలోక్ (మాలోక్) ఉపయోగించే విధానం మధ్య చాలా తేడాలు ఉన్నాయి. + మొదటి విషయం ఏమిటంటే, మాలోక్‌కు పరామితిగా మనం పాస్ చేయదలిచిన మెమరీ పరిమాణం మాలోక్‌కు అవసరం, కొత్తదానికి ఆ రకమైన విషయం అవసరం లేదు. + క్రొత్తది, దీనికి విరుద్ధంగా, వాస్తవానికి నేను స్థలాన్ని కోరుకునే వేరియబుల్ రకాన్ని తీసుకుంటుంది, ఈ రకాన్ని పరామితిగా పాస్ చేయాలి. + ఒక రకాన్ని పరామితిగా పాస్ చేయడం ఈ దశలో మీకు చాలా కష్టమైన అంశం, ఎందుకంటే మీరు ఒక రకాన్ని ఆమోదించలేదు. + కాబట్టి, ప్రస్తుతానికి, క్రొత్తది విలువను తీసుకునే బదులు ఒక రకాన్ని తీసుకోగల ఆపరేటర్ అని హృదయపూర్వకంగా తీసుకోండి. + కాబట్టి, ఇక్కడ కొత్త ఆపరేటర్ int (int) రకాన్ని తీసుకుంటున్నారు. + కాబట్టి, ఒక చాలా విషయం చాలా ఆసక్తికరమైన ఎందుకంటే ఇక్కడ ఉదాహరణకు కొత్త తో చూపిస్తోంది మీరు డబుల్ ఒక కొత్త చేస్తే అది మీరు డబుల్ స్టార్(double star) పాయింటర్(pointer) తిరిగి కనిపిస్తుంది. + ఒక కొత్త నిర్మాణం రకం కాంప్లెక్స్ (complex)చెప్పినట్లయితే, అది మీకు క్లిష్టమైన నక్షత్ర రకం పాయింటర్ ను చూపిస్తుంది. + మరియు ఈ రకం పూర్ణాంకానికి (పూర్ణాంకానికి) పడుతుంది కాబట్టి, ఇది అంతర్గతంగా లెక్కించగలదు, దానికి ఎంత స్థలం కావాలి, ఇది అంతర్గతంగా ఈ పూర్ణాంకానికి (పూర్ణాంకానికి) ఆకృతి చేయగలదు, ఇది మల్లాక్ (మాలోక్) స్పష్టంగా గుండా వెళ్లాల్సిన అవసరం ఉంది, అందువల్ల దీనికి ఏదీ అవసరం లేదు పరిమాణం స్పెసిఫికేషన్ ఇవ్వాలి. + కాబట్టి, malloc లో, మీరు పరిమాణాన్ని మార్చాలి, మీరు ఏ ఆకారాన్ని దాటవలసిన అవసరం లేదు. + మరో పెద్ద వ్యత్యాసం ఏమిటంటే, మలోక్ మీరు ఏ రకమైన డేటాను కేటాయించబోతున్నారో జ్ఞాపకశక్తిలో పెట్టబోతున్నారని తెలియదు కాబట్టి, ఇది మీకు తగిన రకమైన పాయింటర్ (పాయింటర్) ఇవ్వదు. + ఇది మీకు శూన్యమైన సూచనను ఇస్తుంది * కొన్ని తెలియని రకం ఎత్తి చూపబడింది, ఇది మీకు తెలిసినదని మేము ఇప్పటికే చర్చించాము.+ + క్రొత్త వాటిలో, నేను ఇప్పుడే చెప్పినట్లుగా, క్రొత్త రకాన్ని పరామితిగా చూస్తారు. + కాబట్టి, క్రొత్తది తెలుసు, మీరు క్రొత్తదాన్ని కేటాయించే మెమరీలో అవకలన రకం విలువను కలిగి ఉండబోతున్నారు, కాబట్టి క్రొత్తది మీకు Int * రకం యొక్క పాయింటర్ (రకం) ను తిరిగి ఇస్తుంది, మీకు అవసరమైన అసలు రకం . + కాబట్టి, ఇది చాలా ఆసక్తికరమైన విషయం ఎందుకంటే ఇక్కడ ఉదాహరణ క్రొత్తగా కనిపిస్తుంది మీరు ఇప్పుడు క్రొత్తదాన్ని డబుల్‌తో చేస్తే అది మీకు డబుల్ స్టార్ పాయింటర్‌ను అందిస్తుంది. + సే స్ట్రక్చర్ టైప్ కాంప్లెక్స్‌తో మీరు ఆవిష్కరించినట్లయితే, ఇది మీకు క్లిష్టమైన స్టార్ రకం సూచికను అందిస్తుంది. + కాబట్టి, క్రొత్తది మీరు ఏ విధమైన విలువను ఉంచబోతున్నారో తెలుస్తుంది మరియు అందువల్ల, అది తగిన రకమైన పాయింటర్‌కు తిరిగి వస్తుంది. + అందువల్ల, మాలోక్ (మాలోక్) మీకు శూన్యతను తిరిగి ఇస్తుంది కాబట్టి, మీరు దానిని పూర్ణాంకానికి (పూర్ణాంకానికి) ప్రసారం చేయవలసి ఉంటుంది. దీనికి విరుద్ధంగా, క్రొత్తది మీకు పూర్ణాంకానికి (పూర్ణాంకానికి) * పాయింటర్‌ను ఇస్తుంది మరియు ప్రసారం అవసరం లేదు. + ఈ సందర్భంలో, కేటాయింపు పూర్తయిన తర్వాత, మేము ముందుకు వెళ్లి, కేటాయించిన స్థలంలో ప్రారంభ విలువను ఉంచాము, మేము 5 నుండి * p కు కేటాయించాము. + మాలోక్ ఉపయోగించి, ఒకేసారి కేటాయించడానికి మరియు ప్రారంభించడానికి మార్గం లేదు. + క్రొత్తది నేను ఇక్కడ చేస్తున్నట్లుగా నేను ఈ ప్రారంభ విలువ ఐదుని దాటగలను అనే లక్షణాన్ని మీకు అందిస్తుంది, తద్వారా క్రొత్తది పాయింటర్‌ను నాకు తిరిగి ఇచ్చినప్పుడు, అది కేటాయించిన స్థలానికి పాయింటర్‌ను కేటాయించడమే కాదు స్థలం. ఇప్పటికే నేను ప్రారంభ విలువ ఐదుగా ఉండాలని కోరుకుంటున్నాను. + కాబట్టి, మనం డైనమిక్స్‌ను చూస్తే, నేను వాటిని మళ్లీ గీస్తే అది ప్రోగ్రామ్ యొక్క ఓ వైపు ఉంటుంది మరియు అది కేటాయింపు. + అందువల్ల, ఇది పూర్తయిన తర్వాత, మీకు ఇలాంటి పరిస్థితి వస్తుంది, ఇక్కడ విలువ ఏమిటో మీకు తెలియదు. + ఆపై మీరు 5 నుండి * P ని కేటాయిస్తారు, అది 5 పడుతుంది మరియు ఇక్కడ ఉంచండి. + కాబట్టి, ఈ సందర్భంలో ప్రారంభించడం లేదు, మీరు రెండవ స్టేట్మెంట్ ద్వారా తరువాత ఒక నియామకాన్ని సృష్టిస్తున్నారు. + అయితే, ఇక్కడ అది ఎప్పుడు అమలు అవుతుంది, మీరు పాయింటర్ (పాయింటర్) p ను తిరిగి పొందినప్పుడు, పాయింటర్ (పాయింటర్) p వారి కేటాయించిన స్థలాన్ని సూచిస్తున్న సందర్భంలో మీరు మొత్తం తిరిగి పొందుతారు. + మరియు ధర ఇప్పటికే 5. కాబట్టి, ఇది చాలా మంచి ప్రయోజనం; మాలోక్‌లో ఆ ప్రారంభించడం సాధ్యం కాదు, ప్రారంభించడం కొత్తగా చేయవచ్చు. + వాస్తవానికి, మీకు ఎంపిక ఉంది, మీరు కేటాయించాలనుకుంటే మరియు ప్రారంభించకూడదనుకుంటే, మీరు కూడా దీన్ని చేయవచ్చు + మీరు అనుకుంటున్నారు; దీన్ని క్రొత్త పూర్ణాంకం (పూర్ణాంకం) గా వ్రాయండి మరియు ప్రారంభ విలువను ఇవ్వవద్దు; అలాంటప్పుడు అది మీకు మాలోక్‌లో అస్థిర విలువను ఇస్తుంది. + చివరగా, మీరు పూర్తి చేసినప్పుడు, మీరు మలోకో చేత మెమరీని కేటాయించినట్లయితే, మీరు ఉచిత ఫంక్షన్‌కు కాల్ చేసి విడుదల చేయాలి. + ఇక్కడ, మీకు మరొక ఆపరేటర్ ఉంది, ఇది C ++ కి కూడా క్రొత్తది, మరొక ఆపరేటర్ ఈ ఆపరేటర్ పేరును తొలగిస్తుంది. + కాబట్టి, మీరు ఆపరేటర్‌ను తీసివేసి, ఆపై పాయింటర్‌ను వ్రాయండి. + కాబట్టి, ఇది సిస్టమ్‌లోని మెమరీని ఉచితంగా విడుదల చేస్తుంది. + పరంగా ఇవి చాలా పోలి ఉంటాయి. + కాబట్టి, ఉచిత కుప్ప నుండి మెమరీని డీలోకేట్ చేస్తుంది మరియు ఆపరేటర్ కుప్ప నుండి తొలగించిన మెమరీని తొలగిస్తుంది. + క్రొత్త మరియు తొలగింపు యొక్క ఈ చర్చలో, దయచేసి మాలోక్ మరియు ఫ్రీ ఫంక్షన్లు అని నేను నిరంతరం చెబుతున్నానని గుర్తుంచుకోండి, అయితే క్రొత్త మరియు తొలగించు ఆపరేటర్లు. + కాబట్టి, మేము ఆపరేటర్ ఓవర్‌లోడింగ్ గురించి చర్చించినప్పుడు, ఆపరేటర్ మరియు ఫంక్షన్ మధ్య మీకు చాలా తేడాలు ఇచ్చాము. + కాబట్టి, ఆపరేటర్ యొక్క క్రొత్త మరియు ఫంక్షన్ మాలోక్ లేదా ఆపరేటర్ యొక్క తొలగింపు మరియు విముక్తి పొందిన పని మధ్య ఆ వ్యత్యాసాలు ఉంటాయి మరియు మేము ముందుకు వెళ్ళేటప్పుడు ఆ వ్యత్యాసాలలో కొన్నింటిని ఉపయోగిస్తాము. + చివరగా, మాలోక్ మరియు ఫ్రీ స్థానిక భాషలో భాగం కాదని మీరు గమనించవచ్చు. + అందువల్ల, అవి ప్రామాణిక లైబ్రరీ cstdlib నుండి వచ్చాయి, అయితే, క్రొత్త మరియు తొలగించు అనేది కోర్ C ++ భాషలో భాగం, కాబట్టి క్రొత్త లేదా తొలగించే వాటిని సృష్టించడానికి మీరు ప్రత్యేక శీర్షికలను చేర్చాల్సిన అవసరం లేదు. + ఇప్పుడు చాలా ఆసక్తికరమైన విషయం. + మనకు క్రొత్త మరియు తొలగింపు ఆపరేటర్ ఉన్నట్లే, అదేవిధంగా మనం ఆపరేటర్‌ను క్రొత్తగా మరియు తొలగించడానికి వ్రాయవచ్చు. + ప్రతి ఆపరేటర్‌కు ఆపరేటర్ ఉందని మాకు తెలుసు. + కాబట్టి, మీరు ఆపరేటర్ ఫంక్షన్‌ను కూడా నేరుగా ఉపయోగించుకునే అవకాశం ఉంది. + ఈ విధంగా, ఈ ఉదాహరణలో, మళ్ళీ ఎడమ వైపున, మనకు ఒకే రకమైన మల్లోక్ ఉదాహరణ ఉంది, ఇది ఉచితం. + కుడి వైపున, ఆపరేటర్ ఆపరేటర్‌కు బదులుగా, మేము చూపిస్తున్నది ఆపరేటర్ ఫంక్షన్ (ఫంక్షన్) కొత్త, సంబంధిత ఫంక్షన్ (ల) ను ఉపయోగించడం, మీరు మునుపటి స్లైడ్ నుండి నన్ను తిరిగి పిలవాలనుకుంటే, మీరు ఆపరేటర్ (ఆపరేటర్) ఉన్నప్పుడు క్రొత్తదాన్ని ఉపయోగించండి, అప్పుడు మీరు క్రొత్తగా వ్రాసి టైప్ చేయండి. + అయితే, మీరు ఆపరేటర్‌కు సంబంధించిన ఫంక్షన్‌ను ఉపయోగించినప్పుడు, ఇది ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్, ఇది మాలోక్ లాగా ఉంటుంది. + కాబట్టి, మీరు ఆకారాన్ని దాటాలి, మీరు ఎక్కువ రకాలను దాటడం లేదు, మీరు ఆకారాన్ని దాటాలి, మీరు పాయింటర్‌ను తిరిగి ఇవ్వాలి. + అందువల్ల, C ++ లో, మీరు ఆపరేటర్ యొక్క క్రొత్త ఫంక్షన్‌ను ఉపయోగించి మాలోక్ వంటి కాల్‌లను కూడా వ్రాయవచ్చు. + మరియు తదనుగుణంగా మీరు ఆపరేటర్‌ను తొలగించే బదులు కూడా వ్రాయవచ్చు, మీరు ఆపరేటర్‌ను ఎలా తొలగిస్తారో మేము ఇంతకుముందు వర్తింపజేసాము, బదులుగా మీరు దీన్ని ఉచిత ఫంక్షన్ శైలిలో చేస్తారు కూడా ఆహ్వానించవచ్చు + సంబంధిత ఆపరేటర్ ఫంక్షన్ అయిన డిలీట్ ఆపరేటర్ అని మీరు చెప్పవచ్చు మరియు ఆపరేటర్‌ను డిలీట్ ఫంక్షన్ యొక్క పరామితిగా పాస్ చేయండి. + అందువల్ల, కుప్ప మీద హీలోక్ కేటాయించబడినందున, ఆపరేటర్ కుప్పపై కొత్త ఫంక్షన్‌ను కూడా కేటాయిస్తాడు, ఎందుకంటే హీప్ ఆపరేటర్ కూడా డిలీలోకేట్‌ను డిలీట్ ఫంక్షన్ నుండి విముక్తి చేస్తుంది.అది పరిష్కరించబడుతుంది. + ఆపరేటర్ కొత్త మరియు ఆపరేటర్ కొత్త ఫంక్షన్ యొక్క రెండు వేర్వేరు యూనిట్లు ఉన్నాయని దయచేసి గుర్తుంచుకోండి మరియు ఆపరేటర్ కొత్త మరియు ఆపరేటర్ కొత్త మధ్య పెద్ద తేడాలు ఉన్నాయి. + అందువల్ల, మేము చర్చించిన ఉదాహరణలో ఎటువంటి తేడాలు కనిపించవు, నేను ఆపరేటర్‌ను క్రొత్తగా ఉపయోగించగలనా లేదా ఆపరేటర్ కోసం కొత్త ఫంక్షన్‌ను క్రొత్తగా ఉపయోగించవచ్చా అనిపిస్తుంది. + అవి సారూప్యంగా ఉంటే, అవి మనకు అదే ప్రభావాన్ని ఇస్తున్నాయి. + మేము అంతర్లీన రకాలను ఉపయోగిస్తున్నంత కాలం ఇది నిజం. + కానీ, మేము నిర్వచించిన కొన్ని రకాల వినియోగదారులను ఉపయోగించిన క్షణం, ఆపరేటర్ వెర్షన్ పనిచేసే విధానం, ఆపరేటర్ వెర్షన్ పనిచేసే విధానం మరియు సంబంధిత ఫంక్షన్ వెర్షన్ పనిచేసే విధానం చూస్తాము. చాలా భిన్నంగా మారుతుంది. + మేము ఆ దశకు వచ్చినప్పుడు, మేము వాటిని చర్చిస్తాము, కాని మేము దానిని మరింత అన్వేషిస్తాము, కాని ప్రస్తుతం వాటి మధ్య పెద్ద వ్యత్యాసం ఉందని మీరు గమనించాలని మేము కోరుకుంటున్నాము.ఇప్పుడు, సి లో మనం చాలా తరచుగా డైనమిక్‌గా కేటాయించే వాటిని చూద్దాం, మనం తరచూ శ్రేణులను కేటాయిస్తాము. + కాబట్టి, మేము శ్రేణులను కేటాయించాలనుకుంటే, మేము అదే మాలోక్ ఫంక్షన్‌ను ఉపయోగిస్తాము, మీ అందరికీ తెలుసు. + కాబట్టి, ఇదే మాలోక్ ఫంక్షన్. + ఒకే తేడా ఏమిటంటే, దాని పరిమాణం 3 గుణించబడిందని మేము చెప్తున్నాము, ఏ అనుభవజ్ఞుడైన సి ప్రోగ్రామర్ మనం చెప్పడానికి ప్రయత్నిస్తున్నాడో అర్థం చేసుకుంటాను, నాకు వరుసగా మూడు ప్రాంతాలు కావాలి, దీని అర్థం ఈ పాయింటర్ వాస్తవానికి తిరిగి రావాలి, చివరికి నాకు 3 వ్యత్యాస అంశాల శ్రేణిని ఇవ్వండి. + మీరు దీన్ని ఎలా చదివారు, కానీ మాలోక్ (మాలోక్) ఏ విలువను పొందుతుందో మీరు చూస్తే, మాలోక్ (మాలోక్) కు పూర్ణాంకం (పూర్ణాంకానికి) పరిమాణం లేదా విలువ ఏమిటో తెలుసుకోవలసిన అవసరం లేదు. మూడు మాలోక్ అంటే వాటి ఉత్పత్తి. + కాబట్టి, int (int) యొక్క పరిమాణం 4 అయితే, malloc యొక్క విలువ 12 అవుతుంది. + ఈ సీజన్లు 3 పూర్ణాంకాల కోసం ఉన్నాయా లేదా 12 సంతకం చేయని అక్షరాలు కాదా అని మలోక్‌కు తెలియదు. + ఇది మొత్తం సంచిత విలువను పొందుతుంది. + దీనికి విరుద్ధంగా, ఆపరేటర్ క్రొత్తది మరియు వేరే పేరును కలిగి ఉంది, మేము దీనిని అర్రే ఆపరేటర్ ఆపరేటర్ అని పిలుస్తాము. + ఈ శ్రేణి ఆపరేటర్ క్రొత్త రకాన్ని తీసుకునే ముందు ఇష్టపడతారు, ఇది పూర్ణాంక రకం, కానీ చదరపు బ్రాకెట్‌లో, అవసరమైన మూలకాల సంఖ్యను తీసుకుంటుంది. + కాబట్టి, మెమరీలో సృష్టించాల్సిన Int (int) రకం యొక్క ఎన్ని అంశాలను కేటాయించాల్సిన అవసరం ఉందని తెలుస్తుంది. + కాబట్టి, ఆచరణలో, ఇది మాలోక్‌తో చాలా పోలి ఉంటుంది, కానీ స్పెసిఫికేషన్ ప్రకారం, ఇది చాలా స్పష్టంగా ఉంటుంది; మీరు నిజంగా చేయాలనుకున్న వాక్యనిర్మాణం యొక్క ఏకరూపతను కూడా మీరు చూడవచ్చు; మూడు పూర్ణాంకాల Int (int) శ్రేణి (int [3]). + మరియు మీరు అక్షరాలా అదే విషయాన్ని వ్రాస్తారు మరియు దీనికి ముందు అది మీకు శూన్యమైన * పాయింటర్ (పాయింటర్) ఇవ్వదు, ఇది మాలోక్ (మాలోక్) విషయంలో చేర్చాలి, కానీ ఇది మీకు పూర్ణాంకానికి (పూర్ణాంకానికి) * పాయింటర్‌ను ఇస్తుంది ( పాయింటర్) తిరిగి వస్తుంది + అదేవిధంగా, మేము పూర్తి చేసినప్పుడు, మీరు మాలోక్ ద్వారా మెమరీని కేటాయించడాన్ని విముక్తి చేస్తారు, కానీ క్రొత్తగా మెమరీని కేటాయించిన సందర్భంలో, మీరు ఇక్కడ ఈ మూలకాల సంఖ్య ఉపయోగించబడుతుంది, మీరు ఆ రకం తర్వాత మూలకాల సంఖ్యను దాటితే, మీరు దానిని అర్రే ద్వారా తొలగించాలి తొలగించు (తొలగించు [] a;). + మునుపటి ఫారమ్‌తో ఉన్న వ్యత్యాసం ఏమిటంటే, కీవర్డ్ తర్వాత మరియు పాయింటర్‌కు ముందు అర్రే ఆపరేటర్‌ను ప్రత్యేకంగా చొప్పించడం. + ఆపై అర్రే డిలీట్ ఆపరేటర్ మెమరీని కుప్పలోకి విడుదల చేస్తుంది. + మరియు ఆపరేటర్ కొత్త ఆపరేటర్ మరియు ఆపరేటర్ అర్రే కొత్త ప్రత్యేక ఆపరేటర్ అని దయచేసి గమనించండి. + అదేవిధంగా, ఆపరేటర్ డిలీట్ మరియు ఆపరేటర్ అర్రే డిలీట్ ప్రత్యేక ఆపరేటర్లు; వాటిని చాలా భిన్నంగా నిర్వహించవచ్చు మరియు దీనికి కొన్ని ఉదాహరణలు చూపిస్తాము. + కాబట్టి, ఇది రెండవ రకం. + కాబట్టి, మీరు వేర్వేరు డేటా ఐటెమ్‌లతో పనిచేస్తుంటే, మీరు ఆపరేటర్ కొత్త మరియు ఆపరేటర్ డిలీట్‌ను ఉపయోగించాలని సిఫార్సు చేయబడింది, కానీ మీరు డేటా ఐటమ్‌ల శ్రేణిని ఉపయోగిస్తుంటే మీరు చేస్తుంటే, మీరు ఆపరేటర్ అర్రే కొత్త మరియు ఆపరేటర్ అర్రే డిలీట్‌ను ఉపయోగిస్తారు. + అందువల్ల, మేము శ్రేణితో వ్యవహరించేటప్పుడు మరియు మీరు ఒకే డేటా ఐటెమ్‌తో పని చేస్తున్నప్పుడు ఈ సిస్టమ్‌కు స్పష్టంగా తెలుసు. + C లోని ఈ వ్యత్యాసం ప్రామాణిక లైబ్రరీ మాలోక్ ఫ్రీ ఫంక్షన్‌ను ఉపయోగించి సాధ్యం కాలేదు, కానీ ఇక్కడ అర్థం చాలా స్పష్టంగా ఉంది. + ఇప్పుడు, మేము C ++ లో మెమరీ కేటాయింపు యొక్క మరొక రూపం గురించి మాట్లాడుతాము. + దీన్ని ప్లేస్‌మెంట్ న్యూ అంటారు. + ఇది క్రొత్త ఆపరేటర్ యొక్క మరొక రూపం, ఇది మెమరీని కేటాయిస్తుంది, అయితే ఇది భావనలో ప్రాథమికంగా చాలా భిన్నంగా ఉంటుంది. + మేము మాలోక్ లేదా ఆ మ్యాటర్ ఆపరేటర్ కోసం కొత్త లేదా ఆపరేటర్ శ్రేణిని సెట్ చేసినప్పుడు, మేము మెమరీని కేటాయించాలనుకుంటున్నాము మరియు ఏ మెమరీని స్టాక్ నుండి రావాలని మేము కోరుకుంటున్నాము, అంటే, మెమరీ సిస్టమ్ యొక్క మెమరీ మేనేజర్‌తో సంకర్షణ చెందాలి మరియు దాని నుండి రావాలి ఉచిత మెమరీ స్టోర్ ప్రాంతం యొక్క ఉచిత స్టోర్ ప్రాంతం. హుహ్. + కాబట్టి, ఆ విధంగా, మేము ఆ విధంగా ఒక వేరియబుల్ లేదా శ్రేణి (శ్రేణి) ను కేటాయిస్తే, వేరియబుల్ సృష్టించబడిన లేదా ఎక్కడ ఉన్న చిరునామా పరంగా నాకు ఖచ్చితంగా నియంత్రణ లేదు. + కానీ నేను చేయాలనుకుంటున్నాను, నేను దీన్ని ఎందుకు చేయాలనుకుంటున్నాను అనే విషయాన్ని నెమ్మదిగా వివరిస్తాను. + కానీ నేను చేయాలనుకుంటున్నాను, నేను దీన్ని ఎందుకు చేయాలనుకుంటున్నాను అనే విషయాన్ని నెమ్మదిగా వివరిస్తాను.. + నేను అదే కేటాయింపు చేయాలనుకుంటున్నాను, కాని నేను వాటిని నాకు తెలిసిన మెమరీ చిరునామాలో చేయాలనుకుంటున్నాను, ఈ ప్రత్యేకమైన కేటాయింపుదారునికి నేను ఇస్తాను. + ఇదే పరిస్థితి; నాకు బఫర్ ఉందని అనుకుందాం. + బఫర్ ఏమీ కాదు, కానీ మీరు స్పెసిఫికేషన్‌ను మాత్రమే చదవగలరు, మీరు బఫర్ యొక్క నిర్వచనాన్ని చదవగలరు. + ఇది పేరు బఫ్ అని చెబుతుంది.ఈ రకం సంతకం చేయని అక్షరం మరియు పరిమాణం లేదా ఈ బఫర్ యొక్క మూలకాల సంఖ్య సైజ్‌ఆఫ్ (పూర్ణాంకానికి) * 2, అంటే నేను 32-బిట్ మెషీన్‌లో ఉంటే, అది కలిగి ఉండటం చాలా సాధారణం sizeof (int)) కాబట్టి, ఇది ప్రాథమికంగా ఎనిమిది అక్షరాలు, వరుసగా ఎనిమిది బైట్లు నేను బఫర్‌గా కలిగి ఉన్నాను. + ఇప్పుడు, మీకు ఏమి కావాలి, నేను పూర్ణాంకాన్ని డైనమిక్‌గా సృష్టించాలనుకుంటున్నాను, కాని ఆ పూర్ణాంకాన్ని ఉచిత స్టోర్‌లో చేయడానికి నేను ఇష్టపడను. + నేను బఫర్‌లోనే పూర్ణాంకం చేయాలనుకుంటున్నాను. + కాబట్టి, నేను బఫర్‌ను విడుదల చేయడానికి ప్రయత్నిస్తే, చెప్పండి, ఇది బఫర్. + కాబట్టి, ఇవి బఫర్ యొక్క 8 బైట్లు.ఇది బఫర్, మరియు పూర్ణాంకం 4 బైట్లు కాబట్టి, ఈ 4 బైట్లు మరియు ఈ 4 బైట్లు ఇక్కడ ఒక పూర్ణాంకం మరియు మరొక పూర్ణాంకం కావాలని నేను కోరుకుంటున్నాను. (పూర్ణాంకం) ఇక్కడ మరియు అందువలన న. + ఇది చిరునామాతో మొదలై నాలుగు బైట్లు, ఈ చిరునామా 200 అయితే, ఈ చిరునామా 203, అదేవిధంగా ఈ చిరునామా 204 అవుతుంది, కాబట్టి ఈ చిరునామా 207 కి, ఆ బఫర్‌లో 200 నుండి 203 వరకు ఉంటుంది. పూర్ణాంకం కావాలనుకుంటున్నారా ; మరియు రెండవది, నేను, అందువల్ల, నేను ఇంకా డైనమిక్‌గా కేటాయించాలనుకుంటున్నాను, నేను డైనమిక్‌గా కేటాయించాలనుకుంటున్నాను, ఈ పంక్తిని చూడండి, డైనమిక్‌గా నేను ఒక పూర్ణాంకాన్ని కేటాయించాలనుకుంటున్నాను మరియు ఆ పాయింటర్‌ను పిన్‌టిగా పొందాలనుకుంటున్నాను. + నేను క్రొత్త మరియు వ్యత్యాస రకానికి మధ్య ఉన్నాను, నేను ఈ బఫర్‌కు పేరు పెట్టాను, దయచేసి దీన్ని ఉచిత స్టోర్‌లో కేటాయించవద్దు, ఈ బఫర్ (బఫర్) నుండి కేటాయించండి, ఇది ప్రాథమికంగా బఫర్‌కు పాయింటర్, కాబట్టి విలువ బఫ్ 200. + కాబట్టి, అది ఏమి చేస్తుంది, pInt, ఈ బఫర్ చిరునామా 200 నుండి చిరునామాను కేటాయిస్తుంది. + మరియు ఇది బఫర్ యొక్క ఈ భాగాన్ని దాని పూర్ణాంకంగా భావిస్తుంది. + అదేవిధంగా, నేను తరువాతిసారి qInt చేస్తే, నేను మళ్ళీ ఒక పూర్ణాంకాన్ని కేటాయిస్తున్నాను, కానీ నేను దీన్ని బఫ్‌లో చేయను, నేను దీన్ని బఫ్ + సైజ్‌ఆఫ్ (int (int)) లో చేస్తాను. + కాబట్టి, బఫ్ 200, సైజోఫ్ (పూర్ణాంకానికి (పూర్ణాంకానికి)) 4. + కాబట్టి, బఫ్ + సైజ్ఆఫ్ (పూర్ణాంకానికి (పూర్ణాంకానికి) 204. + కాబట్టి, నేను ఆ కేటాయింపు చేస్తే, qInt 208 విలువను పొందుతుంది, ఇక్కడే, మరియు, qInt చేయడానికి, ఇది రెండవ పూర్ణాంకం వలె ఉంటుంది. + కాబట్టి, ఇది కేటాయింపును సరిగ్గా అదే విధంగా చేస్తోంది, కాని ఉచిత స్టోర్ నుండి కేటాయింపులు జరగడం లేదు అనే వ్యత్యాసంతో, ఇది ఇప్పటికే ఉన్న బఫర్ నుండి వస్తోంది. + ఇప్పుడు, ఈ బఫర్ ఇక్కడే నేను బఫర్‌ను ఆటోమేటిక్ రకంగా తీసుకున్నాను, ఇది ఫంక్షన్ బాడీకి స్థానికంగా ఉంది, ఈ బఫర్‌ను డైనమిక్‌గా ఉచిత స్టోర్‌కు కేటాయించటానికి. లేకపోతే మేము దానితో ఆందోళన చెందలేదు. + కానీ దీనికి కారణం ఏమిటంటే, మేము దానిని క్రొత్తగా పిలుస్తాము, ఎందుకంటే ఇది కేటాయించడం మాత్రమే కాదు, కానీ అది ఒక కేటాయింపు మరియు నేను కోరుకున్న చోట ఉంచాలి. + కాబట్టి, ఈ ప్లేస్‌మెంట్ నేను కేటాయించడమే కాదు, ఇక్కడే మెమరీ అందుబాటులో ఉందని నేను ఒక పాయింటర్‌ను పాస్ చేస్తున్నాను. మీరు వెళ్లి కేటాయించండి.), మీరు అక్కడకు వెళ్లి వస్తువును అక్కడ ఉంచండి. + ఇప్పుడు, సి ++ లోని వివిధ రకాల పాయింటర్ మానిప్యులేషన్స్‌తో ఇది సాధ్యమవుతుందని మీరు ఖచ్చితంగా వాదిస్తారు, నేను దీన్ని నిజంగా ఎందుకు చేయవలసి వచ్చింది, మీరు అర్థం చేసుకుంటారు, మేము వినియోగదారు నిర్వచించిన రకాలను డైనమిక్‌గా ఉన్నప్పుడు కేటాయింపు గురించి మాట్లాడుదాం. + ప్రస్తుతానికి, మీరు గుర్తుంచుకోవలసినది ఏమిటంటే, నియామకాలను ఆవిష్కరించే అవకాశాలు ఉన్నాయి. + ఇతర రెండు రూపాల నుండి కొత్తగా కేసు ప్లేస్‌మెంట్‌లో ఉన్న తేడా ఏమిటంటే, ప్లేస్‌మెంట్ కోసం మీరు ఆ బఫర్‌ను ఇప్పటికే కొత్తగా అందించారు. + మెమరీ డైనమిక్‌గా కేటాయించబడలేదు. + ఇది ఉచిత స్టోర్ నుండి డైనమిక్‌గా కేటాయించబడనందున, దాన్ని తొలగించడంలో అర్థం లేదు, ఎందుకంటే మెమరీ మేనేజర్ మీకు ఈ మెమరీని పొందలేరు. + కాబట్టి, ఇక్కడ అలాంటి క్రొత్త, క్రొత్త ప్లేస్‌మెంట్ కోసం లేదా ఇక్కడ కొత్త ప్లేస్‌మెంట్ కోసం, మీకు ఇలాంటి తొలగింపు లేదు; లేకపోతే, మీరు ప్రారంభ ఉదాహరణ నుండి ప్రారంభమయ్యే మిగిలిన ఉదాహరణల ద్వారా వెళ్ళవచ్చు లేదా ఇతర అంశాలను సూచించడానికి వాటిని ఉపయోగించవచ్చు. + మీరు ఈ కోడ్ ద్వారా వెళితే, ఇది కొంచెం పాయింటర్ (పాయింటర్) ట్వీకింగ్, మరియు ఇది ఏ ఇతర పాయింటర్ (పాయింటర్) మానిప్యులేషన్ మాదిరిగానే ఉందని మీరు అర్థం చేసుకోవడం అలవాటు చేసుకోవడం మంచిది. + కానీ ఒకే తేడా ఏమిటంటే, చిరునామాలు డైనమిక్ స్టోర్ నుండి రావడం లేదు, అవి ఉచిత స్టోర్ నుండి రావడం లేదు, నేను అందించిన బఫర్ నుండి చిరునామాలు వస్తున్నాయి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/33 ProgramminginCplusplus_Constants and Inline Functions (Contd.) (Lecture 09)-pX6LufLso2M.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/33 ProgramminginCplusplus_Constants and Inline Functions (Contd.) (Lecture 09)-pX6LufLso2M.txt index f10f79ba8b17fbe15467d5f1e59471dd1cff87bd..6b2a548b168c985f36a12f27137de62ee6720ec9 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/33 ProgramminginCplusplus_Constants and Inline Functions (Contd.) (Lecture 09)-pX6LufLso2M.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/33 ProgramminginCplusplus_Constants and Inline Functions (Contd.) (Lecture 09)-pX6LufLso2M.txt @@ -1,131 +1,130 @@ - - 1. మాడ్యూల్6  C ++ లో ప్రోగ్రామింగ్ కు స్వాగతం. - 2. ఈ మాడ్యూల్‌లోని కాన్స్టాంట్ - నెస్ అనే భావనను మేము ఇప్పటికే చర్చించాము, మానిఫెస్ట్ స్థిరాంకాలను ఉపయోగించటానికి బదులుగా మనం వేరియబుల్ డిక్లరేషన్‌కు అర్హత సాధించగలమని చర్చించాము. వేరియబుల్ ఒకసారి ప్రకటించబడింది మరియు ప్రారంభించబడింది. - 3. పాయింటర్లతో కాన్ - నెస్ ఎలా పనిచేస్తుందో కూడా చూపించాము మరియు పాయింటెడ్ డేటా యొక్క స్థిరమైన పాయింటర్ యాన్స్ కాన్స్ట్ (నెస్) గురించి మాట్లాడుతాము. - 4. మేము దానికి అంటుకుంటాము. - 5. తరువాత, మేము అస్థిరత అని పిలువబడే సంబంధిత భావన గురించి మాట్లాడుతాము. - 6. ఈ అస్థిరత అంతగా తెలియని భావన కాబట్టి దాన్ని కొద్దిగా అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. - 7. మనం వేరియబుల్ గురించి ఆలోచించినప్పుడు, వేరియబుల్ మొదట్లో నిర్వచించినట్లు ప్రకటించిన తరువాత, వేరియబుల్ తో మనం ఏమి చేయగలం, అప్పుడు మనం వేరియబుల్ యొక్క విలువను చదువుతాము లేదా మనం ఎప్పుడైనా క్రొత్త విలువను కేటాయించవచ్చు. - 8. మేము ఎల్లప్పుడూ ప్రోగ్రామ్ చేసే ప్రాథమిక ఆస్తి, నేను వేరియబుల్ యొక్క విలువను చదివితే, నేను మళ్ళీ విలువను చదివితే, ఈ మధ్య కొంత కొత్త విలువను కేటాయించే వరకు మాత్రమే నేను మునుపటి విలువను పొందుతాను అని ఆశిస్తున్నాను. పూర్తయింది. - 9. నేను ఒక విలువను కేటాయించి, పలుసార్లు చదువుతూ ఉంటే, నేను తదుపరి నియామకం చేసే వరకు ఒకే విలువను పొందుతాను, ఇది వేరియబుల్ రాయడం యొక్క ప్రాథమిక భావన. - 10. ఇప్పుడు, ఈ సందర్భంలో const-ness ని చూద్దాం. - 11. మేము const-ness లో ఏమి చెప్తున్నామో, మనకు కేటాయించడానికి అనుమతి ఉంది లేదా ఆ కోణంలో విలువను ఒక్కసారి మాత్రమే ప్రారంభించండి మరియు తరువాత మార్చడానికి ఇది అనుమతించబడదు. - 12. కాబట్టి, ప్రోగ్రామ్ యొక్క మొత్తం జీవితకాలం ఈ వేరియబుల్ గురించి నేను చదివిన విలువ కాస్ట్-నెస్ వలె ఉంటుంది. - 13. దీనికి విరుద్ధంగా అస్థిరత ఇది అస్థిర విలువ అని చెప్తుంది, అంటే నేను వేర్వేరు పాయింట్ల వద్ద వేరియబుల్ చదివితే అదే విలువను పొందుతానని ఎటువంటి హామీ లేదు, నేను వేర్వేరు విలువలను పొందగలను. - 14. అందువల్ల, నేను దీన్ని చేయటానికి ఒక నియామకం చేయకపోయినా, అస్థిరత అనేది ఆవిరైన ఏదో సూచిస్తుంది. - 15. వేరియబుల్ 5 విలువను కలిగి ఉందని అనుకుందాం, మీరు దాన్ని ఒకసారి చదవండి, అప్పుడు మీరు అసైన్‌మెంట్ చేయవలసిన అవసరం లేదు, కానీ మీరు దానిని పది స్టేట్‌మెంట్ల తర్వాత చదవవచ్చు లేదా కొంత సమయం తరువాత ఈ విలువ 7 అని కనుగొనవచ్చు. - 16. 5 విలువ ఆవిరయ్యే ముందు కనుమరుగైంది. - 17. కాబట్టి ఇది అస్థిర వేరియబుల్ యొక్క is హ. - 18. ప్రోగ్రామ్‌లో ఈ రకమైన వేరియబుల్ ప్రవర్తనను కలిగి ఉండటం ఎందుకు ముఖ్యం ఎందుకంటే ఇది జరిగే కొన్ని సిస్టమ్ పరిస్థితులు ఉన్నాయి, ఉదాహరణకు, నేను నెట్‌వర్క్ ప్రోగ్రామింగ్ కోడ్ (కోడ్) వ్రాస్తున్నాను, దీని ఉద్దేశ్యం పోర్టును వినడం కొనసాగించడం, ఉంటే కొన్ని డేటా వచ్చింది. - 19. కాబట్టి మీరు చేస్తున్నది మీరు ఆ పోర్టులో ఏదైనా రాయాలని ఆశిస్తున్నారు ఎందుకంటే మీరు సిస్టమ్ వెలుపల నుండి డేటాను ఆశిస్తున్నారు, కాబట్టి మీరు చదువుతున్నారు, చదువుతున్నారు, చదువుతున్నారు. - 20. ఏమి జరుగుతుంది? కొంత డేటా వచ్చినప్పుడు, మీ విలువ మారుతుంది, కాని మొదట విలువ బహుశా సున్నా అని మీరు చదివినప్పుడు, అకస్మాత్తుగా మీరు దాన్ని చదవవచ్చు. 100 మిల్లీసెకన్ల తరువాత కొంత విలువ వచ్చిందని మీరు కనుగొన్నారు, మీరు దానిని ఇస్తారు మరియు తర్వాత చదవవచ్చు 100 మిల్లీసెకన్లు. - 21. మరొక విలువ ప్యాకెట్ వచ్చినందున అది వేరే విలువలో ఉంది. - 22. ఆపరేటింగ్ సిస్టమ్ యొక్క హార్డ్‌వేర్ కెర్నల్ ద్వారా వేరియబుల్‌ను మరొక థ్రెడ్ ద్వారా మార్చడం సాధ్యమవుతుంది, కాబట్టి ఆ ప్రవర్తనను మాడ్యులేట్ చేయడం అవసరం మరియు సి ++ లోని ఈ భావన కలయికతో కూడిన మాడ్యూల్ ఎందుకంటే ఒక దయ ఇస్తుంది మీరు సంపూర్ణ సత్యం మరియు వేరియబుల్ యొక్క విలువ ఏమిటో మీకు తెలియదని హామీ ఇచ్చే మరొకటి. - 23. కాబట్టి అవి కలిసి క్లబ్ చేయబడతాయి మరియు మేము సివి క్వాలిఫైయర్, సి కొరకు కానిస్టేబుల్ వి కోసం సివి క్వాలిఫైయర్ అని పిలుస్తాము మరియు సివి క్వాలిఫైయర్ కాస్ట్ లేదా అస్థిరతతో వేరియబుల్ యొక్క ఏదైనా డిక్లరేషన్ ప్రిఫిక్స్ ఉపయోగించవచ్చు. - 24. దీనికి ఉదాహరణ చూపిస్తాం. - 25. ఇక్కడ, అస్థిరత ఎలా ఉపయోగపడుతుందో చూపించడానికి ప్రయత్నిస్తున్నాము. - 26. ఇది చాలా సులభమైన కోడ్, ఇది 0 నుండి i వరకు విలువలను కేటాయిస్తుంది మరియు తరువాత 100 కు సమానం కాని పరిస్థితిని చూడటానికి ప్రయత్నిస్తుంది. - 27. ఇప్పుడు, మీరు ఈ కోడ్‌ను చూపించినట్లయితే, అది అనంతమైన లూప్ అని మీరు వెంటనే గుర్తిస్తారు. - 28. ఇది అనంతమైన లూప్ ఎందుకు? ఎందుకంటే నేను విలువ 0 అయితే, నేను 100 సంవత్సరాల వయస్సులో ఉన్నానో లేదో తనిఖీ చేస్తున్నాను మరియు నేను వంద వయస్సు వచ్చేవరకు అకస్మాత్తుగా 100 విలువను చేయను. - 29. అందువల్ల ఈ పరిస్థితి ఎల్లప్పుడూ నిజం అవుతుంది కాబట్టి ఖచ్చితంగా ఈ లూప్‌ను కొనసాగించండి, కాబట్టి కంపైలర్ ఏమి చేస్తుందో కంపైలర్ స్వీకరిస్తుంది మరియు ఇది నిజమని చెబుతుంది, ఇది (1) అయితే మొత్తం వ్యక్తీకరణ పోతుంది. - 30. ఇప్పుడు మీరు దానిని అస్థిరతగా అర్హత పొందారని మేము చెప్తాము. - 31. ఇది అస్థిర వేరియబుల్ అని మీరు అంటున్నారు మరియు మీరు ఇప్పుడు ఆప్టిమైజ్ చేయని అదే కోడ్‌ను చదివారు లేదా ఈ కోడ్ వాస్తవానికి పని చేస్తుందని మీరు do హించరు ఎందుకంటే అస్థిర వేరియబుల్ కావడం వల్ల మరికొన్ని ఏజెంట్లు, కొన్ని హార్డ్‌వేర్, కొన్ని పోర్ట్‌లు ఉన్నాయని మీరు ఆశించారు. , కొన్ని కెర్నల్ సిస్టమ్స్, కొన్ని థ్రెడ్ కొన్ని ఇతర మార్గాల ద్వారా మారవచ్చు. - 32. కాబట్టి, దాని విలువ 100 అయ్యే వరకు మీరు వేచి ఉండండి మరియు ఏదో ఒక సమయంలో అది 100 అవుతుంది మరియు తరువాత ఒక నిర్దిష్ట పరిస్థితి తప్పుడు అవుతుంది మరియు ఫంక్షన్ తిరిగి రావచ్చు. - 33. ఇది సి, సి ++ లో అస్థిర వేరియబుల్ వాడకం. - 34. ఇప్పుడు మనం వెళ్లి # నిర్వచించు కోసం వేరే రకమైన వాడకం గురించి మాట్లాడుదాం, దీనిని సిపి ప్రాసెసర్ చేత మళ్ళీ ప్రాసెస్ చేయబడుతుంది, దీనిని మనం మాక్రోస్ అని పిలుస్తాము. - 35. వ్యత్యాసం ఏమిటంటే, మనకు పేరు ఉన్న # పదంతో వాటిని ఇప్పటికీ నిర్వచించాము, కాని ప్రధాన విషయం ఏమిటంటే మనకు ఇప్పుడు దానిలో ఒక పరామితి ఉంది. - 36. నేను ఉపయోగించినప్పుడు ఏమి జరుగుతుంది, నేను దానిని పారామితులతో ఉపయోగిస్తాను, కాబట్టి మేము ఒక తరగతి నిర్వచించిన పేరు అని చెప్తున్నాము మరియు దానికి ఒక పరామితిని పెడుతున్నాను, అది ప్రభావం చూపుతుంది, సి ప్రిప్రాసెసర్ నేరుగా వెళ్తుంది, X తో సరిపోతుంది మరియు భర్తీ చేస్తుంది నిర్వచించిన వ్యక్తీకరణలో A తో అన్ని X. - 37. ఇది సాధారణ x బేస్ ప్రత్యామ్నాయం. - 38. అందువల్ల, ఆ వ్యక్తీకరణలో x ను ఎక్కడ కనుగొన్నా, అది దానిని పరామితి a తో భర్తీ చేస్తుంది. - 39. ఇప్పుడు, మాక్రోలు సాధారణంగా C లో వర్ణించబడతాయి మరియు C ++ లో కూడా ఉపయోగపడతాయి, కాని ఇది సంజ్ఞామానం వంటి ఫంక్షన్‌ను వ్రాయడానికి అనుమతిస్తుంది. - 40. కాబట్టి మీకు # పంక్తిని నిర్వచించకపోతే మరియు మీరు ప్రధానంగా చదువుతుంటే తరగతి ఎక్కడ స్థూలంగా ఉందో మీకు తెలియదు లేదా ఇది ఒక ఫంక్షన్. - 41. కంపైలర్ విషయానికి వస్తే, కంపైలర్ అది వేరియబుల్ అని చూడలేనట్లు తిరిగి కనిపించిన సందర్భంలో, అది మీరు వ్రాసిన లేదా మీ చేత స్థిరమైన విలువను మాత్రమే చూస్తుంది.ఇది స్థిరమైన వ్యక్తీకరణ, ఇక్కడ మళ్ళీ కంపైలర్ ఏ విధమైన ఫంక్షన్ సంజ్ఞామానాన్ని చూడలేరు, ఇది CPP స్థానంలో ఉన్న వ్యక్తీకరణను చూడగలదు. - 42. అందువల్ల సి ప్రోగ్రామింగ్‌లో మాక్రోలు చాలా విస్తృతంగా ఉపయోగించబడుతున్నాయి మరియు ముఖ్యంగా సి లో ప్రయోజనాలు ఉన్నాయి, అనేక కారణాల వల్ల మీరు మాక్రోలు లేకుండా చేయలేరు. - 43. ఇది మీకు సామర్థ్యాన్ని ఇస్తుంది ఎందుకంటే మాక్రోలకు దానిపై ఫంక్షన్ అవసరం లేదు, కానీ అవి కూడా చాలా తీవ్రమైన ప్రతికూలతను కలిగి ఉంటాయి. - 44. మేము ఒకే తరగతి ఉదాహరణలో ఇక్కడ కొన్ని నాలుగు రెట్లు చూపిస్తాము మరియు మేము ప్రయత్నిస్తున్నాము, ఇది స్థూలమైనది మరియు ఇక్కడ నేను దీన్ని +1 తో ఉపయోగించడానికి ప్రయత్నిస్తున్నాను. - 45. ముందు, నేను దాన్ని ఉపయోగిస్తున్నాను, నేను దాన్ని +1 ఉపయోగించటానికి ప్రయత్నిస్తున్నాను, ఎవరైనా చదివితే మానసిక అవగాహన ఉంటుంది, 1 జోడించబడుతుంది, కనుక ఇది 4 అవుతుంది మరియు అది చెల్లించబడుతుంది. వెళ్తుంది, కాబట్టి ఇది 16 అవుతుంది. - 46. కానీ, మీరు ఈ ప్రోగ్రామ్‌ను నడుపుతున్నప్పుడు మేము వాస్తవానికి అవుట్పుట్ 7 ను పొందుతాము మరియు మీరు స్థూలని విస్తరించాలని అర్థం చేసుకోవడానికి, ఇప్పుడు ఈ స్థూలతను ఈ రేఖకు విస్తరించండి. - 47. స్థూల x ను + 1 తో భర్తీ చేసినట్లు మీరు చూడవచ్చు, కాబట్టి మీరు కేవలం + 1 వ్రాస్తే, x కి బదులుగా అది + 1 * a +1 అవుతుంది మరియు అది ముందు వ్యక్తీకరణ అవుతుంది మరియు సానుభూతి వర్తిస్తుంది. - 48. కాబట్టి, 1 రెట్లు 1 మధ్యలో ఉన్న 'a' కి ప్రాధాన్యత లభిస్తుంది, తద్వారా మొదటిది పనిచేస్తుంది, కనుక ఇది ఆచరణాత్మకంగా 2a + 1 అవుతుంది. - 49. కనుక ఇది 7 అవుతుంది, కాబట్టి ఇది మొత్తం సమస్యను కలిగిస్తుంది. - 50. అదృష్టవశాత్తూ, మీరు మాక్రో నిర్వచనంలో ప్రతి X లేదా పారామితి యొక్క ప్రతి ఉదాహరణ చుట్టూ పరామితిని ఉంచినట్లయితే పరిష్కరించగల సమస్య, మీరు అలా చేస్తే, అది ఎలా సహాయపడుతుంది? విల్? మేము పొడిగింపును మాత్రమే చూడగలం, ఇది సహాయపడుతుంది, ఎందుకంటే బ్రాకెట్ చొప్పించబడింది, స్థూల విస్తరించిన తర్వాత, ఈ స్లైడ్ యొక్క చివరి వరుసలో + 1 చుట్టూ బ్రాకెట్ ఉందని మీరు చూడవచ్చు. - 51. కాబట్టి, ఇది (a + 1) * (a + 1) ఇప్పుడు BODMAS నియమం ఒక + 1 ను మనం ఇంతకు ముందు expected హించినట్లుగా ఉండాలి అని చెబుతుంది, కనుక ఇది ఇంకా పరిష్కరించబడుతుంది. - 52. మరింత ముందుకు వెళ్దాం. - 53. మీరు x వ్రాసే ప్రతిసారీ, మీరు దాని చుట్టూ బ్రాకెట్లను ఉంచవలసి ఉంటుందని మీరు గుర్తుంచుకోవలసి వస్తే ఇది నిజంగా బాధించేది, లేకపోతే మీరు ఆశ్చర్యపోవచ్చు. - 54. తరువాత, పరిస్థితి నిజంగా అధ్వాన్నంగా ఉన్న ఒక ఉదాహరణను చూద్దాం, ఎందుకంటే, ఇప్పుడు మేము స్థూల నిర్వచనాన్ని పరిష్కరించాము, ఇప్పుడు మనం దాన్ని మళ్ళీ ఉపయోగించటానికి ప్రయత్నిస్తున్నాము మరియు నేను దానిని ++ A తో ఉపయోగించాలనుకుంటున్నాను, A ప్లస్ ప్లస్ a ప్రీ-స్కేల్డ్. - 55. A 3 అయితే, ఇక్కడ ప్లస్ ప్లస్ I 4 అవుతుందని భావిస్తే, 4 తప్పనిసరిగా చదరపులోకి వెళ్ళాలి, అది స్క్వేర్ చేయాలి. ఇది 4 సార్లు ఉండాలి 4. ఫలితం 16 ఉండాలి. - 56. ఫలితం 25 అని మీరు ప్రయత్నించండి. - 57. ఎందుకు? ఈ స్థూల పొడిగింపును మళ్ళీ పరిగణించండి, అది విస్తరించినట్లయితే ఇది ఇలా కనిపిస్తుంది, ఎందుకంటే రెండు x లు ఉన్నాయి కాబట్టి వాటిలో ప్రతిదానికి ++ A వ్రాయబడుతుంది. - 58. కాబట్టి ఏమి జరుగుతుంది, ++ కు అత్యధిక ప్రాధాన్యత ఉంది, గుణకారం కంటే ఎక్కువ ప్రాధాన్యత ఉంది, కాబట్టి గుణకారం గుణకారం ముందు ప్లస్ మరియు ప్లస్ రెండింటినీ కలిగి ఉంటుంది, 3 మొదటిది 4, తరువాత అది 5 అవుతుంది మరియు తరువాత గుణకారం జరుగుతుంది. - 59. అందువల్ల ఫలితం 25 హించిన విధంగా 25. - 60. కథ యొక్క దురదృష్టకర భాగం సి లో తేలికైన స్థిరీకరణ కాదు. - 61. అందువల్ల, మీరు మాక్రోలలో ఈ రకమైన సంభావ్య ఆపదలతో జీవించాలి. - 62. కాబట్టి, సి ++ లో ఇన్లైన్ ఫంక్షన్ అనే కొత్త ఫీచర్ ఉంది. - 63. దీన్ని ఎలా చేయాలో నేను మొదట నిర్వచించాలి మరియు అది మాక్రోలకు ఎలా సంబంధం కలిగిస్తుందో వివరిస్తాము. ఇన్లైన్ ఫంక్షన్ మరొక ఫంక్షన్. ఒక నిర్దిష్ట రకం ఫంక్షన్ మాత్రమే తేడా కాదు, ఫంక్షన్ యొక్క ప్రోటోటైప్ (ఫంక్షన్) లోని హెడర్‌లో మీరు రిటర్న్ రకానికి ముందు తదుపరి ఇన్లైన్ వ్రాస్తారు. (ఇన్లైన్). - 64. ఫంక్షన్‌ను అసలు ఫంక్షన్ కాల్ అని పిలిచినప్పుడు మీరు ఈ కీవర్డ్‌ను ఇన్‌లైన్‌లో వ్రాస్తే ఏమి జరుగుతుంది, కానీ అది జరగదు, కానీ ఏ ఫంక్షన్ (ఫంక్షన్) ఫంక్షన్ (ఫంక్షన్) కంపైలర్ కాల్ సైట్‌లో ఉంచే కోడ్ రూట్. - 65. అందువల్ల, ఒక ఫంక్షన్ యొక్క ఓవర్ రేట్ కాల్ వాయిదా వేయబడింది, కాబట్టి, మేము ఫంక్షన్‌ను నిర్వచించాము, మేము ఫంక్షన్ హెడర్‌ను ఇన్‌లైన్‌తో ప్రిఫిక్స్ చేస్తాము, ఇది కుడి వైపు మాత్రమే. సి ++ కోడ్‌లో మిగిలి ఉన్న వాటిపై దృష్టి పెడదాం. ఆన్. కుడి వైపు మీ సూచన యొక్క అసలు సి కోడ్, ఇది మేము హాష్ మాక్రోను నిర్వచించలేదు. స్క్వేర్ అనేది x రిటర్న్ x ను పూర్ణాంకంగా తీసుకునే ఫంక్షన్ అని మేము చెప్తున్నాము మరియు మేము దానిని ముందు ఇన్లైన్ కీవర్డ్తో ప్రిఫిక్స్ చేస్తున్నాము. - 66. దీని కోసం ఉపయోగించిన కోడ్ మరియు ఇక్కడ అదే విధంగా ఉంది. - 67. ఇప్పుడు, ప్రయోజనం ఏమిటంటే C ++ లో, ఇది వాస్తవానికి ఒక ఫంక్షన్. - 68. కాబట్టి మేము ఇంతకుముందు చూపిస్తున్న ప్రతికూలతలను మీరు కలిగి ఉండకూడదు, ఇది మొదట పారామితిని అక్షరాలా అంచనా వేస్తుంది మరియు ఆ మూల్యాంకన విలువను తీసుకొని ఫంక్షన్‌ను పిలుస్తుంది. - 69. కాబట్టి మీరు ఇక్కడ + 1 ను పాస్ చేస్తే, అది మొదట 1 గా 4 గా చేసి, తరువాత పాస్ అవుతుంది, మీరు ++ a చేస్తే అది 3 నుండి 4 కి పెరుగుతుంది మరియు పాస్ అవుతుంది. - 70. అందువల్ల, మీకు హాని జరగదు - 71.  I - 72. కానీ మీరు హాష్ నిర్వచించిన మాక్రోలతో మాక్రోల యొక్క ప్రయోజనాన్ని పొందుతారు, మీరు ఫంక్షన్ యొక్క తలపై నివారించగలిగారు, అన్ని పారామితులను కోపింగ్ అని పిలుస్తారు, తరువాత బదిలీని నియంత్రించండి, తరువాత గణన చేసి ఆపై నియంత్రించండి మరియు తిరిగి బదిలీ చేయండి - 73. రిటర్న్ విలువ కారణంగా ఇవన్నీ వాయిదా వేయవచ్చు ఎందుకంటే కంపైలర్ వాస్తవానికి నేను ఇక్కడ చేస్తున్న సైట్‌లో ఫంక్షన్ అని పిలువబడే x సార్లు x ఉంచడానికి ప్రయత్నిస్తుంది. - 74. కాబట్టి, ఇన్లైన్ యొక్క ప్రాథమిక లక్షణం ఇది. - 75. కాబట్టి ప్రాధమిక లక్షణాలు మరియు విధుల రకాలను రక్షించేటప్పుడు స్థూల ప్రయోజనాన్ని పెద్ద ఎత్తున పొందడానికి ఇన్లైన్ సహాయపడుతుంది. - 76. మేము వాటిని పక్కపక్కనే పోల్చగలిగితే, అప్పుడు మాక్రోలు విస్తరించబడతాయి, ఇవి ఇన్లైన్ స్థానంలో విస్తరించబడతాయి, ఏదో ఒకవిధంగా కాల్ స్థలం విస్తరించబడుతుంది. - 77. మాక్రో టెక్స్ట్ రూపంలో విస్తరించినందున మీకు చూపించడం సాధ్యం కాదు, కాబట్టి నేను దానిని మీకు వివరించగలను, కాని అసెంబ్లీ కోడ్ (కోడ్) లేదా బైనరీ కోడ్ పరంగా ఇన్లైన్ (ఫంక్షన్) విస్తరించబడింది, కాబట్టి ఇది సాధ్యం కాదు దీన్ని చాలా తేలికగా అర్థం చేసుకోండి, కాని మేము చేయగలిగేది మీరు పిలిచిన సైట్ యొక్క విధిగా తీసుకోండి. - 78. రెండూ అమలులో సమర్థవంతంగా పనిచేస్తాయి మరియు రెండూ కోడ్‌ను ఉబ్బుతాయి. - 79. కోడ్ మొదట వస్తుంది, ఎందుకంటే ఏమి జరుగుతుందో మీకు ఒక ఫంక్షన్ నిర్వచించబడింది మరియు మీరు 10 ప్రదేశాలలో స్థూలతను అమలు చేయగల స్థూలతను చేస్తుంటే, మొత్తం స్థూల కోడ్ (కోడ్) పదిసార్లు కాపీ చేయబడుతుంది. - 80. అదేవిధంగా, నేను ఫంక్షన్ ఇన్లైన్ కలిగి ఉంటే మరియు పది ప్రదేశాలలో పిలిస్తే, ఫంక్షన్ బాడీ పది ప్రదేశాలలో ఉంటుంది కాబట్టి కోడ్ పెద్దదిగా ఉంటుంది. - 81. మేము కొన్ని మృదువైన సాధారణ సాఫ్ట్‌వేర్ సిస్టమ్‌ల గురించి చింతించకపోవచ్చు, కాని మనం మొబైల్ ఫోన్‌ల కోసం ప్రోగ్రామ్‌లను వ్రాసేటప్పుడు మరియు పరికరాలను నిర్వహించేటప్పుడు మెమరీ నిజంగా చిన్నది వంటి ఇతర సందర్భాల్లో మేము ఆందోళన చెందుతాము. ప్రోగ్రామ్ పెద్దదైతే ఆ అనువర్తనానికి సరిపోయేలా అవుతుంది, ఎందుకంటే మీరు అనువర్తనం పరిమాణంతో కూడా ఆందోళన చెందుతున్నారు. - 82. కానీ మేము దానిలో చాలా లోతుగా ఉండము. - 83. తరువాతి విషయం ఏమిటంటే, మాక్రోలకు వాక్యనిర్మాణ మరియు అర్థ నష్టం ఉంది, వాటిలో రెండు చూపించాము, ఒక + 1 వాక్యనిర్మాణ లోపం కాబట్టి వాటి చుట్టూ బ్రాకెట్లను ఉంచడం ద్వారా మేము దానిని నిర్వహించగలుగుతాము, ++ వాక్యనిర్మాణ లోపం. ఎందుకంటే ప్లస్ అమలు చేయబడిన విధానం, మేము దానిని వదిలివేయవలసి ఉంటుందని మేము నిర్వహించలేకపోయాము, కాని ఇన్లైన్ ఫంక్షన్లో అలాంటి తగ్గింపు ఉండదు. - 84. ఇన్లైన్ ఫంక్షన్ల వలె ఖచ్చితంగా మాక్రోలు పారామితుల కోసం రకాలను తనిఖీ చేయవు. - 85. అందువల్ల, వాటి పారామితులు దృ are ంగా ఉంటాయి, కాబట్టి పూర్ణాంక రకం విలువ కోసం ఉద్దేశపూర్వకంగా వ్రాయబడిన స్థూలతను అనుకోకుండా కొన్ని డబుల్ వేరియబుల్, కంపైలర్ అవగాహనతో పిలుస్తారు లేదా పిలవవచ్చు. దీన్ని చేయలేము, ఇన్లైన్ ఫంక్షన్ అయితే కాదు, అది సాధ్యమే ఎందుకంటే అది మన దగ్గర ఉన్న పని మాత్రమే. - 86. అయినప్పటికీ, నా మాక్రోలకు ప్రయోజనాలు ఉన్నాయి, ఇది రకం కోసం తనిఖీ చేయలేదనే వాస్తవం కొన్ని కోడ్ రాయడానికి మాకు సహాయపడుతుంది. - 87. ఉదాహరణకు, నేను రెండు వేరియబుల్స్ మార్చుకోవడానికి ఒక కోడ్ రాయాలనుకుంటున్నాను. - 88. ఇప్పుడు, రెండు వేరియబుల్స్ మార్పిడి చేయడానికి, కోడ్ పూర్ణాంక వేరియబుల్‌ను మార్చుకోవచ్చు, డబుల్ వేరియబుల్‌ను మార్చుకోవచ్చు, చార్ వేరియబుల్‌ను మార్చుకోవచ్చు. - 89. మీరు C ++ లో వ్రాయవలసి వస్తే, అప్పుడు స్వాప్ ఫంక్షన్, ఒక స్వాప్ ఫంక్షన్ ఇవన్నీ చేయలేవు ఎందుకంటే నేను రెండు పూర్ణాంక చరరాశులను మార్చుకోవలసి వస్తే నా పారామితులు టైప్ Int గా ఉంటాయి, నాకు రెండు డబుల్ వేరియబుల్స్ ఉంటే నేను కావాలనుకుంటే స్వాప్ (వేరియబుల్) అప్పుడు నా పారామితులు రెండు రకాలుగా ఉంటాయి, నేను రెండు పాయింట్లను మార్చుకోవాలనుకుంటే నా పారామితులు పాయింటర్ రకంగా ఉంటాయి. - 90. కాబట్టి నేను ఆ ఫంక్షన్‌ను సి ++, మరియు ఇన్‌లైన్‌లో సులభంగా వ్రాయలేను - 91. మాక్రో ఆ రకమైన చెకింగ్ చేయనందున నేను దానిని స్థూలంగా వ్రాసి స్వాప్ చేయగలను, అది కేవలం రెండు వేరియబుల్స్ ఉన్నాయని తనిఖీ చేస్తుంది మరియు మూడవ వేరియబుల్ మూడు అసైన్‌మెంట్‌లు మనకు తెలుసు, స్వాప్ ఎలా చేయాలో ఆ కోడ్‌ను మాత్రమే ఉంచుతుంది ఇక్కడ. - 92. కాబట్టి, మాక్రోలు కొన్ని ప్రయోజనాలను అందిస్తాయి మరియు కోర్సు చివరలో కదులుతున్నప్పుడు మీరు ఇన్లైన్ ఫంక్షన్లతో కూడా చేయగలరని మేము చూపిస్తాము, కాని C ++ యొక్క చాలా తరువాత లక్షణాలు టెంప్లేట్లు అని పిలుస్తారు; మీరు చర్చించినప్పుడు అది ఎలా జరుగుతుందో మేము చూపుతాము. - 93. చివరగా, మాక్రోల కోసం ఇన్లైన్ ఫంక్షన్‌ను కంపైల్ చేయడానికి లోపం తనిఖీ లేదు, లోపాలు తనిఖీ చేయబడతాయి మరియు వాస్తవానికి మానిఫెస్ట్ నిరంతర మాక్రోలు (మాక్రోలు) కూడా డీబగ్గర్కు కనిపిస్తాయి.అవి కావు. - 94. మీరు డీబగ్ చేయడానికి ప్రయత్నిస్తే మీరు క్లాస్ మాక్రోను చూడలేరు ఎందుకంటే వాస్తవానికి కంపైలర్ ఆ తరగతిని ఎప్పుడూ చూడలేదు ఎందుకంటే ఇది ముందు ప్రాసెసర్ ద్వారా భర్తీ చేయబడింది. - 95. అయితే, ఇన్లైన్ ఫంక్షన్ కోసం మీరు డీబగ్ బిల్డ్‌లో అన్నీ చూడగలరు. - 96. మీరు డీబగ్‌ను నిర్మిస్తే, మీరు దాన్ని చూస్తారు. - 97. నేను ఇక్కడ హైలైట్ చేయవలసిన వ్యత్యాసం ఏమిటంటే, మీరు డీబగ్ బిల్డ్ చేస్తే కంపైలర్ చేసే ఇన్లైన్ ఫంక్షన్ (ఫంక్షన్) 1 లక్షణంతో, మీరు విడుదలను నిర్మిస్తే ఇన్లైన్ చేయరు. ఇన్లైన్ చేయడం జరుగుతుంది. - 98. మీరు డీబగ్ బిల్డింగ్ అయితే, ఇన్లైన్ ఫంక్షన్ ఏ ఇతర ఫంక్షన్ లాగా ఉంటుంది, కాబట్టి మీరు ఆ ఫంక్షన్ లో డీబగ్ చేయవచ్చు. - 99. ఎందుకంటే డీబగ్ బిల్డ్‌లో నేను డీబగ్ చేయాలనుకుంటున్నాను అని చెప్తున్నాను. ఏమి జరుగుతుందో నేను చూడాలనుకుంటున్నాను. అయితే, విడుదల లేదా ప్రొడక్షన్ బిల్డ్‌లో మీకు నిజంగా సామర్థ్యం కావాలి, కోడ్ వేగంగా నడపాలని మీరు కోరుకుంటారు. - 100. కాబట్టి, మీరు ఇకపై డీబగ్ చేయడానికి మొగ్గు చూపరు. మీరు ఇప్పటికే డీబగ్ చేసారు. ఇది సరైనదని మీకు తెలుసు, వాస్తవానికి ఇన్లైన్ సంభవించినప్పుడు, ఇది కొంచెం సూక్ష్మమైన విషయం, కానీ దయచేసి గమనించండి. కాలక్రమేణా మీరు ఈ అంశాలను క్రమంగా అర్థం చేసుకుంటారు. - 101. I - 102. అందువల్ల, మీరు ఎల్లప్పుడూ ఇన్‌లైనింగ్ ఉపయోగించాలని మేము సూచిస్తున్నాము. - 103. అయితే మీరు తెలుసుకోవలసిన కొన్ని పరిమితులు ఉన్నాయి. - 104. ఇన్లైన్ చేయడాన్ని డైరెక్టివ్ అంటారు. - 105. ఒక భాషలోని సూచన కంపైలర్‌కు సూచన, మీరు కంపైలర్‌కు చెబుతున్నారు.ఈ ఫంక్షన్‌ను ఇన్లైన్ చేయడం ఉపయోగకరంగా ఉంటుందని నేను భావిస్తున్నాను, కానీ ఇది తప్పనిసరి కాదు, ఇది కంపైలర్‌పై కట్టుబడి లేదు., ఇది తప్పనిసరిగా ఇన్‌లైన్‌లో ఉండాలి. - 106. కాబట్టి మీరు ఇన్లైన్ అని చెప్పాలి, కాని కంపైలర్ ఫంక్షన్ ఇన్లైన్ చేయదు. - 107. కంపైలర్ ఇన్లైన్ చేయడంలో సమస్య ఉందని కనుగొంటే, లేదా ఇన్లైన్ చేయడం నిజంగా సామర్థ్యానికి సహాయపడదు. - 108. ఉదాహరణకు, చాలా సరళమైన ఉదాహరణలో, ఒక ఫంక్షన్ బాడీ చాలా పెద్దదిగా ఉంటే, రీ-ఇన్లైన్ చేయడం ద్వారా మీరు చేస్తున్నది ఏమిటంటే ఫంక్షన్ (ఫంక్షన్) కాల్ ఫంక్షన్‌ను పిలవడానికి అవసరం లేదు. వ్రాయవలసిన అవసరం లేదు, మిగిలినవి ఎలాగైనా లెక్కించాలి. - 109. ఫంక్షన్ బాడీ చాలా పెద్దది అయితే, అదనపు ఓవర్ కాల్స్ మరియు రిటర్న్స్ చాలా తక్కువగా ఉంటాయి, కాబట్టి మీరు ఇన్లైన్ ఇన్లైన్ చేయడంలో ఇబ్బంది పడకూడదనుకుంటున్నారు, కానీ ఫంక్షన్ బాడీ చాలా ఉంటే ఇన్లైన్ చిన్నది అయితే నిజమైనది . - 110. కంపైలర్ ఇన్లైన్ చేయాలనుకుంటున్నారా లేదా అనేది నిర్ణయిస్తుంది. - 111. చాలా సందర్భాల్లో, రివర్స్ C ++ లో కూడా నిజం, ఒక ఫంక్షన్ ఇన్లైన్ కావచ్చు అని మీరు చెప్పలేదు, కాని కంపైలర్ దానిని ఇన్లైన్ చేయగలదు మరియు ఇన్లైన్లో నైపుణ్యం ఉన్నట్లు కనుగొనవచ్చు. - 112. రెండవ విషయం ఏమిటంటే ఇన్లైన్ ఫంక్షన్లు పునరావృతం కావు. - 113. మనం ఏమి చెప్తున్నామో, ఇన్లైన్కు బదులుగా, ఫంక్షన్ కాల్ దశలో, ఫంక్షన్ యొక్క శరీరాన్ని ఇన్సర్ట్ చేస్తాము. ఒక ఫంక్షన్ పునరావృతమైతే, శరీరంలోనే మరొక కాల్ ఉంటుంది. - 114. కాబట్టి, ఆ కాల్‌లో, మీరు ఫంక్షన్ యొక్క బాడీని మళ్ళీ ఉంచాలి, దీనిలో రెండవ కాల్ జరుగుతుంది. - 115. ఇప్పుడు మీరు ఎన్నిసార్లు ఉంచారో పునరావృతం ఎంత లోతుగా ఉంటుందో దానిపై ఆధారపడి ఉంటుంది, మీకు విలువలు వచ్చేవరకు మీకు తెలియదు, మీరు కారకమైన 3 చేయటానికి ప్రయత్నిస్తున్నారా లేదా కారకమైన 77 చేయడానికి ప్రయత్నిస్తున్నారో మీకు తెలిసినంతవరకు. - 116. ఎన్నిసార్లు ఇన్లైన్ చేయవలసి ఉంది, కాబట్టి పునరావృత ఫంక్షన్ ఇన్లైన్లో ఉండకూడదు, అవి తప్పనిసరిగా ఒక సాధారణ ఫంక్షన్ అయి ఉండాలి. - 117. కాబట్టి, ఇన్లైన్ శరీరాన్ని భర్తీ చేస్తుంది. - 118. మూడవ పాయింట్‌లో మీరు ఫంక్షన్‌ను ఇన్లైన్ చేయాలనుకుంటే, ఫంక్షన్ బాడీ కూడా హెడర్ ఫైల్‌లో ఉండాలి. - 119. మొదటి మాడ్యూల్ 1 లో, మేము సోర్స్ ఆర్గనైజేషన్ గురించి మాట్లాడాము, అక్కడ వారు అన్ని ఫంక్షన్ హెడర్లు హెడర్ ఫైళ్ళలో ప్రోటోటైప్లుగా ఉండాలి, డాట్ హెచ్ ఫైల్స్ ఫంక్షన్ బాడీ ఫంక్షన్లు వేరుగా ఉంటాయి. డాట్ సిపిపి ఫైళ్ళలో ఉండాలి, కానీ ఇన్లైన్ ఫంక్షన్ కు ఇది సాధ్యం కాదు ఫంక్షన్ ఎందుకంటే ఒక అనువర్తనం ఫంక్షన్ ప్రోటోటైప్‌ను చూసినప్పుడు అది ఇన్లైన్ (ఇన్లైన్) అని చూసేవరకు, అది శరీరాన్ని ఎలా భర్తీ చేస్తుంది. - 120. కాబట్టి శరీరం ఇన్లైన్ ఫంక్షన్ కోసం హెడర్లో ఉండాలి. - 121. ఖచ్చితంగా ఇన్లైన్ ఫంక్షన్లకు రెండు వేర్వేరు నిర్వచనాలు ఉండకూడదు ఎందుకంటే దీనికి రెండు వేర్వేరు నిర్వచనాలు ఉన్నాయి, అప్పుడు రెండు ఆహ్వానాలు రెండు వేర్వేరు ప్రవర్తనలను కలిగి ఉంటాయి. - 122. కాబట్టి, ఇవి కొన్ని పరిమితులు లేదా ఇన్లైన్ యొక్క పరిమితులు గుర్తుంచుకోవాలి. - 123. సారాంశంలో, మేము సి కొరకు స్థిరమైన స్థిరాంకాన్ని తిరిగి సందర్శించాము; నేను మొత్తం మాడ్యూల్ 6 గురించి మాట్లాడుతున్నాను. - 124. అందువల్ల, మేము మానిఫెస్ట్ స్థిరాంకాన్ని పున ited సమీక్షించాము మరియు C ++ లో లభ్యమయ్యే కాస్ట్-నెస్ అనే భావనను మేము అర్థం చేసుకున్నాము మరియు మానిఫెస్ట్ స్థిరాంకం కంటే మలబద్ధకం యొక్క ప్రయోజనాలు ఏమిటో మనం చూశాము. - 125. తారాగణం మరియు పాయింటర్ ఇంటర్‌ప్లే ఎలా ఉంటుందో కూడా చూశాము. - 126. డేటా యొక్క అస్థిరత కోసం మేము పరిచయం చేసాము మరియు సి ++ ప్రోగ్రామ్‌లలో అస్థిర డేటాను ఎలా ఉపయోగించవచ్చో చూశాము. - 127. తరువాత, మేము మాక్రోలను సి పారామితి రూపంతో పునర్నిర్వచించాము మరియు మాక్రోలను మార్చడానికి ఇన్లైన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ఇన్లైనింగ్ ఉపయోగించబడుతుందని చూపించాము.అయితే మాక్రోలు అందించే అనేక వాక్యనిర్మాణ మరియు అర్థ సమస్యల ప్రయోజనంతో ఇది చేయవచ్చు. - 128. చివరగా, మేము ఇన్లైన్పై పరిమితులను కూడా చూశాము. - 129. + మాడ్యూల్6  C ++ లో ప్రోగ్రామింగ్ కు స్వాగతం. + ఈ మాడ్యూల్‌లోని కాన్స్టాంట్ - నెస్ అనే భావనను మేము ఇప్పటికే చర్చించాము, మానిఫెస్ట్ స్థిరాంకాలను ఉపయోగించటానికి బదులుగా మనం వేరియబుల్ డిక్లరేషన్‌కు అర్హత సాధించగలమని చర్చించాము. వేరియబుల్ ఒకసారి ప్రకటించబడింది మరియు ప్రారంభించబడింది. + పాయింటర్లతో కాన్ - నెస్ ఎలా పనిచేస్తుందో కూడా చూపించాము మరియు పాయింటెడ్ డేటా యొక్క స్థిరమైన పాయింటర్ యాన్స్ కాన్స్ట్ (నెస్) గురించి మాట్లాడుతాము. + మేము దానికి అంటుకుంటాము. + తరువాత, మేము అస్థిరత అని పిలువబడే సంబంధిత భావన గురించి మాట్లాడుతాము. + ఈ అస్థిరత అంతగా తెలియని భావన కాబట్టి దాన్ని కొద్దిగా అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. + మనం వేరియబుల్ గురించి ఆలోచించినప్పుడు, వేరియబుల్ మొదట్లో నిర్వచించినట్లు ప్రకటించిన తరువాత, వేరియబుల్ తో మనం ఏమి చేయగలం, అప్పుడు మనం వేరియబుల్ యొక్క విలువను చదువుతాము లేదా మనం ఎప్పుడైనా క్రొత్త విలువను కేటాయించవచ్చు. + మేము ఎల్లప్పుడూ ప్రోగ్రామ్ చేసే ప్రాథమిక ఆస్తి, నేను వేరియబుల్ యొక్క విలువను చదివితే, నేను మళ్ళీ విలువను చదివితే, ఈ మధ్య కొంత కొత్త విలువను కేటాయించే వరకు మాత్రమే నేను మునుపటి విలువను పొందుతాను అని ఆశిస్తున్నాను. పూర్తయింది. + నేను ఒక విలువను కేటాయించి, పలుసార్లు చదువుతూ ఉంటే, నేను తదుపరి నియామకం చేసే వరకు ఒకే విలువను పొందుతాను, ఇది వేరియబుల్ రాయడం యొక్క ప్రాథమిక భావన. + ఇప్పుడు, ఈ సందర్భంలో const-ness ని చూద్దాం. + మేము const-ness లో ఏమి చెప్తున్నామో, మనకు కేటాయించడానికి అనుమతి ఉంది లేదా ఆ కోణంలో విలువను ఒక్కసారి మాత్రమే ప్రారంభించండి మరియు తరువాత మార్చడానికి ఇది అనుమతించబడదు. + కాబట్టి, ప్రోగ్రామ్ యొక్క మొత్తం జీవితకాలం ఈ వేరియబుల్ గురించి నేను చదివిన విలువ కాస్ట్-నెస్ వలె ఉంటుంది. + దీనికి విరుద్ధంగా అస్థిరత ఇది అస్థిర విలువ అని చెప్తుంది, అంటే నేను వేర్వేరు పాయింట్ల వద్ద వేరియబుల్ చదివితే అదే విలువను పొందుతానని ఎటువంటి హామీ లేదు, నేను వేర్వేరు విలువలను పొందగలను. + అందువల్ల, నేను దీన్ని చేయటానికి ఒక నియామకం చేయకపోయినా, అస్థిరత అనేది ఆవిరైన ఏదో సూచిస్తుంది. + వేరియబుల్ 5 విలువను కలిగి ఉందని అనుకుందాం, మీరు దాన్ని ఒకసారి చదవండి, అప్పుడు మీరు అసైన్‌మెంట్ చేయవలసిన అవసరం లేదు, కానీ మీరు దానిని పది స్టేట్‌మెంట్ల తర్వాత చదవవచ్చు లేదా కొంత సమయం తరువాత ఈ విలువ 7 అని కనుగొనవచ్చు. + 5 విలువ ఆవిరయ్యే ముందు కనుమరుగైంది. + కాబట్టి ఇది అస్థిర వేరియబుల్ యొక్క is హ. + ప్రోగ్రామ్‌లో ఈ రకమైన వేరియబుల్ ప్రవర్తనను కలిగి ఉండటం ఎందుకు ముఖ్యం ఎందుకంటే ఇది జరిగే కొన్ని సిస్టమ్ పరిస్థితులు ఉన్నాయి, ఉదాహరణకు, నేను నెట్‌వర్క్ ప్రోగ్రామింగ్ కోడ్ (కోడ్) వ్రాస్తున్నాను, దీని ఉద్దేశ్యం పోర్టును వినడం కొనసాగించడం, ఉంటే కొన్ని డేటా వచ్చింది. + కాబట్టి మీరు చేస్తున్నది మీరు ఆ పోర్టులో ఏదైనా రాయాలని ఆశిస్తున్నారు ఎందుకంటే మీరు సిస్టమ్ వెలుపల నుండి డేటాను ఆశిస్తున్నారు, కాబట్టి మీరు చదువుతున్నారు, చదువుతున్నారు, చదువుతున్నారు. + ఏమి జరుగుతుంది? కొంత డేటా వచ్చినప్పుడు, మీ విలువ మారుతుంది, కాని మొదట విలువ బహుశా సున్నా అని మీరు చదివినప్పుడు, అకస్మాత్తుగా మీరు దాన్ని చదవవచ్చు. 100 మిల్లీసెకన్ల తరువాత కొంత విలువ వచ్చిందని మీరు కనుగొన్నారు, మీరు దానిని ఇస్తారు మరియు తర్వాత చదవవచ్చు 100 మిల్లీసెకన్లు. + మరొక విలువ ప్యాకెట్ వచ్చినందున అది వేరే విలువలో ఉంది. + ఆపరేటింగ్ సిస్టమ్ యొక్క హార్డ్‌వేర్ కెర్నల్ ద్వారా వేరియబుల్‌ను మరొక థ్రెడ్ ద్వారా మార్చడం సాధ్యమవుతుంది, కాబట్టి ఆ ప్రవర్తనను మాడ్యులేట్ చేయడం అవసరం మరియు సి ++ లోని ఈ భావన కలయికతో కూడిన మాడ్యూల్ ఎందుకంటే ఒక దయ ఇస్తుంది మీరు సంపూర్ణ సత్యం మరియు వేరియబుల్ యొక్క విలువ ఏమిటో మీకు తెలియదని హామీ ఇచ్చే మరొకటి. + కాబట్టి అవి కలిసి క్లబ్ చేయబడతాయి మరియు మేము సివి క్వాలిఫైయర్, సి కొరకు కానిస్టేబుల్ వి కోసం సివి క్వాలిఫైయర్ అని పిలుస్తాము మరియు సివి క్వాలిఫైయర్ కాస్ట్ లేదా అస్థిరతతో వేరియబుల్ యొక్క ఏదైనా డిక్లరేషన్ ప్రిఫిక్స్ ఉపయోగించవచ్చు. + దీనికి ఉదాహరణ చూపిస్తాం. + ఇక్కడ, అస్థిరత ఎలా ఉపయోగపడుతుందో చూపించడానికి ప్రయత్నిస్తున్నాము. + ఇది చాలా సులభమైన కోడ్, ఇది 0 నుండి i వరకు విలువలను కేటాయిస్తుంది మరియు తరువాత 100 కు సమానం కాని పరిస్థితిని చూడటానికి ప్రయత్నిస్తుంది. + ఇప్పుడు, మీరు ఈ కోడ్‌ను చూపించినట్లయితే, అది అనంతమైన లూప్ అని మీరు వెంటనే గుర్తిస్తారు. + ఇది అనంతమైన లూప్ ఎందుకు? ఎందుకంటే నేను విలువ 0 అయితే, నేను 100 సంవత్సరాల వయస్సులో ఉన్నానో లేదో తనిఖీ చేస్తున్నాను మరియు నేను వంద వయస్సు వచ్చేవరకు అకస్మాత్తుగా 100 విలువను చేయను. + అందువల్ల ఈ పరిస్థితి ఎల్లప్పుడూ నిజం అవుతుంది కాబట్టి ఖచ్చితంగా ఈ లూప్‌ను కొనసాగించండి, కాబట్టి కంపైలర్ ఏమి చేస్తుందో కంపైలర్ స్వీకరిస్తుంది మరియు ఇది నిజమని చెబుతుంది, ఇది (1) అయితే మొత్తం వ్యక్తీకరణ పోతుంది. + ఇప్పుడు మీరు దానిని అస్థిరతగా అర్హత పొందారని మేము చెప్తాము. + ఇది అస్థిర వేరియబుల్ అని మీరు అంటున్నారు మరియు మీరు ఇప్పుడు ఆప్టిమైజ్ చేయని అదే కోడ్‌ను చదివారు లేదా ఈ కోడ్ వాస్తవానికి పని చేస్తుందని మీరు do హించరు ఎందుకంటే అస్థిర వేరియబుల్ కావడం వల్ల మరికొన్ని ఏజెంట్లు, కొన్ని హార్డ్‌వేర్, కొన్ని పోర్ట్‌లు ఉన్నాయని మీరు ఆశించారు. , కొన్ని కెర్నల్ సిస్టమ్స్, కొన్ని థ్రెడ్ కొన్ని ఇతర మార్గాల ద్వారా మారవచ్చు. + కాబట్టి, దాని విలువ 100 అయ్యే వరకు మీరు వేచి ఉండండి మరియు ఏదో ఒక సమయంలో అది 100 అవుతుంది మరియు తరువాత ఒక నిర్దిష్ట పరిస్థితి తప్పుడు అవుతుంది మరియు ఫంక్షన్ తిరిగి రావచ్చు. + ఇది సి, సి ++ లో అస్థిర వేరియబుల్ వాడకం. + ఇప్పుడు మనం వెళ్లి # నిర్వచించు కోసం వేరే రకమైన వాడకం గురించి మాట్లాడుదాం, దీనిని సిపి ప్రాసెసర్ చేత మళ్ళీ ప్రాసెస్ చేయబడుతుంది, దీనిని మనం మాక్రోస్ అని పిలుస్తాము. + వ్యత్యాసం ఏమిటంటే, మనకు పేరు ఉన్న # పదంతో వాటిని ఇప్పటికీ నిర్వచించాము, కాని ప్రధాన విషయం ఏమిటంటే మనకు ఇప్పుడు దానిలో ఒక పరామితి ఉంది. + నేను ఉపయోగించినప్పుడు ఏమి జరుగుతుంది, నేను దానిని పారామితులతో ఉపయోగిస్తాను, కాబట్టి మేము ఒక తరగతి నిర్వచించిన పేరు అని చెప్తున్నాము మరియు దానికి ఒక పరామితిని పెడుతున్నాను, అది ప్రభావం చూపుతుంది, సి ప్రిప్రాసెసర్ నేరుగా వెళ్తుంది, X తో సరిపోతుంది మరియు భర్తీ చేస్తుంది నిర్వచించిన వ్యక్తీకరణలో A తో అన్ని X. + ఇది సాధారణ x బేస్ ప్రత్యామ్నాయం. + అందువల్ల, ఆ వ్యక్తీకరణలో x ను ఎక్కడ కనుగొన్నా, అది దానిని పరామితి a తో భర్తీ చేస్తుంది. + ఇప్పుడు, మాక్రోలు సాధారణంగా C లో వర్ణించబడతాయి మరియు C ++ లో కూడా ఉపయోగపడతాయి, కాని ఇది సంజ్ఞామానం వంటి ఫంక్షన్‌ను వ్రాయడానికి అనుమతిస్తుంది. + కాబట్టి మీకు # పంక్తిని నిర్వచించకపోతే మరియు మీరు ప్రధానంగా చదువుతుంటే తరగతి ఎక్కడ స్థూలంగా ఉందో మీకు తెలియదు లేదా ఇది ఒక ఫంక్షన్. + కంపైలర్ విషయానికి వస్తే, కంపైలర్ అది వేరియబుల్ అని చూడలేనట్లు తిరిగి కనిపించిన సందర్భంలో, అది మీరు వ్రాసిన లేదా మీ చేత స్థిరమైన విలువను మాత్రమే చూస్తుంది.ఇది స్థిరమైన వ్యక్తీకరణ, ఇక్కడ మళ్ళీ కంపైలర్ ఏ విధమైన ఫంక్షన్ సంజ్ఞామానాన్ని చూడలేరు, ఇది CPP స్థానంలో ఉన్న వ్యక్తీకరణను చూడగలదు. + అందువల్ల సి ప్రోగ్రామింగ్‌లో మాక్రోలు చాలా విస్తృతంగా ఉపయోగించబడుతున్నాయి మరియు ముఖ్యంగా సి లో ప్రయోజనాలు ఉన్నాయి, అనేక కారణాల వల్ల మీరు మాక్రోలు లేకుండా చేయలేరు. + ఇది మీకు సామర్థ్యాన్ని ఇస్తుంది ఎందుకంటే మాక్రోలకు దానిపై ఫంక్షన్ అవసరం లేదు, కానీ అవి కూడా చాలా తీవ్రమైన ప్రతికూలతను కలిగి ఉంటాయి. + మేము ఒకే తరగతి ఉదాహరణలో ఇక్కడ కొన్ని నాలుగు రెట్లు చూపిస్తాము మరియు మేము ప్రయత్నిస్తున్నాము, ఇది స్థూలమైనది మరియు ఇక్కడ నేను దీన్ని +1 తో ఉపయోగించడానికి ప్రయత్నిస్తున్నాను. + ముందు, నేను దాన్ని ఉపయోగిస్తున్నాను, నేను దాన్ని +1 ఉపయోగించటానికి ప్రయత్నిస్తున్నాను, ఎవరైనా చదివితే మానసిక అవగాహన ఉంటుంది, 1 జోడించబడుతుంది, కనుక ఇది 4 అవుతుంది మరియు అది చెల్లించబడుతుంది. వెళ్తుంది, కాబట్టి ఇది 16 అవుతుంది. + కానీ, మీరు ఈ ప్రోగ్రామ్‌ను నడుపుతున్నప్పుడు మేము వాస్తవానికి అవుట్పుట్ 7 ను పొందుతాము మరియు మీరు స్థూలని విస్తరించాలని అర్థం చేసుకోవడానికి, ఇప్పుడు ఈ స్థూలతను ఈ రేఖకు విస్తరించండి. + స్థూల x ను + 1 తో భర్తీ చేసినట్లు మీరు చూడవచ్చు, కాబట్టి మీరు కేవలం + 1 వ్రాస్తే, x కి బదులుగా అది + 1 * a +1 అవుతుంది మరియు అది ముందు వ్యక్తీకరణ అవుతుంది మరియు సానుభూతి వర్తిస్తుంది. + కాబట్టి, 1 రెట్లు 1 మధ్యలో ఉన్న 'a' కి ప్రాధాన్యత లభిస్తుంది, తద్వారా మొదటిది పనిచేస్తుంది, కనుక ఇది ఆచరణాత్మకంగా 2a + 1 అవుతుంది. + కనుక ఇది 7 అవుతుంది, కాబట్టి ఇది మొత్తం సమస్యను కలిగిస్తుంది. + అదృష్టవశాత్తూ, మీరు మాక్రో నిర్వచనంలో ప్రతి X లేదా పారామితి యొక్క ప్రతి ఉదాహరణ చుట్టూ పరామితిని ఉంచినట్లయితే పరిష్కరించగల సమస్య, మీరు అలా చేస్తే, అది ఎలా సహాయపడుతుంది? విల్? మేము పొడిగింపును మాత్రమే చూడగలం, ఇది సహాయపడుతుంది, ఎందుకంటే బ్రాకెట్ చొప్పించబడింది, స్థూల విస్తరించిన తర్వాత, ఈ స్లైడ్ యొక్క చివరి వరుసలో + 1 చుట్టూ బ్రాకెట్ ఉందని మీరు చూడవచ్చు. + కాబట్టి, ఇది (a + 1) * (a + 1) ఇప్పుడు BODMAS నియమం ఒక + 1 ను మనం ఇంతకు ముందు expected హించినట్లుగా ఉండాలి అని చెబుతుంది, కనుక ఇది ఇంకా పరిష్కరించబడుతుంది. + మరింత ముందుకు వెళ్దాం. + మీరు x వ్రాసే ప్రతిసారీ, మీరు దాని చుట్టూ బ్రాకెట్లను ఉంచవలసి ఉంటుందని మీరు గుర్తుంచుకోవలసి వస్తే ఇది నిజంగా బాధించేది, లేకపోతే మీరు ఆశ్చర్యపోవచ్చు. + తరువాత, పరిస్థితి నిజంగా అధ్వాన్నంగా ఉన్న ఒక ఉదాహరణను చూద్దాం, ఎందుకంటే, ఇప్పుడు మేము స్థూల నిర్వచనాన్ని పరిష్కరించాము, ఇప్పుడు మనం దాన్ని మళ్ళీ ఉపయోగించటానికి ప్రయత్నిస్తున్నాము మరియు నేను దానిని ++ A తో ఉపయోగించాలనుకుంటున్నాను, A ప్లస్ ప్లస్ a ప్రీ-స్కేల్డ్. + A 3 అయితే, ఇక్కడ ప్లస్ ప్లస్ I 4 అవుతుందని భావిస్తే, 4 తప్పనిసరిగా చదరపులోకి వెళ్ళాలి, అది స్క్వేర్ చేయాలి. ఇది 4 సార్లు ఉండాలి 4. ఫలితం 16 ఉండాలి. + ఫలితం 25 అని మీరు ప్రయత్నించండి. + ఎందుకు? ఈ స్థూల పొడిగింపును మళ్ళీ పరిగణించండి, అది విస్తరించినట్లయితే ఇది ఇలా కనిపిస్తుంది, ఎందుకంటే రెండు x లు ఉన్నాయి కాబట్టి వాటిలో ప్రతిదానికి ++ A వ్రాయబడుతుంది. + కాబట్టి ఏమి జరుగుతుంది, ++ కు అత్యధిక ప్రాధాన్యత ఉంది, గుణకారం కంటే ఎక్కువ ప్రాధాన్యత ఉంది, కాబట్టి గుణకారం గుణకారం ముందు ప్లస్ మరియు ప్లస్ రెండింటినీ కలిగి ఉంటుంది, 3 మొదటిది 4, తరువాత అది 5 అవుతుంది మరియు తరువాత గుణకారం జరుగుతుంది. + అందువల్ల ఫలితం 25 హించిన విధంగా 25. + కథ యొక్క దురదృష్టకర భాగం సి లో తేలికైన స్థిరీకరణ కాదు. + అందువల్ల, మీరు మాక్రోలలో ఈ రకమైన సంభావ్య ఆపదలతో జీవించాలి. + కాబట్టి, సి ++ లో ఇన్లైన్ ఫంక్షన్ అనే కొత్త ఫీచర్ ఉంది. + దీన్ని ఎలా చేయాలో నేను మొదట నిర్వచించాలి మరియు అది మాక్రోలకు ఎలా సంబంధం కలిగిస్తుందో వివరిస్తాము. ఇన్లైన్ ఫంక్షన్ మరొక ఫంక్షన్. ఒక నిర్దిష్ట రకం ఫంక్షన్ మాత్రమే తేడా కాదు, ఫంక్షన్ యొక్క ప్రోటోటైప్ (ఫంక్షన్) లోని హెడర్‌లో మీరు రిటర్న్ రకానికి ముందు తదుపరి ఇన్లైన్ వ్రాస్తారు. (ఇన్లైన్). + ఫంక్షన్‌ను అసలు ఫంక్షన్ కాల్ అని పిలిచినప్పుడు మీరు ఈ కీవర్డ్‌ను ఇన్‌లైన్‌లో వ్రాస్తే ఏమి జరుగుతుంది, కానీ అది జరగదు, కానీ ఏ ఫంక్షన్ (ఫంక్షన్) ఫంక్షన్ (ఫంక్షన్) కంపైలర్ కాల్ సైట్‌లో ఉంచే కోడ్ రూట్. + అందువల్ల, ఒక ఫంక్షన్ యొక్క ఓవర్ రేట్ కాల్ వాయిదా వేయబడింది, కాబట్టి, మేము ఫంక్షన్‌ను నిర్వచించాము, మేము ఫంక్షన్ హెడర్‌ను ఇన్‌లైన్‌తో ప్రిఫిక్స్ చేస్తాము, ఇది కుడి వైపు మాత్రమే. సి ++ కోడ్‌లో మిగిలి ఉన్న వాటిపై దృష్టి పెడదాం. ఆన్. కుడి వైపు మీ సూచన యొక్క అసలు సి కోడ్, ఇది మేము హాష్ మాక్రోను నిర్వచించలేదు. స్క్వేర్ అనేది x రిటర్న్ x ను పూర్ణాంకంగా తీసుకునే ఫంక్షన్ అని మేము చెప్తున్నాము మరియు మేము దానిని ముందు ఇన్లైన్ కీవర్డ్తో ప్రిఫిక్స్ చేస్తున్నాము. + దీని కోసం ఉపయోగించిన కోడ్ మరియు ఇక్కడ అదే విధంగా ఉంది. + ఇప్పుడు, ప్రయోజనం ఏమిటంటే C ++ లో, ఇది వాస్తవానికి ఒక ఫంక్షన్. + కాబట్టి మేము ఇంతకుముందు చూపిస్తున్న ప్రతికూలతలను మీరు కలిగి ఉండకూడదు, ఇది మొదట పారామితిని అక్షరాలా అంచనా వేస్తుంది మరియు ఆ మూల్యాంకన విలువను తీసుకొని ఫంక్షన్‌ను పిలుస్తుంది. + కాబట్టి మీరు ఇక్కడ + 1 ను పాస్ చేస్తే, అది మొదట 1 గా 4 గా చేసి, తరువాత పాస్ అవుతుంది, మీరు ++ a చేస్తే అది 3 నుండి 4 కి పెరుగుతుంది మరియు పాస్ అవుతుంది. + అందువల్ల, మీకు హాని జరగదు +  I + కానీ మీరు హాష్ నిర్వచించిన మాక్రోలతో మాక్రోల యొక్క ప్రయోజనాన్ని పొందుతారు, మీరు ఫంక్షన్ యొక్క తలపై నివారించగలిగారు, అన్ని పారామితులను కోపింగ్ అని పిలుస్తారు, తరువాత బదిలీని నియంత్రించండి, తరువాత గణన చేసి ఆపై నియంత్రించండి మరియు తిరిగి బదిలీ చేయండి + రిటర్న్ విలువ కారణంగా ఇవన్నీ వాయిదా వేయవచ్చు ఎందుకంటే కంపైలర్ వాస్తవానికి నేను ఇక్కడ చేస్తున్న సైట్‌లో ఫంక్షన్ అని పిలువబడే x సార్లు x ఉంచడానికి ప్రయత్నిస్తుంది. + కాబట్టి, ఇన్లైన్ యొక్క ప్రాథమిక లక్షణం ఇది. + కాబట్టి ప్రాధమిక లక్షణాలు మరియు విధుల రకాలను రక్షించేటప్పుడు స్థూల ప్రయోజనాన్ని పెద్ద ఎత్తున పొందడానికి ఇన్లైన్ సహాయపడుతుంది. + మేము వాటిని పక్కపక్కనే పోల్చగలిగితే, అప్పుడు మాక్రోలు విస్తరించబడతాయి, ఇవి ఇన్లైన్ స్థానంలో విస్తరించబడతాయి, ఏదో ఒకవిధంగా కాల్ స్థలం విస్తరించబడుతుంది. + మాక్రో టెక్స్ట్ రూపంలో విస్తరించినందున మీకు చూపించడం సాధ్యం కాదు, కాబట్టి నేను దానిని మీకు వివరించగలను, కాని అసెంబ్లీ కోడ్ (కోడ్) లేదా బైనరీ కోడ్ పరంగా ఇన్లైన్ (ఫంక్షన్) విస్తరించబడింది, కాబట్టి ఇది సాధ్యం కాదు దీన్ని చాలా తేలికగా అర్థం చేసుకోండి, కాని మేము చేయగలిగేది మీరు పిలిచిన సైట్ యొక్క విధిగా తీసుకోండి. + రెండూ అమలులో సమర్థవంతంగా పనిచేస్తాయి మరియు రెండూ కోడ్‌ను ఉబ్బుతాయి. + కోడ్ మొదట వస్తుంది, ఎందుకంటే ఏమి జరుగుతుందో మీకు ఒక ఫంక్షన్ నిర్వచించబడింది మరియు మీరు 10 ప్రదేశాలలో స్థూలతను అమలు చేయగల స్థూలతను చేస్తుంటే, మొత్తం స్థూల కోడ్ (కోడ్) పదిసార్లు కాపీ చేయబడుతుంది. + అదేవిధంగా, నేను ఫంక్షన్ ఇన్లైన్ కలిగి ఉంటే మరియు పది ప్రదేశాలలో పిలిస్తే, ఫంక్షన్ బాడీ పది ప్రదేశాలలో ఉంటుంది కాబట్టి కోడ్ పెద్దదిగా ఉంటుంది. + మేము కొన్ని మృదువైన సాధారణ సాఫ్ట్‌వేర్ సిస్టమ్‌ల గురించి చింతించకపోవచ్చు, కాని మనం మొబైల్ ఫోన్‌ల కోసం ప్రోగ్రామ్‌లను వ్రాసేటప్పుడు మరియు పరికరాలను నిర్వహించేటప్పుడు మెమరీ నిజంగా చిన్నది వంటి ఇతర సందర్భాల్లో మేము ఆందోళన చెందుతాము. ప్రోగ్రామ్ పెద్దదైతే ఆ అనువర్తనానికి సరిపోయేలా అవుతుంది, ఎందుకంటే మీరు అనువర్తనం పరిమాణంతో కూడా ఆందోళన చెందుతున్నారు. + కానీ మేము దానిలో చాలా లోతుగా ఉండము. + తరువాతి విషయం ఏమిటంటే, మాక్రోలకు వాక్యనిర్మాణ మరియు అర్థ నష్టం ఉంది, వాటిలో రెండు చూపించాము, ఒక + 1 వాక్యనిర్మాణ లోపం కాబట్టి వాటి చుట్టూ బ్రాకెట్లను ఉంచడం ద్వారా మేము దానిని నిర్వహించగలుగుతాము, ++ వాక్యనిర్మాణ లోపం. ఎందుకంటే ప్లస్ అమలు చేయబడిన విధానం, మేము దానిని వదిలివేయవలసి ఉంటుందని మేము నిర్వహించలేకపోయాము, కాని ఇన్లైన్ ఫంక్షన్లో అలాంటి తగ్గింపు ఉండదు. + ఇన్లైన్ ఫంక్షన్ల వలె ఖచ్చితంగా మాక్రోలు పారామితుల కోసం రకాలను తనిఖీ చేయవు. + అందువల్ల, వాటి పారామితులు దృ are ంగా ఉంటాయి, కాబట్టి పూర్ణాంక రకం విలువ కోసం ఉద్దేశపూర్వకంగా వ్రాయబడిన స్థూలతను అనుకోకుండా కొన్ని డబుల్ వేరియబుల్, కంపైలర్ అవగాహనతో పిలుస్తారు లేదా పిలవవచ్చు. దీన్ని చేయలేము, ఇన్లైన్ ఫంక్షన్ అయితే కాదు, అది సాధ్యమే ఎందుకంటే అది మన దగ్గర ఉన్న పని మాత్రమే. + అయినప్పటికీ, నా మాక్రోలకు ప్రయోజనాలు ఉన్నాయి, ఇది రకం కోసం తనిఖీ చేయలేదనే వాస్తవం కొన్ని కోడ్ రాయడానికి మాకు సహాయపడుతుంది. + ఉదాహరణకు, నేను రెండు వేరియబుల్స్ మార్చుకోవడానికి ఒక కోడ్ రాయాలనుకుంటున్నాను. + ఇప్పుడు, రెండు వేరియబుల్స్ మార్పిడి చేయడానికి, కోడ్ పూర్ణాంక వేరియబుల్‌ను మార్చుకోవచ్చు, డబుల్ వేరియబుల్‌ను మార్చుకోవచ్చు, చార్ వేరియబుల్‌ను మార్చుకోవచ్చు. + మీరు C ++ లో వ్రాయవలసి వస్తే, అప్పుడు స్వాప్ ఫంక్షన్, ఒక స్వాప్ ఫంక్షన్ ఇవన్నీ చేయలేవు ఎందుకంటే నేను రెండు పూర్ణాంక చరరాశులను మార్చుకోవలసి వస్తే నా పారామితులు టైప్ Int గా ఉంటాయి, నాకు రెండు డబుల్ వేరియబుల్స్ ఉంటే నేను కావాలనుకుంటే స్వాప్ (వేరియబుల్) అప్పుడు నా పారామితులు రెండు రకాలుగా ఉంటాయి, నేను రెండు పాయింట్లను మార్చుకోవాలనుకుంటే నా పారామితులు పాయింటర్ రకంగా ఉంటాయి. + కాబట్టి నేను ఆ ఫంక్షన్‌ను సి ++, మరియు ఇన్‌లైన్‌లో సులభంగా వ్రాయలేను + మాక్రో ఆ రకమైన చెకింగ్ చేయనందున నేను దానిని స్థూలంగా వ్రాసి స్వాప్ చేయగలను, అది కేవలం రెండు వేరియబుల్స్ ఉన్నాయని తనిఖీ చేస్తుంది మరియు మూడవ వేరియబుల్ మూడు అసైన్‌మెంట్‌లు మనకు తెలుసు, స్వాప్ ఎలా చేయాలో ఆ కోడ్‌ను మాత్రమే ఉంచుతుంది ఇక్కడ. + కాబట్టి, మాక్రోలు కొన్ని ప్రయోజనాలను అందిస్తాయి మరియు కోర్సు చివరలో కదులుతున్నప్పుడు మీరు ఇన్లైన్ ఫంక్షన్లతో కూడా చేయగలరని మేము చూపిస్తాము, కాని C ++ యొక్క చాలా తరువాత లక్షణాలు టెంప్లేట్లు అని పిలుస్తారు; మీరు చర్చించినప్పుడు అది ఎలా జరుగుతుందో మేము చూపుతాము. + చివరగా, మాక్రోల కోసం ఇన్లైన్ ఫంక్షన్‌ను కంపైల్ చేయడానికి లోపం తనిఖీ లేదు, లోపాలు తనిఖీ చేయబడతాయి మరియు వాస్తవానికి మానిఫెస్ట్ నిరంతర మాక్రోలు (మాక్రోలు) కూడా డీబగ్గర్కు కనిపిస్తాయి.అవి కావు. + మీరు డీబగ్ చేయడానికి ప్రయత్నిస్తే మీరు క్లాస్ మాక్రోను చూడలేరు ఎందుకంటే వాస్తవానికి కంపైలర్ ఆ తరగతిని ఎప్పుడూ చూడలేదు ఎందుకంటే ఇది ముందు ప్రాసెసర్ ద్వారా భర్తీ చేయబడింది. + అయితే, ఇన్లైన్ ఫంక్షన్ కోసం మీరు డీబగ్ బిల్డ్‌లో అన్నీ చూడగలరు. + మీరు డీబగ్‌ను నిర్మిస్తే, మీరు దాన్ని చూస్తారు. + నేను ఇక్కడ హైలైట్ చేయవలసిన వ్యత్యాసం ఏమిటంటే, మీరు డీబగ్ బిల్డ్ చేస్తే కంపైలర్ చేసే ఇన్లైన్ ఫంక్షన్ (ఫంక్షన్) 1 లక్షణంతో, మీరు విడుదలను నిర్మిస్తే ఇన్లైన్ చేయరు. ఇన్లైన్ చేయడం జరుగుతుంది. + మీరు డీబగ్ బిల్డింగ్ అయితే, ఇన్లైన్ ఫంక్షన్ ఏ ఇతర ఫంక్షన్ లాగా ఉంటుంది, కాబట్టి మీరు ఆ ఫంక్షన్ లో డీబగ్ చేయవచ్చు. + ఎందుకంటే డీబగ్ బిల్డ్‌లో నేను డీబగ్ చేయాలనుకుంటున్నాను అని చెప్తున్నాను. ఏమి జరుగుతుందో నేను చూడాలనుకుంటున్నాను. అయితే, విడుదల లేదా ప్రొడక్షన్ బిల్డ్‌లో మీకు నిజంగా సామర్థ్యం కావాలి, కోడ్ వేగంగా నడపాలని మీరు కోరుకుంటారు. + కాబట్టి, మీరు ఇకపై డీబగ్ చేయడానికి మొగ్గు చూపరు. మీరు ఇప్పటికే డీబగ్ చేసారు. ఇది సరైనదని మీకు తెలుసు, వాస్తవానికి ఇన్లైన్ సంభవించినప్పుడు, ఇది కొంచెం సూక్ష్మమైన విషయం, కానీ దయచేసి గమనించండి. కాలక్రమేణా మీరు ఈ అంశాలను క్రమంగా అర్థం చేసుకుంటారు. + I + అందువల్ల, మీరు ఎల్లప్పుడూ ఇన్‌లైనింగ్ ఉపయోగించాలని మేము సూచిస్తున్నాము. + అయితే మీరు తెలుసుకోవలసిన కొన్ని పరిమితులు ఉన్నాయి. + ఇన్లైన్ చేయడాన్ని డైరెక్టివ్ అంటారు. + ఒక భాషలోని సూచన కంపైలర్‌కు సూచన, మీరు కంపైలర్‌కు చెబుతున్నారు.ఈ ఫంక్షన్‌ను ఇన్లైన్ చేయడం ఉపయోగకరంగా ఉంటుందని నేను భావిస్తున్నాను, కానీ ఇది తప్పనిసరి కాదు, ఇది కంపైలర్‌పై కట్టుబడి లేదు., ఇది తప్పనిసరిగా ఇన్‌లైన్‌లో ఉండాలి. + కాబట్టి మీరు ఇన్లైన్ అని చెప్పాలి, కాని కంపైలర్ ఫంక్షన్ ఇన్లైన్ చేయదు. + కంపైలర్ ఇన్లైన్ చేయడంలో సమస్య ఉందని కనుగొంటే, లేదా ఇన్లైన్ చేయడం నిజంగా సామర్థ్యానికి సహాయపడదు. + ఉదాహరణకు, చాలా సరళమైన ఉదాహరణలో, ఒక ఫంక్షన్ బాడీ చాలా పెద్దదిగా ఉంటే, రీ-ఇన్లైన్ చేయడం ద్వారా మీరు చేస్తున్నది ఏమిటంటే ఫంక్షన్ (ఫంక్షన్) కాల్ ఫంక్షన్‌ను పిలవడానికి అవసరం లేదు. వ్రాయవలసిన అవసరం లేదు, మిగిలినవి ఎలాగైనా లెక్కించాలి. + ఫంక్షన్ బాడీ చాలా పెద్దది అయితే, అదనపు ఓవర్ కాల్స్ మరియు రిటర్న్స్ చాలా తక్కువగా ఉంటాయి, కాబట్టి మీరు ఇన్లైన్ ఇన్లైన్ చేయడంలో ఇబ్బంది పడకూడదనుకుంటున్నారు, కానీ ఫంక్షన్ బాడీ చాలా ఉంటే ఇన్లైన్ చిన్నది అయితే నిజమైనది . + కంపైలర్ ఇన్లైన్ చేయాలనుకుంటున్నారా లేదా అనేది నిర్ణయిస్తుంది. + చాలా సందర్భాల్లో, రివర్స్ C ++ లో కూడా నిజం, ఒక ఫంక్షన్ ఇన్లైన్ కావచ్చు అని మీరు చెప్పలేదు, కాని కంపైలర్ దానిని ఇన్లైన్ చేయగలదు మరియు ఇన్లైన్లో నైపుణ్యం ఉన్నట్లు కనుగొనవచ్చు. + రెండవ విషయం ఏమిటంటే ఇన్లైన్ ఫంక్షన్లు పునరావృతం కావు. + మనం ఏమి చెప్తున్నామో, ఇన్లైన్కు బదులుగా, ఫంక్షన్ కాల్ దశలో, ఫంక్షన్ యొక్క శరీరాన్ని ఇన్సర్ట్ చేస్తాము. ఒక ఫంక్షన్ పునరావృతమైతే, శరీరంలోనే మరొక కాల్ ఉంటుంది. + కాబట్టి, ఆ కాల్‌లో, మీరు ఫంక్షన్ యొక్క బాడీని మళ్ళీ ఉంచాలి, దీనిలో రెండవ కాల్ జరుగుతుంది. + ఇప్పుడు మీరు ఎన్నిసార్లు ఉంచారో పునరావృతం ఎంత లోతుగా ఉంటుందో దానిపై ఆధారపడి ఉంటుంది, మీకు విలువలు వచ్చేవరకు మీకు తెలియదు, మీరు కారకమైన 3 చేయటానికి ప్రయత్నిస్తున్నారా లేదా కారకమైన 77 చేయడానికి ప్రయత్నిస్తున్నారో మీకు తెలిసినంతవరకు. + ఎన్నిసార్లు ఇన్లైన్ చేయవలసి ఉంది, కాబట్టి పునరావృత ఫంక్షన్ ఇన్లైన్లో ఉండకూడదు, అవి తప్పనిసరిగా ఒక సాధారణ ఫంక్షన్ అయి ఉండాలి. + కాబట్టి, ఇన్లైన్ శరీరాన్ని భర్తీ చేస్తుంది. + మూడవ పాయింట్‌లో మీరు ఫంక్షన్‌ను ఇన్లైన్ చేయాలనుకుంటే, ఫంక్షన్ బాడీ కూడా హెడర్ ఫైల్‌లో ఉండాలి. + మొదటి మాడ్యూల్ 1 లో, మేము సోర్స్ ఆర్గనైజేషన్ గురించి మాట్లాడాము, అక్కడ వారు అన్ని ఫంక్షన్ హెడర్లు హెడర్ ఫైళ్ళలో ప్రోటోటైప్లుగా ఉండాలి, డాట్ హెచ్ ఫైల్స్ ఫంక్షన్ బాడీ ఫంక్షన్లు వేరుగా ఉంటాయి. డాట్ సిపిపి ఫైళ్ళలో ఉండాలి, కానీ ఇన్లైన్ ఫంక్షన్ కు ఇది సాధ్యం కాదు ఫంక్షన్ ఎందుకంటే ఒక అనువర్తనం ఫంక్షన్ ప్రోటోటైప్‌ను చూసినప్పుడు అది ఇన్లైన్ (ఇన్లైన్) అని చూసేవరకు, అది శరీరాన్ని ఎలా భర్తీ చేస్తుంది. + కాబట్టి శరీరం ఇన్లైన్ ఫంక్షన్ కోసం హెడర్లో ఉండాలి. + ఖచ్చితంగా ఇన్లైన్ ఫంక్షన్లకు రెండు వేర్వేరు నిర్వచనాలు ఉండకూడదు ఎందుకంటే దీనికి రెండు వేర్వేరు నిర్వచనాలు ఉన్నాయి, అప్పుడు రెండు ఆహ్వానాలు రెండు వేర్వేరు ప్రవర్తనలను కలిగి ఉంటాయి. + కాబట్టి, ఇవి కొన్ని పరిమితులు లేదా ఇన్లైన్ యొక్క పరిమితులు గుర్తుంచుకోవాలి. + సారాంశంలో, మేము సి కొరకు స్థిరమైన స్థిరాంకాన్ని తిరిగి సందర్శించాము; నేను మొత్తం మాడ్యూల్ 6 గురించి మాట్లాడుతున్నాను. + అందువల్ల, మేము మానిఫెస్ట్ స్థిరాంకాన్ని పున ited సమీక్షించాము మరియు C ++ లో లభ్యమయ్యే కాస్ట్-నెస్ అనే భావనను మేము అర్థం చేసుకున్నాము మరియు మానిఫెస్ట్ స్థిరాంకం కంటే మలబద్ధకం యొక్క ప్రయోజనాలు ఏమిటో మనం చూశాము. + తారాగణం మరియు పాయింటర్ ఇంటర్‌ప్లే ఎలా ఉంటుందో కూడా చూశాము. + డేటా యొక్క అస్థిరత కోసం మేము పరిచయం చేసాము మరియు సి ++ ప్రోగ్రామ్‌లలో అస్థిర డేటాను ఎలా ఉపయోగించవచ్చో చూశాము. + తరువాత, మేము మాక్రోలను సి పారామితి రూపంతో పునర్నిర్వచించాము మరియు మాక్రోలను మార్చడానికి ఇన్లైన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ఇన్లైనింగ్ ఉపయోగించబడుతుందని చూపించాము.అయితే మాక్రోలు అందించే అనేక వాక్యనిర్మాణ మరియు అర్థ సమస్యల ప్రయోజనంతో ఇది చేయవచ్చు. + చివరగా, మేము ఇన్లైన్పై పరిమితులను కూడా చూశాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/34 ProgramminginCplusplus_Type casting and cast operators Part II (Lecture 48)-hrJ-DSrmuJc.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/34 ProgramminginCplusplus_Type casting and cast operators Part II (Lecture 48)-hrJ-DSrmuJc.txt index 3680584933b3e0f894bb5ec50168852213f42f3a..d486f0ed5255d4b7a4d629be48c910444b2d66d3 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/34 ProgramminginCplusplus_Type casting and cast operators Part II (Lecture 48)-hrJ-DSrmuJc.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/34 ProgramminginCplusplus_Type casting and cast operators Part II (Lecture 48)-hrJ-DSrmuJc.txt @@ -1,196 +1,196 @@ - 1. C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 33 కు స్వాగతం. - 2. మేము సి మరియు వి ప్లస్ ప్లస్‌లో టైప్ కాస్టింగ్ గురించి చర్చిస్తున్నాము మరియు ప్రత్యేకంగా సి ++ లో కాస్ట్ ఆపరేటర్లను ప్రసారం చేస్తాము. - 3. అందువల్ల, సి మరియు సి ++ లలో కాస్టింగ్ అర్థం చేసుకునే అదే లక్ష్యంతో మేము కొనసాగుతాము. - 4. మాడ్యూల్ రూపురేఖల సందర్భంలో, మునుపటి మాడ్యూల్‌లోనే ఇది బహుళ మాడ్యూళ్ళను విస్తరిస్తుందని వివరించాను. - 5. అందువల్ల, ప్రస్తుత మాడ్యూల్‌లో ఈ రెండింటినీ చర్చించడానికి ఇక్కడ నీలం రంగులు సరిపోతాయి - స్టాటిక్ కాస్ట్ ఆపరేటర్ మరియు పునర్నిర్మాణ కాస్ట్ ఆపరేటర్. - 6. మేము సి మరియు సి ++ లలో ప్రసారం యొక్క ప్రాథమిక సమస్యలను పరిశీలించాము. - 7. సి రెండు స్పష్టమైన శైలులను కలిగి ఉందని మేము గుర్తించాము, అవ్యక్త మరియు స్పష్టమైన సి శైలితో, మరియు ఇవి రెండు ప్రధాన సమస్యలు, తరచూ సమాచార రకాలను హాని చేస్తాయి మరియు అర్థ స్పష్టత లేకపోవడం. - 8. దీనికి విరుద్ధంగా, సి ++ అవన్నీ సంరక్షిస్తుంది; కాస్టింగ్ ద్వారా వినియోగదారు నిర్వచించిన గణనను ఇది ఎలా ప్రదర్శించగలదో మేము చూస్తాము మరియు ఇవన్నీ కాస్ట్ ఆపరేటర్ల ద్వారా జరుగుతాయి. - 9. మరియు మీరు ప్రసారం చేసే ఎక్కువ సమయం వర్గంలోకి గణనీయంగా వచ్చే ఒక రకమైన ఆపరేటర్ ఆపరేటర్‌ను పరిశీలించాము. - 10. మీరు స్థిరంగా లేని సూచనను చేయడానికి ప్రయత్నిస్తున్న ఒక వస్తువులో కొంత తారాగణాన్ని ఉపయోగిస్తున్నట్లుగా మీరు రకం గురించి తాజా నిర్ధారణ చేస్తున్నారు. - 11. లేదా ఏదో స్థిరంగా లేదు, ఇది మేము రిఫరెన్స్ ద్వారా లేదా పాయింటర్ ద్వారా జోడించడానికి ప్రయత్నిస్తున్నాము, కాని సాధారణంగా మీరు కొత్త విలువలను జోడించరు, కాని మేము తదుపరి రకం కాస్టింగ్ చేస్తాము, స్టాటిక్ (స్టాటిక్) లో కనిపిస్తుంది కాస్టింగ్, ఇది వాస్తవికంగా స్పష్టంగా వినియోగదారు నిర్వచించిన గణన అమలులోకి వస్తుంది. - 12. కాబట్టి, దీనితో, మేము స్టాటిక్ కాస్ట్ ఆపరేటర్‌తో ప్రారంభిస్తాము. - 13. స్టాటిక్ కాస్ట్ ఆపరేటర్ గురించి మొదటి విషయం ఏమిటంటే, మొదట ఇది స్టాటిక్ కాస్ట్, ఇది కాస్టింగ్కు సంబంధించినదని పేరు చెబుతుంది, దీనిని కంపైల్ టైమ్ ఫిక్స్ చేయవచ్చు, స్థిరంగా ఉన్నది స్థిరమైన సమయం. - 14. కాబట్టి, ఇది కంపైల్ సమయంలో మీరు నిర్ణయించే విషయం. - 15. మరియు స్టాటిక్ తారాగణం స్పష్టంగా అనుమతించబడిన అన్ని మార్పిడులను ప్రదర్శిస్తుంది లేదా కవర్ చేస్తుంది మరియు వాటి రివర్స్‌లో శూన్యంగా ఉన్న వాటితో పాటు ఏదైనా పాయింటర్ రకాన్ని మాత్రమే కాకుండా మార్పిడిని ప్రారంభిద్దాం లేదా మార్పిడిలో నిర్మించిన ఈ విభిన్న రకాలను మీ అందరికీ తెలియజేయండి, మార్చండి పూర్ణాంకాలు. - 16. ఇంటీజర్ ఫ్లోటింగ్ పాయింట్, ఎనుమ్ టైప్ టు ఎనుమ్ టైప్, ఇంటీజర్ ఎనుమ్ టైప్ మరియు మొదలైనవి, ఇవన్నీ స్టాటిక్ కాస్ట్ ఆపరేటర్ ద్వారా చేయవచ్చు. - 17. రెండవది, ఇది సోపానక్రమంలో రెండు వేర్వేరు తరగతులను సూచించే సంకేతాలు అయిన బిందువులకు అనుగుణమైన రకాలు మధ్య మార్పిడులను చేయగలదు. - 18. మరియు ఇది అప్-కాస్ట్ మాత్రమే కాదు, డౌన్-కాస్ట్ కూడా ప్రమాదంలో ఉంది. - 19. అందువల్ల, ప్రమాదం ఏమిటంటే, మీరు చెప్పేది ఏమిటంటే, మీరు ఎప్పటికప్పుడు సురక్షితంగా ఉన్నారని మీకు తెలుసు, ఎందుకంటే మీకు మరింత సమాచారం ఉంది మరియు మీరు దాని మూల భాగాన్ని మాత్రమే చూస్తున్నారు. - 20. మీరు ప్రసారం చేసినప్పుడు, ప్రమాదం ఏమిటంటే, మీ వాస్తవ పాయింటర్, మీ నిజమైన వస్తువు, ఒక నిర్దిష్ట వస్తువు కాకపోవచ్చు, ఇది మీరు ఒక నిర్దిష్ట తరగతి (తరగతి) లో ఉపయోగించగల అదనపు సమాచారాన్ని కలిగి ఉండకపోవచ్చు, కానీ మీరు ఇంకా కాస్టింగ్‌ను దాటవేస్తున్నారు. - 21. కాబట్టి, స్టాటిక్ రిస్క్ ఆ రిస్క్ ద్వారా నడుస్తుంది మరియు సాధారణంగా డౌన్ కాస్టింగ్ కోసం ఉపయోగించకూడదు, ఎందుకంటే మీకు సరైన ఆబ్జెక్ట్ స్పెషల్ టైప్ ఉందా అని రన్ టైమ్‌లో తనిఖీ చేయదు, కానీ అది ఇంకా ప్రసారం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. - 22. అలాగే మరియు చాలా ఆసక్తికరమైన విషయం ఏమిటంటే, నిజమైన స్టాటిక్ తారాగణాన్ని ఒకే ఆర్గ్యుమెంట్ కన్స్ట్రక్టర్ లేదా ఆపరేటర్ అని పిలుస్తారు. - 23. కాబట్టి, మీరు ఒకే ఆర్గ్యుమెంట్ కన్స్ట్రక్టర్ లేదా కన్వర్షన్ ఆపరేటర్ అని చెప్పవచ్చు; వాస్తవానికి వారు వీటిని పిలవవచ్చు కాబట్టి, ఇవి వినియోగదారులు వ్రాయగల సంకేతాలు. - 24. అందువల్ల, స్టాటిక్ నటీనటులను తరచుగా వినియోగదారు నిర్వచించిన మార్పిడి దినచర్య ద్వారా ప్రసారం చేయవచ్చు; ఇది r- విలువ సూచనలు, enum ని పూర్ణాంకానికి మార్చగలదు మరియు మన దగ్గర ఉన్నది. - 25. కాబట్టి, ప్రారంభిద్దాం, మొదట కొన్ని సాధారణ ఉదాహరణలపై దృష్టి పెడదాం. - 26. కాబట్టి, ఇవి మనం మూడు పూర్ణాంకాలు, పూర్ణాంకం, డబుల్ మరియు పాయింటర్ అని నిర్వచించాము. - 27. మరియు ఇక్కడ మేము పూర్ణాంక పరివర్తన కోసం డబుల్ చేస్తున్నాము. - 28. పూర్ణాంక మార్పిడికి డబుల్, ఇది ఒక చొక్కా, ఇది మిమ్మల్ని హెచ్చరిస్తుంది. - 29. ఇది మీకు ఎందుకు హెచ్చరిక ఇస్తుంది, ఎందుకంటే పూర్ణాంకం డబుల్ కంటే చిన్న ప్రాతినిధ్య పరిమాణాన్ని కలిగి ఉంది, కాబట్టి మీరు డబుల్ నుండి పూర్ణాంకానికి మార్చినట్లయితే, మీరు కొంత సమాచారాన్ని కోల్పోయే అవకాశం ఉంది, ఇది ఇప్పటికీ అనుమతిస్తుంది, కానీ ఇది మీకు హెచ్చరిస్తుంది భాషా వివరణ? మీరు దీన్ని స్టాటిక్ కాస్ట్ ద్వారా చేస్తే, అది మంచిది, ఇది మీకు ఎటువంటి హెచ్చరిక ఇవ్వదు. - 30. ఎందుకంటే మీరు స్టాటిక్ యాక్టర్లను ఉపయోగిస్తుంటే, కంపైలర్ మీకు చాలా పరిణతి చెందినదని మీకు తెలుసు మరియు మీరు ఒక పూర్ణాంకంలో పునరావృతం చేస్తుంటే మీకు సమాచారం లేదు అని మీకు తెలుసు. మరియు మీరు పేర్కొన్నందున మీరు నిజంగా ఏమి చేయాలనుకుంటున్నారు ఆ. - 31. ఆసక్తికరమైన విషయం ఏమిటంటే, సి స్టైల్ కాస్ట్ అదే పని చేస్తుంది, ఇక్కడ ఏమి ఉద్దేశించబడిందో మీకు తెలియదు తప్ప, అది దేనికోసం ఉద్దేశించబడిందో స్పష్టంగా తెలుస్తుంది. - 32. ఇతరులు పూర్ణాంకాన్ని రెట్టింపు చేయమని నిర్దేశిస్తారు, అంతర్లీన కేసు మినహా ప్రతిదీ ఒకే విధంగా ఉంటుంది, మీకు హెచ్చరిక లేదు ఎందుకంటే పెద్ద పరిమాణంలో రెట్టింపు. - 33. కాబట్టి, ఏదైనా పూర్ణాంకం ఎల్లప్పుడూ డబుల్‌గా సూచించబడుతుంది. - 34. కాబట్టి, మీకు హెచ్చరిక రాదు. - 35. ఈ పాయింటర్‌ను పూర్ణాంకానికి రెట్టింపు చేయడానికి ప్రయత్నించిన మరొక కేసు చూడండి. - 36. కాబట్టి, అంతర్లీన తారాగణం మీకు లోపం ఇస్తుందని మీరు ప్రయత్నిస్తే, అది ఉండాలి, ఎందుకంటే మీకు పాయింటర్ ఉంది, అప్పుడు మీరు పూర్ణాంకంలో ఉంచడం ద్వారా అర్థం ఏమిటి. - 37. కాబట్టి, మార్పిడి ఉండకూడదు, అవ్యక్తం. - 38. స్టాటిక్ తారాగణం మీకు లోపం ఇస్తుంది, మీరు ఈ హక్కును చేయలేరని చెప్తారు, కాబట్టి ఇది చాలా స్పష్టంగా ఉంది ఎందుకంటే పాయింటర్ తీసుకొని దానిని పూర్ణాంకంగా భావించడం అర్ధం కాదు. - 39. మీరు సి స్టైల్ చేస్తే, అది అనుమతిస్తుంది. - 40. కాబట్టి, సి స్టైల్ కాస్ట్ మిమ్మల్ని దాదాపు ఏదైనా మరియు ప్రతిదీ చేయటానికి అనుమతించగలదని మీరు చూడవచ్చు మరియు అందువల్ల, మీరు సి స్టైల్ కాస్టింగ్ ఉపయోగిస్తే, మీరు పెద్ద రిస్క్ నడుపుతారు. - 41. వాస్తవానికి ఈ సందర్భంలో, మీరు నిజంగా ఈ తారాగణం చేయవలసి వస్తే, మీరు పునర్నిర్మాణం వంటిదాన్ని ఉపయోగించాలి మరియు సి స్టైల్ తారాగణం కాదు మరియు ఈ సందర్భంలో స్టాటిక్ కాస్ట్ పనిచేయదు. - 42. కాబట్టి, ఇది అంతర్నిర్మిత రకాలు మధ్య ప్రసారం చేయడానికి ఒక సాధారణ సందర్భం. - 43. కాబట్టి, తరగతి సోపానక్రమం సందర్భంలో కాస్టింగ్ చూడటానికి ప్రయత్నిద్దాం. - 44. కాబట్టి, నాకు సాధారణ తరగతి సోపానక్రమం ఉంది, B అనేది A, ఇది సోపానక్రమం. - 45. కాబట్టి, నాకు A మరియు B అనే రెండు వస్తువులు ఉన్నాయి. - 46. మరియు నేను b యొక్క చిరునామాను తీసుకొని A యొక్క పాయింటర్ p పై ఉంచగలను. - 47. కాబట్టి B A కనుక, ఇక్కడ వస్తువు b ఉనికిలో ఉంది మరియు ఇక్కడ పాయింటర్ p ఉంటుంది. - 48. కాబట్టి, నేను ఇలా చేస్తున్నట్లయితే, నేను అప్-కాస్ట్. - 49. నేను ఇక్కడ ప్రత్యేకంగా సాధారణీకరించబోతున్నాను కాబట్టి మనం ఇంతకు ముందు చూసినట్లుగా, ఇది అనుమతించదగినది, అందువల్ల అవ్యక్తం మంచిది. - 50. నేను అదే పనిని స్టాటిక్ తారాగణం ద్వారా చేయగలను, ఇక్కడ నేను B యొక్క చిరునామాను వ్యక్తీకరణగా తీసుకుంటాను మరియు లక్ష్యం S నక్షత్రం, నేను C శైలిని ఉపయోగించి అదే పని చేయగలను, అదనంగా ఏమీ లేదు., అయితే వాస్తవానికి మేము దీన్ని ప్రోత్సహించదు ఎందుకంటే ఏమి జరుగుతుందో మళ్ళీ మాకు అర్థం కాలేదు.+ - 51. క్రింద ఉన్న తారాగణాన్ని B A అని చూడటానికి ప్రయత్నిద్దాం, మరియు నాకు A ఉంది, నాకు ఒక వస్తువు ఉంది.మరియు q q యొక్క ప్రకటన తప్పిందని నేను అనుకుంటున్నాను, q తప్పనిసరిగా B * గా ఉండాలి. - 52. మరియు q q యొక్క ప్రకటన తప్పిందని నేను అనుకుంటున్నాను, q తప్పనిసరిగా B * గా ఉండాలి. - 53. కాబట్టి, నాకు బి స్టార్ ఉన్న q ఉంది, కనుక ఇది బి * కు పాయింటర్. - 54. కాబట్టి, మేము దీన్ని చేయడానికి ప్రయత్నిస్తున్నాము. - 55. ఇప్పుడు సహజంగా ఒక చిక్కుగా, ఇది లోపం, ఎందుకంటే నేను ప్రత్యేకమైన వస్తువు నుండి సాధారణీకరించిన వాటికి వెళుతున్నాను. - 56. కాబట్టి, కొన్ని విషయాలు తప్పిపోతాయి. - 57. కాబట్టి, ఇది లోపం. - 58. స్టాటిక్ కాస్ట్‌లో, ఇది ఖచ్చితంగా ఎందుకు అన్నది ఆసక్తికరంగా ఉంది, ఎందుకంటే కంపైలర్ కారణం, మీరు వస్తువును ఒక రకం (రకం) ను కనుగొన్నందున మరియు మీరు దానిని B రకం (రకం)) పాయింటర్ అని పిలుస్తారు కాబట్టి, మీకు తెలుసు ' సోపానక్రమం క్రిందకు వెళుతున్నాను. - 59. కాబట్టి, మీరు స్టాటిక్ కాస్ట్ చేస్తున్నారని చెప్పడం ద్వారా దీన్ని చేసే బాధ్యతను మీరు తీసుకుంటున్నారు. - 60. అందువల్ల, కంపైలర్ దీన్ని అనుమతిస్తుంది, కానీ మళ్ళీ నేను దీన్ని చేయవద్దని గట్టిగా, గట్టిగా, గట్టిగా సలహా ఇస్తాను మరియు మేము వారిని డైనమిక్ ఆర్టిస్టులుగా చర్చిస్తాము. - 61. వాస్తవానికి, సి స్టైల్ కాస్టింగ్ దాదాపు ప్రతి సందర్భంలోనూ పని చేస్తుంది. - 62. కాబట్టి, మీరు తరగతి సోపానక్రమంలో ఉన్నప్పుడు ఇది జరుగుతుంది. - 63. మీరు ఈ రకమైన వస్తువులను మరియు మీరు పొందగలిగే అన్ని రకాల ప్రతికూలతలను ఉపయోగిస్తే, ఇప్పుడు నేను మీకు సరళమైనదాన్ని చూపిస్తాను. - 64. మీకు క్లాస్ విండో (విండో) ఉందా లేదా అనే దాని గురించి ఆలోచించండి మరియు మీకు విండో స్పెషల్ విండో (విండో) ఉంది, అది విండో (విండో) తో ప్రత్యేకత కలిగి ఉంటుంది. - 65. విండో (విండో) లో పున izing పరిమాణం చేసే పద్ధతి ఉందని అనుకుందాం, తద్వారా ఇది ప్రాథమికంగా ఫంక్షన్లు. మీరు ఒక విండో (విండో) ను ఆకృతి చేస్తే ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలవబడాలి మరియు ఇది వర్చువల్ ఫంక్షన్ (ఫంక్షన్) ), కాబట్టి దీనిని పిలుస్తారు. - 66. ఇప్పుడు నిర్దిష్ట విండో పున ize పరిమాణం ఫంక్షన్‌ను భర్తీ చేయాలని నిర్ణయించుకుంటుంది మరియు దాన్ని మళ్లీ వర్తింపజేస్తుంది. - 67. మరియు ఓవర్రైడ్లో, అది చేయాలనుకుంటున్నది మొదట బేస్ క్లాస్ యొక్క ఫంక్షన్ అని పిలవాలి, తద్వారా సాధారణ విండో (విండో) యొక్క పున izing పరిమాణం ఆపరేషన్ చేయవలసి ఉంటుంది మరియు తరువాత ఈ నిర్దిష్ట విండో (విండో) నిర్దిష్ట అంశాలను చేస్తుంది. - 68. ఇది అసలు ఉద్దేశించిన డిజైన్. - 69. ఇప్పుడు, దీన్ని చేసే సందర్భంలో, ప్రోగ్రామర్ ఏమి చేసినా, ప్రోగ్రామర్ మీరు ఒక నిర్దిష్ట విండోలో ఉన్నట్లుగా కోడ్ రాశారు. - 70. కాబట్టి, ఈ పాయింటర్ ఒక నిర్దిష్ట విండోను సూచిస్తుంది. - 71. కాబట్టి, అది ఆ వస్తువును విండోకు తరలించింది. - 72. అందువల్ల, ఇది ఆ వస్తువును విండోలోకి చొప్పిస్తుంది. - 73. కాబట్టి, మీరు చెప్పేది, ఇది చాలా మంచిది, ఎందుకంటే ఇది మరింత సమాచారాన్ని కలిగి ఉంది, నేను ఇప్పుడే దానిని ప్రదర్శిస్తున్నాను, ఆపై మీరు దాని పరిమాణాన్ని మార్చండి. - 74. ఇప్పుడు విషయం ఏమిటంటే, ఇది పనిచేయదు, అది పనిచేయదు. - 75. దీనిని ఆ వస్తువును కత్తిరించడం అంటారు, ఎందుకంటే మీరు ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, ఇక్కడ మీకు చాలా స్వేచ్ఛగా చేయటానికి అనుమతి ఉంది, ఎందుకంటే పాయింటర్ ప్రసారం చేయబడింది. లేదా సూచన ఇవ్వబడింది, కానీ ఈ వ్యక్తి చేసినది చొప్పించబడింది, మొత్తం వస్తువు నెరవేరింది. - 76. ఇప్పుడు సహజంగా, మీరు ఒక నిర్దిష్ట విండో వస్తువును తీసుకోలేరు మరియు దానిని విండో వస్తువుగా మార్చలేరు. - 77. కాబట్టి, మీరు ఈ రకమైన తారాగణాన్ని పిలిచినప్పుడు, మీరు ఏమి చేస్తారు అనేది క్రొత్త విండో వస్తువును సృష్టించడం. - 78. కాబట్టి, ప్రస్తుత నిర్దిష్ట విండో ఆబ్జెక్ట్ నుండి మీకు కొన్ని కొత్త విండో (ఆబ్జెక్ట్) ఉంది. - 79. ఇది తాత్కాలికమైనది, కాబట్టి ఈ ప్రక్రియ ద్వారా ఇది తాత్కాలిక వస్తువు అవుతుంది. - 80. కాబట్టి, ఏమి జరుగుతుంది, ఇక్కడ ఇది మీ మొత్తం ప్రత్యేక విండో (విండో) కి విండో బేస్ కలిగి ఉంది మరియు ఆ విండో బేస్ w కు కాపీ చేయబడింది. - 81. ఆపై ఏమి జరుగుతుంది, కాబట్టి ఇది ఇప్పుడు మరొక W గా మారింది, ఇక్కడ మీరు ఈ కాస్టింగ్ చేయడానికి ప్రయత్నించినందున అది కాపీ చేయబడింది. - 82. ఆపై మీరు పున ize పరిమాణం అని పిలవాలి, తద్వారా పున ize పరిమాణం ఈ w పై పిలువబడుతుంది, అసలు ప్రత్యేక విండో వస్తువు కాదు, ఎందుకంటే ఇది స్వభావం కలిగింది. - 83. గుర్తుంచుకోండి, మునుపటి మాడ్యూల్‌లో కాస్టింగ్ గురించి నేను చర్చించినప్పుడు, ఒక కాంప్లెక్సర్ దీన్ని చేయవలసి వస్తే, కాస్టింగ్ (తాత్కాలిక) ఆబ్జెక్ట్ S, ఇక్కడ కంపైలర్ దీన్ని చేయాల్సిన అవసరం ఉంది ఎందుకంటే ఇది పాయింటర్ కాదు, ఇది వేరే రకం. - 84. కానీ ఇక్కడ మీరు నిజంగా వేరే వస్తువు కోసం అడుగుతున్నారు, తద్వారా వస్తువు యొక్క పరిమాణాన్ని మార్చాలి. - 85. కాబట్టి, ఒక వస్తువు సృష్టించబడుతుంది. - 86. ఇది మీ వస్తువు యొక్క బేస్ క్లాస్ భాగం నుండి సృష్టించబడుతుంది. - 87. కాబట్టి, ఆ విలువలు అన్నీ సరైనవి, కానీ భిన్నమైనది ఏమిటంటే అది చేసే ప్రక్రియలో అది ఇప్పుడు ప్రత్యేక వస్తువుగా మారింది. - 88. కాబట్టి ఇది ఆకారంలో జరుగుతుంది మరియు మీరు తిరిగి వచ్చి అసలు వస్తువు, నిర్దిష్ట విండోపై నిర్దిష్ట విషయాలు చేస్తారు. - 89. కాబట్టి, ఈ భాగాన్ని స్లైసింగ్ అంటారు. - 90. మీరు బేస్ భాగాన్ని విసిరారు. - 91. మేము వర్చువల్ డిస్ట్రాయర్ గురించి మాట్లాడినప్పుడు వేరే సందర్భంలో స్లైసింగ్ సమస్య గురించి మాట్లాడాము. - 92. వర్చువల్ డిస్ట్రక్టర్ అవసరం, కానీ మీరు సరికాని కాస్టింగ్ మరియు స్లైస్‌ల ద్వారా వెళ్ళవచ్చు. - 93. కాబట్టి, మీరు దాని గురించి జాగ్రత్తగా ఉండాలి మరియు మీరు దీన్ని చేయగల విధానాన్ని మీరు వెలికితీస్తారని తెలుసుకోండి.మీరు అధునాతనంగా ఏమీ చేయనవసరం లేదు; మీరు చేయాల్సిందల్లా విండో క్లాస్ యొక్క పున ize పరిమాణం ఫంక్షన్‌ను స్పష్టంగా పిలుస్తారు. - 94. కాబట్టి, ఈ లోపల, మీరు దీన్ని ఇప్పటికే ఒక నిర్దిష్ట విండో యొక్క ఈ సూచిక అని పిలుస్తారు. - 95. కాబట్టి, మీరు దీనిని పిలిస్తే, ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడే ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుంది మరియు అది ఉపయోగిస్తున్న పాయింటర్ నిర్దిష్ట విండో ఆబ్జెక్ట్ యొక్క ఈ పాయింటర్‌ను ఉపయోగిస్తోంది. (పాయింటర్), ఎందుకంటే అది పాయింటర్. - 96. కాబట్టి, ఈ ప్రక్రియలో, ఏమి జరుగుతుందో, మీరు వాస్తవానికి వస్తువును ప్రసారం చేయరు మరియు తాత్కాలికంగా సృష్టించలేరు, కానీ మీరు నిజంగా ఈ పాయింటర్ ఒక అవ్యక్త తారాగణం (తారాగణం) ద్వారా అని సూచిస్తున్నారు, ఇది అంతర్నిర్మిత అప్-కాస్ట్. - 97. అందువల్ల, ఇది చెల్లుబాటు అయ్యేదని మాకు తెలుసు మరియు మీరు ఇప్పటికీ అదే వస్తువును సూచిస్తున్నారు. - 98. కాబట్టి, ఇది దీనిపై వెలుగు నింపడానికి మాత్రమే, నా ముఖం మీద ప్రసారం చేయడం వల్ల మీకు ఏదో తెలుసు అని మీకు అనిపిస్తుంది, ఇది చాలా సురక్షితం మరియు మొదలైనవి, కానీ ఇది నిజంగా మిమ్మల్ని పాడు చేస్తుంది. సమస్యలను కలిగిస్తుంది. - 99. కాబట్టి, మీరు దాని గురించి జాగ్రత్తగా ఉండాలి. - 100. కాబట్టి, స్టాటిక్ కాస్ట్‌లను ఉపయోగించటానికి ఇది మరొక ఉదాహరణ మరియు తేడా ఏమిటంటే నేను ఇప్పుడు సంబంధం లేని తరగతుల గురించి మాట్లాడుతున్నాను. - 101. కాబట్టి, మళ్ళీ నాకు క్లాస్ ఎ మరియు బి ఉన్నాయి, కానీ క్లాస్ ఎ మరియు బి కి సంబంధం లేదు, అవి సోపానక్రమంలో లేవు. - 102. మరియు నేను వస్తువును ఒక వస్తువుగా మార్చడానికి ప్రయత్నిస్తున్నాను. - 103. కాబట్టి, ఇది ఒక వస్తువు అని నేను అనుకుంటున్నాను, ఇది B వస్తువు, కాబట్టి నేను B కి A ని కేటాయించటానికి ప్రయత్నిస్తున్నాను. - 104. అవ్యక్త మార్పిడి లోపం అని నేను ప్రయత్నిస్తాను, ఎందుకంటే నేను ఒక అసైన్డ్ బి చేస్తే, కంపైలర్ డాట్ ఆపరేటర్ (అసైన్‌మెంట్) కోసం చూస్తున్నాడని ఆపరేటర్ ద్వారా మేము అర్థం చేసుకున్నాము, కాబట్టి ఈ తరగతికి ఆపరేటర్ అసైన్‌మెంట్ ఉంటుందని ఆశిస్తోంది అది ఉనికిలో లేని రకం B యొక్క వస్తువును ఎంచుకుంటుంది. - 105. అందువల్ల, అవ్యక్తం పనిచేయదు; అది వెళ్ళింది. - 106. మీరు స్థిరంగా ప్రసారం చేస్తారు, మీకు లోపం వస్తుంది; మీరు నిరాశకు గురికావడానికి కూడా ప్రయత్నిస్తారు, మరియు సి స్టైల్‌ని ప్రసారం చేయడానికి కూడా ప్రయత్నించండి, మీకు లోపం వస్తుంది. - 107. అదేవిధంగా, మీరు పూర్ణాంకం నుండి A రకానికి మార్చాలనుకుందాం, పూర్ణాంకం ఒక రకం నుండి ఏర్పడుతుంది, మీరు దానిని A గా మార్చాలనుకుంటున్నారు. కాబట్టి మీరు దీన్ని ప్రయత్నించండి, ప్రయత్నించండి, ప్రయత్నించండి, ఇవన్నీ లోపాలు ఉన్నాయి. - 108. కాబట్టి, మీరు చేయవలసింది ఇక్కడ ఉంది, మీరు చెప్పేది ప్రాథమికంగా, మీకు రెండు సంబంధం లేని రకాలు ఉన్నప్పుడు, మరియు మీరు ఒకదానిని మరొకటిగా మార్చాలనుకుంటే, అది ఖచ్చితంగా మీరు చెబుతున్నది అది ఒక వస్తువు లేదా వ్యక్తీకరణ, మరియు లక్ష్యం రకం యొక్క వస్తువును సృష్టించడం నాకు అవసరం. - 109. కాబట్టి, నాకు B రకం రకం ఉంది, ఒక వస్తువును సృష్టించడానికి నేను A ని ఉపయోగించాలి. - 110. నాకు టైప్ Int యొక్క వస్తువు ఉంది, నేను ఒక వస్తువును సృష్టించడానికి టైప్ A ని ఉపయోగించాలి.మీరు సోపానక్రమంలో ఉంటే, మీకు ఇప్పటికే వస్తువు ఉంది. - 111. మీరు సోపానక్రమంలో ఉంటే, మీకు ఇప్పటికే వస్తువు ఉంది. - 112. కాబట్టి, మీరు దీన్ని ప్రత్యేకమైనదిగా లేదా సాధారణీకరించినట్లుగా చూస్తున్నట్లే, కానీ మీకు వ్యవహరించడానికి కొంత వస్తువు ఉంది, కానీ ఇక్కడ మీకు ఒకే ఒక వస్తువు లేదు హాయ్, మీరు నన్ను ఎక్కడ అభ్యంతరం వ్యక్తం చేస్తున్నారు, కాబట్టి మీరు నిర్మించాలి అది. - 113. కాబట్టి, మీరు ఈ అనుమతి మంజూరు చేయవలసి వస్తే, మీరు అందించాల్సినది A కోసం ఒక కన్స్ట్రక్టర్‌ను అందించడమే, B తీసుకునే వస్తువు కూడా అంతే సులభం. - 114. కాబట్టి, మీరు దీన్ని అందిస్తే ఈ మూడింటికీ చెల్లుబాటు అవుతుంది. - 115. ఇది ఏమిటంటే మీరు B ని కేటాయించడం, B వస్తువును ఉపయోగించి ఒక వస్తువును సృష్టించడానికి నాకు మార్గం ఉందో లేదో తనిఖీ చేస్తుంది, ఒక కన్స్ట్రక్టర్ ఉందని కనుగొంటుంది, కనుక ఇది చేస్తుంది. - 116. కాబట్టి, ఇది ప్రాథమికంగా ఒక బిని సృష్టిస్తుంది. ఇది ఒక బి. ఏదైనా కాపీ ఆపరేటర్. - 117. కాబట్టి, ఇది తదుపరి దశలో పనిని సాధించడానికి దాన్ని ఉపయోగిస్తుంది. - 118. కాబట్టి, మీరు సి స్టైల్ కాస్టింగ్ ఉపయోగిస్తే స్టాటిక్ కాస్ట్ చేస్తే ఇది సమానం. - 119. మీరు అందించిన పూర్ణాంకంలో చూసినట్లయితే, మీకు A యొక్క కన్స్ట్రక్టర్ కోసం అవసరమైన అదే తర్కం అవసరం, ఇది పూర్ణాంకంగా పూర్ణాంకానికి పడుతుంది, కాబట్టి మీరు ఇక్కడ ఒక కన్స్ట్రక్టర్‌ను జోడిస్తారు. - 120. మీరు దీన్ని చేస్తే, నేను దానిని తీసుకున్నానని, దాని ద్వారా ఒక వస్తువును నిర్మిస్తానని చూపిస్తుంది మరియు సృష్టి తరువాత అది ఉచిత కాపీ అసైన్‌మెంట్ ఆపరేషన్ ద్వారా వెళుతుంది కాపీ అప్పగింతను చేస్తుంది. - 121. అందువల్ల, మీరు అవుట్పుట్ను మాత్రమే కనుగొంటే అవి ఫంక్షన్లు అని పిలువబడుతున్నాయని మీరు చూస్తారు. - 122. కాబట్టి, ఈ మూడు రకాల అవ్యక్త కాస్టింగ్, స్థిర తారాగణంతో ప్రసారం చేయడం లేదా సముద్ర శైలి కాస్టింగ్ అన్నీ ఒకే విధమైన ప్రవర్తనను ఇస్తాయి. - 123. అందువల్ల, తరగతులు సంబంధం లేనివి, మరియు అనేక ఇతర సందర్భాల్లో, మనం వినియోగదారు-నిర్వచించిన మార్పిడిని కలిగి ఉన్న వినియోగదారు-నిర్వచించిన మార్పిడిని కలిగి ఉండగలము. - 124. వినియోగదారు నిర్వచించిన మార్పిడిని తీసుకోవడానికి ఒక మార్గం వాస్తవానికి మూలం రకం నుండి లక్ష్య రకానికి తగిన కన్స్ట్రక్టర్‌ను అందించడం. - 125. కానీ ఈ కథ ఇక్కడ ముగియదు, తదుపరి స్లైడ్‌లో మరింత ఆసక్తికరంగా ఉంది. - 126. మళ్ళీ మేము B వస్తువును తీసుకొని దానిని A రకం వస్తువులో చేర్చడానికి ప్రయత్నిస్తున్నాము, భిన్నంగా ఏమీ లేదు. - 127. అందువల్ల, మనం మార్చేదంతా లోపం అవుతుంది. - 128. కానీ రెండవ సందర్భంలో, నేను వేరే పని చేయడానికి ప్రయత్నిస్తున్నాను. మొదట నేను ఒక పూర్ణాంకానికి తీసుకొని ఒక వస్తువును నిర్మించటానికి ప్రయత్నిస్తాను. - 129. ఇప్పుడు, నేను ఏదైనా వస్తువును పూర్ణాంకానికి మార్చాలనుకుంటున్నాను, నేను మరొక విధంగా చేస్తున్నాను. - 130. ఖచ్చితంగా, అవన్నీ లోపాలు, ఎందుకంటే ఒక వస్తువు ఎలా ఇవ్వబడుతుందో నాకు తెలియదు, నేను దానిని పూర్ణాంక పూర్ణాంకంగా ఎలా అర్థం చేసుకోవాలి. - 131. కాబట్టి, ఇవన్నీ లోపాలు. - 132. మేము సమస్యను ఎలా పరిష్కరిస్తాము, ఈ సందర్భంలో, మేము A లో ఒక కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చని చూశాము, ఇది B రకం పరామితిని తీసుకుంటుంది? మరియు ప్రత్యామ్నాయ పద్ధతి ఏమిటంటే, ఆపరేటర్, కన్వర్షన్ ఆపరేటర్, దీనిని కన్వర్షన్ ఆపరేటర్ అంటారు. - 133. అందువల్ల, క్లాస్ B మీరు ఆపరేటర్ మరియు టార్గెట్ రకంగా వ్రాసే ట్రాన్స్ఫర్మేషన్ ఆపరేటర్‌ను వ్రాయగలదు. - 134. కాబట్టి, ఇది ఒక ప్రత్యేక ఆపరేటర్, ఇది ఒక వస్తువు కోసం రకం B వస్తువును ప్రసారం చేయడానికి ప్రయత్నిస్తున్నప్పుడు ఇన్వోక్ పొందుతుంది. - 135. ఈ ఆపరేటర్ ప్రత్యేకంగా ఆ ప్రయోజనం కోసం వ్రాయబడింది మరియు దీనిని కన్వర్షన్ ఆపరేటర్ అంటారు. - 136. మీరు ఆపరేటర్ + మరియు ఏమైనా వ్రాసినట్లుగా ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం గుర్తుంచుకుంటే మార్పిడి ఆపరేటర్ చాలా ఆసక్తికరమైన శైలిని కలిగి ఉంటారు, ఆపై అది ఒక వస్తువు (ఆబ్జెక్ట్) ఇస్తుంది అని నేను చెప్తున్నాను, నేను రిఫరెన్స్ తీసుకుంటున్నాను మరియు ఇవి తిరిగి వచ్చే రకం మరియు త్వరలో. - 137. ఇక్కడ మీరు దానిలోని ఆపరేటర్ పేరు ఆపరేటర్ A, టైప్ పేరు అని చూస్తారు, ఎందుకంటే ఇది ఒక రకాన్ని మార్చాలి. - 138. కాబట్టి, ఇది చిహ్నాన్ని తీసుకోదు, ఇది ఆపరేటర్ పేరుగా ఒక రకాన్ని తీసుకుంటుంది, అది A కి మారుతుంది మరియు తరువాత దానికి రిటర్న్ రకం లేదు, దీనికి ఇక్కడ రిటర్న్ రకం లేదు, ఎందుకు రిటర్న్ రకం కాదు, ఎందుకంటే మీరు B వస్తువును తీసుకొని దానిని ఒక వస్తువుగా మార్చడానికి పరివర్తన ఆపరేటర్‌ను నిర్వచిస్తున్నారు. - 139. కనుక ఇది ఎలా తిరిగి ఇవ్వాలి, అది ఒక రకమైన వస్తువును తిరిగి ఇవ్వాలి, అది మరేదైనా తిరిగి ఇవ్వదు. - 140. ఇక్కడ తిరిగి వచ్చే రకం పూర్ణాంకమని మీరు వ్రాయలేరు. - 141. రిటర్న్ రకం A గా ఉండాలి, ఎందుకంటే ఇది A కి మారుతోంది మరియు అందువల్ల, ఇది రాయడానికి సూపర్ ఫ్లో, మరియు వాక్యనిర్మాణం దానిని తిరిగి అనుమతించదు. - 142. కాబట్టి, ఇది మార్పిడి ఆపరేటర్. - 143. కాబట్టి, నేను కదిలే ప్రదేశం ... కాబట్టి మీరు B వస్తువు నుండి ఒక వస్తువును సృష్టించాల్సిన మొత్తం వాదనను వ్రాయవచ్చు మరియు దానిని ఇక్కడ ఉంచండి. - 144. నేను చాలా చేశాను ((రిఫరెన్స్ సమయం: 22:13)) నేను డిఫాల్ట్ ఒక వస్తువును సృష్టించి తిరిగి వచ్చాను, కానీ మీరు B యొక్క డేటా సభ్యులను ఉపయోగించుకోవచ్చు మరియు దానిని హుహ్ గా నిర్మించవచ్చు. - 145. కాబట్టి, మీరు దాన్ని అందించిన తర్వాత, ఇవన్నీ మళ్లీ సమానంగా చెల్లుతాయి, కానీ ఇకపై A వస్తువును తీసుకునే ఏ కన్స్ట్రక్టర్ కూడా లేరు, కానీ టైప్ A కోసం B రకం టైప్ మార్పిడి అనేది ఉపయోగించబడే ఆపరేటర్. - 146. ఆసక్తికరమైన విషయం ఏమిటంటే, మేము ఈ సమస్యను ఎలా పరిష్కరించగలం? మునుపటి శైలిని ఉపయోగించి మీరు ఈ సమస్యను ఎలా పరిష్కరించగలరో ఇప్పుడు ఆలోచించండి, ఒక మార్గం ఏమిటంటే, నా పూర్ణాంక రకం (లు) ఉంటే, నేను Int యొక్క కన్స్ట్రక్టర్‌ను వ్రాయగలను, ఇది A టేక్స్. - 147. A ని పూర్ణాంకానికి మార్చే వస్తువును టైప్ చేయండి. - 148. A ని చూస్తే, ఇది మునుపటి సందర్భంలో మేము చేసినట్లుగానే నాకు int ఇస్తుంది. - 149. ఇప్పుడు ఆ ఎంపిక ఉనికిలో లేదు, ఎందుకంటే మనం పూర్ణాంకానికి కన్స్ట్రక్టర్ రాయలేము, అది రకంలో నిర్మించబడింది. - 150. అందువల్ల, అవశేష మార్పిడి ఆపరేటర్ మార్గం మాత్రమే ఎంపిక. - 151. కాబట్టి, మీరు దీన్ని వ్రాయగల ఏకైక మార్గం క్లాస్ A కోసం, మీరు క్లాస్ A కోసం వ్రాస్తున్న ఆపరేటర్ Int ను వ్రాస్తారు. - 152. కాబట్టి, దీని అర్థం ఏమిటంటే, క్లాస్ ఎ ఆబ్జెక్ట్ ఇచ్చినట్లయితే, నేను దానిని ఇంటెంట్ ఆపరేటర్ (ఆపరేటర్) పూర్ణాంక ఫంక్షన్ (ఫంక్షన్) ఉపయోగించి మార్చగలను, మరియు నేను ఏమి చేసాను, నేను తీసుకున్నాను అని పిలిచాను మరియు అది తిరిగి వచ్చినట్లుగా నేను అమలు చేయబడ్డాను ఈ తరగతికి డేటా సభ్యుడు ఉన్నారు. - 153. అందువల్ల, నేను ఈ డేటా సభ్యుడిని తిరిగి ఇచ్చాను, ఇది మీరు వేరే ఏదైనా చేయగల నిర్దిష్ట గణన ఎంపిక, కానీ మీరు చేయాల్సిందల్లా ఇది ఆపరేటర్ పూర్ణాంకం కనుక, ఎల్లప్పుడూ ఒక పూర్ణాంకానికి తిరిగి రావడం అవసరం. - 154. అందువల్ల, పూర్ణాంకానికి అక్కడ తిరిగి రావాలి, అది మీ వద్ద ఉన్న వస్తువు నుండి లెక్కించబడుతుంది. - 155. అందువల్ల, మీరు కొన్ని వినియోగదారు-నిర్వచించిన రకాన్ని అంతర్లీన రకం విలువగా మార్చాలనుకుంటే ఆపరేటర్ మార్పిడి ఆపరేటర్‌ను ఉపయోగించడం అవసరం. - 156. మరొకటి, మీరు ఇప్పటికీ కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు; మరియు రెండు వినియోగదారు-నిర్వచించిన రకాలు కోసం, మీరు కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు లేదా ట్రాన్స్ఫర్మేషన్ ఆపరేటర్‌ను ఉపయోగించవచ్చు, అయితే మీరు రెండింటినీ ఉపయోగించలేరు. - 157. అందువల్ల, మీరు దీన్ని ఒకసారి, ఇవన్నీ చెల్లుబాటు అవుతాయి; మరియు వారు నిజంగా మార్పిడి చేయడానికి ఈ మార్పిడి ఆపరేటర్‌ను ఉపయోగిస్తారు. - 158. అందువల్ల, ఇది ఒక ప్రాథమిక పద్ధతి, దీని ద్వారా వినియోగదారు నిర్వచించిన మార్పిడి కోడ్‌ను అమలు చేయడానికి మరియు సంబంధం లేని తరగతుల మధ్య పనిచేయడానికి స్టాటిక్ కాస్ట్ ఆపరేటర్ మిమ్మల్ని అనుమతిస్తుంది. - 159. తరువాతిది కాస్ట్ ఆపరేటర్ అని పిలువబడే మూడవ రకం రీఇన్వెస్టర్. - 160. పునర్నిర్మాణ కాస్ట్ ఆపరేటర్ సంబంధం లేని తరగతుల నుండి కూడా ఏ రకమైన పాయింటర్‌ను మరొక రకమైన పాయింటర్‌గా మార్చగలదు. - 161. ఇది చాలా ముఖ్యమైన విషయం. - 162. పునర్నిర్మాణ తారాగణం, మీరు కలిగి ఉంటే మీరు ఏదో తిరిగి అర్థం చేసుకుంటున్నారు, కాబట్టి మీకు వేరియబుల్ v ఉంది, ఇది కొంత విలువకు కొంత ప్రాతినిధ్యం కలిగి ఉంది, ఇది t1 రకం అయితే, మరియు మీరు t2 యొక్క తారాగణం (తారాగణం) దాన్ని తిరిగి అర్థం చేసుకోవడానికి, మీరు దాన్ని చూస్తారు అది t2 వస్తువు అయితే. - 163. మీరు ఎటువంటి లెక్కలు చేయరు, మీరు ఏమీ చేయటానికి ప్రయత్నించరు, మీరు ఈ చిరునామాను తీసుకొని, అది ఒక t2 వస్తువులాగా ఆలోచించడం ప్రారంభించండి. - 164. కాబట్టి, ఇది మీకు నిజంగా వినాశకరమైన ఫలితాలను ఇస్తుంది, ఉదాహరణకు, t2 పెద్ద రకాలను సూచిస్తుంది. - 165. కాబట్టి, మీరు ఇక్కడ చూస్తున్నారు, మరియు మీరు దానిని చూస్తున్నారు. - 166. కాబట్టి, ఇది వేరియబుల్ v లో లేని విషయం, ఇది వేరియబుల్ v యొక్క భాగం అని అనుకోవచ్చు. - 167. అందువల్ల, ఒక పున in నిర్మాణం సాధారణంగా ఇవ్వబడుతుంది, తద్వారా మీరు పాయింటర్ రకాలు మధ్య మార్చవచ్చు. - 168. మీకు తెలిసినట్లుగా, సిస్టమ్ ఏమైనప్పటికీ, పాయింటర్ అన్ని రకాల పాయింటర్లకు ఒకే పరిమాణం. - 169. కాబట్టి, ఇది కనీస పరిమాణ సమస్య కాదు, కానీ ఇది రెండు పూర్ణాంకాలతో పాటు పూర్ణాంకాలను సూచించడానికి ఉపయోగించవచ్చు. - 170. ఇప్పుడు మీరు ఈ విధంగా ఉంచినప్పుడు, మీ పూర్ణాంక రకం తగినంత పెద్దదిగా ఉందని మీరు నిర్ధారించుకోవాలి, తద్వారా పాయింటర్ చిరునామాను అక్కడ సర్దుబాటు చేయవచ్చు. - 171. కాబట్టి, ఇది ప్లాట్‌ఫాం నిర్దిష్ట, తదుపరి పాయింట్, ప్లాట్‌ఫాం నిర్దిష్ట లక్షణం ఉన్న చోట మీరు ఉండాలి, ఎందుకంటే మీ పూర్ణాంక పరిమాణం మరియు మీ పాయింటర్ పరిమాణం ఏ విధంగానైనా ఉన్నాయని సి భాష హామీ ఇవ్వదు. - 172. పెద్ద సంఖ్యలో వ్యవస్థలలో, అవి 32 బిట్ మెషీన్ల మాదిరిగానే ఉంటాయి, ఇంటెల్ x86 రెండూ 4 బైట్లు, కానీ ఇది భాష ద్వారా హామీ ఇవ్వబడదు. - 173. కాబట్టి, మీరు నిర్దిష్ట ప్లాట్‌ఫాం నిర్దిష్ట విషయాల గురించి జాగ్రత్తగా ఉండాలి. - 174. కాబట్టి, తారాగణం యొక్క పునర్నిర్మాణం ద్వారా చేయగలిగే మార్పిడి, కాని స్థిర తారాగణం ద్వారా లేదా యంత్రం యొక్క తక్కువ-స్థాయి ఆపరేషన్ ద్వారా కాదు. - 175. మరియు సాధారణ అవగాహన ఏమిటంటే, మీరు తిరిగి పెట్టుబడి పెట్టవలసిన అవసరం ఉంటే, మీరు ఏమి చేయాలనుకుంటున్నారో మీరు చాలా ఖచ్చితంగా ఉండాలి. - 176. ఎందుకంటే సాధారణ పరిస్థితులలో, మీకు C ++ లో మంచి డిజైన్ ఉంటే, మీరు తిరిగి అర్థం చేసుకోవలసిన అవసరం లేదు. - 177. నేను C ++ లో చాలా పుస్తకాలను చదివాను, ఇక్కడ మొత్తం 300, 400 పేజీల పుస్తకంలో, ఒక కోడ్ ఉదాహరణగా పునర్నిర్మాణానికి ఒకటి లేదా రెండు ఉదాహరణలు మాత్రమే ఉండవచ్చు మరియు పునర్నిర్మాణం ఎలా చేయవచ్చో చూపించడానికి దాన్ని ఉపయోగిస్తుంది, కాబట్టి ఒక నమూనాలో ఉంది. - 178. ఇతర మూడు కాస్ట్ ఆపరేటర్లతో మీరు చేయలేని కొన్ని స్టైల్ కాస్ట్‌లు ఉన్నందున మీరు పునర్నిర్మాణ తారాగణం ఇప్పటికీ ఉందని ఖచ్చితంగా చెప్పబడింది. - 179. కాబట్టి, ఉదాహరణకు, మీరు మార్చవచ్చు, మీరు చూస్తే, మేము ఇంతకు ముందే చూస్తున్నాం, కాబట్టి మీరు దాన్ని చూస్తే మరియు అది ఒక సూచిక, ఇది డబుల్ ఈజ్, మరియు ఇది పూర్ణాంకం, ఇది లోపం, కానీ సి స్టైల్ కాస్టింగ్‌లో, మీరు దీన్ని ఇంకా చేయవచ్చు. - 180. కాబట్టి, సి స్టైల్ కాస్టింగ్ యొక్క అటువంటి సందర్భాలలో, మీరు ప్రసారం చేయడానికి ఒక అధికారిక తారాగణం ఆపరేటర్‌ను కలిగి ఉంటారు. - 181. కాబట్టి, మీరు చెప్పేది ఏమిటంటే, మీకు డబుల్ పాయింటర్ ఉంది మరియు దానిని పూర్ణాంకంగా మాత్రమే ఆలోచించండి, మరేదైనా ప్రయత్నించవద్దు. - 182. తప్పు జరిగిపోయిన ప్రోగ్రామర్‌తో ఇప్పుడు ప్రమాదం ఉంది. - 183. ఇది మొత్తంగా ఉపయోగించవచ్చు, ఇవి పూర్తిగా సంబంధం లేని రెండు తరగతుల సంకేతాలు, మీరు ఇక్కడ చూడగలిగినట్లుగా సంబంధం లేని తరగతులు చేస్తారు. - 184. మరియు మీరు ఒకరినొకరు పునర్నిర్మాణ తారాగణం ద్వారా ఉంచవచ్చు. - 185. కాబట్టి, ఇది భిన్నమైనది; ఇది స్టాటిక్ కాస్ట్ చేత చేయబడిన వస్తువులను ప్రసారం చేయడం లేదు, ఇక్కడ మేము కన్స్ట్రక్టర్ లేదా కన్వర్షన్ ఆపరేటర్‌ను ప్రారంభించవచ్చు. - 186. ఇక్కడ మేము ఒక పాయింటర్ను చొప్పించడానికి ప్రయత్నిస్తున్నాము. - 187. అందువల్ల, పాయింటర్‌ను ప్రసారం చేయడానికి మేము ఏ తర్కాన్ని నిర్వచించలేము, కేవలం రకం అనేది తారాగణాన్ని గుర్తించడానికి మరియు తిరిగి అర్థం చేసుకోవడానికి ఒక మార్గం. - 188. మరియు అది పూర్తయిన తర్వాత, మీరు నిజంగా PA ను పట్టాలు తప్పి, ఆ వస్తువును ఉపయోగించడం ప్రారంభించవచ్చు. - 189. వాస్తవానికి, మీ కోసం ఏమి ఉంది ఎందుకంటే ఇది వేరే వస్తువు, ఇది వేరే వస్తువు. - 190. మీ కోసం ఏమి ఉంది, ఇది పూర్తిగా .హించనిది. - 191. అందువల్ల, రీఇన్వెస్టర్లు కళాకారులను ఉపయోగించవద్దని నేను గట్టిగా, గట్టిగా సిఫార్సు చేస్తున్నాను. - 192. మీకు పున in నిర్మాణం అవసరమైతే, డిజైన్‌లో కొంత లకునా ఉండాలి అని రెండవసారి చూడండి, తద్వారా మీరు డిజైన్‌ను మార్చాలి, మీరు ఇతర మూడు రకాల కాస్ట్ ఆపరేటర్లతో నిర్వహించగలుగుతారు. - 193. కాబట్టి, సంగ్రహంగా చెప్పాలంటే, మేము సి ++ లో టైప్ కాస్టింగ్ చర్చను కొనసాగించాము. - 194. మరియు ముఖ్యంగా, మేము ఈ మాడ్యూల్‌లో స్టాటిక్ కాస్ట్‌లు మరియు పునర్నిర్మాణాలను అధ్యయనం చేసాము. - 195. + C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 33 కు స్వాగతం. + మేము సి మరియు వి ప్లస్ ప్లస్‌లో టైప్ కాస్టింగ్ గురించి చర్చిస్తున్నాము మరియు ప్రత్యేకంగా సి ++ లో కాస్ట్ ఆపరేటర్లను ప్రసారం చేస్తాము. + అందువల్ల, సి మరియు సి ++ లలో కాస్టింగ్ అర్థం చేసుకునే అదే లక్ష్యంతో మేము కొనసాగుతాము. + మాడ్యూల్ రూపురేఖల సందర్భంలో, మునుపటి మాడ్యూల్‌లోనే ఇది బహుళ మాడ్యూళ్ళను విస్తరిస్తుందని వివరించాను. + అందువల్ల, ప్రస్తుత మాడ్యూల్‌లో ఈ రెండింటినీ చర్చించడానికి ఇక్కడ నీలం రంగులు సరిపోతాయి - స్టాటిక్ కాస్ట్ ఆపరేటర్ మరియు పునర్నిర్మాణ కాస్ట్ ఆపరేటర్. + మేము సి మరియు సి ++ లలో ప్రసారం యొక్క ప్రాథమిక సమస్యలను పరిశీలించాము. + సి రెండు స్పష్టమైన శైలులను కలిగి ఉందని మేము గుర్తించాము, అవ్యక్త మరియు స్పష్టమైన సి శైలితో, మరియు ఇవి రెండు ప్రధాన సమస్యలు, తరచూ సమాచార రకాలను హాని చేస్తాయి మరియు అర్థ స్పష్టత లేకపోవడం. + దీనికి విరుద్ధంగా, సి ++ అవన్నీ సంరక్షిస్తుంది; కాస్టింగ్ ద్వారా వినియోగదారు నిర్వచించిన గణనను ఇది ఎలా ప్రదర్శించగలదో మేము చూస్తాము మరియు ఇవన్నీ కాస్ట్ ఆపరేటర్ల ద్వారా జరుగుతాయి. + మరియు మీరు ప్రసారం చేసే ఎక్కువ సమయం వర్గంలోకి గణనీయంగా వచ్చే ఒక రకమైన ఆపరేటర్ ఆపరేటర్‌ను పరిశీలించాము. + మీరు స్థిరంగా లేని సూచనను చేయడానికి ప్రయత్నిస్తున్న ఒక వస్తువులో కొంత తారాగణాన్ని ఉపయోగిస్తున్నట్లుగా మీరు రకం గురించి తాజా నిర్ధారణ చేస్తున్నారు. + లేదా ఏదో స్థిరంగా లేదు, ఇది మేము రిఫరెన్స్ ద్వారా లేదా పాయింటర్ ద్వారా జోడించడానికి ప్రయత్నిస్తున్నాము, కాని సాధారణంగా మీరు కొత్త విలువలను జోడించరు, కాని మేము తదుపరి రకం కాస్టింగ్ చేస్తాము, స్టాటిక్ (స్టాటిక్) లో కనిపిస్తుంది కాస్టింగ్, ఇది వాస్తవికంగా స్పష్టంగా వినియోగదారు నిర్వచించిన గణన అమలులోకి వస్తుంది. + కాబట్టి, దీనితో, మేము స్టాటిక్ కాస్ట్ ఆపరేటర్‌తో ప్రారంభిస్తాము. + స్టాటిక్ కాస్ట్ ఆపరేటర్ గురించి మొదటి విషయం ఏమిటంటే, మొదట ఇది స్టాటిక్ కాస్ట్, ఇది కాస్టింగ్కు సంబంధించినదని పేరు చెబుతుంది, దీనిని కంపైల్ టైమ్ ఫిక్స్ చేయవచ్చు, స్థిరంగా ఉన్నది స్థిరమైన సమయం. + కాబట్టి, ఇది కంపైల్ సమయంలో మీరు నిర్ణయించే విషయం. + మరియు స్టాటిక్ తారాగణం స్పష్టంగా అనుమతించబడిన అన్ని మార్పిడులను ప్రదర్శిస్తుంది లేదా కవర్ చేస్తుంది మరియు వాటి రివర్స్‌లో శూన్యంగా ఉన్న వాటితో పాటు ఏదైనా పాయింటర్ రకాన్ని మాత్రమే కాకుండా మార్పిడిని ప్రారంభిద్దాం లేదా మార్పిడిలో నిర్మించిన ఈ విభిన్న రకాలను మీ అందరికీ తెలియజేయండి, మార్చండి పూర్ణాంకాలు. + ఇంటీజర్ ఫ్లోటింగ్ పాయింట్, ఎనుమ్ టైప్ టు ఎనుమ్ టైప్, ఇంటీజర్ ఎనుమ్ టైప్ మరియు మొదలైనవి, ఇవన్నీ స్టాటిక్ కాస్ట్ ఆపరేటర్ ద్వారా చేయవచ్చు. + రెండవది, ఇది సోపానక్రమంలో రెండు వేర్వేరు తరగతులను సూచించే సంకేతాలు అయిన బిందువులకు అనుగుణమైన రకాలు మధ్య మార్పిడులను చేయగలదు. + మరియు ఇది అప్-కాస్ట్ మాత్రమే కాదు, డౌన్-కాస్ట్ కూడా ప్రమాదంలో ఉంది. + అందువల్ల, ప్రమాదం ఏమిటంటే, మీరు చెప్పేది ఏమిటంటే, మీరు ఎప్పటికప్పుడు సురక్షితంగా ఉన్నారని మీకు తెలుసు, ఎందుకంటే మీకు మరింత సమాచారం ఉంది మరియు మీరు దాని మూల భాగాన్ని మాత్రమే చూస్తున్నారు. + మీరు ప్రసారం చేసినప్పుడు, ప్రమాదం ఏమిటంటే, మీ వాస్తవ పాయింటర్, మీ నిజమైన వస్తువు, ఒక నిర్దిష్ట వస్తువు కాకపోవచ్చు, ఇది మీరు ఒక నిర్దిష్ట తరగతి (తరగతి) లో ఉపయోగించగల అదనపు సమాచారాన్ని కలిగి ఉండకపోవచ్చు, కానీ మీరు ఇంకా కాస్టింగ్‌ను దాటవేస్తున్నారు. + కాబట్టి, స్టాటిక్ రిస్క్ ఆ రిస్క్ ద్వారా నడుస్తుంది మరియు సాధారణంగా డౌన్ కాస్టింగ్ కోసం ఉపయోగించకూడదు, ఎందుకంటే మీకు సరైన ఆబ్జెక్ట్ స్పెషల్ టైప్ ఉందా అని రన్ టైమ్‌లో తనిఖీ చేయదు, కానీ అది ఇంకా ప్రసారం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. + అలాగే మరియు చాలా ఆసక్తికరమైన విషయం ఏమిటంటే, నిజమైన స్టాటిక్ తారాగణాన్ని ఒకే ఆర్గ్యుమెంట్ కన్స్ట్రక్టర్ లేదా ఆపరేటర్ అని పిలుస్తారు. + కాబట్టి, మీరు ఒకే ఆర్గ్యుమెంట్ కన్స్ట్రక్టర్ లేదా కన్వర్షన్ ఆపరేటర్ అని చెప్పవచ్చు; వాస్తవానికి వారు వీటిని పిలవవచ్చు కాబట్టి, ఇవి వినియోగదారులు వ్రాయగల సంకేతాలు. + అందువల్ల, స్టాటిక్ నటీనటులను తరచుగా వినియోగదారు నిర్వచించిన మార్పిడి దినచర్య ద్వారా ప్రసారం చేయవచ్చు; ఇది r- విలువ సూచనలు, enum ని పూర్ణాంకానికి మార్చగలదు మరియు మన దగ్గర ఉన్నది. + కాబట్టి, ప్రారంభిద్దాం, మొదట కొన్ని సాధారణ ఉదాహరణలపై దృష్టి పెడదాం. + కాబట్టి, ఇవి మనం మూడు పూర్ణాంకాలు, పూర్ణాంకం, డబుల్ మరియు పాయింటర్ అని నిర్వచించాము. + మరియు ఇక్కడ మేము పూర్ణాంక పరివర్తన కోసం డబుల్ చేస్తున్నాము. + పూర్ణాంక మార్పిడికి డబుల్, ఇది ఒక చొక్కా, ఇది మిమ్మల్ని హెచ్చరిస్తుంది. + ఇది మీకు ఎందుకు హెచ్చరిక ఇస్తుంది, ఎందుకంటే పూర్ణాంకం డబుల్ కంటే చిన్న ప్రాతినిధ్య పరిమాణాన్ని కలిగి ఉంది, కాబట్టి మీరు డబుల్ నుండి పూర్ణాంకానికి మార్చినట్లయితే, మీరు కొంత సమాచారాన్ని కోల్పోయే అవకాశం ఉంది, ఇది ఇప్పటికీ అనుమతిస్తుంది, కానీ ఇది మీకు హెచ్చరిస్తుంది భాషా వివరణ? మీరు దీన్ని స్టాటిక్ కాస్ట్ ద్వారా చేస్తే, అది మంచిది, ఇది మీకు ఎటువంటి హెచ్చరిక ఇవ్వదు. + ఎందుకంటే మీరు స్టాటిక్ యాక్టర్లను ఉపయోగిస్తుంటే, కంపైలర్ మీకు చాలా పరిణతి చెందినదని మీకు తెలుసు మరియు మీరు ఒక పూర్ణాంకంలో పునరావృతం చేస్తుంటే మీకు సమాచారం లేదు అని మీకు తెలుసు. మరియు మీరు పేర్కొన్నందున మీరు నిజంగా ఏమి చేయాలనుకుంటున్నారు ఆ. + ఆసక్తికరమైన విషయం ఏమిటంటే, సి స్టైల్ కాస్ట్ అదే పని చేస్తుంది, ఇక్కడ ఏమి ఉద్దేశించబడిందో మీకు తెలియదు తప్ప, అది దేనికోసం ఉద్దేశించబడిందో స్పష్టంగా తెలుస్తుంది. + ఇతరులు పూర్ణాంకాన్ని రెట్టింపు చేయమని నిర్దేశిస్తారు, అంతర్లీన కేసు మినహా ప్రతిదీ ఒకే విధంగా ఉంటుంది, మీకు హెచ్చరిక లేదు ఎందుకంటే పెద్ద పరిమాణంలో రెట్టింపు. + కాబట్టి, ఏదైనా పూర్ణాంకం ఎల్లప్పుడూ డబుల్‌గా సూచించబడుతుంది. + కాబట్టి, మీకు హెచ్చరిక రాదు. + ఈ పాయింటర్‌ను పూర్ణాంకానికి రెట్టింపు చేయడానికి ప్రయత్నించిన మరొక కేసు చూడండి. + కాబట్టి, అంతర్లీన తారాగణం మీకు లోపం ఇస్తుందని మీరు ప్రయత్నిస్తే, అది ఉండాలి, ఎందుకంటే మీకు పాయింటర్ ఉంది, అప్పుడు మీరు పూర్ణాంకంలో ఉంచడం ద్వారా అర్థం ఏమిటి. + కాబట్టి, మార్పిడి ఉండకూడదు, అవ్యక్తం. + స్టాటిక్ తారాగణం మీకు లోపం ఇస్తుంది, మీరు ఈ హక్కును చేయలేరని చెప్తారు, కాబట్టి ఇది చాలా స్పష్టంగా ఉంది ఎందుకంటే పాయింటర్ తీసుకొని దానిని పూర్ణాంకంగా భావించడం అర్ధం కాదు. + మీరు సి స్టైల్ చేస్తే, అది అనుమతిస్తుంది. + కాబట్టి, సి స్టైల్ కాస్ట్ మిమ్మల్ని దాదాపు ఏదైనా మరియు ప్రతిదీ చేయటానికి అనుమతించగలదని మీరు చూడవచ్చు మరియు అందువల్ల, మీరు సి స్టైల్ కాస్టింగ్ ఉపయోగిస్తే, మీరు పెద్ద రిస్క్ నడుపుతారు. + వాస్తవానికి ఈ సందర్భంలో, మీరు నిజంగా ఈ తారాగణం చేయవలసి వస్తే, మీరు పునర్నిర్మాణం వంటిదాన్ని ఉపయోగించాలి మరియు సి స్టైల్ తారాగణం కాదు మరియు ఈ సందర్భంలో స్టాటిక్ కాస్ట్ పనిచేయదు. + కాబట్టి, ఇది అంతర్నిర్మిత రకాలు మధ్య ప్రసారం చేయడానికి ఒక సాధారణ సందర్భం. + కాబట్టి, తరగతి సోపానక్రమం సందర్భంలో కాస్టింగ్ చూడటానికి ప్రయత్నిద్దాం. + కాబట్టి, నాకు సాధారణ తరగతి సోపానక్రమం ఉంది, B అనేది A, ఇది సోపానక్రమం. + కాబట్టి, నాకు A మరియు B అనే రెండు వస్తువులు ఉన్నాయి. + మరియు నేను b యొక్క చిరునామాను తీసుకొని A యొక్క పాయింటర్ p పై ఉంచగలను. + కాబట్టి B A కనుక, ఇక్కడ వస్తువు b ఉనికిలో ఉంది మరియు ఇక్కడ పాయింటర్ p ఉంటుంది. + కాబట్టి, నేను ఇలా చేస్తున్నట్లయితే, నేను అప్-కాస్ట్. + నేను ఇక్కడ ప్రత్యేకంగా సాధారణీకరించబోతున్నాను కాబట్టి మనం ఇంతకు ముందు చూసినట్లుగా, ఇది అనుమతించదగినది, అందువల్ల అవ్యక్తం మంచిది. + నేను అదే పనిని స్టాటిక్ తారాగణం ద్వారా చేయగలను, ఇక్కడ నేను B యొక్క చిరునామాను వ్యక్తీకరణగా తీసుకుంటాను మరియు లక్ష్యం S నక్షత్రం, నేను C శైలిని ఉపయోగించి అదే పని చేయగలను, అదనంగా ఏమీ లేదు., అయితే వాస్తవానికి మేము దీన్ని ప్రోత్సహించదు ఎందుకంటే ఏమి జరుగుతుందో మళ్ళీ మాకు అర్థం కాలేదు.+ + క్రింద ఉన్న తారాగణాన్ని B A అని చూడటానికి ప్రయత్నిద్దాం, మరియు నాకు A ఉంది, నాకు ఒక వస్తువు ఉంది.మరియు q q యొక్క ప్రకటన తప్పిందని నేను అనుకుంటున్నాను, q తప్పనిసరిగా B * గా ఉండాలి. + మరియు q q యొక్క ప్రకటన తప్పిందని నేను అనుకుంటున్నాను, q తప్పనిసరిగా B * గా ఉండాలి. + కాబట్టి, నాకు బి స్టార్ ఉన్న q ఉంది, కనుక ఇది బి * కు పాయింటర్. + కాబట్టి, మేము దీన్ని చేయడానికి ప్రయత్నిస్తున్నాము. + ఇప్పుడు సహజంగా ఒక చిక్కుగా, ఇది లోపం, ఎందుకంటే నేను ప్రత్యేకమైన వస్తువు నుండి సాధారణీకరించిన వాటికి వెళుతున్నాను. + కాబట్టి, కొన్ని విషయాలు తప్పిపోతాయి. + కాబట్టి, ఇది లోపం. + స్టాటిక్ కాస్ట్‌లో, ఇది ఖచ్చితంగా ఎందుకు అన్నది ఆసక్తికరంగా ఉంది, ఎందుకంటే కంపైలర్ కారణం, మీరు వస్తువును ఒక రకం (రకం) ను కనుగొన్నందున మరియు మీరు దానిని B రకం (రకం)) పాయింటర్ అని పిలుస్తారు కాబట్టి, మీకు తెలుసు ' సోపానక్రమం క్రిందకు వెళుతున్నాను. + కాబట్టి, మీరు స్టాటిక్ కాస్ట్ చేస్తున్నారని చెప్పడం ద్వారా దీన్ని చేసే బాధ్యతను మీరు తీసుకుంటున్నారు. + అందువల్ల, కంపైలర్ దీన్ని అనుమతిస్తుంది, కానీ మళ్ళీ నేను దీన్ని చేయవద్దని గట్టిగా, గట్టిగా, గట్టిగా సలహా ఇస్తాను మరియు మేము వారిని డైనమిక్ ఆర్టిస్టులుగా చర్చిస్తాము. + వాస్తవానికి, సి స్టైల్ కాస్టింగ్ దాదాపు ప్రతి సందర్భంలోనూ పని చేస్తుంది. + కాబట్టి, మీరు తరగతి సోపానక్రమంలో ఉన్నప్పుడు ఇది జరుగుతుంది. + మీరు ఈ రకమైన వస్తువులను మరియు మీరు పొందగలిగే అన్ని రకాల ప్రతికూలతలను ఉపయోగిస్తే, ఇప్పుడు నేను మీకు సరళమైనదాన్ని చూపిస్తాను. + మీకు క్లాస్ విండో (విండో) ఉందా లేదా అనే దాని గురించి ఆలోచించండి మరియు మీకు విండో స్పెషల్ విండో (విండో) ఉంది, అది విండో (విండో) తో ప్రత్యేకత కలిగి ఉంటుంది. + విండో (విండో) లో పున izing పరిమాణం చేసే పద్ధతి ఉందని అనుకుందాం, తద్వారా ఇది ప్రాథమికంగా ఫంక్షన్లు. మీరు ఒక విండో (విండో) ను ఆకృతి చేస్తే ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలవబడాలి మరియు ఇది వర్చువల్ ఫంక్షన్ (ఫంక్షన్) ), కాబట్టి దీనిని పిలుస్తారు. + ఇప్పుడు నిర్దిష్ట విండో పున ize పరిమాణం ఫంక్షన్‌ను భర్తీ చేయాలని నిర్ణయించుకుంటుంది మరియు దాన్ని మళ్లీ వర్తింపజేస్తుంది. + మరియు ఓవర్రైడ్లో, అది చేయాలనుకుంటున్నది మొదట బేస్ క్లాస్ యొక్క ఫంక్షన్ అని పిలవాలి, తద్వారా సాధారణ విండో (విండో) యొక్క పున izing పరిమాణం ఆపరేషన్ చేయవలసి ఉంటుంది మరియు తరువాత ఈ నిర్దిష్ట విండో (విండో) నిర్దిష్ట అంశాలను చేస్తుంది. + ఇది అసలు ఉద్దేశించిన డిజైన్. + ఇప్పుడు, దీన్ని చేసే సందర్భంలో, ప్రోగ్రామర్ ఏమి చేసినా, ప్రోగ్రామర్ మీరు ఒక నిర్దిష్ట విండోలో ఉన్నట్లుగా కోడ్ రాశారు. + కాబట్టి, ఈ పాయింటర్ ఒక నిర్దిష్ట విండోను సూచిస్తుంది. + కాబట్టి, అది ఆ వస్తువును విండోకు తరలించింది. + అందువల్ల, ఇది ఆ వస్తువును విండోలోకి చొప్పిస్తుంది. + కాబట్టి, మీరు చెప్పేది, ఇది చాలా మంచిది, ఎందుకంటే ఇది మరింత సమాచారాన్ని కలిగి ఉంది, నేను ఇప్పుడే దానిని ప్రదర్శిస్తున్నాను, ఆపై మీరు దాని పరిమాణాన్ని మార్చండి. + ఇప్పుడు విషయం ఏమిటంటే, ఇది పనిచేయదు, అది పనిచేయదు. + దీనిని ఆ వస్తువును కత్తిరించడం అంటారు, ఎందుకంటే మీరు ప్రయత్నించినప్పుడు ఏమి జరుగుతుంది, ఇక్కడ మీకు చాలా స్వేచ్ఛగా చేయటానికి అనుమతి ఉంది, ఎందుకంటే పాయింటర్ ప్రసారం చేయబడింది. లేదా సూచన ఇవ్వబడింది, కానీ ఈ వ్యక్తి చేసినది చొప్పించబడింది, మొత్తం వస్తువు నెరవేరింది. + ఇప్పుడు సహజంగా, మీరు ఒక నిర్దిష్ట విండో వస్తువును తీసుకోలేరు మరియు దానిని విండో వస్తువుగా మార్చలేరు. + కాబట్టి, మీరు ఈ రకమైన తారాగణాన్ని పిలిచినప్పుడు, మీరు ఏమి చేస్తారు అనేది క్రొత్త విండో వస్తువును సృష్టించడం. + కాబట్టి, ప్రస్తుత నిర్దిష్ట విండో ఆబ్జెక్ట్ నుండి మీకు కొన్ని కొత్త విండో (ఆబ్జెక్ట్) ఉంది. + ఇది తాత్కాలికమైనది, కాబట్టి ఈ ప్రక్రియ ద్వారా ఇది తాత్కాలిక వస్తువు అవుతుంది. + కాబట్టి, ఏమి జరుగుతుంది, ఇక్కడ ఇది మీ మొత్తం ప్రత్యేక విండో (విండో) కి విండో బేస్ కలిగి ఉంది మరియు ఆ విండో బేస్ w కు కాపీ చేయబడింది. + ఆపై ఏమి జరుగుతుంది, కాబట్టి ఇది ఇప్పుడు మరొక W గా మారింది, ఇక్కడ మీరు ఈ కాస్టింగ్ చేయడానికి ప్రయత్నించినందున అది కాపీ చేయబడింది. + ఆపై మీరు పున ize పరిమాణం అని పిలవాలి, తద్వారా పున ize పరిమాణం ఈ w పై పిలువబడుతుంది, అసలు ప్రత్యేక విండో వస్తువు కాదు, ఎందుకంటే ఇది స్వభావం కలిగింది. + గుర్తుంచుకోండి, మునుపటి మాడ్యూల్‌లో కాస్టింగ్ గురించి నేను చర్చించినప్పుడు, ఒక కాంప్లెక్సర్ దీన్ని చేయవలసి వస్తే, కాస్టింగ్ (తాత్కాలిక) ఆబ్జెక్ట్ S, ఇక్కడ కంపైలర్ దీన్ని చేయాల్సిన అవసరం ఉంది ఎందుకంటే ఇది పాయింటర్ కాదు, ఇది వేరే రకం. + కానీ ఇక్కడ మీరు నిజంగా వేరే వస్తువు కోసం అడుగుతున్నారు, తద్వారా వస్తువు యొక్క పరిమాణాన్ని మార్చాలి. + కాబట్టి, ఒక వస్తువు సృష్టించబడుతుంది. + ఇది మీ వస్తువు యొక్క బేస్ క్లాస్ భాగం నుండి సృష్టించబడుతుంది. + కాబట్టి, ఆ విలువలు అన్నీ సరైనవి, కానీ భిన్నమైనది ఏమిటంటే అది చేసే ప్రక్రియలో అది ఇప్పుడు ప్రత్యేక వస్తువుగా మారింది. + కాబట్టి ఇది ఆకారంలో జరుగుతుంది మరియు మీరు తిరిగి వచ్చి అసలు వస్తువు, నిర్దిష్ట విండోపై నిర్దిష్ట విషయాలు చేస్తారు. + కాబట్టి, ఈ భాగాన్ని స్లైసింగ్ అంటారు. + మీరు బేస్ భాగాన్ని విసిరారు. + మేము వర్చువల్ డిస్ట్రాయర్ గురించి మాట్లాడినప్పుడు వేరే సందర్భంలో స్లైసింగ్ సమస్య గురించి మాట్లాడాము. + వర్చువల్ డిస్ట్రక్టర్ అవసరం, కానీ మీరు సరికాని కాస్టింగ్ మరియు స్లైస్‌ల ద్వారా వెళ్ళవచ్చు. + కాబట్టి, మీరు దాని గురించి జాగ్రత్తగా ఉండాలి మరియు మీరు దీన్ని చేయగల విధానాన్ని మీరు వెలికితీస్తారని తెలుసుకోండి.మీరు అధునాతనంగా ఏమీ చేయనవసరం లేదు; మీరు చేయాల్సిందల్లా విండో క్లాస్ యొక్క పున ize పరిమాణం ఫంక్షన్‌ను స్పష్టంగా పిలుస్తారు. + కాబట్టి, ఈ లోపల, మీరు దీన్ని ఇప్పటికే ఒక నిర్దిష్ట విండో యొక్క ఈ సూచిక అని పిలుస్తారు. + కాబట్టి, మీరు దీనిని పిలిస్తే, ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడే ఈ ఫంక్షన్ (ఫంక్షన్) అని పిలువబడుతుంది మరియు అది ఉపయోగిస్తున్న పాయింటర్ నిర్దిష్ట విండో ఆబ్జెక్ట్ యొక్క ఈ పాయింటర్‌ను ఉపయోగిస్తోంది. (పాయింటర్), ఎందుకంటే అది పాయింటర్. + కాబట్టి, ఈ ప్రక్రియలో, ఏమి జరుగుతుందో, మీరు వాస్తవానికి వస్తువును ప్రసారం చేయరు మరియు తాత్కాలికంగా సృష్టించలేరు, కానీ మీరు నిజంగా ఈ పాయింటర్ ఒక అవ్యక్త తారాగణం (తారాగణం) ద్వారా అని సూచిస్తున్నారు, ఇది అంతర్నిర్మిత అప్-కాస్ట్. + అందువల్ల, ఇది చెల్లుబాటు అయ్యేదని మాకు తెలుసు మరియు మీరు ఇప్పటికీ అదే వస్తువును సూచిస్తున్నారు. + కాబట్టి, ఇది దీనిపై వెలుగు నింపడానికి మాత్రమే, నా ముఖం మీద ప్రసారం చేయడం వల్ల మీకు ఏదో తెలుసు అని మీకు అనిపిస్తుంది, ఇది చాలా సురక్షితం మరియు మొదలైనవి, కానీ ఇది నిజంగా మిమ్మల్ని పాడు చేస్తుంది. సమస్యలను కలిగిస్తుంది. + కాబట్టి, మీరు దాని గురించి జాగ్రత్తగా ఉండాలి. + కాబట్టి, స్టాటిక్ కాస్ట్‌లను ఉపయోగించటానికి ఇది మరొక ఉదాహరణ మరియు తేడా ఏమిటంటే నేను ఇప్పుడు సంబంధం లేని తరగతుల గురించి మాట్లాడుతున్నాను. + కాబట్టి, మళ్ళీ నాకు క్లాస్ ఎ మరియు బి ఉన్నాయి, కానీ క్లాస్ ఎ మరియు బి కి సంబంధం లేదు, అవి సోపానక్రమంలో లేవు. + మరియు నేను వస్తువును ఒక వస్తువుగా మార్చడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, ఇది ఒక వస్తువు అని నేను అనుకుంటున్నాను, ఇది B వస్తువు, కాబట్టి నేను B కి A ని కేటాయించటానికి ప్రయత్నిస్తున్నాను. + అవ్యక్త మార్పిడి లోపం అని నేను ప్రయత్నిస్తాను, ఎందుకంటే నేను ఒక అసైన్డ్ బి చేస్తే, కంపైలర్ డాట్ ఆపరేటర్ (అసైన్‌మెంట్) కోసం చూస్తున్నాడని ఆపరేటర్ ద్వారా మేము అర్థం చేసుకున్నాము, కాబట్టి ఈ తరగతికి ఆపరేటర్ అసైన్‌మెంట్ ఉంటుందని ఆశిస్తోంది అది ఉనికిలో లేని రకం B యొక్క వస్తువును ఎంచుకుంటుంది. + అందువల్ల, అవ్యక్తం పనిచేయదు; అది వెళ్ళింది. + మీరు స్థిరంగా ప్రసారం చేస్తారు, మీకు లోపం వస్తుంది; మీరు నిరాశకు గురికావడానికి కూడా ప్రయత్నిస్తారు, మరియు సి స్టైల్‌ని ప్రసారం చేయడానికి కూడా ప్రయత్నించండి, మీకు లోపం వస్తుంది. + అదేవిధంగా, మీరు పూర్ణాంకం నుండి A రకానికి మార్చాలనుకుందాం, పూర్ణాంకం ఒక రకం నుండి ఏర్పడుతుంది, మీరు దానిని A గా మార్చాలనుకుంటున్నారు. కాబట్టి మీరు దీన్ని ప్రయత్నించండి, ప్రయత్నించండి, ప్రయత్నించండి, ఇవన్నీ లోపాలు ఉన్నాయి. + కాబట్టి, మీరు చేయవలసింది ఇక్కడ ఉంది, మీరు చెప్పేది ప్రాథమికంగా, మీకు రెండు సంబంధం లేని రకాలు ఉన్నప్పుడు, మరియు మీరు ఒకదానిని మరొకటిగా మార్చాలనుకుంటే, అది ఖచ్చితంగా మీరు చెబుతున్నది అది ఒక వస్తువు లేదా వ్యక్తీకరణ, మరియు లక్ష్యం రకం యొక్క వస్తువును సృష్టించడం నాకు అవసరం. + కాబట్టి, నాకు B రకం రకం ఉంది, ఒక వస్తువును సృష్టించడానికి నేను A ని ఉపయోగించాలి. + నాకు టైప్ Int యొక్క వస్తువు ఉంది, నేను ఒక వస్తువును సృష్టించడానికి టైప్ A ని ఉపయోగించాలి.మీరు సోపానక్రమంలో ఉంటే, మీకు ఇప్పటికే వస్తువు ఉంది. + మీరు సోపానక్రమంలో ఉంటే, మీకు ఇప్పటికే వస్తువు ఉంది. + కాబట్టి, మీరు దీన్ని ప్రత్యేకమైనదిగా లేదా సాధారణీకరించినట్లుగా చూస్తున్నట్లే, కానీ మీకు వ్యవహరించడానికి కొంత వస్తువు ఉంది, కానీ ఇక్కడ మీకు ఒకే ఒక వస్తువు లేదు హాయ్, మీరు నన్ను ఎక్కడ అభ్యంతరం వ్యక్తం చేస్తున్నారు, కాబట్టి మీరు నిర్మించాలి అది. + కాబట్టి, మీరు ఈ అనుమతి మంజూరు చేయవలసి వస్తే, మీరు అందించాల్సినది A కోసం ఒక కన్స్ట్రక్టర్‌ను అందించడమే, B తీసుకునే వస్తువు కూడా అంతే సులభం. + కాబట్టి, మీరు దీన్ని అందిస్తే ఈ మూడింటికీ చెల్లుబాటు అవుతుంది. + ఇది ఏమిటంటే మీరు B ని కేటాయించడం, B వస్తువును ఉపయోగించి ఒక వస్తువును సృష్టించడానికి నాకు మార్గం ఉందో లేదో తనిఖీ చేస్తుంది, ఒక కన్స్ట్రక్టర్ ఉందని కనుగొంటుంది, కనుక ఇది చేస్తుంది. + కాబట్టి, ఇది ప్రాథమికంగా ఒక బిని సృష్టిస్తుంది. ఇది ఒక బి. ఏదైనా కాపీ ఆపరేటర్. + కాబట్టి, ఇది తదుపరి దశలో పనిని సాధించడానికి దాన్ని ఉపయోగిస్తుంది. + కాబట్టి, మీరు సి స్టైల్ కాస్టింగ్ ఉపయోగిస్తే స్టాటిక్ కాస్ట్ చేస్తే ఇది సమానం. + మీరు అందించిన పూర్ణాంకంలో చూసినట్లయితే, మీకు A యొక్క కన్స్ట్రక్టర్ కోసం అవసరమైన అదే తర్కం అవసరం, ఇది పూర్ణాంకంగా పూర్ణాంకానికి పడుతుంది, కాబట్టి మీరు ఇక్కడ ఒక కన్స్ట్రక్టర్‌ను జోడిస్తారు. + మీరు దీన్ని చేస్తే, నేను దానిని తీసుకున్నానని, దాని ద్వారా ఒక వస్తువును నిర్మిస్తానని చూపిస్తుంది మరియు సృష్టి తరువాత అది ఉచిత కాపీ అసైన్‌మెంట్ ఆపరేషన్ ద్వారా వెళుతుంది కాపీ అప్పగింతను చేస్తుంది. + అందువల్ల, మీరు అవుట్పుట్ను మాత్రమే కనుగొంటే అవి ఫంక్షన్లు అని పిలువబడుతున్నాయని మీరు చూస్తారు. + కాబట్టి, ఈ మూడు రకాల అవ్యక్త కాస్టింగ్, స్థిర తారాగణంతో ప్రసారం చేయడం లేదా సముద్ర శైలి కాస్టింగ్ అన్నీ ఒకే విధమైన ప్రవర్తనను ఇస్తాయి. + అందువల్ల, తరగతులు సంబంధం లేనివి, మరియు అనేక ఇతర సందర్భాల్లో, మనం వినియోగదారు-నిర్వచించిన మార్పిడిని కలిగి ఉన్న వినియోగదారు-నిర్వచించిన మార్పిడిని కలిగి ఉండగలము. + వినియోగదారు నిర్వచించిన మార్పిడిని తీసుకోవడానికి ఒక మార్గం వాస్తవానికి మూలం రకం నుండి లక్ష్య రకానికి తగిన కన్స్ట్రక్టర్‌ను అందించడం. + కానీ ఈ కథ ఇక్కడ ముగియదు, తదుపరి స్లైడ్‌లో మరింత ఆసక్తికరంగా ఉంది. + మళ్ళీ మేము B వస్తువును తీసుకొని దానిని A రకం వస్తువులో చేర్చడానికి ప్రయత్నిస్తున్నాము, భిన్నంగా ఏమీ లేదు. + అందువల్ల, మనం మార్చేదంతా లోపం అవుతుంది. + కానీ రెండవ సందర్భంలో, నేను వేరే పని చేయడానికి ప్రయత్నిస్తున్నాను. మొదట నేను ఒక పూర్ణాంకానికి తీసుకొని ఒక వస్తువును నిర్మించటానికి ప్రయత్నిస్తాను. + ఇప్పుడు, నేను ఏదైనా వస్తువును పూర్ణాంకానికి మార్చాలనుకుంటున్నాను, నేను మరొక విధంగా చేస్తున్నాను. + ఖచ్చితంగా, అవన్నీ లోపాలు, ఎందుకంటే ఒక వస్తువు ఎలా ఇవ్వబడుతుందో నాకు తెలియదు, నేను దానిని పూర్ణాంక పూర్ణాంకంగా ఎలా అర్థం చేసుకోవాలి. + కాబట్టి, ఇవన్నీ లోపాలు. + మేము సమస్యను ఎలా పరిష్కరిస్తాము, ఈ సందర్భంలో, మేము A లో ఒక కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చని చూశాము, ఇది B రకం పరామితిని తీసుకుంటుంది? మరియు ప్రత్యామ్నాయ పద్ధతి ఏమిటంటే, ఆపరేటర్, కన్వర్షన్ ఆపరేటర్, దీనిని కన్వర్షన్ ఆపరేటర్ అంటారు. + అందువల్ల, క్లాస్ B మీరు ఆపరేటర్ మరియు టార్గెట్ రకంగా వ్రాసే ట్రాన్స్ఫర్మేషన్ ఆపరేటర్‌ను వ్రాయగలదు. + కాబట్టి, ఇది ఒక ప్రత్యేక ఆపరేటర్, ఇది ఒక వస్తువు కోసం రకం B వస్తువును ప్రసారం చేయడానికి ప్రయత్నిస్తున్నప్పుడు ఇన్వోక్ పొందుతుంది. + ఈ ఆపరేటర్ ప్రత్యేకంగా ఆ ప్రయోజనం కోసం వ్రాయబడింది మరియు దీనిని కన్వర్షన్ ఆపరేటర్ అంటారు. + మీరు ఆపరేటర్ + మరియు ఏమైనా వ్రాసినట్లుగా ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం గుర్తుంచుకుంటే మార్పిడి ఆపరేటర్ చాలా ఆసక్తికరమైన శైలిని కలిగి ఉంటారు, ఆపై అది ఒక వస్తువు (ఆబ్జెక్ట్) ఇస్తుంది అని నేను చెప్తున్నాను, నేను రిఫరెన్స్ తీసుకుంటున్నాను మరియు ఇవి తిరిగి వచ్చే రకం మరియు త్వరలో. + ఇక్కడ మీరు దానిలోని ఆపరేటర్ పేరు ఆపరేటర్ A, టైప్ పేరు అని చూస్తారు, ఎందుకంటే ఇది ఒక రకాన్ని మార్చాలి. + కాబట్టి, ఇది చిహ్నాన్ని తీసుకోదు, ఇది ఆపరేటర్ పేరుగా ఒక రకాన్ని తీసుకుంటుంది, అది A కి మారుతుంది మరియు తరువాత దానికి రిటర్న్ రకం లేదు, దీనికి ఇక్కడ రిటర్న్ రకం లేదు, ఎందుకు రిటర్న్ రకం కాదు, ఎందుకంటే మీరు B వస్తువును తీసుకొని దానిని ఒక వస్తువుగా మార్చడానికి పరివర్తన ఆపరేటర్‌ను నిర్వచిస్తున్నారు. + కనుక ఇది ఎలా తిరిగి ఇవ్వాలి, అది ఒక రకమైన వస్తువును తిరిగి ఇవ్వాలి, అది మరేదైనా తిరిగి ఇవ్వదు. + ఇక్కడ తిరిగి వచ్చే రకం పూర్ణాంకమని మీరు వ్రాయలేరు. + రిటర్న్ రకం A గా ఉండాలి, ఎందుకంటే ఇది A కి మారుతోంది మరియు అందువల్ల, ఇది రాయడానికి సూపర్ ఫ్లో, మరియు వాక్యనిర్మాణం దానిని తిరిగి అనుమతించదు. + కాబట్టి, ఇది మార్పిడి ఆపరేటర్. + కాబట్టి, నేను కదిలే ప్రదేశం ... కాబట్టి మీరు B వస్తువు నుండి ఒక వస్తువును సృష్టించాల్సిన మొత్తం వాదనను వ్రాయవచ్చు మరియు దానిని ఇక్కడ ఉంచండి. + నేను చాలా చేశాను ((రిఫరెన్స్ సమయం: 22:13)) నేను డిఫాల్ట్ ఒక వస్తువును సృష్టించి తిరిగి వచ్చాను, కానీ మీరు B యొక్క డేటా సభ్యులను ఉపయోగించుకోవచ్చు మరియు దానిని హుహ్ గా నిర్మించవచ్చు. + కాబట్టి, మీరు దాన్ని అందించిన తర్వాత, ఇవన్నీ మళ్లీ సమానంగా చెల్లుతాయి, కానీ ఇకపై A వస్తువును తీసుకునే ఏ కన్స్ట్రక్టర్ కూడా లేరు, కానీ టైప్ A కోసం B రకం టైప్ మార్పిడి అనేది ఉపయోగించబడే ఆపరేటర్. + ఆసక్తికరమైన విషయం ఏమిటంటే, మేము ఈ సమస్యను ఎలా పరిష్కరించగలం? మునుపటి శైలిని ఉపయోగించి మీరు ఈ సమస్యను ఎలా పరిష్కరించగలరో ఇప్పుడు ఆలోచించండి, ఒక మార్గం ఏమిటంటే, నా పూర్ణాంక రకం (లు) ఉంటే, నేను Int యొక్క కన్స్ట్రక్టర్‌ను వ్రాయగలను, ఇది A టేక్స్. + A ని పూర్ణాంకానికి మార్చే వస్తువును టైప్ చేయండి. + A ని చూస్తే, ఇది మునుపటి సందర్భంలో మేము చేసినట్లుగానే నాకు int ఇస్తుంది. + ఇప్పుడు ఆ ఎంపిక ఉనికిలో లేదు, ఎందుకంటే మనం పూర్ణాంకానికి కన్స్ట్రక్టర్ రాయలేము, అది రకంలో నిర్మించబడింది. + అందువల్ల, అవశేష మార్పిడి ఆపరేటర్ మార్గం మాత్రమే ఎంపిక. + కాబట్టి, మీరు దీన్ని వ్రాయగల ఏకైక మార్గం క్లాస్ A కోసం, మీరు క్లాస్ A కోసం వ్రాస్తున్న ఆపరేటర్ Int ను వ్రాస్తారు. + కాబట్టి, దీని అర్థం ఏమిటంటే, క్లాస్ ఎ ఆబ్జెక్ట్ ఇచ్చినట్లయితే, నేను దానిని ఇంటెంట్ ఆపరేటర్ (ఆపరేటర్) పూర్ణాంక ఫంక్షన్ (ఫంక్షన్) ఉపయోగించి మార్చగలను, మరియు నేను ఏమి చేసాను, నేను తీసుకున్నాను అని పిలిచాను మరియు అది తిరిగి వచ్చినట్లుగా నేను అమలు చేయబడ్డాను ఈ తరగతికి డేటా సభ్యుడు ఉన్నారు. + అందువల్ల, నేను ఈ డేటా సభ్యుడిని తిరిగి ఇచ్చాను, ఇది మీరు వేరే ఏదైనా చేయగల నిర్దిష్ట గణన ఎంపిక, కానీ మీరు చేయాల్సిందల్లా ఇది ఆపరేటర్ పూర్ణాంకం కనుక, ఎల్లప్పుడూ ఒక పూర్ణాంకానికి తిరిగి రావడం అవసరం. + అందువల్ల, పూర్ణాంకానికి అక్కడ తిరిగి రావాలి, అది మీ వద్ద ఉన్న వస్తువు నుండి లెక్కించబడుతుంది. + అందువల్ల, మీరు కొన్ని వినియోగదారు-నిర్వచించిన రకాన్ని అంతర్లీన రకం విలువగా మార్చాలనుకుంటే ఆపరేటర్ మార్పిడి ఆపరేటర్‌ను ఉపయోగించడం అవసరం. + మరొకటి, మీరు ఇప్పటికీ కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు; మరియు రెండు వినియోగదారు-నిర్వచించిన రకాలు కోసం, మీరు కన్స్ట్రక్టర్‌ను ఉపయోగించవచ్చు లేదా ట్రాన్స్ఫర్మేషన్ ఆపరేటర్‌ను ఉపయోగించవచ్చు, అయితే మీరు రెండింటినీ ఉపయోగించలేరు. + అందువల్ల, మీరు దీన్ని ఒకసారి, ఇవన్నీ చెల్లుబాటు అవుతాయి; మరియు వారు నిజంగా మార్పిడి చేయడానికి ఈ మార్పిడి ఆపరేటర్‌ను ఉపయోగిస్తారు. + అందువల్ల, ఇది ఒక ప్రాథమిక పద్ధతి, దీని ద్వారా వినియోగదారు నిర్వచించిన మార్పిడి కోడ్‌ను అమలు చేయడానికి మరియు సంబంధం లేని తరగతుల మధ్య పనిచేయడానికి స్టాటిక్ కాస్ట్ ఆపరేటర్ మిమ్మల్ని అనుమతిస్తుంది. + తరువాతిది కాస్ట్ ఆపరేటర్ అని పిలువబడే మూడవ రకం రీఇన్వెస్టర్. + పునర్నిర్మాణ కాస్ట్ ఆపరేటర్ సంబంధం లేని తరగతుల నుండి కూడా ఏ రకమైన పాయింటర్‌ను మరొక రకమైన పాయింటర్‌గా మార్చగలదు. + ఇది చాలా ముఖ్యమైన విషయం. + పునర్నిర్మాణ తారాగణం, మీరు కలిగి ఉంటే మీరు ఏదో తిరిగి అర్థం చేసుకుంటున్నారు, కాబట్టి మీకు వేరియబుల్ v ఉంది, ఇది కొంత విలువకు కొంత ప్రాతినిధ్యం కలిగి ఉంది, ఇది t1 రకం అయితే, మరియు మీరు t2 యొక్క తారాగణం (తారాగణం) దాన్ని తిరిగి అర్థం చేసుకోవడానికి, మీరు దాన్ని చూస్తారు అది t2 వస్తువు అయితే. + మీరు ఎటువంటి లెక్కలు చేయరు, మీరు ఏమీ చేయటానికి ప్రయత్నించరు, మీరు ఈ చిరునామాను తీసుకొని, అది ఒక t2 వస్తువులాగా ఆలోచించడం ప్రారంభించండి. + కాబట్టి, ఇది మీకు నిజంగా వినాశకరమైన ఫలితాలను ఇస్తుంది, ఉదాహరణకు, t2 పెద్ద రకాలను సూచిస్తుంది. + కాబట్టి, మీరు ఇక్కడ చూస్తున్నారు, మరియు మీరు దానిని చూస్తున్నారు. + కాబట్టి, ఇది వేరియబుల్ v లో లేని విషయం, ఇది వేరియబుల్ v యొక్క భాగం అని అనుకోవచ్చు. + అందువల్ల, ఒక పున in నిర్మాణం సాధారణంగా ఇవ్వబడుతుంది, తద్వారా మీరు పాయింటర్ రకాలు మధ్య మార్చవచ్చు. + మీకు తెలిసినట్లుగా, సిస్టమ్ ఏమైనప్పటికీ, పాయింటర్ అన్ని రకాల పాయింటర్లకు ఒకే పరిమాణం. + కాబట్టి, ఇది కనీస పరిమాణ సమస్య కాదు, కానీ ఇది రెండు పూర్ణాంకాలతో పాటు పూర్ణాంకాలను సూచించడానికి ఉపయోగించవచ్చు. + ఇప్పుడు మీరు ఈ విధంగా ఉంచినప్పుడు, మీ పూర్ణాంక రకం తగినంత పెద్దదిగా ఉందని మీరు నిర్ధారించుకోవాలి, తద్వారా పాయింటర్ చిరునామాను అక్కడ సర్దుబాటు చేయవచ్చు. + కాబట్టి, ఇది ప్లాట్‌ఫాం నిర్దిష్ట, తదుపరి పాయింట్, ప్లాట్‌ఫాం నిర్దిష్ట లక్షణం ఉన్న చోట మీరు ఉండాలి, ఎందుకంటే మీ పూర్ణాంక పరిమాణం మరియు మీ పాయింటర్ పరిమాణం ఏ విధంగానైనా ఉన్నాయని సి భాష హామీ ఇవ్వదు. + పెద్ద సంఖ్యలో వ్యవస్థలలో, అవి 32 బిట్ మెషీన్ల మాదిరిగానే ఉంటాయి, ఇంటెల్ x86 రెండూ 4 బైట్లు, కానీ ఇది భాష ద్వారా హామీ ఇవ్వబడదు. + కాబట్టి, మీరు నిర్దిష్ట ప్లాట్‌ఫాం నిర్దిష్ట విషయాల గురించి జాగ్రత్తగా ఉండాలి. + కాబట్టి, తారాగణం యొక్క పునర్నిర్మాణం ద్వారా చేయగలిగే మార్పిడి, కాని స్థిర తారాగణం ద్వారా లేదా యంత్రం యొక్క తక్కువ-స్థాయి ఆపరేషన్ ద్వారా కాదు. + మరియు సాధారణ అవగాహన ఏమిటంటే, మీరు తిరిగి పెట్టుబడి పెట్టవలసిన అవసరం ఉంటే, మీరు ఏమి చేయాలనుకుంటున్నారో మీరు చాలా ఖచ్చితంగా ఉండాలి. + ఎందుకంటే సాధారణ పరిస్థితులలో, మీకు C ++ లో మంచి డిజైన్ ఉంటే, మీరు తిరిగి అర్థం చేసుకోవలసిన అవసరం లేదు. + నేను C ++ లో చాలా పుస్తకాలను చదివాను, ఇక్కడ మొత్తం 300, 400 పేజీల పుస్తకంలో, ఒక కోడ్ ఉదాహరణగా పునర్నిర్మాణానికి ఒకటి లేదా రెండు ఉదాహరణలు మాత్రమే ఉండవచ్చు మరియు పునర్నిర్మాణం ఎలా చేయవచ్చో చూపించడానికి దాన్ని ఉపయోగిస్తుంది, కాబట్టి ఒక నమూనాలో ఉంది. + ఇతర మూడు కాస్ట్ ఆపరేటర్లతో మీరు చేయలేని కొన్ని స్టైల్ కాస్ట్‌లు ఉన్నందున మీరు పునర్నిర్మాణ తారాగణం ఇప్పటికీ ఉందని ఖచ్చితంగా చెప్పబడింది. + కాబట్టి, ఉదాహరణకు, మీరు మార్చవచ్చు, మీరు చూస్తే, మేము ఇంతకు ముందే చూస్తున్నాం, కాబట్టి మీరు దాన్ని చూస్తే మరియు అది ఒక సూచిక, ఇది డబుల్ ఈజ్, మరియు ఇది పూర్ణాంకం, ఇది లోపం, కానీ సి స్టైల్ కాస్టింగ్‌లో, మీరు దీన్ని ఇంకా చేయవచ్చు. + కాబట్టి, సి స్టైల్ కాస్టింగ్ యొక్క అటువంటి సందర్భాలలో, మీరు ప్రసారం చేయడానికి ఒక అధికారిక తారాగణం ఆపరేటర్‌ను కలిగి ఉంటారు. + కాబట్టి, మీరు చెప్పేది ఏమిటంటే, మీకు డబుల్ పాయింటర్ ఉంది మరియు దానిని పూర్ణాంకంగా మాత్రమే ఆలోచించండి, మరేదైనా ప్రయత్నించవద్దు. + తప్పు జరిగిపోయిన ప్రోగ్రామర్‌తో ఇప్పుడు ప్రమాదం ఉంది. + ఇది మొత్తంగా ఉపయోగించవచ్చు, ఇవి పూర్తిగా సంబంధం లేని రెండు తరగతుల సంకేతాలు, మీరు ఇక్కడ చూడగలిగినట్లుగా సంబంధం లేని తరగతులు చేస్తారు. + మరియు మీరు ఒకరినొకరు పునర్నిర్మాణ తారాగణం ద్వారా ఉంచవచ్చు. + కాబట్టి, ఇది భిన్నమైనది; ఇది స్టాటిక్ కాస్ట్ చేత చేయబడిన వస్తువులను ప్రసారం చేయడం లేదు, ఇక్కడ మేము కన్స్ట్రక్టర్ లేదా కన్వర్షన్ ఆపరేటర్‌ను ప్రారంభించవచ్చు. + ఇక్కడ మేము ఒక పాయింటర్ను చొప్పించడానికి ప్రయత్నిస్తున్నాము. + అందువల్ల, పాయింటర్‌ను ప్రసారం చేయడానికి మేము ఏ తర్కాన్ని నిర్వచించలేము, కేవలం రకం అనేది తారాగణాన్ని గుర్తించడానికి మరియు తిరిగి అర్థం చేసుకోవడానికి ఒక మార్గం. + మరియు అది పూర్తయిన తర్వాత, మీరు నిజంగా PA ను పట్టాలు తప్పి, ఆ వస్తువును ఉపయోగించడం ప్రారంభించవచ్చు. + వాస్తవానికి, మీ కోసం ఏమి ఉంది ఎందుకంటే ఇది వేరే వస్తువు, ఇది వేరే వస్తువు. + మీ కోసం ఏమి ఉంది, ఇది పూర్తిగా .హించనిది. + అందువల్ల, రీఇన్వెస్టర్లు కళాకారులను ఉపయోగించవద్దని నేను గట్టిగా, గట్టిగా సిఫార్సు చేస్తున్నాను. + మీకు పున in నిర్మాణం అవసరమైతే, డిజైన్‌లో కొంత లకునా ఉండాలి అని రెండవసారి చూడండి, తద్వారా మీరు డిజైన్‌ను మార్చాలి, మీరు ఇతర మూడు రకాల కాస్ట్ ఆపరేటర్లతో నిర్వహించగలుగుతారు. + కాబట్టి, సంగ్రహంగా చెప్పాలంటే, మేము సి ++ లో టైప్ కాస్టింగ్ చర్చను కొనసాగించాము. + మరియు ముఖ్యంగా, మేము ఈ మాడ్యూల్‌లో స్టాటిక్ కాస్ట్‌లు మరియు పునర్నిర్మాణాలను అధ్యయనం చేసాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/35 ProgramminginCplusplus_Type casting and cast operators Part I (Lecture 47)-mbNHtR1YRek.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/35 ProgramminginCplusplus_Type casting and cast operators Part I (Lecture 47)-mbNHtR1YRek.txt index 6374958ecb4e7fb25efa4ec759a5cb3a4e9f85bf..eea6886fd7ee1463631d79a5e457c4ecb7ef1512 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/35 ProgramminginCplusplus_Type casting and cast operators Part I (Lecture 47)-mbNHtR1YRek.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/35 ProgramminginCplusplus_Type casting and cast operators Part I (Lecture 47)-mbNHtR1YRek.txt @@ -1,195 +1,194 @@ - - 1. మాడ్యూల్ 32 ప్రోగ్రామింగ్ ఆఫ్ C ++ కు స్వాగతము. - 2. ఈ మాడ్యూల్ మరియు తదుపరి వాటిలో, C ++ లో టైప్ కాస్టింగ్(type casting) మరియు కాస్ట్ ఆపరేటర్ల(cast operators) గురించి క్లుప్తముగా చర్చిద్దాము. - 3. కాబట్టి, లక్ష్యం C మరియు C + + లో కాస్టింగ్(casting) ను అర్థం ఉంది చేసుకొవాలి. - 4. ఇది మొత్తం రూపురేఖ అవుతుంది. - 5. మేము కాస్టింగ్ గురించి ఇప్పటికే కొన్ని చిన్న పరిచయాలను చేసాము, మేము పాలిమార్ఫిజం గురించి మాట్లాడుతున్నప్పుడు, ప్రధానంగా కాస్టింగ్ వంటివి. - 6. మరియు సోపానక్రమంలో, ఒక నిర్దిష్ట తరగతి వస్తువు నుండి సాధారణీకరించిన తరగతి రకానికి ప్రసారం చేయడం (పైకి) రక్షించబడుతుంది; మరియు డౌన్‌కాస్ట్ సురక్షితం కాదు, ఇది వాస్తవానికి మనం చూసిన తీవ్రమైన లోపాలకు దారితీస్తుంది. - 7. కాబట్టి, మేము దానిపై శీఘ్ర రీక్యాప్ తీసుకుంటాము. - 8. ఆపై మేము C ++ లో కాస్ట్ ఆపరేటర్ అని పిలువబడే వాటిని పరిచయం చేస్తాము, నాలుగు వేర్వేరు ఆపరేటర్లు ఉన్నాయి, వీటిని మేము చర్చిస్తాము. - 9. రన్‌టైమ్ రకం ఆధారంగా ప్రసారం చేసే దృశ్యాలతో డైనమిక్ కాస్టింగ్ ముగుస్తుంది; దీని కోసం మేము మరొక అదనపు రకం ఆపరేటర్ గురించి చర్చిస్తాము. - 10. అందువల్ల, ఈ మాడ్యూళ్ళ కొరకు, మేము అదే రూపురేఖలను ఉంచుతాము, అందువల్ల నిర్దిష్ట మాడ్యూల్‌లో చేర్చవలసిన భాగాలు మేము ఇక్కడ చేసినట్లుగా నీలిరంగులో చూపబడతాయి. - 11. మరియు ఆ మాడ్యూల్ కోసం, ప్రతి స్లైడ్‌లో మీ స్క్రీన్ యొక్క ఎడమ వైపున నీలం కనిపిస్తుంది. - 12. కాబట్టి, మనం వెనక్కి వెళ్లి టైప్ కాస్టింగ్ కోసం అడగాలి, మనం ఎందుకు ప్రసారం చేయాలి. - 13. కాబట్టి, కాస్టింగ్ ప్రధానంగా ఆబ్జెక్ట్ రకం, వ్యక్తీకరణ రకం, ఫంక్షన్, ఫంక్షన్ ఆర్గ్యుమెంట్, రిటర్న్ వాల్యూ మొదలైనవాటిని మరొక రకంగా మార్చడానికి అవసరం. - 14. కాబట్టి, సి ++ యొక్క ప్రాథమిక భావన ఏదైనా వేరియబుల్, ఏదైనా స్థిరాంకం, బాగా నిర్వచించబడిన రకాన్ని కలిగి ఉన్న లేదా బాగా నిర్వచించిన రకాన్ని ఆశించే ఏదైనా వస్తువును ఉపయోగించే బలమైన అవ్యక్త రకం. - 15. కాబట్టి, మేము వాటిని వేర్వేరు గణనలలో వేర్వేరు వ్యక్తీకరణలలో చేర్చినప్పుడు, ఒక వ్యక్తీకరణను లెక్కించడానికి, నాకు ఒక నిర్దిష్ట రకం వస్తువు అవసరం, కానీ నా చేతిలో వేరే రకం ఉంది. ఒక వస్తువు, మరియు అక్కడే నేను ఉండాలి. - 16. సి సందర్భంలో మనం చూసినట్లుగా, పెద్ద సంఖ్యలో టైప్ కాస్టింగ్ అవ్యక్త పరివర్తనాల ద్వారా జరుగుతుంది లేదా నిశ్శబ్ద మార్పిడులు అని పిలుస్తారు, ఇవి ప్రామాణిక సి ++ పరివర్తనాలు; తెలిసిన రకాల మధ్య మార్పిడులు మరియు అందువల్ల, భాషా డిజైనర్ ఇప్పటికే లెక్కించారు. - 17. కాబట్టి, ఒక పాయింటర్‌లో ఒక నిర్దిష్ట రకానికి పాయింటర్ కావాలా వద్దా అని నేను పూర్ణాంకాన్ని డబుల్ లేదా డబుల్‌గా పూర్ణాంకానికి ఎలా మార్చగలను అని వివరించే నియమం ఉంది. మార్చవచ్చు - 18. మరియు ఇది అంతర్నిర్మిత మార్పిడిని కూడా కలిగి ఉంటుంది, ఇది వినియోగదారు నిర్వచించిన మార్పిడుల యొక్క C లో జతచేయబడుతుంది, C కి వినియోగదారు నిర్వచించిన రకం లేదని మీరు గుర్తుంచుకుంటే చూడండి. - 19. అందువల్ల, వినియోగదారు నిర్వచించిన మార్పిడి C లో భాగం కాదు, మరియు ఇది ఇక్కడకు వస్తుంది మరియు అంతర్లీన మార్పిడిగా కూడా ఉపయోగించవచ్చు. - 20. ఇక్కడ ఈ పదం యొక్క అర్ధం ఏమిటంటే, మేము ఈ రకమైన మార్పిడి చేసినప్పుడు, నేను అలాంటి మార్పిడిని చేస్తున్నానని చెప్పడానికి మూలంలో అదనంగా ఏదైనా వ్రాయము. - 21. కానీ వ్యక్తీకరణ యొక్క సందర్భం నుండి మరియు వస్తువు ఉపయోగించబడుతున్నప్పుడు, పరివర్తన జరిగిందని మీరు తెలుసుకుంటారు. - 22. సహజంగానే, దీనికి విరుద్ధంగా, చాలా మార్పిడి ఉంది, దీనిని స్పష్టమైన మార్పిడి అంటారు. - 23. ఇప్పుడు వాస్తవానికి, మనకు అవ్యక్త మార్పిడి సౌకర్యాలు ఉంటే, మనకు ఎందుకు స్పష్టమైన మార్పిడి ఉంది? స్పష్టమైన మార్పిడి అంటే నేను మార్పిడి చేస్తున్నానని స్పష్టంగా వ్రాస్తాను. - 24. అందువల్ల, నేను x నిర్దిష్ట రకం T1 అయితే, నేను x ను మరొక రకం T2 లో తీసుకోవాలనుకుంటున్నాను, దానిని మరొక రకం T2 గా మార్చాలనుకుంటున్నాను మరియు దానిని మూలంలో స్పష్టంగా వ్రాస్తాను. - 25. నేను ఇలా చేసినప్పుడు, నేను స్పష్టమైన మార్పిడులు చేస్తున్నానని మరియు నేను స్పష్టమైన మార్పిడులు చేయడానికి కారణం ఉదాహరణకు బహుళంగా ఉండవచ్చు, అవ్యక్త మార్పిడి నేను కోరుకోని మార్పిడిని సృష్టిస్తుంది. - 26. ఇది నేను సుఖంగా లేనిదిగా మారుస్తుంది, లేదా అవ్యక్త పరివర్తనాలు ఒక వస్తువు ఇవ్వబడిందని లేదా అనేక మార్పిడులను కలిగి ఉన్న వ్యక్తీకరణను ఇచ్చాయని సూచిస్తుంది మరియు అస్పష్టంగా ఉంది, వీటిని తీసుకోవాలి. - 27. మరియు ఆ సందర్భాలలో మరియు చాలా తక్కువగా ఉన్న మీరు స్పష్టమైన మార్పిడిని ఉపయోగించాల్సి ఉంటుంది. - 28. మార్పిడులను సాధ్యమైనంత స్పష్టంగా చెప్పడం ఎల్లప్పుడూ మంచి పద్ధతి, తద్వారా మీరు కోడ్‌ను వ్రాయడంలో మీ ఉద్దేశ్యం మరియు మీ ఉద్దేశ్యం కోసం కంపైలర్ అర్థం చేసుకున్నది మీరు స్పష్టమైన మార్పిడి చేస్తుంటే. - 29. ఎందుకంటే మీరు దీన్ని వచనంలో కొంత భాగం వ్రాస్తున్నారు.అది అవ్యక్తంగా ఉంటే, అది మీ అవగాహన మరియు ఆ నిర్దిష్ట మార్పిడి స్థితిపై అవగాహన యొక్క కంపైలర్లపై ఆధారపడి ఉంటుంది మరియు వివిధ ఇబ్బందులు ఎలా ఏర్పడతాయో మేము చూస్తాము. - 30. ఇప్పుడు, ఒక మార్పిడి చేయడానికి, ఒక రకమైన కంపైలర్ చేయడానికి, మీరు ఇప్పటివరకు ఎలాంటి విషయాలు చూసారు, నేను ఇక్కడ ఒక ఉదాహరణ మాత్రమే చేయడానికి ప్రయత్నించాను, మేము ఒక ఫంక్షన్ సి వ్రాసినట్లు అనుకుందాం. - 31. అదే విధంగా, ఇది int i మరియు int j అనే రెండు పూర్ణాంకాలను తీసుకొని డబుల్ విలువను తిరిగి ఇస్తుంది మరియు అలా చేయడం ద్వారా డబుల్ విలువను ఎలా ఇస్తుంది. - 32. అందువల్ల, మీకు ఇక్కడ ఉన్నది ఏమిటంటే, నేను వేరే మతమార్పిడి యొక్క మంచి వర్ణన, ఇక్కడ నేను స్పష్టమైన మార్పిడి చేస్తాను. - 33. నేను ఒక పూర్ణాంకం అని చెప్తున్నాను, కాబట్టి నేను int రకం, నేను దానిని రెట్టింపు చేయాలనుకుంటున్నాను. - 34. ఇప్పుడు j కి ఏమి జరుగుతుంది? j కూడా రకం పూర్ణాంకానికి చెందినది. - 35. ఇప్పుడు నేను కూడా j ను టైప్ (డబుల్) కి తరలించాల్సిన అవసరం లేదని నేను చెప్పను, ఎందుకంటే నేను మొదటి డివిజన్, మొదటి ఒపెరాండ్ డబుల్ అయిన డివిజన్ చేస్తున్నాను. - 36. అందువల్ల, రెండవ ఒపెరాండ్ కూడా రెట్టింపుగా ఉండాలి. - 37. కాబట్టి, ఇక్కడ మరొక మార్పిడి ఉంటుంది, ఇది అవ్యక్తంగా ఉంటుంది. - 38. కాబట్టి, ఇది ఒక సరళమైన ఉదాహరణ, ఇక్కడ మీకు స్పష్టమైన మార్పిడి మరియు అవ్యక్తం ఉంది. - 39. నేను పెద్ద సంఖ్యలో నా విద్యార్థులతో చూసినట్లుగా, నేను పూర్ణాంకం అని విద్యార్థుల మనస్సులో ఎప్పుడూ ఒక ఆలోచన ఉంటుంది, బహుశా దాని విలువ 2; j మరొక పూర్ణాంకం, బహుశా దాని విలువ 3 కావచ్చు. - 40. నేను దానిని రెట్టింపుగా మార్చినప్పుడు, అది 2.0 గా మారిందని లేదా అది 3.0 అవుతుందని నేను చెప్తున్నాను మరియు నిజంగా ఏమీ జరగదు, కానీ అది జరగదు. - 41. సరళమైన కారణంతో, నేను ఒక పూర్ణాంకం, దాని యొక్క ఖచ్చితమైన ప్రాతినిధ్యం గురించి అనుకుంటున్నాను. - 42. కాబట్టి, ఈ రెండింటికి పూర్ణాంక ప్రాతినిధ్యం ఉన్న ప్రాతినిధ్యం ఉంది, ఇది సాధారణంగా ఒకే ఫీల్డ్ ప్రాతినిధ్యం, ఇక్కడ మీరు సంతకం చేసిన సంఖ్యలను చూపించడానికి ప్రత్యేక మార్గాన్ని ఉపయోగిస్తారు. - 43. కాబట్టి, మీరు దీన్ని చేయడానికి ఒక నిర్దిష్ట శైలిని ఉపయోగిస్తారు. - 44. మరియు మీరు దానిని రెట్టింపుకు తరలించినప్పుడు, మీరు వేరే ప్రాతినిధ్యానికి వస్తారు, ఇది సాధారణంగా మల్టీపార్ట్, ఇక్కడ మీకు సిగ్నల్ ఉంది, అది సానుకూలంగా ఉందా లేదా ప్రతికూలంగా ఉందా అనేదానికి స్పష్టంగా ఉంది, మీరు దాని యొక్క కొన్ని లక్షణాలను పరిగణనలోకి తీసుకుంటారు మరియు మీరు దానిలో కొంత భాగాన్ని ఉంచండి. - 45. అందువల్ల, నా సంఖ్య 35.7 అయితే, నేను దానిని సూచించనని మీరందరూ అంటున్నారు; (రిఫరెన్స్ సమయం: 09:36) నా సంఖ్య 35.7 అయితే, నేను దానిని 35.7 గా లేదా అలాంటిదేమీ చెప్పను. - 46. నేను దీన్ని కొన్ని సాధారణ రూపంలో ప్రదర్శిస్తాను, సాధారణంగా ఈ రోజుల్లో సిస్టమ్ ఏమి చేస్తుందో మీరు దానిని 0.357 నుండి 10 కి 2 శక్తికి మార్చవచ్చు, బహుశా మీరు పవర్ 2 వద్ద 10 చేయరు, మీరు బహుశా ఈ శక్తిని చేయవచ్చు. బైనరీలో చేస్తుంది . - 47. నేను దానిని దశాంశంలో వివరిస్తున్నాను. - 48. కాబట్టి, ప్రాతినిధ్యం నా సంఖ్య సానుకూలంగా ఉంటుంది, నా పాక్షిక భాగం 0.357, అంటే ఇది 1 కన్నా తక్కువ ఉన్న భిన్నం మరియు తరువాత నా శక్తి 2. - 49. కాబట్టి, ఈ ప్రాతినిధ్యం నాకు 35.7 ఇస్తుంది. - 50. ఇప్పుడు, నేను దానిని పూర్ణాంకాలకు రౌండ్ చేస్తే, అది 35 అవుతుంది, ఇది మీ 10S కాంప్లిమెంట్, కానీ లేదా కాంప్లిమెంట్ యొక్క 2S ప్రాతినిధ్యం చాలా భిన్నంగా ఉంటుంది. - 51. ఇది 35.0 అయినప్పటికీ, ఇది 0.350, ఈ ప్రాతినిధ్యం మరియు 35 ప్రాతినిధ్యం చాలా భిన్నంగా ఉంటుంది. - 52. అందువల్ల, ఫలితం ఏమిటంటే, కాస్టింగ్ ద్వారా రకాన్ని మార్చాలని మీరు కోరుకోకపోవచ్చు, మీరు దానిని మార్చినప్పుడు మీకు వేరే రకం విలువ ఉంటుంది. - 53. కాబట్టి, నేను ఎక్కడో ఏదో ప్రాతినిధ్యం వహిస్తే, దాన్ని ఒకసారి రెట్టింపుగా ఉంచినట్లయితే, అదే స్థలం నిజంగా ఆ విలువను తీసుకోదు. - 54. కాబట్టి, నాకు వేరే స్థలం t1 ఉంది, ఇక్కడ నేను డబుల్ ప్రాతినిధ్యంలో i విలువకు సమానం. - 55. అందువల్ల, కంపైలర్ వాస్తవానికి ఈ తారాగణం విలువ కోసం విడిగా నిల్వను కేటాయించాల్సిన అవసరం ఉందని మరియు తరువాత కాస్టింగ్ ప్రక్రియతో ప్రారంభించాల్సిన అవసరం ఉందని మేము చూస్తాము. - 56. అందువల్ల, తారాగణంలో ఎల్లప్పుడూ చేర్చబడని చాలా సందర్భాల్లో, అది అవసరం లేదని నేను హైలైట్ చేస్తాను, కాని చాలా సందర్భాల్లో ఇది మెమరీకి కేటాయించాల్సిన అవసరం ఉంది, ఇక్కడ తాత్కాలిక విలువ, తారాగణం (తారాగణం) విలువ చేర్చబడుతుంది, మరియు అసలు విలువను తీసుకోవటానికి లెక్కించాల్సిన అవసరం ఉంది మరియు వేసిన విలువను లెక్కించాలి. - 57. కాబట్టి, కాస్టింగ్ యొక్క ప్రాథమిక ఆలోచన ఇది. - 58. మరియు అది ఎలా జరుగుతుందో మనం చూడాలి. - 59. కాబట్టి, నాకు ఇలాంటి ఫంక్షన్ ఉంటే, అన్ని సంభావ్యతలలో, కంపైలర్ వాస్తవానికి ఈ విధంగా ఒక ఫంక్షన్‌ను అమలు చేస్తుంది, అది అలాగే ఉంటుంది. - 60. కానీ ఇది మార్పిడి చేయవలసి ఉంది, కాబట్టి ఇది క్రొత్త వేరియబుల్ temp_i ని నిర్వచిస్తుంది. - 61. మరియు ఇది ఇక్కడ ఒక మార్పిడి చేస్తోంది, ఇక్కడే మార్పిడి జరుగుతోంది, మీరు దీన్ని కన్స్ట్రక్టర్ లాగా ఆలోచించగలరు, కాబట్టి ఇది పూర్ణాంకం అయిన కన్స్ట్రక్టర్‌గా రెట్టింపు అవుతుంది. విలువతో ప్రారంభమవుతుంది. - 62. కాబట్టి, టెంప్_ఐ కొత్త డబుల్ వేరియబుల్ అవుతుంది, దీని విలువ పూర్ణాంక విలువకు దగ్గరగా ఉంటుంది. - 63. అదేవిధంగా temp_j, దీనికి మార్పిడి కూడా అవసరం, ఇది j కి డబుల్ డబుల్ అనుకూలంగా ఉంటుంది మరియు మీరు నిజంగా ఈ రెండు డబుల్ సంఖ్యలను విభజించి ఫలితాన్ని రెట్టింపు చేస్తారు. - 64. కాబట్టి, ఈ మార్పిడి, ఈ మార్పిడి అవసరం మరియు తాత్కాలిక నిల్వకు అవసరమైన రెండు ప్రాంతాలు ఇవి. - 65. కాబట్టి, ఇది C లో గణనీయంగా సంభవించే కాస్టింగ్ యొక్క దృష్టాంతం, మరియు మనం అవ్యక్త కాస్టింగ్, అవ్యక్త మార్పిడి లేదా ఈ ప్రక్రియలో సి స్టైల్ మార్పిడిని ఉపయోగించినప్పుడు మనం చూస్తూనే ఉంటాము. - 66. అందువల్ల, డైనమిక్ బైండింగ్‌కు వెళ్లేముందు, సి స్టైల్ పరివర్తనను చూడటానికి మాడ్యూల్ 26 ను త్వరగా తిరిగి ఉపయోగించాల్సి వచ్చింది. - 67. అందువల్ల, పూర్ణాంకం రెండు రకాల మార్పిడులు మీకు తెలుసని మేము సాధారణంగా చూశాము, మేము వివిధ రకాల మార్పిడులను కూడా చూశాము, ఉదాహరణకు, కొన్ని సందర్భాల్లో డబుల్ పాయింట్ వంటి అవ్యక్త మార్పిడి సాధ్యం కాదని మేము చూశాము. పూర్ణాంకానికి మార్చబడింది, కాని మేము స్పష్టమైన సి స్టైల్ కాస్టింగ్‌తో ఆ పనులు చేయవచ్చు. - 68. దీని యొక్క పరిణామాలు ఏమిటో మనం ఇప్పుడు అదే నియమాన్ని చూశాము.ఇది తరగతులు అమలులోకి వచ్చే చోట C ++ కు విస్తరిస్తే, సంబంధం లేని రెండు తరగతులు ఉంటే చాలా వస్తువులు రకం యొక్క చిక్కులు నిజంగా సాధ్యం కాదు. - 69. కానీ మీరు ఇప్పటికీ ఈ రకమైన విభిన్న పాయింట్ల మధ్య ప్రసారం చేయడానికి సి స్టైల్ కాస్టింగ్‌ను ఉపయోగించవచ్చు. - 70. ఈ విధంగా ప్రసారం చేసే ప్రమాదాన్ని మేము చూశాము; క్రింద ఉన్న ఈ ఉదాహరణలో మనం చూసినందున, తారాగణం చేయకూడని కాస్టింగ్ నాకు ఉంది, ఎందుకంటే ఇది రెండు సంబంధం లేని తరగతులు. - 71. మరియు కంపైలర్ దీన్ని చేయడానికి మాకు అనుమతి ఇచ్చింది మరియు తరువాత కొంత చెత్తను ఉత్పత్తి చేసింది. - 72. కాబట్టి, దానిపై కదులుతున్నప్పుడు, తరగతులు సోపానక్రమంలో ఉంటే కాస్టింగ్ ఇంకా కొంత అర్ధవంతం అవుతుందని మేము చూశాము. - 73. మరియు అందులో, మేము చూశాము - తారాగణం లేదా క్రిందికి - వేయవచ్చు; అప్ - తారాగణం సాధారణీకరణకు ప్రత్యేకత; డౌన్‌కాస్ట్ అనేది స్పెషలైజేషన్ కోసం సాధారణీకరణ. - 74. అప్-కాస్ట్ సాధారణంగా సాపేక్షంగా సురక్షితమైన విషయం అని మేము చూశాము. - 75. అందువల్ల, మీరు అప్-కాస్ట్ చేయవచ్చు ఎందుకంటే మీరు అప్-కాస్టింగ్ చేస్తున్నప్పుడు, వాస్తవానికి ఉన్నదానికంటే తక్కువ సమాచారాన్ని ఉపయోగిస్తున్నారు. - 76. కాబట్టి, ఇవి సాధారణంగా ఉన్నాయని మేము చూశాము, సరే; మీరు డౌన్-కాస్ట్ చేస్తే మీరు సాధారణీకరణ నుండి స్పెషలైజేషన్కు వెళుతున్నారు, కాబట్టి మీకు నిజంగా తక్కువ సమాచారం ఉంది మరియు మీరు మరింత సమాచారాన్ని తెలుసుకోవడానికి ప్రయత్నిస్తున్నారు మరియు ఇది ప్రమాదకరమే. - 77. అందువల్ల, C ++ కి రావడం, కాస్టింగ్ కంటే కాస్టింగ్ పూర్తిగా భిన్నమైన అభిప్రాయాన్ని తీసుకుంటుంది. - 78. సి లో, మీరు అందరికీ తెలిసిన అవ్యక్త తారాగణం మరియు సి శైలిని ప్రసారం చేస్తారు. - 79. మరియు రెండు ప్రధాన కారకాలు ఉన్నాయి, ఇది తరచూ అనేక సందర్భాల్లో టైప్ సమాచారాన్ని కోల్పోతుంది, ఎందుకంటే మీరు ప్రాతినిధ్యంలో ఇబ్బంది పడకుండా వ్యక్తీకరణలో ఒక నిర్దిష్ట రకానికి బలవంతం చేయవచ్చు మరియు లెక్కల ఖచ్చితత్వం గురించి సమస్యలు. - 80. మరియు కాస్టింగ్ నిజంగా అర్థం యొక్క స్పష్టత లేదు. - 81. C ++ దీన్ని మరింత సమానంగా మరియు మరింత స్థిరంగా చేయడానికి ప్రయత్నించింది, తద్వారా మీ రకం ఎల్లప్పుడూ సరైనది. - 82. అందువల్ల, C ++ లో, వాస్తవానికి విలువను తరచుగా మార్చకుండా మీరు కొత్త రకాలైన తీర్మానాలను inf హించవచ్చు, ఎందుకంటే మీరు నిజంగా విలువను మార్చకూడదనుకునే రకం గురించి మీరు తరచుగా ulate హించాల్సిన అవసరం ఉంది, మీరు మార్చడానికి అవసరం లేదు విలువ, మరియు మేము దాని ఉదాహరణలను చూపుతాము. - 83. మరియు ఇతర సందర్భాల్లో, మీరు టైప్ చేసినప్పుడు, మీరు పూర్ణాంకాన్ని రెట్టింపుగా సూచించడాన్ని సూచిస్తున్నారు; మీరు విలువను మార్చాలి. - 84. మరియు ఇది అవ్యక్త గణన ద్వారా చేయవచ్చు, ఇక్కడ మార్పు ఎలా జరుగుతుందో మీరు వ్రాయవలసిన అవసరం లేదు. - 85. పూర్ణాంక డబుల్ ఎలా మారుతుందో మేము వ్రాయలేదు లేదా కాస్టింగ్ ద్వారా మార్పు ఎలా జరుగుతుందో వినియోగదారు నిర్వచించాల్సిన అవసరం ఉందని నేను చెప్పాల్సిన పరిస్థితులు కావచ్చు. - 86. మరియు సి ++ లో, కాస్టింగ్ అన్ని సందర్భాల్లోనూ టైప్ సమాచారాన్ని సంరక్షిస్తుంది, ఇది సి లో హామీ ఇవ్వని చాలా ముఖ్యమైన అంశం మరియు ఇది కొంతమంది ఆర్టిస్టులకు స్పష్టమైన సెమాంటిక్స్ను అందిస్తుంది, ఇది కె ఆపరేటర్లను ఉపయోగించి సి లో కూడా కాదు . - 87. కాబట్టి, నాలుగు కాస్ట్ ఆపరేటర్లు ఉన్నారు, మీరు ఒక విలువను మరొకదానికి స్పష్టంగా చొప్పించడానికి వ్రాయవచ్చు. - 88. మరియు కారణం ఏమిటంటే, కాస్ట్ ఆపరేటర్లు అవ్యక్త కాస్టింగ్ లేదా స్పష్టమైన కాస్టింగ్ కంటే చాలా ప్రోత్సహించబడ్డారు, ఇది మీకు కాస్ట్ ఆపరేటర్ ఉంటే), వారికి const_cast, static_cast, reinterpret_cast, డైనమిక్_కాస్ట్ వంటి చాలా విచిత్రమైన పేర్లు ఉన్నాయని మీరు చూడవచ్చు. - 89. కాబట్టి, మీరు వాటిని ఉపయోగించినట్లయితే, మీరు సులభంగా grep- లాంటి ఆపరేషన్ చేయవచ్చు, grep ప్రాథమికంగా యునిక్స్ ను బాగా ఉపయోగిస్తుందని మీకు తెలిసిన ఫైల్ లోని స్ట్రింగ్ కోసం శోధిస్తుంది. - 90. కాబట్టి, మీరు మీ సిస్టమ్ సెర్చ్ ఆపరేషన్‌లో దీన్ని ఉపయోగించవచ్చు లేదా చేయవచ్చు, కాబట్టి మీరు const_cast కోసం వెతుకుతున్నట్లయితే, మీరు మీ సోర్స్ కోడ్‌లో మీరు కాస్టింగ్ కొనసాగించిన పాయింట్లను ఖచ్చితంగా చూడగలరు. (కాస్టింగ్) విధానం ఉపయోగించబడుతుంది. - 91. కాబట్టి, దీనికి చాలా ప్రయోజనాలు ఉన్నాయి. - 92. సి స్టైల్‌తో మీరు చేయగలిగేది ఏదైనా, మీరు ఈ ఆపరేటర్లను ఉపయోగించి మరింత అర్థవంతంగా చొప్పించవచ్చు. - 93. కాబట్టి, మీరు C ++ లో కాస్టింగ్ అర్థం చేసుకున్న తర్వాత, మీరు మీ కోడ్‌లో సి స్టైల్ కాస్టింగ్‌ను ఉపయోగించకూడదు. - 94. మీరు దీన్ని ఉపయోగించాల్సిన అవసరం ఉంటే, మీ డిజైన్ లేదా కోడింగ్ గురించి మీ అవగాహనలో ఏదో లోపం ఉందని మీరు కనుగొంటారు. - 95. ఇప్పుడు, వేరియబుల్ నిర్దిష్ట రకం T1 అని నేను చెప్పినట్లు సాధారణంగా కాస్టింగ్ ఉంది మరియు నేను దానిని కొన్ని రకాల T2 కి తరలించాలనుకుంటున్నాను. - 96. కాబట్టి, ఇది పనిచేసే విధానం కాస్ట్ ఆపరేటర్‌ను తీసుకుంటుంది. - 97. కాబట్టి, ఇది మేము ఒక సోర్స్ రకం అని చెప్తున్నాము మరియు ఇది టార్గెట్ రకం అని మేము చెబుతున్నాము. - 98. అందువల్ల, ఒక తారాగణం ఆపరేటర్ వ్యక్తీకరణను తీసుకుంటుంది మరియు లక్ష్య రకం ఏమిటో నిర్దేశిస్తుంది, అందువలన ఇది మార్పిడి అవుతుంది, ఇది ఇకపై మూల రకాన్ని పేర్కొనవలసిన అవసరం లేదు ఎందుకంటే C ++ లో అన్ని వ్యక్తీకరణలు, ఏదైనా సమయంలో అన్ని వేరియబుల్స్ a నిర్దిష్ట రకం. వారికి ఒక రకం ఉంటుంది. - 99. అందువల్ల, నేను తెలుసుకోవటానికి, నేను సోర్స్ టైప్ (టైప్) టి 1 ను తెలుసుకుంటాను ఎందుకంటే నేను టైప్ (టైప్) టి 1, కానీ గమ్యం రకం అంటే ఏమిటి, టార్గెట్ టైప్ అంటే ఏమిటి మరియు అది తెలుపుతుంది. - 100. కాబట్టి, ఒకదాని తరువాత ఒకటి చర్చించే తారాగణం ఆపరేటర్. - 101. మొదటిది కాస్ట్ ఆపరేటర్; ఈ ఆపరేటర్ ప్రాథమికంగా తారాగణం - నెస్ లేదా అస్థిరతను ఓవర్రైట్ చేయడానికి ఉపయోగిస్తారు, ఇది వ్యక్తీకరణ యొక్క CV అర్హత. - 102. కాబట్టి, ఇది స్థిరమైన వ్యక్తీకరణ నుండి కాన్స్ట్-నెస్‌ను తొలగించగలదు, ఇది స్థిరమైన కాని వ్యక్తీకరణకు కాన్స్టాన్స్-నెస్‌ను జోడించగలదు. - 103. స్టాటిక్ కాస్ట్ అనేది పాలిమార్ఫిక్ తారాగణం, ఇది ప్రధానంగా పాలిమార్ఫిక్ ద్వారా తయారవుతుంది. - 104. అందువల్ల, మీరు పాలిమార్ఫిక్ సోపానక్రమంలో లేకపోతే, మీరు స్టాటిక్ యాక్టర్లను ఉపయోగించవచ్చు; మరియు ఇది తరచుగా వినియోగదారు నిర్వచించిన కాస్టింగ్ కలిగి ఉంటుంది, మేము దానిని చూస్తాము. - 105. పునర్నిర్మాణం అనేది సంబంధం లేని పాయింటర్ రకం మధ్య లేదా పాయింటర్ మరియు పూర్ణాంకాల మధ్య మీరు చేయగలిగేది, ఇది చాలా ప్రమాదకరమైన తారాగణాన్ని తిరిగి అర్థం చేసుకోవడానికి; ఇది సి స్టైల్ కాస్ట్ లాగా చాలా అందంగా ఉంది మరియు ఈటెగా చాలా వాడాలి. - 106. మరియు కళాకారులలో చాలా ముఖ్యమైనది డైనమిక్, ఇక్కడ మీరు రన్‌టైమ్ ఆధారంగా ప్రసారం చేస్తారు. - 107. అందువల్ల, మొదటిదానితో ప్రారంభమయ్యే ఇవన్నీ పరిశీలిస్తాము. - 108. మొదటిది వేర్వేరు తారాగణం యొక్క వివిధ సి-వి అర్హతల మధ్య సి-విని మార్చే కాన్స్టాస్ట్_కాస్ట్, సి అంటే వి అంటే వి అస్థిరమని అర్థం. - 109. అందువల్ల, నాకు వేరియబుల్ డిక్లరేషన్ ఉంటే, అది సృష్టించిన తర్వాత ఎప్పటికీ మారని స్థిరాంకం అని చెప్పడం ద్వారా అర్హత సాధించగలను లేదా మనకు తెలియకుండానే అది ఎప్పుడైనా మారుతుంది అని అస్థిరంగా ఉంటుంది. - 110. అందువల్ల, మనకు సివి అర్హత ఉందని మరియు కాన్స్టాంట్‌ను మార్చగలిగినప్పుడు, కాస్ట్-నెస్ లేదా వ్యక్తీకరణ యొక్క అస్థిరతను తొలగించగల లేదా తొలగించగల తారాగణం మాత్రమే. - 111. మరియు సాధారణంగా ఒకరు విలువను లెక్కించరు లేదా మార్చరు, ఎందుకంటే విలువ-లో నెక్స్ట్-నెస్ విలువలో ఎక్కువ కాదు. - 112. నాకు వేరియబుల్ i ఉందో లేదో చూడండి, మరియు అది ఇప్పుడు పూర్ణాంకానికి తెలుసు. - 113. ప్రస్తుతం వేరియబుల్ నేను ప్రస్తుతం వేరియబుల్ 5 ను కలిగి ఉన్నాను, ఇప్పుడు ఈ విలువను 5 గా మార్చవచ్చు లేదా కాదు, విలువ 5 యొక్క విలువ భవిష్యత్తులో లేదు. - 114. కానీ ఈ వేరియబుల్ యొక్క అవగాహన లేదా వ్యాఖ్యానం ఇది తారాగణం కాదా అనేది; ఇది తారాగణం అయితే దాన్ని మార్చలేమని మీరు చెబుతున్నారు; అది స్థిరంగా లేకపోతే దాన్ని మార్చవచ్చు. - 115. నేను ఇంతకుముందు కాస్ట్-నెస్‌ను ఒక ఆస్తిగా చర్చిస్తున్నాను, నేను స్థిరమైన కాని వేరియబుల్ కలిగి ఉండగలను మరియు నేను ఈ వేరియబుల్‌కు స్థిరమైన సూచనను కలిగి ఉంటాను. - 116. నేను ఈ వేరియబుల్‌కు స్థిరమైన సూచనను కలిగి ఉండటానికి అవకాశం ఉంది, అంటే ఈ సందర్భంలో నేను పనిచేయలేనని అర్ధం ఎందుకంటే ఇది స్థిరంగా ఉంటుంది, అయితే నేను వేరియబుల్‌లోనే మార్పులు చేయగలను. - 117. అందువల్ల, దీనిని అనేక రకాలుగా చూడవచ్చు. - 118. ఇప్పుడు, const ఎలా పనిచేస్తుందో చూద్దాం. - 119. కాబట్టి, నేను కొన్ని సాధారణ పరిస్థితులను తీసుకుంటున్నాను, మొదటి సందర్భంలో ప్రింట్ ఫంక్షన్ ఉంది. - 120. నా ఉద్దేశ్యం కార్యాచరణ గురించి చింతించకండి, ఇది ప్రాథమికంగా వేరియబుల్ * పాయింటర్ మరియు ప్రింట్లను తీసుకుంటుంది. - 121. మరియు అనువర్తనంలో, నాకు చార్ * పాయింటర్ ఉంది, ఇది కాస్ట్ పాయింటర్ ఎందుకంటే ఇది స్థిరమైన స్ట్రింగ్; నమూనా వచనం నిరంతర స్ట్రింగ్. - 122. కాబట్టి, నేను సి ప్రింట్ చేయడానికి ప్రయత్నించినట్లయితే, మీకు లోపం వస్తుంది. - 123. మీరు ఎందుకు లోపం పొందుతారు, ఎందుకంటే ఈ సి స్థిరాంకం, ఇది నిరంతర డేటా యొక్క సూచిక, పాయింట్ స్థిరాంకం ఈ వైపు ఉందని మీకు తెలుసు, కాబట్టి డేటాను మార్చలేము, కాని వాస్తవ పారామితి ముద్రణలోని అధికారిక పారామితి నిరంతరాయ. నిరంతర డేటా సూచించబడుతుంది, కాబట్టి ఇది మార్పుకు లోబడి ఉంటుంది. - 124. కాబట్టి, ఈ ఫంక్షన్‌లో నేను సి పాస్ చేస్తే, సి మార్చవచ్చు; కాబట్టి, ఈ కాల్ అనుమతించబడదు. - 125. కాబట్టి, మీరు పొందగలిగే లోపం ఇది. - 126. ఇప్పుడు మీరు నిజంగా ఈ ఫంక్షన్‌ను పిలవాలనుకుంటే, మీరు దాని స్థిరాంకం-నెస్‌ను తీసివేయాలి. - 127. కాబట్టి, మీరు దీన్ని ఈ విధంగా చేయవచ్చు; const_cast అనేది తారాగణం (సి), సి అనేది మీరు ప్రసారం చేయాలనుకునే వ్యక్తీకరణ మరియు ఇది మీ లక్ష్య రకం (రకం), మీ లక్ష్య రకం (రకం) చార్ *. - 128. కాబట్టి, సి రకం రకం ఖర్చు నాలుగు నక్షత్రాలు, ఇది మీ మూల రకం. - 129. ఇప్పుడు మీరు దీన్ని నాలుగు నక్షత్రాలుగా చేస్తున్నారు, కాబట్టి ఈ మొత్తం వ్యక్తీకరణ రకం const_cast char * c char *, const char * కాదు. - 130. మరియు అప్లికేషన్ లో, నేను ఒక చార్ * పాయింటర్ ఇది ఒక const pointer ఎందుకంటే ఇది స్టాటిక్ స్ట్రింగ్ (static string)ఎందుకంటే; నమూనా టెక్స్ట్ ఒక స్టాటిక్ స్ట్రింగ్. - 131. కాబట్టి, ఈ కాస్ట్ ఛార్జ్ * తారాగణం యొక్క చారలను టైప్ చేస్తుంది మరియు చార్ * ఇస్తుంది. - 132. ఇప్పుడు అది చార్ * గా మారిన తర్వాత ఇది చార్ * రకానికి సమానంగా ఉంటుంది. - 133. కాబట్టి, ఇప్పుడు, మీరు ఈ ఫంక్షన్‌ను పిలుస్తారు. - 134. ఈ ఉపాయంతో మీరు ఈ ప్రత్యేక సందర్భంలో ఫంక్షన్‌ను పిలుస్తారు మరియు మీరు కాన్స్ట్‌ను ఉపయోగిస్తున్నందున, ఈ కోడ్‌ను చదివిన ఎవరైనా వెంటనే అర్థం చేసుకుంటారు.మీరు సి నుండి కాన్స్ట్-నెస్‌ను లాక్కోవాలి, అందువల్ల మీరు దీనిని ఉపయోగించారు. - 135. మీకు తరగతి ఉన్న ఇతర కేసుల గురించి ఆలోచించండి మరియు దీనిలో ఒక కాన్స్ట్ సభ్యుడు ఒక ఫంక్షన్ మరియు కాని కానిస్టేబుల్ సభ్యుడు, కాన్స్ట్ సభ్యుడు ఫంక్షన్ యొక్క విషయాలను మార్చలేరు, కాని కాని సభ్యుడు ఒక ఫంక్షన్ చేయవచ్చు. - 136. కాబట్టి, మీకు స్థిరమైన వస్తువు ఉంటే, a.get () అని పిలవడం సరైంది ఎందుకంటే a.get () అనేది const లేదా నాన్ కాస్ట్ ఆబ్జెక్ట్ అని పిలువబడే ఒక కాన్స్ట్ మెంబర్ ఫంక్షన్. దీనితో పిలవవచ్చు, ఎందుకంటే అది కాదని హామీ ఇస్తుంది మార్పు. - 137. ఇప్పుడు a.set () కి కాల్ చేయడం గురించి ఆలోచించండి. - 138. a.set () ఇది వస్తువును వాస్తవంగా మార్చే నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్, మరియు A అనేది ఒక స్టాటిక్ ఆబ్జెక్ట్ అని మీకు చెప్పబడుతుంది. - 139. అందువల్ల, a.set () ఒక లోపం, ఎందుకంటే మీరు ఒక ఫంక్షన్ యొక్క స్థిరమైన సభ్యులైతే మీరు చేయగలిగే స్థిరమైన వస్తువు యొక్క విలువను మార్చడానికి మిమ్మల్ని అనుమతించలేరు. ఉపయోగిస్తున్నారు. - 140. వాస్తవానికి ఈ రకమైన పాయింటర్‌ను సూచిస్తూ, ఒక రకమైన స్థిరాంకం ఉంది, దీనికి ఈ రకమైన రకం ఉంది. - 141. కాబట్టి, ఈ పాయింట్ స్థిరమైన పాయింటర్ అని, ఇది స్థిరమైన వస్తువును సూచిస్తుంది. - 142. కాబట్టి, కానీ ఈ ఫంక్షన్ సెట్ కాని స్థిరాంకం. - 143. కాబట్టి, దీని కోసం, టైప్ * కు పాయింటర్ అవసరం, కానీ మీకు ఈ రకానికి పాయింటర్ ఉంది. - 144. అందువల్ల, మీరు దానిని అక్కడ పాస్ చేయలేరు, ఎందుకంటే మీరు దానిని అక్కడి నుండి పాస్ చేయగలిగితే, అది ఏవైనా మార్పులను ఉల్లంఘించి ముందుకు సాగవచ్చు. - 145. కాబట్టి, మీరు ఇంకా ఆ ఫంక్షన్‌కు కాల్ చేయవలసి వస్తే, మీరు చేయగలిగేది ఏమిటంటే, మేము A నుండి వస్తువు యొక్క ధర-నెస్‌ను లాక్కొని, దానిని చొప్పించగలము, మీరు కాన్స్ట్ చేయవచ్చు) తారాగణం మరియు ఇప్పుడు మీరు దీనిని A గా చేస్తారు, ఇది మీరు సూచన స్థిరమైన వస్తువు అయిన A కు సూచన చేస్తున్నారు. - 146. మరియు మీరు దానిపై స్థిరమైన స్థిరాంకం చేస్తున్నారు. - 147. కాబట్టి, ఈ ఫలిత వ్యక్తీకరణ ఇది ఒక పాయింటర్, ఇది స్థిరమైన వస్తువును సూచించదు, ఇది ఇప్పుడు స్టాటిక్ కాని వస్తువును సూచిస్తుంది మరియు అందువల్ల మీరు దానిపై అమర్చిన ఫంక్షన్ అని పిలుస్తారు. - 148. అయితే మీరు అదే పని చేయలేరు, మీరు మొత్తం వస్తువు యొక్క స్థితిని పూర్తిగా తొలగించలేరు, ఇది అనుమతించబడదు ఎందుకంటే వాస్తవానికి మీరు క్రొత్త వస్తువును సృష్టించవలసి ఉంటుందని దీని అర్థం. సృష్టించాల్సిన అవసరం ఉంది మరియు వేరే ఏదైనా చేయండి. - 149. కాబట్టి, ఇది ఇప్పటికీ లోపంగానే ఉంటుంది, కాని మీరు కాస్ట్ కాస్ట్ చేయడం ద్వారా అదే వస్తువుకు స్టాటిక్ కాని సూచనను సృష్టించవచ్చు. - 150. కాబట్టి, మీరు కాన్స్టాంట్ వేయవలసిన ప్రాథమిక కారణం ఇదే ఎందుకంటే నేను మిమ్మల్ని ప్రాక్టీస్ చేయడానికి అనేక ఇతర ఉదాహరణలలో ఉంచాను. - 151. ఉదాహరణకు, మీరు సి స్టైల్ చేస్తే ఎలా ఉంటుందో ఇది చూపిస్తుంది. - 152. ఉదాహరణకు, ఇక్కడ మీరు స్ట్రింగ్ యొక్క కాన్-నెస్‌ను తీసివేసి ఫంక్షన్ కాల్‌ను పూర్తి చేయవచ్చని మేము చూపించాము. - 153. ప్రత్యామ్నాయంగా మీరు సి స్టైల్‌ని ఉపయోగించవచ్చు మరియు అలా చేయవచ్చు, దీన్ని చేయకుండా నేను గట్టిగా సలహా ఇస్తాను, ఎందుకంటే మీరు ఇలా చేస్తే ఇది చదివిన ఎవరైనా మీరు హుహ్ నుండి స్థిరమైన-నెస్‌ను తీసివేస్తున్నారని అర్థం చేసుకుంటారు. - 154. మీరు దీన్ని వ్రాస్తే, మీరు దీన్ని ఎందుకు చేస్తున్నారో తెలియదు.మీరు ఇలా చేస్తున్నారు. మీరు బహుశా దీన్ని చేస్తున్నారు ఎందుకంటే మీరు కాన్-నెస్‌ను తొలగించాలనుకుంటున్నారని మీకు తెలుసు., కానీ మీరు అలా చేస్తున్నారు ఎందుకంటే మీరు కలిగి ఉండవచ్చు సున్నా స్టార్ పాయింటర్. - 155. కాబట్టి, మీరు దీన్ని నాలుగు నక్షత్రాలుగా అర్థం చేసుకోవాలనుకుంటున్నారు. - 156. అందువల్ల, ఈ తరహా కాస్టింగ్ మీకు ఎటువంటి సమాచారం ఇవ్వదు మరియు వాటిని నివారించాలి. - 157. అదేవిధంగా, స్థిరమైన వస్తువుకు స్థిరమైన కాని సూచనను సృష్టించడం ద్వారా మీరు దీన్ని చేయవచ్చు మరియు మేము ఇప్పుడే చూసిన దాన్ని కాల్ చేయండి. - 158. మీరు ఈ సి శైలిని ప్రసారం చేయడం ద్వారా కూడా చేయవచ్చు. - 159. మీరు వస్తువును ఖర్చులేని సూచనలో ఉంచవచ్చు మరియు తరువాత దాన్ని ఉపయోగించవచ్చు. - 160. దీన్ని మళ్ళీ ఉపయోగించకుండా నేను గట్టిగా సలహా ఇస్తాను, ఎందుకంటే మీరు తారాగణం-నెస్‌ను బయటకు తీస్తున్నారని ఇక్కడ స్పష్టంగా ఉంది, మేము ఏమి చేయాలనుకుంటున్నామో, దానిని మినహాయించాలో ఇక్కడ స్పష్టంగా లేదు. దానిని నిజంగా అర్థం చేసుకోవడం సాధ్యం కాదు. - 161. మరియు చాలా ప్రమాదకరమైన విషయం ఏమిటంటే, మీరు ప్రసారం చేయడానికి ప్రయత్నిస్తే, మొత్తం విషయం ప్రసారం చేయబడదు. - 162. మేము స్టాటిక్ ఆబ్జెక్ట్ మరియు కాస్ట్ కాస్ట్ ని నాన్ స్టాటిక్ వస్తువుకు తరలించలేము, ఎందుకంటే ఇది పూర్తిగా భిన్నమైన వస్తువు అని అర్ధం. - 163. కాబట్టి, ఇది కాన్స్ట్‌తో కూడా లోపం, కానీ ఆశ్చర్యకరంగా ఇది సి స్టైల్‌తో అనుమతించబడుతుంది. - 164. కాబట్టి, మీరు నిజంగా చట్టవిరుద్ధమైన పనిని చేస్తున్నారు మరియు మీరు సృష్టించిన తారాగణం యొక్క అసలు ఆవరణకు వ్యతిరేకంగా ఉన్నారు. - 165. కాబట్టి, వీటిని గట్టిగా నిరుత్సాహపరచాలి. - 166. కాబట్టి, దయచేసి ఈ రకమైన విషయాలు మరియు అన్నింటినీ ఉపయోగించవద్దు. - 167. చివరగా, మీకు స్థిరమైన సభ్యుల ఫంక్షన్ ఉంటే, ఈ పాయింటర్ యొక్క స్థిరమైన సభ్యుల ఫంక్షన్‌లో ఆ సభ్యుల ఫంక్షన్ (ఫంక్షన్) లో మీరు ఇప్పటికీ మార్పులు చేయవచ్చని మీకు చూపించే కొన్ని ఇతర ఉదాహరణలు ఇక్కడ ఉన్నాయి. - 168. మీరు ఇప్పటికీ ఇలాంటి కొన్ని ఉపాయాలు చేయవచ్చు. - 169. వాస్తవానికి, సి స్టైల్ కాస్టింగ్‌తో దీన్ని ప్రయత్నించవద్దు, ఎందుకంటే ఇది చాలా ప్రమాదకరంగా మారుతుంది. - 170. మరియు ఈ పంక్తిని తరువాత పంక్తిగా చదవండి. - 171. నేను ఇక్కడ ఒక చిన్న కోడ్‌ను సూచిస్తాను. - 172. ఇక్కడ, నేను స్థిరమైన పూర్ణాంకాన్ని నిర్వచించాను మరియు దానిని 3 తో ​​ప్రారంభించాను. - 173. నేను పూర్ణాంక పాయింటర్‌ను నిర్వచించాను, కాని నేను చేసిన ప్రతిదీ ఈ వేరియబుల్‌ను గుర్తించింది, ఇది స్థిరమైన పూర్ణాంకానికి పాయింటర్ అవుతుంది, ఎందుకంటే ఇది స్థిరమైన పూర్ణాంకం. - 174. కాబట్టి, నేను కాస్ట్ - నెస్ తారాగణం ద్వారా తీసివేసాను. - 175. అందువల్ల, నాకు ఇక్కడ J ఉంది, ఇది నిరంతరాయంగా ఉంటుంది మరియు నాకు ఇక్కడ PJ ఉంది, ఇది స్థిరంగా లేదు. - 176. అందువల్ల, ఈ స్థిరాంకం దీన్ని నిర్మించడానికి నాకు అనుమతి ఇచ్చింది. - 177. మరియు అది స్థిరంగా లేనిది కనుక, నేను దాని ద్వారా పూర్ణాంకాల వైపు స్థిరమైన కాని పాయింట్లుగా కేటాయించగలను. - 178. అందువల్ల, నేను PJ ని ప్రారంభించి విలువను అందించగలను. - 179. ఇవన్నీ తర్వాత మీరు నిర్వచించబడని ప్రవర్తనను అంగీకరిస్తే ఏమి జరుగుతుందో మీకు తెలియదు. - 180. ఉదాహరణకు, నేను వేరియబుల్ యొక్క విలువను ప్రింట్ చేస్తే పాయింటర్ వేరియబుల్‌ను సూచిస్తుందని మనందరికీ తెలుసు మరియు నేను పాయింటర్ నుండి విలువను వేరు చేసి ప్రింట్ చేస్తే. నేను అలా చేస్తే, నేను అదే విలువను పొందాలి. - 181. కాబట్టి, నేను j మరియు స్టార్ పిజెలను ప్రింట్ చేస్తే మీరు జాగ్రత్తగా చూస్తే, j అనేది వేరియబుల్ పిజె ఈ వేరియబుల్‌కు పాయింటర్, * పిజె కోర్సు యొక్క అదే వేరియబుల్ విలువ అయి ఉండాలి. - 182. నేను ఉత్పత్తి చేసే అవుట్పుట్ అని, అది 3 అని మరియు అది 4 అని ప్రింట్ చేస్తే. - 183. కాబట్టి, మీరు చాలా ఆశ్చర్యపోతున్నారు, మీరు తారాగణాన్ని ఉపయోగిస్తే - నెస్‌ను తొలగించడానికి, తారాగణాన్ని ఖర్చుతో తొలగించడానికి - మంచి ఏకపక్షంగా. - 184. ఇది చాలా సరళంగా ఉండటానికి కారణం, కంపైలర్ అనేది ఒక ప్రత్యేకమైన కంపైలర్, ఇది j ఒక తారాగణం అని తెలుసుకోవడం మరియు 3 వాస్తవానికి ఈ స్థానంలో 3 ని భర్తీ చేస్తుంది. - 185. కాబట్టి, ఇది ఇకపై j కాదు, ఎందుకంటే ఇది const అని తెలుసు, కనుక ఇది మారదు మరియు ఇది మారుతున్న విలువ. - 186. కాబట్టి, అతను ఈ మార్పిడిని చేయవలసి వచ్చినప్పుడు అతను నిశ్శబ్దంగా మరొక స్థలాన్ని చేసాడు, కాబట్టి వాస్తవానికి పిజె కాబట్టి, ఈ మార్పిడి జరిగినప్పుడు ఇది ఇక్కడ మూడు, పిజె నిజంగా ఇక్కడ సూచించదు, కానీ ఇది ఒక ప్రదేశానికి కొత్త తాత్కాలిక పాయింట్లు విలువ 3 విలువతో ప్రారంభించబడుతుంది మరియు దానిలో మార్పులు సంభవించాయి. - 187. అవి మీకు భిన్నమైన ఫలితాలను ఇస్తాయని మీరు స్పష్టంగా చూడవచ్చు. - 188. కాబట్టి, దాని గుండా వెళ్ళండి, మీరు మరిన్ని వివరాలను పొందుతారు, ఫంక్షన్ (ఫంక్షన్) పాయింటర్ల వ్యయం తారాగణం (తారాగణం) ఫంక్షన్ (ఫంక్షన్) పాయింటర్ల నుండి తొలగించబడదని మీరు తెలుసుకోవచ్చు. - 189. సంక్షిప్తంగా, మేము C మరియు C ++ లలో ప్రసారం చేసే ప్రాథమిక ప్రక్రియను అర్థం చేసుకోవడానికి ప్రయత్నించాము. - 190. మరియు ప్రత్యేకంగా వివరించిన తారాగణం ఆపరేటర్లు కాస్ట్ ఆపరేటర్ యొక్క ప్రాథమిక నిర్మాణాన్ని మరియు అనేక సందర్భాల్లో సి-స్టైల్ కాస్టింగ్ యొక్క చెడులను చర్చిస్తారు. - 191. మరియు ముఖ్యంగా, మేము కాస్ట్ ఆపరేటర్‌ను పరిశీలించాము. - 192. తదుపరి మాడ్యూల్‌లో, మేము ఇతర కళాకారులను నియమించుకుంటాము మరియు ముందుకు వెళ్తాము. - 193. + మాడ్యూల్ 32 ప్రోగ్రామింగ్ ఆఫ్ C ++ కు స్వాగతము. + ఈ మాడ్యూల్ మరియు తదుపరి వాటిలో, C ++ లో టైప్ కాస్టింగ్(type casting) మరియు కాస్ట్ ఆపరేటర్ల(cast operators) గురించి క్లుప్తముగా చర్చిద్దాము. + కాబట్టి, లక్ష్యం C మరియు C + + లో కాస్టింగ్(casting) ను అర్థం ఉంది చేసుకొవాలి. + ఇది మొత్తం రూపురేఖ అవుతుంది. + మేము కాస్టింగ్ గురించి ఇప్పటికే కొన్ని చిన్న పరిచయాలను చేసాము, మేము పాలిమార్ఫిజం గురించి మాట్లాడుతున్నప్పుడు, ప్రధానంగా కాస్టింగ్ వంటివి. + మరియు సోపానక్రమంలో, ఒక నిర్దిష్ట తరగతి వస్తువు నుండి సాధారణీకరించిన తరగతి రకానికి ప్రసారం చేయడం (పైకి) రక్షించబడుతుంది; మరియు డౌన్‌కాస్ట్ సురక్షితం కాదు, ఇది వాస్తవానికి మనం చూసిన తీవ్రమైన లోపాలకు దారితీస్తుంది. + కాబట్టి, మేము దానిపై శీఘ్ర రీక్యాప్ తీసుకుంటాము. + ఆపై మేము C ++ లో కాస్ట్ ఆపరేటర్ అని పిలువబడే వాటిని పరిచయం చేస్తాము, నాలుగు వేర్వేరు ఆపరేటర్లు ఉన్నాయి, వీటిని మేము చర్చిస్తాము. + రన్‌టైమ్ రకం ఆధారంగా ప్రసారం చేసే దృశ్యాలతో డైనమిక్ కాస్టింగ్ ముగుస్తుంది; దీని కోసం మేము మరొక అదనపు రకం ఆపరేటర్ గురించి చర్చిస్తాము. + అందువల్ల, ఈ మాడ్యూళ్ళ కొరకు, మేము అదే రూపురేఖలను ఉంచుతాము, అందువల్ల నిర్దిష్ట మాడ్యూల్‌లో చేర్చవలసిన భాగాలు మేము ఇక్కడ చేసినట్లుగా నీలిరంగులో చూపబడతాయి. + మరియు ఆ మాడ్యూల్ కోసం, ప్రతి స్లైడ్‌లో మీ స్క్రీన్ యొక్క ఎడమ వైపున నీలం కనిపిస్తుంది. + కాబట్టి, మనం వెనక్కి వెళ్లి టైప్ కాస్టింగ్ కోసం అడగాలి, మనం ఎందుకు ప్రసారం చేయాలి. + కాబట్టి, కాస్టింగ్ ప్రధానంగా ఆబ్జెక్ట్ రకం, వ్యక్తీకరణ రకం, ఫంక్షన్, ఫంక్షన్ ఆర్గ్యుమెంట్, రిటర్న్ వాల్యూ మొదలైనవాటిని మరొక రకంగా మార్చడానికి అవసరం. + కాబట్టి, సి ++ యొక్క ప్రాథమిక భావన ఏదైనా వేరియబుల్, ఏదైనా స్థిరాంకం, బాగా నిర్వచించబడిన రకాన్ని కలిగి ఉన్న లేదా బాగా నిర్వచించిన రకాన్ని ఆశించే ఏదైనా వస్తువును ఉపయోగించే బలమైన అవ్యక్త రకం. + కాబట్టి, మేము వాటిని వేర్వేరు గణనలలో వేర్వేరు వ్యక్తీకరణలలో చేర్చినప్పుడు, ఒక వ్యక్తీకరణను లెక్కించడానికి, నాకు ఒక నిర్దిష్ట రకం వస్తువు అవసరం, కానీ నా చేతిలో వేరే రకం ఉంది. ఒక వస్తువు, మరియు అక్కడే నేను ఉండాలి. + సి సందర్భంలో మనం చూసినట్లుగా, పెద్ద సంఖ్యలో టైప్ కాస్టింగ్ అవ్యక్త పరివర్తనాల ద్వారా జరుగుతుంది లేదా నిశ్శబ్ద మార్పిడులు అని పిలుస్తారు, ఇవి ప్రామాణిక సి ++ పరివర్తనాలు; తెలిసిన రకాల మధ్య మార్పిడులు మరియు అందువల్ల, భాషా డిజైనర్ ఇప్పటికే లెక్కించారు. + కాబట్టి, ఒక పాయింటర్‌లో ఒక నిర్దిష్ట రకానికి పాయింటర్ కావాలా వద్దా అని నేను పూర్ణాంకాన్ని డబుల్ లేదా డబుల్‌గా పూర్ణాంకానికి ఎలా మార్చగలను అని వివరించే నియమం ఉంది. మార్చవచ్చు + మరియు ఇది అంతర్నిర్మిత మార్పిడిని కూడా కలిగి ఉంటుంది, ఇది వినియోగదారు నిర్వచించిన మార్పిడుల యొక్క C లో జతచేయబడుతుంది, C కి వినియోగదారు నిర్వచించిన రకం లేదని మీరు గుర్తుంచుకుంటే చూడండి. + అందువల్ల, వినియోగదారు నిర్వచించిన మార్పిడి C లో భాగం కాదు, మరియు ఇది ఇక్కడకు వస్తుంది మరియు అంతర్లీన మార్పిడిగా కూడా ఉపయోగించవచ్చు. + ఇక్కడ ఈ పదం యొక్క అర్ధం ఏమిటంటే, మేము ఈ రకమైన మార్పిడి చేసినప్పుడు, నేను అలాంటి మార్పిడిని చేస్తున్నానని చెప్పడానికి మూలంలో అదనంగా ఏదైనా వ్రాయము. + కానీ వ్యక్తీకరణ యొక్క సందర్భం నుండి మరియు వస్తువు ఉపయోగించబడుతున్నప్పుడు, పరివర్తన జరిగిందని మీరు తెలుసుకుంటారు. + సహజంగానే, దీనికి విరుద్ధంగా, చాలా మార్పిడి ఉంది, దీనిని స్పష్టమైన మార్పిడి అంటారు. + ఇప్పుడు వాస్తవానికి, మనకు అవ్యక్త మార్పిడి సౌకర్యాలు ఉంటే, మనకు ఎందుకు స్పష్టమైన మార్పిడి ఉంది? స్పష్టమైన మార్పిడి అంటే నేను మార్పిడి చేస్తున్నానని స్పష్టంగా వ్రాస్తాను. + అందువల్ల, నేను x నిర్దిష్ట రకం T1 అయితే, నేను x ను మరొక రకం T2 లో తీసుకోవాలనుకుంటున్నాను, దానిని మరొక రకం T2 గా మార్చాలనుకుంటున్నాను మరియు దానిని మూలంలో స్పష్టంగా వ్రాస్తాను. + నేను ఇలా చేసినప్పుడు, నేను స్పష్టమైన మార్పిడులు చేస్తున్నానని మరియు నేను స్పష్టమైన మార్పిడులు చేయడానికి కారణం ఉదాహరణకు బహుళంగా ఉండవచ్చు, అవ్యక్త మార్పిడి నేను కోరుకోని మార్పిడిని సృష్టిస్తుంది. + ఇది నేను సుఖంగా లేనిదిగా మారుస్తుంది, లేదా అవ్యక్త పరివర్తనాలు ఒక వస్తువు ఇవ్వబడిందని లేదా అనేక మార్పిడులను కలిగి ఉన్న వ్యక్తీకరణను ఇచ్చాయని సూచిస్తుంది మరియు అస్పష్టంగా ఉంది, వీటిని తీసుకోవాలి. + మరియు ఆ సందర్భాలలో మరియు చాలా తక్కువగా ఉన్న మీరు స్పష్టమైన మార్పిడిని ఉపయోగించాల్సి ఉంటుంది. + మార్పిడులను సాధ్యమైనంత స్పష్టంగా చెప్పడం ఎల్లప్పుడూ మంచి పద్ధతి, తద్వారా మీరు కోడ్‌ను వ్రాయడంలో మీ ఉద్దేశ్యం మరియు మీ ఉద్దేశ్యం కోసం కంపైలర్ అర్థం చేసుకున్నది మీరు స్పష్టమైన మార్పిడి చేస్తుంటే. + ఎందుకంటే మీరు దీన్ని వచనంలో కొంత భాగం వ్రాస్తున్నారు.అది అవ్యక్తంగా ఉంటే, అది మీ అవగాహన మరియు ఆ నిర్దిష్ట మార్పిడి స్థితిపై అవగాహన యొక్క కంపైలర్లపై ఆధారపడి ఉంటుంది మరియు వివిధ ఇబ్బందులు ఎలా ఏర్పడతాయో మేము చూస్తాము. + ఇప్పుడు, ఒక మార్పిడి చేయడానికి, ఒక రకమైన కంపైలర్ చేయడానికి, మీరు ఇప్పటివరకు ఎలాంటి విషయాలు చూసారు, నేను ఇక్కడ ఒక ఉదాహరణ మాత్రమే చేయడానికి ప్రయత్నించాను, మేము ఒక ఫంక్షన్ సి వ్రాసినట్లు అనుకుందాం. + అదే విధంగా, ఇది int i మరియు int j అనే రెండు పూర్ణాంకాలను తీసుకొని డబుల్ విలువను తిరిగి ఇస్తుంది మరియు అలా చేయడం ద్వారా డబుల్ విలువను ఎలా ఇస్తుంది. + అందువల్ల, మీకు ఇక్కడ ఉన్నది ఏమిటంటే, నేను వేరే మతమార్పిడి యొక్క మంచి వర్ణన, ఇక్కడ నేను స్పష్టమైన మార్పిడి చేస్తాను. + నేను ఒక పూర్ణాంకం అని చెప్తున్నాను, కాబట్టి నేను int రకం, నేను దానిని రెట్టింపు చేయాలనుకుంటున్నాను. + ఇప్పుడు j కి ఏమి జరుగుతుంది? j కూడా రకం పూర్ణాంకానికి చెందినది. + ఇప్పుడు నేను కూడా j ను టైప్ (డబుల్) కి తరలించాల్సిన అవసరం లేదని నేను చెప్పను, ఎందుకంటే నేను మొదటి డివిజన్, మొదటి ఒపెరాండ్ డబుల్ అయిన డివిజన్ చేస్తున్నాను. + అందువల్ల, రెండవ ఒపెరాండ్ కూడా రెట్టింపుగా ఉండాలి. + కాబట్టి, ఇక్కడ మరొక మార్పిడి ఉంటుంది, ఇది అవ్యక్తంగా ఉంటుంది. + కాబట్టి, ఇది ఒక సరళమైన ఉదాహరణ, ఇక్కడ మీకు స్పష్టమైన మార్పిడి మరియు అవ్యక్తం ఉంది. + నేను పెద్ద సంఖ్యలో నా విద్యార్థులతో చూసినట్లుగా, నేను పూర్ణాంకం అని విద్యార్థుల మనస్సులో ఎప్పుడూ ఒక ఆలోచన ఉంటుంది, బహుశా దాని విలువ 2; j మరొక పూర్ణాంకం, బహుశా దాని విలువ 3 కావచ్చు. + నేను దానిని రెట్టింపుగా మార్చినప్పుడు, అది 2.0 గా మారిందని లేదా అది 3.0 అవుతుందని నేను చెప్తున్నాను మరియు నిజంగా ఏమీ జరగదు, కానీ అది జరగదు. + సరళమైన కారణంతో, నేను ఒక పూర్ణాంకం, దాని యొక్క ఖచ్చితమైన ప్రాతినిధ్యం గురించి అనుకుంటున్నాను. + కాబట్టి, ఈ రెండింటికి పూర్ణాంక ప్రాతినిధ్యం ఉన్న ప్రాతినిధ్యం ఉంది, ఇది సాధారణంగా ఒకే ఫీల్డ్ ప్రాతినిధ్యం, ఇక్కడ మీరు సంతకం చేసిన సంఖ్యలను చూపించడానికి ప్రత్యేక మార్గాన్ని ఉపయోగిస్తారు. + కాబట్టి, మీరు దీన్ని చేయడానికి ఒక నిర్దిష్ట శైలిని ఉపయోగిస్తారు. + మరియు మీరు దానిని రెట్టింపుకు తరలించినప్పుడు, మీరు వేరే ప్రాతినిధ్యానికి వస్తారు, ఇది సాధారణంగా మల్టీపార్ట్, ఇక్కడ మీకు సిగ్నల్ ఉంది, అది సానుకూలంగా ఉందా లేదా ప్రతికూలంగా ఉందా అనేదానికి స్పష్టంగా ఉంది, మీరు దాని యొక్క కొన్ని లక్షణాలను పరిగణనలోకి తీసుకుంటారు మరియు మీరు దానిలో కొంత భాగాన్ని ఉంచండి. + అందువల్ల, నా సంఖ్య 35.7 అయితే, నేను దానిని సూచించనని మీరందరూ అంటున్నారు; (రిఫరెన్స్ సమయం: 09:36) నా సంఖ్య 35.7 అయితే, నేను దానిని 35.7 గా లేదా అలాంటిదేమీ చెప్పను. + నేను దీన్ని కొన్ని సాధారణ రూపంలో ప్రదర్శిస్తాను, సాధారణంగా ఈ రోజుల్లో సిస్టమ్ ఏమి చేస్తుందో మీరు దానిని 0.357 నుండి 10 కి 2 శక్తికి మార్చవచ్చు, బహుశా మీరు పవర్ 2 వద్ద 10 చేయరు, మీరు బహుశా ఈ శక్తిని చేయవచ్చు. బైనరీలో చేస్తుంది . + నేను దానిని దశాంశంలో వివరిస్తున్నాను. + కాబట్టి, ప్రాతినిధ్యం నా సంఖ్య సానుకూలంగా ఉంటుంది, నా పాక్షిక భాగం 0.357, అంటే ఇది 1 కన్నా తక్కువ ఉన్న భిన్నం మరియు తరువాత నా శక్తి 2. + కాబట్టి, ఈ ప్రాతినిధ్యం నాకు 35.7 ఇస్తుంది. + ఇప్పుడు, నేను దానిని పూర్ణాంకాలకు రౌండ్ చేస్తే, అది 35 అవుతుంది, ఇది మీ 10S కాంప్లిమెంట్, కానీ లేదా కాంప్లిమెంట్ యొక్క 2S ప్రాతినిధ్యం చాలా భిన్నంగా ఉంటుంది. + ఇది 35.0 అయినప్పటికీ, ఇది 0.350, ఈ ప్రాతినిధ్యం మరియు 35 ప్రాతినిధ్యం చాలా భిన్నంగా ఉంటుంది. + అందువల్ల, ఫలితం ఏమిటంటే, కాస్టింగ్ ద్వారా రకాన్ని మార్చాలని మీరు కోరుకోకపోవచ్చు, మీరు దానిని మార్చినప్పుడు మీకు వేరే రకం విలువ ఉంటుంది. + కాబట్టి, నేను ఎక్కడో ఏదో ప్రాతినిధ్యం వహిస్తే, దాన్ని ఒకసారి రెట్టింపుగా ఉంచినట్లయితే, అదే స్థలం నిజంగా ఆ విలువను తీసుకోదు. + కాబట్టి, నాకు వేరే స్థలం t1 ఉంది, ఇక్కడ నేను డబుల్ ప్రాతినిధ్యంలో i విలువకు సమానం. + అందువల్ల, కంపైలర్ వాస్తవానికి ఈ తారాగణం విలువ కోసం విడిగా నిల్వను కేటాయించాల్సిన అవసరం ఉందని మరియు తరువాత కాస్టింగ్ ప్రక్రియతో ప్రారంభించాల్సిన అవసరం ఉందని మేము చూస్తాము. + అందువల్ల, తారాగణంలో ఎల్లప్పుడూ చేర్చబడని చాలా సందర్భాల్లో, అది అవసరం లేదని నేను హైలైట్ చేస్తాను, కాని చాలా సందర్భాల్లో ఇది మెమరీకి కేటాయించాల్సిన అవసరం ఉంది, ఇక్కడ తాత్కాలిక విలువ, తారాగణం (తారాగణం) విలువ చేర్చబడుతుంది, మరియు అసలు విలువను తీసుకోవటానికి లెక్కించాల్సిన అవసరం ఉంది మరియు వేసిన విలువను లెక్కించాలి. + కాబట్టి, కాస్టింగ్ యొక్క ప్రాథమిక ఆలోచన ఇది. + మరియు అది ఎలా జరుగుతుందో మనం చూడాలి. + కాబట్టి, నాకు ఇలాంటి ఫంక్షన్ ఉంటే, అన్ని సంభావ్యతలలో, కంపైలర్ వాస్తవానికి ఈ విధంగా ఒక ఫంక్షన్‌ను అమలు చేస్తుంది, అది అలాగే ఉంటుంది. + కానీ ఇది మార్పిడి చేయవలసి ఉంది, కాబట్టి ఇది క్రొత్త వేరియబుల్ temp_i ని నిర్వచిస్తుంది. + మరియు ఇది ఇక్కడ ఒక మార్పిడి చేస్తోంది, ఇక్కడే మార్పిడి జరుగుతోంది, మీరు దీన్ని కన్స్ట్రక్టర్ లాగా ఆలోచించగలరు, కాబట్టి ఇది పూర్ణాంకం అయిన కన్స్ట్రక్టర్‌గా రెట్టింపు అవుతుంది. విలువతో ప్రారంభమవుతుంది. + కాబట్టి, టెంప్_ఐ కొత్త డబుల్ వేరియబుల్ అవుతుంది, దీని విలువ పూర్ణాంక విలువకు దగ్గరగా ఉంటుంది. + అదేవిధంగా temp_j, దీనికి మార్పిడి కూడా అవసరం, ఇది j కి డబుల్ డబుల్ అనుకూలంగా ఉంటుంది మరియు మీరు నిజంగా ఈ రెండు డబుల్ సంఖ్యలను విభజించి ఫలితాన్ని రెట్టింపు చేస్తారు. + కాబట్టి, ఈ మార్పిడి, ఈ మార్పిడి అవసరం మరియు తాత్కాలిక నిల్వకు అవసరమైన రెండు ప్రాంతాలు ఇవి. + కాబట్టి, ఇది C లో గణనీయంగా సంభవించే కాస్టింగ్ యొక్క దృష్టాంతం, మరియు మనం అవ్యక్త కాస్టింగ్, అవ్యక్త మార్పిడి లేదా ఈ ప్రక్రియలో సి స్టైల్ మార్పిడిని ఉపయోగించినప్పుడు మనం చూస్తూనే ఉంటాము. + అందువల్ల, డైనమిక్ బైండింగ్‌కు వెళ్లేముందు, సి స్టైల్ పరివర్తనను చూడటానికి మాడ్యూల్ 26 ను త్వరగా తిరిగి ఉపయోగించాల్సి వచ్చింది. + అందువల్ల, పూర్ణాంకం రెండు రకాల మార్పిడులు మీకు తెలుసని మేము సాధారణంగా చూశాము, మేము వివిధ రకాల మార్పిడులను కూడా చూశాము, ఉదాహరణకు, కొన్ని సందర్భాల్లో డబుల్ పాయింట్ వంటి అవ్యక్త మార్పిడి సాధ్యం కాదని మేము చూశాము. పూర్ణాంకానికి మార్చబడింది, కాని మేము స్పష్టమైన సి స్టైల్ కాస్టింగ్‌తో ఆ పనులు చేయవచ్చు. + దీని యొక్క పరిణామాలు ఏమిటో మనం ఇప్పుడు అదే నియమాన్ని చూశాము.ఇది తరగతులు అమలులోకి వచ్చే చోట C ++ కు విస్తరిస్తే, సంబంధం లేని రెండు తరగతులు ఉంటే చాలా వస్తువులు రకం యొక్క చిక్కులు నిజంగా సాధ్యం కాదు. + కానీ మీరు ఇప్పటికీ ఈ రకమైన విభిన్న పాయింట్ల మధ్య ప్రసారం చేయడానికి సి స్టైల్ కాస్టింగ్‌ను ఉపయోగించవచ్చు. + ఈ విధంగా ప్రసారం చేసే ప్రమాదాన్ని మేము చూశాము; క్రింద ఉన్న ఈ ఉదాహరణలో మనం చూసినందున, తారాగణం చేయకూడని కాస్టింగ్ నాకు ఉంది, ఎందుకంటే ఇది రెండు సంబంధం లేని తరగతులు. + మరియు కంపైలర్ దీన్ని చేయడానికి మాకు అనుమతి ఇచ్చింది మరియు తరువాత కొంత చెత్తను ఉత్పత్తి చేసింది. + కాబట్టి, దానిపై కదులుతున్నప్పుడు, తరగతులు సోపానక్రమంలో ఉంటే కాస్టింగ్ ఇంకా కొంత అర్ధవంతం అవుతుందని మేము చూశాము. + మరియు అందులో, మేము చూశాము - తారాగణం లేదా క్రిందికి - వేయవచ్చు; అప్ - తారాగణం సాధారణీకరణకు ప్రత్యేకత; డౌన్‌కాస్ట్ అనేది స్పెషలైజేషన్ కోసం సాధారణీకరణ. + అప్-కాస్ట్ సాధారణంగా సాపేక్షంగా సురక్షితమైన విషయం అని మేము చూశాము. + అందువల్ల, మీరు అప్-కాస్ట్ చేయవచ్చు ఎందుకంటే మీరు అప్-కాస్టింగ్ చేస్తున్నప్పుడు, వాస్తవానికి ఉన్నదానికంటే తక్కువ సమాచారాన్ని ఉపయోగిస్తున్నారు. + కాబట్టి, ఇవి సాధారణంగా ఉన్నాయని మేము చూశాము, సరే; మీరు డౌన్-కాస్ట్ చేస్తే మీరు సాధారణీకరణ నుండి స్పెషలైజేషన్కు వెళుతున్నారు, కాబట్టి మీకు నిజంగా తక్కువ సమాచారం ఉంది మరియు మీరు మరింత సమాచారాన్ని తెలుసుకోవడానికి ప్రయత్నిస్తున్నారు మరియు ఇది ప్రమాదకరమే. + అందువల్ల, C ++ కి రావడం, కాస్టింగ్ కంటే కాస్టింగ్ పూర్తిగా భిన్నమైన అభిప్రాయాన్ని తీసుకుంటుంది. + సి లో, మీరు అందరికీ తెలిసిన అవ్యక్త తారాగణం మరియు సి శైలిని ప్రసారం చేస్తారు. + మరియు రెండు ప్రధాన కారకాలు ఉన్నాయి, ఇది తరచూ అనేక సందర్భాల్లో టైప్ సమాచారాన్ని కోల్పోతుంది, ఎందుకంటే మీరు ప్రాతినిధ్యంలో ఇబ్బంది పడకుండా వ్యక్తీకరణలో ఒక నిర్దిష్ట రకానికి బలవంతం చేయవచ్చు మరియు లెక్కల ఖచ్చితత్వం గురించి సమస్యలు. + మరియు కాస్టింగ్ నిజంగా అర్థం యొక్క స్పష్టత లేదు. + C ++ దీన్ని మరింత సమానంగా మరియు మరింత స్థిరంగా చేయడానికి ప్రయత్నించింది, తద్వారా మీ రకం ఎల్లప్పుడూ సరైనది. + అందువల్ల, C ++ లో, వాస్తవానికి విలువను తరచుగా మార్చకుండా మీరు కొత్త రకాలైన తీర్మానాలను inf హించవచ్చు, ఎందుకంటే మీరు నిజంగా విలువను మార్చకూడదనుకునే రకం గురించి మీరు తరచుగా ulate హించాల్సిన అవసరం ఉంది, మీరు మార్చడానికి అవసరం లేదు విలువ, మరియు మేము దాని ఉదాహరణలను చూపుతాము. + మరియు ఇతర సందర్భాల్లో, మీరు టైప్ చేసినప్పుడు, మీరు పూర్ణాంకాన్ని రెట్టింపుగా సూచించడాన్ని సూచిస్తున్నారు; మీరు విలువను మార్చాలి. + మరియు ఇది అవ్యక్త గణన ద్వారా చేయవచ్చు, ఇక్కడ మార్పు ఎలా జరుగుతుందో మీరు వ్రాయవలసిన అవసరం లేదు. + పూర్ణాంక డబుల్ ఎలా మారుతుందో మేము వ్రాయలేదు లేదా కాస్టింగ్ ద్వారా మార్పు ఎలా జరుగుతుందో వినియోగదారు నిర్వచించాల్సిన అవసరం ఉందని నేను చెప్పాల్సిన పరిస్థితులు కావచ్చు. + మరియు సి ++ లో, కాస్టింగ్ అన్ని సందర్భాల్లోనూ టైప్ సమాచారాన్ని సంరక్షిస్తుంది, ఇది సి లో హామీ ఇవ్వని చాలా ముఖ్యమైన అంశం మరియు ఇది కొంతమంది ఆర్టిస్టులకు స్పష్టమైన సెమాంటిక్స్ను అందిస్తుంది, ఇది కె ఆపరేటర్లను ఉపయోగించి సి లో కూడా కాదు . + కాబట్టి, నాలుగు కాస్ట్ ఆపరేటర్లు ఉన్నారు, మీరు ఒక విలువను మరొకదానికి స్పష్టంగా చొప్పించడానికి వ్రాయవచ్చు. + మరియు కారణం ఏమిటంటే, కాస్ట్ ఆపరేటర్లు అవ్యక్త కాస్టింగ్ లేదా స్పష్టమైన కాస్టింగ్ కంటే చాలా ప్రోత్సహించబడ్డారు, ఇది మీకు కాస్ట్ ఆపరేటర్ ఉంటే), వారికి const_cast, static_cast, reinterpret_cast, డైనమిక్_కాస్ట్ వంటి చాలా విచిత్రమైన పేర్లు ఉన్నాయని మీరు చూడవచ్చు. + కాబట్టి, మీరు వాటిని ఉపయోగించినట్లయితే, మీరు సులభంగా grep- లాంటి ఆపరేషన్ చేయవచ్చు, grep ప్రాథమికంగా యునిక్స్ ను బాగా ఉపయోగిస్తుందని మీకు తెలిసిన ఫైల్ లోని స్ట్రింగ్ కోసం శోధిస్తుంది. + కాబట్టి, మీరు మీ సిస్టమ్ సెర్చ్ ఆపరేషన్‌లో దీన్ని ఉపయోగించవచ్చు లేదా చేయవచ్చు, కాబట్టి మీరు const_cast కోసం వెతుకుతున్నట్లయితే, మీరు మీ సోర్స్ కోడ్‌లో మీరు కాస్టింగ్ కొనసాగించిన పాయింట్లను ఖచ్చితంగా చూడగలరు. (కాస్టింగ్) విధానం ఉపయోగించబడుతుంది. + కాబట్టి, దీనికి చాలా ప్రయోజనాలు ఉన్నాయి. + సి స్టైల్‌తో మీరు చేయగలిగేది ఏదైనా, మీరు ఈ ఆపరేటర్లను ఉపయోగించి మరింత అర్థవంతంగా చొప్పించవచ్చు. + కాబట్టి, మీరు C ++ లో కాస్టింగ్ అర్థం చేసుకున్న తర్వాత, మీరు మీ కోడ్‌లో సి స్టైల్ కాస్టింగ్‌ను ఉపయోగించకూడదు. + మీరు దీన్ని ఉపయోగించాల్సిన అవసరం ఉంటే, మీ డిజైన్ లేదా కోడింగ్ గురించి మీ అవగాహనలో ఏదో లోపం ఉందని మీరు కనుగొంటారు. + ఇప్పుడు, వేరియబుల్ నిర్దిష్ట రకం T1 అని నేను చెప్పినట్లు సాధారణంగా కాస్టింగ్ ఉంది మరియు నేను దానిని కొన్ని రకాల T2 కి తరలించాలనుకుంటున్నాను. + కాబట్టి, ఇది పనిచేసే విధానం కాస్ట్ ఆపరేటర్‌ను తీసుకుంటుంది. + కాబట్టి, ఇది మేము ఒక సోర్స్ రకం అని చెప్తున్నాము మరియు ఇది టార్గెట్ రకం అని మేము చెబుతున్నాము. + అందువల్ల, ఒక తారాగణం ఆపరేటర్ వ్యక్తీకరణను తీసుకుంటుంది మరియు లక్ష్య రకం ఏమిటో నిర్దేశిస్తుంది, అందువలన ఇది మార్పిడి అవుతుంది, ఇది ఇకపై మూల రకాన్ని పేర్కొనవలసిన అవసరం లేదు ఎందుకంటే C ++ లో అన్ని వ్యక్తీకరణలు, ఏదైనా సమయంలో అన్ని వేరియబుల్స్ a నిర్దిష్ట రకం. వారికి ఒక రకం ఉంటుంది. + అందువల్ల, నేను తెలుసుకోవటానికి, నేను సోర్స్ టైప్ (టైప్) టి 1 ను తెలుసుకుంటాను ఎందుకంటే నేను టైప్ (టైప్) టి 1, కానీ గమ్యం రకం అంటే ఏమిటి, టార్గెట్ టైప్ అంటే ఏమిటి మరియు అది తెలుపుతుంది. + కాబట్టి, ఒకదాని తరువాత ఒకటి చర్చించే తారాగణం ఆపరేటర్. + మొదటిది కాస్ట్ ఆపరేటర్; ఈ ఆపరేటర్ ప్రాథమికంగా తారాగణం - నెస్ లేదా అస్థిరతను ఓవర్రైట్ చేయడానికి ఉపయోగిస్తారు, ఇది వ్యక్తీకరణ యొక్క CV అర్హత. + కాబట్టి, ఇది స్థిరమైన వ్యక్తీకరణ నుండి కాన్స్ట్-నెస్‌ను తొలగించగలదు, ఇది స్థిరమైన కాని వ్యక్తీకరణకు కాన్స్టాన్స్-నెస్‌ను జోడించగలదు. + స్టాటిక్ కాస్ట్ అనేది పాలిమార్ఫిక్ తారాగణం, ఇది ప్రధానంగా పాలిమార్ఫిక్ ద్వారా తయారవుతుంది. + అందువల్ల, మీరు పాలిమార్ఫిక్ సోపానక్రమంలో లేకపోతే, మీరు స్టాటిక్ యాక్టర్లను ఉపయోగించవచ్చు; మరియు ఇది తరచుగా వినియోగదారు నిర్వచించిన కాస్టింగ్ కలిగి ఉంటుంది, మేము దానిని చూస్తాము. + పునర్నిర్మాణం అనేది సంబంధం లేని పాయింటర్ రకం మధ్య లేదా పాయింటర్ మరియు పూర్ణాంకాల మధ్య మీరు చేయగలిగేది, ఇది చాలా ప్రమాదకరమైన తారాగణాన్ని తిరిగి అర్థం చేసుకోవడానికి; ఇది సి స్టైల్ కాస్ట్ లాగా చాలా అందంగా ఉంది మరియు ఈటెగా చాలా వాడాలి. + మరియు కళాకారులలో చాలా ముఖ్యమైనది డైనమిక్, ఇక్కడ మీరు రన్‌టైమ్ ఆధారంగా ప్రసారం చేస్తారు. + అందువల్ల, మొదటిదానితో ప్రారంభమయ్యే ఇవన్నీ పరిశీలిస్తాము. + మొదటిది వేర్వేరు తారాగణం యొక్క వివిధ సి-వి అర్హతల మధ్య సి-విని మార్చే కాన్స్టాస్ట్_కాస్ట్, సి అంటే వి అంటే వి అస్థిరమని అర్థం. + అందువల్ల, నాకు వేరియబుల్ డిక్లరేషన్ ఉంటే, అది సృష్టించిన తర్వాత ఎప్పటికీ మారని స్థిరాంకం అని చెప్పడం ద్వారా అర్హత సాధించగలను లేదా మనకు తెలియకుండానే అది ఎప్పుడైనా మారుతుంది అని అస్థిరంగా ఉంటుంది. + అందువల్ల, మనకు సివి అర్హత ఉందని మరియు కాన్స్టాంట్‌ను మార్చగలిగినప్పుడు, కాస్ట్-నెస్ లేదా వ్యక్తీకరణ యొక్క అస్థిరతను తొలగించగల లేదా తొలగించగల తారాగణం మాత్రమే. + మరియు సాధారణంగా ఒకరు విలువను లెక్కించరు లేదా మార్చరు, ఎందుకంటే విలువ-లో నెక్స్ట్-నెస్ విలువలో ఎక్కువ కాదు. + నాకు వేరియబుల్ i ఉందో లేదో చూడండి, మరియు అది ఇప్పుడు పూర్ణాంకానికి తెలుసు. + ప్రస్తుతం వేరియబుల్ నేను ప్రస్తుతం వేరియబుల్ 5 ను కలిగి ఉన్నాను, ఇప్పుడు ఈ విలువను 5 గా మార్చవచ్చు లేదా కాదు, విలువ 5 యొక్క విలువ భవిష్యత్తులో లేదు. + కానీ ఈ వేరియబుల్ యొక్క అవగాహన లేదా వ్యాఖ్యానం ఇది తారాగణం కాదా అనేది; ఇది తారాగణం అయితే దాన్ని మార్చలేమని మీరు చెబుతున్నారు; అది స్థిరంగా లేకపోతే దాన్ని మార్చవచ్చు. + నేను ఇంతకుముందు కాస్ట్-నెస్‌ను ఒక ఆస్తిగా చర్చిస్తున్నాను, నేను స్థిరమైన కాని వేరియబుల్ కలిగి ఉండగలను మరియు నేను ఈ వేరియబుల్‌కు స్థిరమైన సూచనను కలిగి ఉంటాను. + నేను ఈ వేరియబుల్‌కు స్థిరమైన సూచనను కలిగి ఉండటానికి అవకాశం ఉంది, అంటే ఈ సందర్భంలో నేను పనిచేయలేనని అర్ధం ఎందుకంటే ఇది స్థిరంగా ఉంటుంది, అయితే నేను వేరియబుల్‌లోనే మార్పులు చేయగలను. + అందువల్ల, దీనిని అనేక రకాలుగా చూడవచ్చు. + ఇప్పుడు, const ఎలా పనిచేస్తుందో చూద్దాం. + కాబట్టి, నేను కొన్ని సాధారణ పరిస్థితులను తీసుకుంటున్నాను, మొదటి సందర్భంలో ప్రింట్ ఫంక్షన్ ఉంది. + నా ఉద్దేశ్యం కార్యాచరణ గురించి చింతించకండి, ఇది ప్రాథమికంగా వేరియబుల్ * పాయింటర్ మరియు ప్రింట్లను తీసుకుంటుంది. + మరియు అనువర్తనంలో, నాకు చార్ * పాయింటర్ ఉంది, ఇది కాస్ట్ పాయింటర్ ఎందుకంటే ఇది స్థిరమైన స్ట్రింగ్; నమూనా వచనం నిరంతర స్ట్రింగ్. + కాబట్టి, నేను సి ప్రింట్ చేయడానికి ప్రయత్నించినట్లయితే, మీకు లోపం వస్తుంది. + మీరు ఎందుకు లోపం పొందుతారు, ఎందుకంటే ఈ సి స్థిరాంకం, ఇది నిరంతర డేటా యొక్క సూచిక, పాయింట్ స్థిరాంకం ఈ వైపు ఉందని మీకు తెలుసు, కాబట్టి డేటాను మార్చలేము, కాని వాస్తవ పారామితి ముద్రణలోని అధికారిక పారామితి నిరంతరాయ. నిరంతర డేటా సూచించబడుతుంది, కాబట్టి ఇది మార్పుకు లోబడి ఉంటుంది. + కాబట్టి, ఈ ఫంక్షన్‌లో నేను సి పాస్ చేస్తే, సి మార్చవచ్చు; కాబట్టి, ఈ కాల్ అనుమతించబడదు. + కాబట్టి, మీరు పొందగలిగే లోపం ఇది. + ఇప్పుడు మీరు నిజంగా ఈ ఫంక్షన్‌ను పిలవాలనుకుంటే, మీరు దాని స్థిరాంకం-నెస్‌ను తీసివేయాలి. + కాబట్టి, మీరు దీన్ని ఈ విధంగా చేయవచ్చు; const_cast అనేది తారాగణం (సి), సి అనేది మీరు ప్రసారం చేయాలనుకునే వ్యక్తీకరణ మరియు ఇది మీ లక్ష్య రకం (రకం), మీ లక్ష్య రకం (రకం) చార్ *. + కాబట్టి, సి రకం రకం ఖర్చు నాలుగు నక్షత్రాలు, ఇది మీ మూల రకం. + ఇప్పుడు మీరు దీన్ని నాలుగు నక్షత్రాలుగా చేస్తున్నారు, కాబట్టి ఈ మొత్తం వ్యక్తీకరణ రకం const_cast char * c char *, const char * కాదు. + మరియు అప్లికేషన్ లో, నేను ఒక చార్ * పాయింటర్ ఇది ఒక const pointer ఎందుకంటే ఇది స్టాటిక్ స్ట్రింగ్ (static string)ఎందుకంటే; నమూనా టెక్స్ట్ ఒక స్టాటిక్ స్ట్రింగ్. + కాబట్టి, ఈ కాస్ట్ ఛార్జ్ * తారాగణం యొక్క చారలను టైప్ చేస్తుంది మరియు చార్ * ఇస్తుంది. + ఇప్పుడు అది చార్ * గా మారిన తర్వాత ఇది చార్ * రకానికి సమానంగా ఉంటుంది. + కాబట్టి, ఇప్పుడు, మీరు ఈ ఫంక్షన్‌ను పిలుస్తారు. + ఈ ఉపాయంతో మీరు ఈ ప్రత్యేక సందర్భంలో ఫంక్షన్‌ను పిలుస్తారు మరియు మీరు కాన్స్ట్‌ను ఉపయోగిస్తున్నందున, ఈ కోడ్‌ను చదివిన ఎవరైనా వెంటనే అర్థం చేసుకుంటారు.మీరు సి నుండి కాన్స్ట్-నెస్‌ను లాక్కోవాలి, అందువల్ల మీరు దీనిని ఉపయోగించారు. + మీకు తరగతి ఉన్న ఇతర కేసుల గురించి ఆలోచించండి మరియు దీనిలో ఒక కాన్స్ట్ సభ్యుడు ఒక ఫంక్షన్ మరియు కాని కానిస్టేబుల్ సభ్యుడు, కాన్స్ట్ సభ్యుడు ఫంక్షన్ యొక్క విషయాలను మార్చలేరు, కాని కాని సభ్యుడు ఒక ఫంక్షన్ చేయవచ్చు. + కాబట్టి, మీకు స్థిరమైన వస్తువు ఉంటే, a.get () అని పిలవడం సరైంది ఎందుకంటే a.get () అనేది const లేదా నాన్ కాస్ట్ ఆబ్జెక్ట్ అని పిలువబడే ఒక కాన్స్ట్ మెంబర్ ఫంక్షన్. దీనితో పిలవవచ్చు, ఎందుకంటే అది కాదని హామీ ఇస్తుంది మార్పు. + ఇప్పుడు a.set () కి కాల్ చేయడం గురించి ఆలోచించండి. + a.set () ఇది వస్తువును వాస్తవంగా మార్చే నాన్-స్టాటిక్ మెంబర్ ఫంక్షన్, మరియు A అనేది ఒక స్టాటిక్ ఆబ్జెక్ట్ అని మీకు చెప్పబడుతుంది. + అందువల్ల, a.set () ఒక లోపం, ఎందుకంటే మీరు ఒక ఫంక్షన్ యొక్క స్థిరమైన సభ్యులైతే మీరు చేయగలిగే స్థిరమైన వస్తువు యొక్క విలువను మార్చడానికి మిమ్మల్ని అనుమతించలేరు. ఉపయోగిస్తున్నారు. + వాస్తవానికి ఈ రకమైన పాయింటర్‌ను సూచిస్తూ, ఒక రకమైన స్థిరాంకం ఉంది, దీనికి ఈ రకమైన రకం ఉంది. + కాబట్టి, ఈ పాయింట్ స్థిరమైన పాయింటర్ అని, ఇది స్థిరమైన వస్తువును సూచిస్తుంది. + కాబట్టి, కానీ ఈ ఫంక్షన్ సెట్ కాని స్థిరాంకం. + కాబట్టి, దీని కోసం, టైప్ * కు పాయింటర్ అవసరం, కానీ మీకు ఈ రకానికి పాయింటర్ ఉంది. + అందువల్ల, మీరు దానిని అక్కడ పాస్ చేయలేరు, ఎందుకంటే మీరు దానిని అక్కడి నుండి పాస్ చేయగలిగితే, అది ఏవైనా మార్పులను ఉల్లంఘించి ముందుకు సాగవచ్చు. + కాబట్టి, మీరు ఇంకా ఆ ఫంక్షన్‌కు కాల్ చేయవలసి వస్తే, మీరు చేయగలిగేది ఏమిటంటే, మేము A నుండి వస్తువు యొక్క ధర-నెస్‌ను లాక్కొని, దానిని చొప్పించగలము, మీరు కాన్స్ట్ చేయవచ్చు) తారాగణం మరియు ఇప్పుడు మీరు దీనిని A గా చేస్తారు, ఇది మీరు సూచన స్థిరమైన వస్తువు అయిన A కు సూచన చేస్తున్నారు. + మరియు మీరు దానిపై స్థిరమైన స్థిరాంకం చేస్తున్నారు. + కాబట్టి, ఈ ఫలిత వ్యక్తీకరణ ఇది ఒక పాయింటర్, ఇది స్థిరమైన వస్తువును సూచించదు, ఇది ఇప్పుడు స్టాటిక్ కాని వస్తువును సూచిస్తుంది మరియు అందువల్ల మీరు దానిపై అమర్చిన ఫంక్షన్ అని పిలుస్తారు. + అయితే మీరు అదే పని చేయలేరు, మీరు మొత్తం వస్తువు యొక్క స్థితిని పూర్తిగా తొలగించలేరు, ఇది అనుమతించబడదు ఎందుకంటే వాస్తవానికి మీరు క్రొత్త వస్తువును సృష్టించవలసి ఉంటుందని దీని అర్థం. సృష్టించాల్సిన అవసరం ఉంది మరియు వేరే ఏదైనా చేయండి. + కాబట్టి, ఇది ఇప్పటికీ లోపంగానే ఉంటుంది, కాని మీరు కాస్ట్ కాస్ట్ చేయడం ద్వారా అదే వస్తువుకు స్టాటిక్ కాని సూచనను సృష్టించవచ్చు. + కాబట్టి, మీరు కాన్స్టాంట్ వేయవలసిన ప్రాథమిక కారణం ఇదే ఎందుకంటే నేను మిమ్మల్ని ప్రాక్టీస్ చేయడానికి అనేక ఇతర ఉదాహరణలలో ఉంచాను. + ఉదాహరణకు, మీరు సి స్టైల్ చేస్తే ఎలా ఉంటుందో ఇది చూపిస్తుంది. + ఉదాహరణకు, ఇక్కడ మీరు స్ట్రింగ్ యొక్క కాన్-నెస్‌ను తీసివేసి ఫంక్షన్ కాల్‌ను పూర్తి చేయవచ్చని మేము చూపించాము. + ప్రత్యామ్నాయంగా మీరు సి స్టైల్‌ని ఉపయోగించవచ్చు మరియు అలా చేయవచ్చు, దీన్ని చేయకుండా నేను గట్టిగా సలహా ఇస్తాను, ఎందుకంటే మీరు ఇలా చేస్తే ఇది చదివిన ఎవరైనా మీరు హుహ్ నుండి స్థిరమైన-నెస్‌ను తీసివేస్తున్నారని అర్థం చేసుకుంటారు. + మీరు దీన్ని వ్రాస్తే, మీరు దీన్ని ఎందుకు చేస్తున్నారో తెలియదు.మీరు ఇలా చేస్తున్నారు. మీరు బహుశా దీన్ని చేస్తున్నారు ఎందుకంటే మీరు కాన్-నెస్‌ను తొలగించాలనుకుంటున్నారని మీకు తెలుసు., కానీ మీరు అలా చేస్తున్నారు ఎందుకంటే మీరు కలిగి ఉండవచ్చు సున్నా స్టార్ పాయింటర్. + కాబట్టి, మీరు దీన్ని నాలుగు నక్షత్రాలుగా అర్థం చేసుకోవాలనుకుంటున్నారు. + అందువల్ల, ఈ తరహా కాస్టింగ్ మీకు ఎటువంటి సమాచారం ఇవ్వదు మరియు వాటిని నివారించాలి. + అదేవిధంగా, స్థిరమైన వస్తువుకు స్థిరమైన కాని సూచనను సృష్టించడం ద్వారా మీరు దీన్ని చేయవచ్చు మరియు మేము ఇప్పుడే చూసిన దాన్ని కాల్ చేయండి. + మీరు ఈ సి శైలిని ప్రసారం చేయడం ద్వారా కూడా చేయవచ్చు. + మీరు వస్తువును ఖర్చులేని సూచనలో ఉంచవచ్చు మరియు తరువాత దాన్ని ఉపయోగించవచ్చు. + దీన్ని మళ్ళీ ఉపయోగించకుండా నేను గట్టిగా సలహా ఇస్తాను, ఎందుకంటే మీరు తారాగణం-నెస్‌ను బయటకు తీస్తున్నారని ఇక్కడ స్పష్టంగా ఉంది, మేము ఏమి చేయాలనుకుంటున్నామో, దానిని మినహాయించాలో ఇక్కడ స్పష్టంగా లేదు. దానిని నిజంగా అర్థం చేసుకోవడం సాధ్యం కాదు. + మరియు చాలా ప్రమాదకరమైన విషయం ఏమిటంటే, మీరు ప్రసారం చేయడానికి ప్రయత్నిస్తే, మొత్తం విషయం ప్రసారం చేయబడదు. + మేము స్టాటిక్ ఆబ్జెక్ట్ మరియు కాస్ట్ కాస్ట్ ని నాన్ స్టాటిక్ వస్తువుకు తరలించలేము, ఎందుకంటే ఇది పూర్తిగా భిన్నమైన వస్తువు అని అర్ధం. + కాబట్టి, ఇది కాన్స్ట్‌తో కూడా లోపం, కానీ ఆశ్చర్యకరంగా ఇది సి స్టైల్‌తో అనుమతించబడుతుంది. + కాబట్టి, మీరు నిజంగా చట్టవిరుద్ధమైన పనిని చేస్తున్నారు మరియు మీరు సృష్టించిన తారాగణం యొక్క అసలు ఆవరణకు వ్యతిరేకంగా ఉన్నారు. + కాబట్టి, వీటిని గట్టిగా నిరుత్సాహపరచాలి. + కాబట్టి, దయచేసి ఈ రకమైన విషయాలు మరియు అన్నింటినీ ఉపయోగించవద్దు. + చివరగా, మీకు స్థిరమైన సభ్యుల ఫంక్షన్ ఉంటే, ఈ పాయింటర్ యొక్క స్థిరమైన సభ్యుల ఫంక్షన్‌లో ఆ సభ్యుల ఫంక్షన్ (ఫంక్షన్) లో మీరు ఇప్పటికీ మార్పులు చేయవచ్చని మీకు చూపించే కొన్ని ఇతర ఉదాహరణలు ఇక్కడ ఉన్నాయి. + మీరు ఇప్పటికీ ఇలాంటి కొన్ని ఉపాయాలు చేయవచ్చు. + వాస్తవానికి, సి స్టైల్ కాస్టింగ్‌తో దీన్ని ప్రయత్నించవద్దు, ఎందుకంటే ఇది చాలా ప్రమాదకరంగా మారుతుంది. + మరియు ఈ పంక్తిని తరువాత పంక్తిగా చదవండి. + నేను ఇక్కడ ఒక చిన్న కోడ్‌ను సూచిస్తాను. + ఇక్కడ, నేను స్థిరమైన పూర్ణాంకాన్ని నిర్వచించాను మరియు దానిని 3 తో ​​ప్రారంభించాను. + నేను పూర్ణాంక పాయింటర్‌ను నిర్వచించాను, కాని నేను చేసిన ప్రతిదీ ఈ వేరియబుల్‌ను గుర్తించింది, ఇది స్థిరమైన పూర్ణాంకానికి పాయింటర్ అవుతుంది, ఎందుకంటే ఇది స్థిరమైన పూర్ణాంకం. + కాబట్టి, నేను కాస్ట్ - నెస్ తారాగణం ద్వారా తీసివేసాను. + అందువల్ల, నాకు ఇక్కడ J ఉంది, ఇది నిరంతరాయంగా ఉంటుంది మరియు నాకు ఇక్కడ PJ ఉంది, ఇది స్థిరంగా లేదు. + అందువల్ల, ఈ స్థిరాంకం దీన్ని నిర్మించడానికి నాకు అనుమతి ఇచ్చింది. + మరియు అది స్థిరంగా లేనిది కనుక, నేను దాని ద్వారా పూర్ణాంకాల వైపు స్థిరమైన కాని పాయింట్లుగా కేటాయించగలను. + అందువల్ల, నేను PJ ని ప్రారంభించి విలువను అందించగలను. + ఇవన్నీ తర్వాత మీరు నిర్వచించబడని ప్రవర్తనను అంగీకరిస్తే ఏమి జరుగుతుందో మీకు తెలియదు. + ఉదాహరణకు, నేను వేరియబుల్ యొక్క విలువను ప్రింట్ చేస్తే పాయింటర్ వేరియబుల్‌ను సూచిస్తుందని మనందరికీ తెలుసు మరియు నేను పాయింటర్ నుండి విలువను వేరు చేసి ప్రింట్ చేస్తే. నేను అలా చేస్తే, నేను అదే విలువను పొందాలి. + కాబట్టి, నేను j మరియు స్టార్ పిజెలను ప్రింట్ చేస్తే మీరు జాగ్రత్తగా చూస్తే, j అనేది వేరియబుల్ పిజె ఈ వేరియబుల్‌కు పాయింటర్, * పిజె కోర్సు యొక్క అదే వేరియబుల్ విలువ అయి ఉండాలి. + నేను ఉత్పత్తి చేసే అవుట్పుట్ అని, అది 3 అని మరియు అది 4 అని ప్రింట్ చేస్తే. + కాబట్టి, మీరు చాలా ఆశ్చర్యపోతున్నారు, మీరు తారాగణాన్ని ఉపయోగిస్తే - నెస్‌ను తొలగించడానికి, తారాగణాన్ని ఖర్చుతో తొలగించడానికి - మంచి ఏకపక్షంగా. + ఇది చాలా సరళంగా ఉండటానికి కారణం, కంపైలర్ అనేది ఒక ప్రత్యేకమైన కంపైలర్, ఇది j ఒక తారాగణం అని తెలుసుకోవడం మరియు 3 వాస్తవానికి ఈ స్థానంలో 3 ని భర్తీ చేస్తుంది. + కాబట్టి, ఇది ఇకపై j కాదు, ఎందుకంటే ఇది const అని తెలుసు, కనుక ఇది మారదు మరియు ఇది మారుతున్న విలువ. + కాబట్టి, అతను ఈ మార్పిడిని చేయవలసి వచ్చినప్పుడు అతను నిశ్శబ్దంగా మరొక స్థలాన్ని చేసాడు, కాబట్టి వాస్తవానికి పిజె కాబట్టి, ఈ మార్పిడి జరిగినప్పుడు ఇది ఇక్కడ మూడు, పిజె నిజంగా ఇక్కడ సూచించదు, కానీ ఇది ఒక ప్రదేశానికి కొత్త తాత్కాలిక పాయింట్లు విలువ 3 విలువతో ప్రారంభించబడుతుంది మరియు దానిలో మార్పులు సంభవించాయి. + అవి మీకు భిన్నమైన ఫలితాలను ఇస్తాయని మీరు స్పష్టంగా చూడవచ్చు. + కాబట్టి, దాని గుండా వెళ్ళండి, మీరు మరిన్ని వివరాలను పొందుతారు, ఫంక్షన్ (ఫంక్షన్) పాయింటర్ల వ్యయం తారాగణం (తారాగణం) ఫంక్షన్ (ఫంక్షన్) పాయింటర్ల నుండి తొలగించబడదని మీరు తెలుసుకోవచ్చు. + సంక్షిప్తంగా, మేము C మరియు C ++ లలో ప్రసారం చేసే ప్రాథమిక ప్రక్రియను అర్థం చేసుకోవడానికి ప్రయత్నించాము. + మరియు ప్రత్యేకంగా వివరించిన తారాగణం ఆపరేటర్లు కాస్ట్ ఆపరేటర్ యొక్క ప్రాథమిక నిర్మాణాన్ని మరియు అనేక సందర్భాల్లో సి-స్టైల్ కాస్టింగ్ యొక్క చెడులను చర్చిస్తారు. + మరియు ముఖ్యంగా, మేము కాస్ట్ ఆపరేటర్‌ను పరిశీలించాము. + తదుపరి మాడ్యూల్‌లో, మేము ఇతర కళాకారులను నియమించుకుంటాము మరియు ముందుకు వెళ్తాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/36 ProgramminginCplusplus_Recap of C (Lecture 02)-ubKxyn4WTs8.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/36 ProgramminginCplusplus_Recap of C (Lecture 02)-ubKxyn4WTs8.txt index aaa1f9148035849ca6d591cdc0dab564885dd053..53e81a1d77a79ed002e280c7684cd6a3bc6c0d74 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/36 ProgramminginCplusplus_Recap of C (Lecture 02)-ubKxyn4WTs8.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/36 ProgramminginCplusplus_Recap of C (Lecture 02)-ubKxyn4WTs8.txt @@ -1,161 +1,161 @@ - 1. మనము  మాడ్యూల్ 1 లో సి ప్రోగ్రామింగ్ గురించి చర్చిస్తున్నాము. - 2. ఇప్పుడు మనం మాట్లాడుకుంటుంది పార్ట్-2. - 3. ముందు భాగంలో మనము  డేటా రకాలు, వేరియబుల్స్, ఆపరేటర్లు, ఎక్స్ప్రెషన్స్ మరియు స్టేట్మెంట్స్ (ఆదేశాలు), ముఖ్యంగా నియంత్రణ ఆదేశాలతో సహా C లోని ప్రాథమిక భావనలను  చూశాము . - 4. ఇప్పుడు, మేము ముందుకు వెళ్తాము మరియు సి లోని వివిధ ఉత్పన్న రకాలు గురించి మాట్లాడుతాము, సి లో సర్వసాధారణంగా ఉత్పన్నమైన రకాలు శ్రేణులని మీకు తెలుసు. - 5. శ్రేణి అనేది డేటా అంశాల సమాహారం. - 6. కాబట్టి, వేరియబుల్ అనేది ఒకే డేటా అంశం, ఇది ఒకే విలువ; శ్రేణి అంటే ఒకటి లేదా అంతకంటే ఎక్కువ డేటా ఐటెమ్‌ల సమాహారం, అన్ని డేటా అంశాలు ఒకే రకంగా ఉండాలి. - 7. కాబట్టి, Int ఒక శ్రేణి అని నేను చెబితే, ఆ శ్రేణి (శ్రేణి) లోని అన్ని విలువలు పూర్ణాంకంగా ఉండాలి. - 8. శ్రేణి రకం చార్ (చార్) అని నేను చెబితే, ప్రతి మూలకం తప్పనిసరిగా టైప్ క్యారెక్టర్ కలిగి ఉండాలి. - 9. శ్రేణుల సందర్భంలో, మనం చేయవలసిన మొదటి విషయం ఏమిటంటే, మనం ఏదైనా వేరియబుల్ (ల) ను డిక్లేర్ చేయాల్సిన అవసరం ఉన్నట్లే శ్రేణి (శ్రేణి) ను ప్రకటించడం, కాబట్టి మనం ఈ శ్రేణిని ఉపయోగించవచ్చు. - 10. కాబట్టి, సహజంగా, మేము పేరును పేర్కొనాలి; శ్రేణి యొక్క మూలకం యొక్క రకం ఏమిటో మనం చెప్పాలి; మరియు శ్రేణి మద్దతు ఇవ్వగల గరిష్ట సంఖ్యల సంఖ్య ఏమిటో కూడా మేము పేర్కొనాలి. - 11. ఇప్పుడు, ఈ గరిష్ట సంఖ్యలను అనేక రకాలుగా పేర్కొనవచ్చు. - 12. మరియు మనం చూసేటప్పుడు ఇది C ++ లోని శ్రేణుల (శ్రేణుల) C లోని శ్రేణుల నుండి కొంత భిన్నంగా ఉంటుంది, కానీ C లోని ఒక నిర్దిష్ట శ్రేణి (శ్రేణి) మూలలో బ్రాకెట్లలో డబుల్ బ్యాలెన్స్‌గా 10. నిర్వచించబడుతుంది, ఇది మిగిలిన రకం రకపు డబుల్ మూలకాల శ్రేణి అని మరియు గరిష్టంగా 10 అటువంటి మూలకాలను కలిగి ఉంటుందని చెబుతుంది. - 13. లేకపోతే, మేము మానిఫెస్ట్ స్థిరాంకం ద్వారా ఆకారాన్ని నిర్వచించవచ్చు మరియు శ్రేణిని నిర్వచించడానికి దాన్ని ఉపయోగించవచ్చు. - 14. అప్పుడు శ్రేణిని కూడా ప్రారంభించవచ్చు, మేము రెండవ భాగానికి వెళ్తున్నాము. - 15. అందువల్ల, శ్రేణులను కూడా ప్రారంభించవచ్చు, నేను శ్రేణిని ప్రకటిస్తే, మూలకాలకు నిర్దిష్ట విలువ లేదు, కానీ నేను శ్రేణిని ప్రకటించగలను, అలాగే ప్రారంభించగలను. Am - 16. కాబట్టి, 'Int ప్రైమ్‌లు [5]' కామాలతో వేరు చేయబడిన మరియు ఒక జత వంకర కలుపులలో సంతృప్తి చెందిన విలువల జాబితాతో ప్రారంభించబడిందని నేను చెబితే, ఆ జాబితాలోని మొదటి విలువ శ్రేణి యొక్క మొదటి మూలకానికి వెళుతుంది మీకు 0 వ సూచిక మూలకం తెలుసు. - 17. రెండవది జాబితాలోని రెండవ మూలకానికి వెళుతుంది, ఇది సూచిక ఒకటి మరియు మొదలైనవి. - 18. C లో ఆసక్తికరంగా, ప్రత్యేకంగా వ్యక్తీకరించబడిన ఆకారం లేకుండా కూడా శ్రేణులను ప్రారంభించడానికి అనుమతిస్తారు. - 19. అందువల్ల, నేను వాస్తవంగా రూపొందించకుండా అతిక్రమణలను మాత్రమే వ్రాయగలను మరియు సి కంపైలర్ చేసే పనుల యొక్క ప్రారంభ జాబితాను ఇవ్వగలను; మీరు దానితో ఎన్ని మూలకాలను ప్రారంభించారో ఇది కనుగొంటుంది మరియు ఇది శ్రేణి యొక్క పరిమాణం లేదా బహుళ అంశాలు ఉంటాయని umes హిస్తుంది. - 20. అందువల్ల, ప్రైమ్‌లు 2, 3, 5, 7 మరియు 11 ల జాబితాతో ప్రారంభించబడితే, 5 అంశాలు ఉన్నాయి, కాబట్టి ఇది ఐదు మూలకాల శ్రేణి అవుతుంది. - 21. మరియు నేను అలాంటి సందర్భాల్లో కూడా చూపించాను, ఎందుకంటే పరిమాణం ఏమిటో మీకు తెలియదు, ప్రతి మూలకం యొక్క పరిమాణంతో విభజించబడిన శ్రేణి యొక్క మొత్తం పరిమాణం అని మీరు అనుకునే పరిమాణాన్ని లెక్కించడానికి అత్యంత నమ్మదగిన మార్గం ఏమిటి. ఖచ్చితంగా పొందండి శ్రేణిని కలిగి ఉన్న మూలకాల సంఖ్య. - 22. మీరు పెద్ద శ్రేణిని కలిగి ఉండటం మరియు తక్కువ సంఖ్యలో మూలకాలతో ప్రారంభించడం కూడా సాధ్యమే; ప్రారంభం ఎల్లప్పుడూ ఉంటుంది. - 23. మరియు అలాంటి సందర్భాల్లో మిగిలిన అంశాలు 0 కి ప్రారంభించబడతాయి, కానీ మీరు దానిలో ఒక ప్రారంభ జాబితాను ఉంచలేరు, అది ఎర్ యొక్క పరిమాణం కంటే పెద్దది. - 24. ప్రారంభించినా లేదా ప్రారంభించకపోయినా ప్రతి మూలకం ద్వారా శ్రేణిని యాక్సెస్ చేయవచ్చు. - 25. అందువల్ల, శ్రేణి మూలకాలను ప్రాప్యత చేయడానికి, మేము సూచికను ఉపయోగిస్తున్నట్లు మనం చూడవచ్చు మరియు ఆ శ్రేణి (శ్రేణి) స్థానంలో ఉన్న అంశాలను చదవవచ్చు లేదా యాక్సెస్ చేయవచ్చు. - 26. అదేవిధంగా, నేను దానిని వ్యక్తీకరణ యొక్క ఎడమ వైపున కూడా వ్రాయలేకపోయాను మరియు శ్రేణి మూలకానికి అప్పగించగలను. - 27. నిర్వచించిన ప్రతి శ్రేణి ఒకే మూలకం లాంటిదని సి umes హిస్తుంది. - 28. అందువల్ల, నేను శ్రేణుల శ్రేణుల (శ్రేణుల) (శ్రేణుల) మరియు శ్రేణుల (శ్రేణుల) శ్రేణుల (శ్రేణుల) మరియు శ్రేణులను నిర్వచించగలను; మరియు ఈ విధంగా, నేను చాలా కోణాలలో విస్తరించగలను. - 29. కాబట్టి, వీటిని మల్టీ డైమెన్షనల్ అర్రేస్ అంటారు. - 30. కాబట్టి, మల్టీ డైమెన్షనల్ అర్రే యొక్క సరళమైనది రెండు డైమెన్షనల్ అర్రే, ఇది మేము సాధారణంగా గణితంలో చెబుతాము, మేము సాధారణంగా వాటిని మాతృక అని పిలుస్తాము. - 31. కాబట్టి, ఇది రెండు కోణాలతో ఇవ్వబడుతుంది; A అనేది వరుసల సంఖ్య మరియు నిలువు వరుసల సంఖ్య. - 32. కాబట్టి, మేము int mat [3] [4] ను నిర్వచించినట్లయితే, ఈ మొత్తం మత్ శ్రేణి (శ్రేణి) లో 3 వరుసలు మరియు 4 నిలువు వరుసలు ఉన్నాయని అర్థం. - 33. కాబట్టి, ఇది రెండు డైమెన్షనల్ చేస్తుంది; సహజంగానే ఇది రెండు డైమెన్షనల్ అయితే, దానిని యాక్సెస్ చేయడానికి వరుస సూచిక మరియు కాలమ్ సూచిక యొక్క రెండు సూచికలు అవసరం. - 34. మీరు దీన్ని 3, 4 యొక్క అధిక పరిమాణానికి విస్తరించవచ్చు, కానీ మీకు సాధారణ ఉపయోగంలో 3 లేదా అంతకంటే ఎక్కువ డైమెన్షనల్ శ్రేణులు ఉంటాయి. - 35. శ్రేణుల పక్కన నిర్మాణాలు ఉన్నాయి. - 36. కాబట్టి, శ్రేణి ఒక సేకరణ వలె ఉంటుంది మరియు మేము నెమ్మదిగా కంటైనర్ అనే పదాన్ని ఉపయోగించడం ప్రారంభిస్తాము, ఇది C లో అంత సాధారణం కాదు, కాని మేము C ++ లో చూస్తాము మరియు ముఖ్యంగా C ++ తో వచ్చే ప్రామాణిక లైబ్రరీ, సాధారణంగా ఉపయోగించే పదాలు కంటైనర్లు ఇతర అంశాలను కలిగి ఉన్నవి కాబట్టి కంటైనర్లు అని పిలుస్తారు. - 37. శ్రేణి ఒక కంటైనర్; ఇది నిర్దిష్ట ప్రవర్తనతో కూడిన డేటా ఐటెమ్‌ల సమాహారం, మనం చూసినట్లుగా అన్ని అంశాలు ఒకే రకానికి చెందినవి. - 38. ఇప్పుడు, దీనికి విరుద్ధంగా, నిర్మాణం కూడా ఒక కంటైనర్; ఇది డేటా వస్తువుల సమాహారం, కానీ ఇక్కడ డేటా అంశాలు వివిధ రకాలుగా ఉంటాయి; అవి తప్పనిసరిగా వివిధ రకాలుగా ఉండవలసిన అవసరం లేదు, కానీ అవి వేర్వేరు రకాలుగా ఉంటాయి. - 39. కాబట్టి, నేను ఒక నిర్మాణంలో చూస్తే, ఈ డేటా అంశాలను తరచుగా సభ్యులు అని పిలుస్తారు; నిర్మాణం యొక్క పాత్ర లేదా డేటా ఐటెమ్‌ను అర్ధం చేసుకోవడానికి మేము ఈ పదాన్ని సభ్యుడు లేదా డేటా సభ్యుడిని ఎక్కువగా ఉపయోగిస్తాము, సంక్లిష్ట సంఖ్యను సృష్టించడాన్ని మేము సులభతరం చేస్తాము.ఉదాహరణలను చూపిద్దాం. - 40. మనకు తెలిసినట్లుగా సంక్లిష్ట సంఖ్యలకు రెండు అక్షరాలు ఉన్నాయి - నిజమైన భాగం మరియు inary హాత్మక భాగం. - 41. కాబట్టి, ప్రతి భాగం రెట్టింపు కావచ్చు. - 42. కాబట్టి, రెండు అక్షరాలు ఉన్నాయని మాకు చెప్పే సమ్మేళనంతో ఒక నిర్మాణాన్ని మేము నిర్వచించాము; ఈ సందర్భంలో, రెండూ ఒకే రకానికి చెందినవి, ఆపై సి ఈ నిర్మాణ రకానికి చెందిన వేరియబుల్‌గా ప్రకటించబడుతుంది. - 43. మేము తదుపరిదాన్ని కూడా చేయవచ్చు; మీరు నిజంగా విభిన్న రకాల అక్షరాలు ఉన్న నిర్మాణాన్ని కలిగి ఉన్నారని మేము చూపిస్తాము. - 44. కాబట్టి, పుస్తక నిర్మాణంలో మొదటి రెండు అక్షరాలు శీర్షిక మరియు రచయిత; అవి పాత్ర యొక్క శ్రేణులు, అంటే అవి టైటిల్ పేరు మరియు రచయిత పేరు యొక్క తీగలుగా మారుతాయి; మరియు మూడవ అక్షరం వాస్తవానికి పూర్ణాంకం, ఇది పుస్తక ID ని కలిగి ఉంటుంది. - 45. నిర్మాణాలను వాటి పేరు ప్రకారం నేరుగా నిర్వచించవచ్చు, మరియు మేము దానిని కీవర్డ్ నిర్మాణం లేదా నిర్మాణాన్ని ఉపయోగించి ఉపయోగించవచ్చు మరియు నిర్మాణాన్ని కలిసి పేరు పెట్టవచ్చు మరియు ఈ రకానికి డిర్ కీవర్డ్ ఉపయోగించి మారుపేరు ఇవ్వవచ్చు. - 46. టైప్ డెఫ్ అనేది చిన్న నిర్వచనం యొక్క సంక్షిప్తీకరణ. - 47. మరియు మేము C ++ లోకి వెళుతున్నప్పుడు, టైప్ డెఫ్ నిజంగా టైప్ డెఫినిషన్ ఎందుకు కాదు, ఇది ఒక రకమైన తప్పుడు పేరు, కానీ చారిత్రాత్మకంగా ఇది ఈ కీవర్డ్‌ని ఉపయోగించింది మరియు C లో ఉపయోగించడం కొనసాగుతోంది, కాని ఇది ప్రాథమికంగా మారుపేరు. - 48. ఇది మనకు ఉన్నట్లుగా, స్ట్రక్ట్ పుస్తకాల నిర్మాణ సముదాయానికి ఇచ్చిన మరొక పేరు. - 49. ఇది సులభం అవుతుంది. - 50. మీరు ఒక రకమైన డెఫ్ ఉపయోగిస్తే, మీరు దాన్ని నేరుగా ఉపయోగించవచ్చు - 51. కాబట్టి, మేము నిర్మాణాలను యాక్సెస్ చేయడానికి వస్తే, కాంప్లెక్స్ మాత్రమే ఉపయోగించడానికి సంక్లిష్టంగా నిర్వచించబడినందున, మేము కాంప్లెక్స్ కాంప్లెక్స్ను ఉపయోగించాలి మరియు వేరియబుల్ పేరును అనుసరించాలి. - 52. కానీ ఇక్కడ పుస్తకాలు టైప్ డెఫ్ ద్వారా నిర్వచించబడ్డాయి, కాబట్టి నేను పుస్తకాలను మాత్రమే వ్రాయగల నిర్మాణాత్మక పుస్తకాలతో పుస్తకాలు వ్రాయవలసిన అవసరం లేదు, ఇది పుస్తకానికి మొత్తం పేరును ఇచ్చింది. - 53. కాబట్టి, దీన్ని ఈ విధంగా ఉపయోగించడం సులభం అవుతుంది. - 54. ఇప్పుడు, ఏదైనా స్ట్రక్చర్ వేరియబుల్ ను సాధారణ వేరియబుల్ లాగా ప్రారంభించవచ్చు; మరియు మేము శ్రేణిని ప్రారంభించిన విధంగానే సంజ్ఞామానం జరుగుతుంది. - 55. దీనికి విరుద్ధంగా, శ్రేణులలో, వంకర కలుపులలో ఏర్పడిన జాబితా అంటే విభిన్న భాగాలు లేదా శ్రేణి యొక్క విభిన్న సూచిక అంశాలు; నిర్మాణం విషయంలో, దీని అర్థం వేర్వేరు భాగాలు లేదా శ్రేణుల డేటా సభ్యులు; మరియు మీరు ఈ ప్రారంభ విలువలను జాబితా చేసే విధానం, డేటా సభ్యులు పై నుండి క్రిందికి జాబితా చేయబడిన విధానం. - 56. కాబట్టి, ఈ కోడ్‌లో ఇచ్చిన నిర్దిష్ట కేసులను పరిశీలిస్తే, మీరు ప్రారంభ కాంప్లెక్స్ x ను 2.0, 3.5 తో చూపిస్తాము, అంటే 2.0 యొక్క మొదటి అక్షరం (అక్షరం) 'రీ' అని అర్ధం., దీని ప్రారంభ విలువ ఉంటుంది . - 57. కాబట్టి, మీరు వాటిని పై నుండి క్రిందికి చదివి, ఈ జాబితాను ఎడమ నుండి కుడికి చదివి వాటికి అనుగుణంగా ఉండండి. - 58. కాబట్టి, 3.5 im & # 39; లు ప్రారంభ విలువ అవుతుంది. - 59. కాబట్టి, మనం ఈ విధంగా ఆలోచిస్తే, x సంక్లిష్ట సంఖ్య 2.0 + j 3.5 అవుతుంది. - 60. మేము ఒకటి లేదా కొద్ది మంది సభ్యులను మాత్రమే ప్రారంభించే అవకాశం ఉంది, కానీ మీరు దీన్ని ప్రారంభ భాగం నుండి మాత్రమే చేయగలరు. - 61. మీరు మళ్ళీ 'రీ' ను దాటవేయలేరు మరియు 'ఇమ్' ను మాత్రమే ప్రారంభించలేరు, కానీ మీరు ఇక్కడ 4.2 తో చేస్తున్నట్లుగా మీరు 'రీ' ను ప్రారంభించవచ్చు మరియు పేర్కొన్న విధంగా 'ఇమ్' ను వదిలివేయండి. ఇక్కడ చేయలేదు. - 62. అప్పుడు నిర్మాణం యొక్క ప్రతి అక్షరాన్ని డాట్ సంజ్ఞామానం ద్వారా చూడవచ్చు, మనం ఇక్కడ చూపించే డాట్ ఆపరేటర్. - 63. కాబట్టి, x ఒక సంక్లిష్టమైన వేరియబుల్ అయితే, ఒక నిర్మాణం వేరియబుల్, ఆపై ఈ వేరియబుల్ x యొక్క 'రీ' భాగం x.re గా వ్రాయబడుతుంది. - 64. అదేవిధంగా, ఇక్కడ పుస్తకం పైన పేర్కొన్న పుస్తకాల నిర్మాణం, కాబట్టి దీనికి పుస్తకం 'ఐడి' అక్షరం ఉంది. - 65. కాబట్టి, నిర్మాణ అక్షరాన్ని యాక్సెస్ చేయడానికి మేము డాట్ సంజ్ఞామానాన్ని ఉపయోగిస్తాము. - 66. అందువల్ల, సాధారణంగా ఉపయోగించే రెండు సి మధ్య మనం చూడవచ్చు, సి రెండు అత్యంత శక్తివంతమైన కంటైనర్లలో రెండు వేర్వేరు రీతులను కలిగి ఉంటుంది; అన్ని అంశాలు ఒకే రకానికి చెందినవి. - 67. ఇది స్థానం ద్వారా ప్రాప్తి చేయబడుతుంది, దీనిని స్థాన ప్రాప్యత అని పిలుస్తారు, ఎందుకంటే మీరు మొదటి నుండి మొదలయ్యే మొదలు, రెండవది, కాబట్టి మీరు సంఖ్య ద్వారా వెళ్ళండి, కాబట్టి శ్రేణిని ఇండెక్స్డ్ కంటైనర్ అని కూడా పిలుస్తారు, ఎందుకంటే మీరు సంఖ్యల వారీగా మూలకాలను యాక్సెస్ చేయండి. - 68. దీనికి విరుద్ధంగా, నిర్మాణంలో, మూలకాలు వేర్వేరు రకాలుగా ఉంటాయి. - 69. అందువల్ల, జాబితాలోని మొదటి అక్షరం ఏమిటి లేదా జాబితాలోని మూడవ అక్షరం ఏమిటి మొదలైన వాటికి ఎక్కువ ప్రాముఖ్యత లేదు. - 70. అందువల్ల, మీరు మూలకాలను పేరు ద్వారా యాక్సెస్ చేస్తారు. - 71. ఇప్పుడు ఇది కూడా ఒక శైలి, ఇది మీరు పేరు ద్వారా ఏదైనా యాక్సెస్ చేయగలరా లేదా మీరు రాష్ట్రాల వారీగా ఏదైనా యాక్సెస్ చేయగలరా అని మేము వివిధ భాషలలో చూస్తాము, మరియు మేము ఫంక్షన్‌ను అభ్యర్ధించినప్పుడు ఇలాంటి ప్రాప్యత సమస్యలు తలెత్తుతాయి మేము మీ గురించి కూడా మాట్లాడుతాము తెలుసుకోవడం కూడా పరిస్థితి నుండి. - 72. ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క కొన్ని సాధారణ అంశాలు ఇవి అని నేను కోరుకుంటున్నాను, దాని మధ్య యాక్సెస్ మెకానిజం అంటే ఏమిటి లేదా దాని పేరు పెట్టబడిన దాని గురించి మీరు మూలకాల జాబితాను కలిగి ఉన్నప్పుడు జాగ్రత్తగా ఉండాలి. - 73. కాబట్టి, నిర్మాణంలో, మేము ఒక రకాన్ని చూస్తాము; శ్రేణిలో, మేము మరొకటి చూస్తాము. - 74. ఇప్పుడు సి పై నడుస్తున్నది మరొక రకమైన నిల్వ కంటైనర్‌కు మద్దతు ఇస్తుంది, ఇది నిర్మాణాల మాదిరిగానే ఉంటుంది, వాటిని సంఘాలు అంటారు. - 75. ఇప్పుడు, ఒకే తేడా ఏమిటంటే, మీరు ఉపయోగించే కీవర్డ్‌కి బదులుగా యూనియన్ కీవర్డ్‌ని ఉపయోగించడం. - 76. మీరు పేర్కొన్న విధానం లేదా మీరు సభ్యులను చేరే విధానం నిర్మాణం మరియు అసోసియేషన్ మధ్య సమానంగా ఉంటుంది. - 77. కానీ భిన్నమైనది ఏమిటంటే మెమరీని కేటాయించిన విధానం. - 78. మీకు ఇద్దరు, మూడు వేర్వేరు సభ్యులతో ఒక నిర్మాణం ఉంటే, ఆ నిర్మాణ రకం యొక్క వేరియబుల్ సృష్టించబడినప్పుడు, ఆ ప్రాంతం సభ్యులందరికీ కేటాయించబడుతుంది. - 79. కాబట్టి, మీరు ఈ నిర్మాణానికి తిరిగి వెళితే, ఇక్కడ రెండు అక్షరాలు ఉన్నాయని మీరు చూస్తారు, సంక్లిష్ట నిర్మాణాన్ని నిర్వచించిన తరువాత, ఈ రెండు అక్షరాలు వాస్తవానికి కేటాయించబడతాయి. - 80. అందువల్ల, ప్రతి ఒక్కటి డబుల్ టెక్స్ట్ బైట్లు అని మనం అనుకుంటే, మొత్తం సంక్లిష్ట నిర్మాణం యొక్క పరిమాణం 8 బైట్లు ప్లస్ 8 బైట్లు 16 బైట్లు, రెండూ ఉన్నందున. - 81. దీనికి విరుద్ధంగా, అనుబంధంలో, ఈ కేటాయింపు జ్ఞాపకార్థం అతిపెద్ద పాత్ర కోసం మాత్రమే చేయబడుతుంది. - 82. అందువల్ల, పేరు అసోసియేషన్ సూచించినట్లు మీ ప్రాథమిక umption హ ఈ అన్ని రంగాల యూనియన్ అని మీరు నిర్ధారిస్తారు, కాబట్టి ఏ సమయంలోనైనా ఒకటి మాత్రమే ఉంటుంది. - 83. కాబట్టి, సహజంగానే మీరు వాటిలో ఒకదాన్ని మాత్రమే సూచిస్తుంటే, తార్కిక విషయం అయిన అతి పెద్దదానికి మీకు తగినంత స్థలం కావాలి. - 84. కాబట్టి, మేము ఈ యూనియన్ ప్యాకెట్‌ను పరిశీలిస్తే, ప్యాకెట్‌లో 3 అక్షరాలు (డబుల్) మరియు నాలుగు (చార్) రకాలు ఉన్నాయని చూస్తాము. - 85. అందువల్ల, మేము 32-బిట్ యంత్రంలో పరిమాణం గురించి సహేతుకమైన umption హను తీసుకుంటే, పూర్ణాంకానికి 4 బైట్లు, డబుల్ 8 బైట్లు మరియు చార్ (చార్) బహుశా 2 బైట్లు కావచ్చు. - 86. కాబట్టి, ప్యాకెట్ యొక్క పరిమాణం 8 బైట్లు అవుతుంది, ఇది అతిపెద్ద అక్షరానికి రెండు రెట్లు ఎక్కువ. - 87. కాబట్టి, ఆసక్తికరమైన అంశం ఏమిటంటే, ఒక వైపు మొత్తం రికార్డ్ యొక్క పరిమాణాన్ని, మొత్తం కంటైనర్ యొక్క పరిమాణాన్ని తగ్గించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది, మీకు ఒకే సమయంలో అన్ని భాగాలు అవసరం లేదని మీకు తెలిస్తే. - 88. కాబట్టి దాని యొక్క మరొక వైపు ఏమిటంటే, మీరు ప్రారంభించినప్పుడు మీరు మొదటి భాగం యొక్క విలువను మాత్రమే ప్రారంభిస్తున్నారు ఎందుకంటే ఇక్కడ మీరు ఒక భాగాన్ని మాత్రమే కలిగి ఉంటారు, మాకు ఒక భాగానికి మాత్రమే స్థలం ఉంటుంది. - 89. ప్రారంభంలో ఉన్న భాగాల జాబితా వ్యక్తిగత డేటా సభ్యుల జాబితాను ప్రారంభించదు. - 90. ప్రారంభించడం పాక్షికంగా అందించబడుతుందని మేము చూశాము, మొదటి ఒకటి లేదా మొదటి రెండు లేదా మొదటి మూడు ఇక్కడ ప్రారంభించాను ఎందుకంటే ఒకే డేటా సభ్యుడు మాత్రమే ఉన్నాడు.మీరు ప్రారంభించగలిగేది ఒక్క విలువ మాత్రమే. మరియు దాని రకం మొదటి విలువ . - 91. లేకపోతే, మీరు ప్రారంభించాల్సిన అవసరం లేదని మీరు చేయాలి, బదులుగా మీరు పాత్రను తీసుకొని కేటాయించండి. - 92. కాబట్టి, యాక్సెస్ పరంగా, ఒకే డాట్ సంజ్ఞామానం డాట్ ఆపరేటర్ వేర్వేరు భాగాలను యాక్సెస్ చేయడానికి ఉపయోగపడుతుంది, కాని విషయం ఏమిటంటే, మనకు మూడు అక్షరాలు ఉన్నప్పటికీ, ఒక విలువ మాత్రమే నిర్వహించబడుతుందని మీరు గుర్తుంచుకోవాలి. (అక్షరం) ఒక విలువ మాత్రమే . - 93. అందువల్ల, మీరు ఆ పాత్ర యొక్క విలువను చేరుకున్నప్పుడు మీరు పేర్కొన్న అక్షరం (అక్షరం) చెల్లుబాటు అవుతుంది. - 94. మీరు వేరే అక్షరాన్ని ఉపయోగిస్తే, చివరిగా కేటాయించిన దాని నుండి మీరు unexpected హించని ఫలితాలను పొందుతారు. - 95. కాబట్టి, మీరు ఈ యాక్సెస్ కోడ్‌లో కొంచెం జాగ్రత్తగా చూస్తే, మేము ఐడాటాను మాకు కేటాయించిన కోడ్ యొక్క మొదటి భాగంలో మీరు చూస్తారు, ఆపై మేము ఐడాటాను యాక్సెస్ చేస్తాము, కాబట్టి 2 ముద్రించబడుతుంది. - 96. డబుల్ డేటాలో, మేము 2.2 నుండి 2.5 డేటాను డబుల్ యాక్సెస్ చేస్తాము, కాబట్టి మనం 2.2 ని యాక్సెస్ చేసే డబుల్ డేటా ముద్రించబడుతుంది. - 97. చార్ (డేటా) లో, మేము స్థిరమైన అక్షరాన్ని అందిస్తాము, మేము దానిని ప్రింట్ చేస్తాము a. - 98. అందువల్ల, మీరు చివరిగా ఉపయోగించిన వాటిని మేము ప్రింట్ చేస్తాము. - 99. ఇప్పుడు, తరువాతి కాలంలో, మేము ఒక ఆసక్తికరమైన విషయాన్ని చూపిస్తాము, ఇది మేము 97 కి కేటాయించిన iData లో పూర్ణాంక భాగాన్ని ఇచ్చాము, ఆపై మనకు పూర్ణాంక డేటాకు ప్రాప్యత ఉంది; స్పష్టంగా, 97 చివరిగా ముద్రించబడింది. - 100. మేము ఏమీ మాట్లాడకుండా దానిని dData గా యాక్సెస్ చేస్తే, మీకు 2.1999 లభిస్తుంది, అది చాలా అర్ధవంతం కాదు. - 101. కాబట్టి, ఇది జరుగుతోంది ఎందుకంటే dData డబుల్ డేటాలో 8 బైట్ల పరిమాణం రెట్టింపు; మీరు iData ని కేటాయించినప్పుడు మీరు 4 బైట్లు మాత్రమే కేటాయించారు; మిగిలిన 4 బైట్లు కొన్ని పాత చెత్త విలువలను కలిగి ఉన్నాయి. - 102. కాబట్టి, మీరు dData గా పొందేది పూర్తిగా తప్పు. - 103. చివరి ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు దానిని సి డేటాగా యాక్సెస్ చేస్తే, మీరు నిజంగా 97 ను సి డేటాగా యాక్సెస్ చేస్తున్నారు మరియు మీకు 'ఎ' ఎందుకు లభిస్తుందో చూస్తున్నారు, 'ఎ' 97 ASCII కోడ్‌ను పొందుతోంది. - 104. ఇప్పుడు ఆసక్తికరమైన విషయం ఏమిటంటే, సి డేటా బహుశా ఇక్కడ 1 బైట్, అంటే మీరు 4 బైట్ పూర్ణాంకానికి ఇచ్చిన 255 విలువ కలయికలను 255 కన్నా తక్కువ కలిగి ఉండవచ్చు. - 105. కాబట్టి, ఈ పూర్ణాంకంలో అధిక మూడు బైట్లు అన్నీ సున్నాలు అని మనం సులభంగా అర్థం చేసుకోవచ్చు. - 106. కాబట్టి, నేను దానిని ఒక పాత్రగా యాక్సెస్ చేసినప్పుడు నేను అక్కడ నిల్వ చేసిన 97 మాత్రమే పొందుతాను. - 107. కాబట్టి, నేను ఒక కోడ్ యొక్క సరైన విలువను పొందినట్లు అనిపిస్తుంది. - 108. నేను షెడ్ చేయడానికి ప్రయత్నిస్తున్న విషయం ఏమిటంటే ఇది నివసించే విలువ, ఎందుకంటే ఒకే మెమరీ స్థలం మాత్రమే ఉంది; మీరు యూనియన్ ఉపయోగిస్తున్నప్పుడు దీని గురించి చాలా జాగ్రత్తగా ఉండాలి. - 109. మీరు ఒక సమితిని సృష్టించాలనుకుంటే, మీరు వివిధ రకాల డేటాతో వ్యవహరించగల కంటైనర్‌ను సృష్టించాలనుకుంటే, మీరు సాధారణంగా ఆ రకమైన సూచనను ఇవ్వాలి, ఇక్కడ యూనియన్ ఉపయోగించబడుతుంది. మీరు నెట్‌వర్క్ కనెక్షన్ గురించి ఆలోచిస్తే, మరియు మీకు వివిధ రకాల డేటా వస్తున్న నెట్‌వర్క్ పోర్ట్ ఉంటే, వివిధ రకాల డేటా ప్యాకెట్లు వస్తున్నాయి., మరియు సాధ్యమైన ప్యాకెట్ నుండి ఎలాంటి డేటా ప్యాకెట్ వస్తుందో మీకు తెలియదు. - 110. ఏ సమయంలోనైనా ఒక రకమైన డేటా ప్యాకెట్ మాత్రమే వస్తుందని మీకు తెలుసు, ఒక డేటా ప్యాకెట్ మాత్రమే వస్తుంది, అప్పుడు ఈ డేటా ప్యాకెట్‌ను నిల్వ చేయడానికి ప్రోగ్రామింగ్ నిర్మాణాన్ని మీరు ఎలా పొందుతారు? నిర్వచించండి. - 111. ఇప్పుడు, మీరు ఈ 10 రకాల డేటా ప్యాకెట్లను నిల్వ చేసే అవకాశం ఉన్న నిర్మాణాన్ని సృష్టించడం ఇష్టం లేదు, ఎందుకంటే ఇది అనవసరంగా ఎక్కువ స్థలాన్ని తీసుకుంటుంది. - 112. అదే సమయంలో, ఒక రకమైన ప్యాకెట్ 1.0 సమయానికి మాత్రమే వస్తుందనే వాస్తవాన్ని ఉపయోగించి మీరు ఈ యూనియన్ నిర్మాణాన్ని ఒక సేకరణగా ఉపయోగించవచ్చు, ఇది సి లో ఎలా ఉపయోగించబడుతుందో కూడా. - 113. ఈ సందర్భంలో సి ++ లోని ఈ అసోసియేషన్ భావన చాలా చిక్కులను కలిగి ఉంటుంది. సి ++ మాకు వారసత్వం మరియు స్పెషలైజేషన్ అని పిలువబడే ఆబ్జెక్ట్ ఓరియంటేషన్ ఆధారంగా చాలా బలమైన లక్షణాన్ని ఇస్తుంది. - 114. యూనియన్‌ను ఉపయోగించకుండా C ++ లో ఇలాంటి ప్రభావాలను ఎలా సృష్టించవచ్చో మేము చూస్తాము, కాబట్టి ఇది మీ వ్యాఖ్యల కోసం మాత్రమే, మేము C ++ స్థాయికి వెళ్ళినప్పుడు వివరాలతో ముందుకు వస్తాము. - 115. (ఇప్పుడు సి అనేది ప్రోగ్రామింగ్ యొక్క అత్యంత ఆసక్తికరమైన మరియు శక్తివంతమైన లక్షణాలలో ఒకటి. - 116. సి ప్రోగ్రామింగ్, మీరు భాష యొక్క చరిత్ర గురించి కొంచెం తెలిసి ఉంటే, మరియు దానిని మీకు పరిచయం చేయడానికి నేను తగిన పాయింట్ కావాలనుకుంటే, సి మొదట కంప్యూటర్ శాస్త్రవేత్తల బృందం, విశ్వవిద్యాలయంలోని ప్రొఫెసర్లు, మరియు ఒక నిపుణుల సమూహం, మేము ఒక ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయడానికి ప్రయత్నిస్తున్నాము, ఇది తరువాత యునిక్స్ వలె ప్రాచుర్యం పొందింది, మీరందరూ లైనక్స్‌ను ఉపయోగిస్తున్నారు, ఇది చాలా తరువాతి తరం. - 117. అందువల్ల, వారు యునిక్స్ రాయడానికి ప్రయత్నిస్తున్నప్పుడు, వారు యునిక్స్ కోసం కోడ్ రాయడానికి ప్రయత్నిస్తున్నారు, వారికి ప్రోగ్రామింగ్ లాంగ్వేజ్ అవసరం, లేకపోతే మీరు ఎలా స్పెల్లింగ్ చేయాలో కోడ్ (కోడ్) రాయాలనుకుంటున్నారు. - 118. ఇప్పుడు యునిక్స్కు ముందు, మీరు సి లేదా సి ++ లేదా జావా లేదా పైథాన్‌లో చూసే ఉన్నత-స్థాయి ప్రోగ్రామింగ్ భాష లేదు, ఇక్కడ మీరు ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయగలరు, ఎందుకంటే మీరు ఆపరేటింగ్ చేసేటప్పుడు మీరు సిస్టమ్ రాయాలనుకుంటే, మీరు డాన్ విలువలతో వ్యవహరించాల్సిన అవసరం లేదు, కానీ మీరు మెమరీతో కూడా వ్యవహరించాలి. - 119. ఎందుకంటే ప్రోగ్రామ్‌లు చివరికి మెమరీలో నిల్వ చేయబడతాయి, ఇక్కడ డేటా మెమరీలో ఉంటుంది. - 120. కాబట్టి, మేము ఒక ప్రోగ్రామ్ వ్రాసేటప్పుడు, మేము వేరియబుల్స్‌తో మాత్రమే పని చేస్తున్నాము, మనకు విలువల గురించి మాత్రమే ఆసక్తి ఉంది. - 121. ఈ ఆలోచనలు జ్ఞాపకశక్తిలో నిల్వ చేయబడటం గురించి ఆలోచించకుండా మేము పైథాన్ లేదా జావాలో మొత్తం ప్రోగ్రామ్‌ను వ్రాయగలము, కాని మీరు ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయలేరని అనుకుందాం. - 122. మీరు ప్రోగ్రామింగ్ భాష యొక్క మెమరీ లేదా విలువ నిల్వ చేయబడిన చిరునామాను తెలుసుకోవాలి. - 123. కాబట్టి ఇది వివిధ కారణాలలో ఒకటి, దీనికి కెర్నింగ్, రిట్చీ, మోరిస్ హిర్ మరియు ఇతరుల బృందం, మేము యునిక్స్ బృందంలో ఉన్నాము, ఇది ప్రోగ్రామింగ్ భాష చేయడానికి ఉపయోగించాల్సిన అవసరం ఉంది, మరియు వారు త్వరగా సి , తరువాత ఇది వారికి డిఫాల్ట్ భాషగా మారింది. - 124. మనమందరం, వారు చెప్పినట్లుగా, చరిత్ర, కానీ సి మొదట చిరునామాలను డేటాగా నిర్వహించడం మరియు మనం పాయింటర్ అని పిలిచే బలమైన భావనను ప్రవేశపెట్టింది. (పాయింటర్). - 125. మీకు ఇది ఎందుకు అవసరమో నేను మీకు చెప్పాలనుకుంటున్నాను, కానీ చిరునామాలతో వ్యవహరించే ఈ లక్షణం మీకు ఉన్నప్పుడు, సి చాలా బలమైన నేపథ్యాన్ని ఇస్తుంది; దీనిలో మీరు ఇప్పటికే చేసిన విధంగా సి వివిధ రకాల డేటా నిర్మాణాలను సృష్టించగలదు. - 126. మీరు పాయింటర్లు లేకుండా జాబితా చేయడం గురించి కూడా ఆలోచించలేరు; ఇది సాధ్యమే, మీరు రెండు శ్రేణులను ఉపయోగించి లింక్డ్ జాబితాను సృష్టించే అవకాశం ఉంది. - 127. మీరు తదుపరి మూలకాన్ని పొందే సూచికను ఉంచడానికి శ్రేణి; వాస్తవానికి విలువలకు మరొక శ్రేణి ఉంది, కానీ ఇది ఏమీ కాదు, ఇది సమర్థవంతంగా ఉంటుంది, ఇది ప్రజలు ఏమి చేయగలదో కొలవగలది; అందువల్ల, మీరు ఎల్లప్పుడూ పాయింటర్లను ఉపయోగిస్తారు. - 128. అందువల్ల, మీ అందరికీ తెలిసినట్లుగా పాయింటర్లు తదుపరి ఉత్పన్నమైన రకం. - 129. కాబట్టి, ఇది వేరియబుల్, దీని విలువ మెమరీ చిరునామా. - 130. మరియు పాయింటర్ రకం పాయింటర్ చేత నిర్ణయించబడుతుంది, అన్ని పాయింటర్లు చిరునామాలు. - 131. కాబట్టి, ఒకే రకాన్ని కలిగి ఉన్న చిరునామా సూచించిన రకం, కానీ అవి వాస్తవానికి ఏ రకమైన విలువను సూచిస్తున్నాయో వాటి ఆధారంగా నిర్ణయించబడుతుంది. - 132. కాబట్టి, నాకు int * ip ఉంటే అది పూర్ణాంక రకం విలువను సూచిస్తుంది. - 133. కాబట్టి, ఇది int int అని టైప్ చేస్తాం. - 134. ఇప్పుడు, పాయింటర్‌ను ఉపయోగించడానికి, మీకు బాగా తెలిసి ఉంటుంది, అప్పుడు నేను 20 కి ప్రారంభించే వేరియబుల్ కలిగి ఉండవచ్చు, నేను సూచించడానికి ఉపయోగించే పాయింట్ ఐపి ఉంది, ఇది Int * IP మరియు ఒక నిర్దిష్ట ఆపరేటర్ ఆంపర్సండ్. మీరు ఈ వేరియబుల్ నిల్వ చేయబడే మెమరీ స్థానం యొక్క చిరునామాను పొందడానికి నేను ఏదైనా వేరియబుల్ను ఉపయోగించవచ్చని తెలుసు. - 135. కాబట్టి, నేను ఆ చిరునామాను తీసుకొని ఆ చిరునామాను పాయింటర్ వేరియబుల్ IP లో నిల్వ చేయగలను. - 136. నేను ఆ పని చేసిన తర్వాత, నేను వేరియబుల్ i లేదా i యొక్క చిరునామాను ప్రింట్ చేయడానికి ప్రయత్నిస్తే, నేను చిరునామా లేదా IP యొక్క విలువను ప్రింట్ చేస్తాను, ఇది వాస్తవానికి నేను ఇక్కడ నిల్వ చేసిన చిరునామా, అవి ఖచ్చితంగా మనతో సమానంగా ఉంటాయి ఇక్కడ చూపిస్తుంది. - 137. ఇప్పుడు ఆ చిరునామాను చూస్తే, నక్షత్రం లేదా ఆపరేటర్ యొక్క విషయాలను ఉపయోగించి సూచించిన ప్రదేశంలో ఏ విలువ ఉందో నేను నిజంగా తెలుసుకోగలను. - 138. అందువల్ల, ఇక్కడ పాయింటర్‌తో, మేము ఎల్లప్పుడూ ఆపరేటర్ల విషయాలను అలాగే చిరునామాను ఉపయోగిస్తాము. - 139. ఇప్పుడు పాయింటర్లను అనేక రకాలుగా ఉపయోగించవచ్చు; ప్రోగ్రామింగ్ భాషలో వివిధ ఇడియమ్స్‌ను రూపొందించడంలో ఆయన చాలా శక్తివంతుడు. - 140. మొదటి మరియు సర్వసాధారణం పాయింటర్ మరియు శ్రేణి మధ్య ద్వంద్వత్వం; మరియు ఒక డైమెన్షనల్ అర్రే సందర్భంలో చాలా సులభంగా కనిపిస్తుంది. - 141. కాబట్టి, శ్రేణి అనేది స్థలాల శ్రేణి; మరియు పాయింటర్ అనేది శ్రేణి యొక్క ప్రారంభ స్థానం యొక్క చిరునామా. - 142. అందువల్ల, నేను శ్రేణిని తీసుకొని దానిని పాయింటర్ వేరియబుల్‌కు కేటాయించగలను. - 143. ఆపై నేను * p చేస్తే, అది శ్రేణి యొక్క ప్రారంభ స్థలంలో 0 గా ఉండే కంటెంట్‌ను ఇస్తుంది, అది 0 అవుతుంది. - 144. నేను ఒక పాయింటర్‌ను పెంచగలను మరియు ఇది చాలా ఆసక్తికరమైన అంశం, నేను ఒక పాయింటర్‌ను పెంచుకుంటే, అది పెరిగిన మొత్తం 1 కాదు, అది పెంచిన మొత్తం ఇది సూచించే మూలకం యొక్క ఆకారం అది సూచించే విలువ రకానికి. - 145. కాబట్టి, ఇది ఒక పూర్ణాంకానికి సూచిస్తుంటే మరియు సిస్టమ్‌లోని సైజుఆఫ్ (పూర్ణాంకానికి) 4 అయితే, పాయింటర్ విలువ వాస్తవానికి 4 పెరుగుతుంది, తద్వారా శ్రేణి పరంగా మీరు ఇప్పుడు మరొక ప్రదేశానికి గురిపెడుతున్నారు. - 146. కాబట్టి, నేను * + + p చేస్తే, అది మొదట పెరుగుతుందని మీరు చూడవచ్చు. - 147. కాబట్టి, ఇది ఇప్పుడు 1 మూలకానికి గురిపెట్టి, ఆపై 1 మూలకాన్ని తీసుకుంటుంది, ఇది ప్రాథమికంగా 2. - 148. అదేవిధంగా, నేను p + 1 ను వ్యక్తీకరణగా తీసుకోవచ్చు, p + 1; అదేవిధంగా, పాయింటర్ యొక్క ప్రస్తుత స్థానం ప్లస్ 1 మూలకం పరిమాణం కావచ్చు. - 149. పాయింటర్లను నిర్మాణాలతో ఉపయోగించవచ్చు, మనం దానిని ఉపయోగిస్తే * p ద్వారా మూలకాలను యాక్సెస్ చేయవచ్చు, ఆపై * p అనేది డాట్ రికి సూచించే ఒక నిర్మాణం, ఇది ఆ నిర్మాణం యొక్క పాత్ర. - 150. ఇది D రిఫరెన్స్ ఆపరేటర్ చేత కత్తిరించబడుతుంది ఎందుకంటే ఇది C లో ఇవ్వబడింది, మీకు ఇవన్నీ తెలుసు. - 151. అందువల్ల, మేము దానిని వదిలివేస్తే, డైనమిక్ కేటాయింపు సందర్భంలో కూడా పాయింటర్లను ఉపయోగించవచ్చు. - 152. అందువల్ల, నేను మాలోక్ ఉపయోగించి డైనమిక్‌గా కేటాయించగలను, మరియు పేర్కొన్న రకం లేని సూచికను నేను పొందుతాను.అది సున్నా నక్షత్రం అని మేము చెప్పగలను. - 153. మరియు ఆ పూర్ణాంక రకం విలువ కోసం ప్రోగ్రామర్ బలవంతంగా ఉపయోగించాల్సిన కాస్టింగ్‌ను మనం ఉపయోగించవచ్చు. - 154. ఇది ఇక్కడ ఇచ్చిన ఆసక్తికరమైన కోడ్, నేను వివరాల ద్వారా వెళ్ళను; పాయింటర్లను మార్చటానికి ఈ కోడ్ ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి ప్రయత్నించండి. - 155. మీకు ఏవైనా ప్రశ్నలు ఉంటే, మీరు బ్లాగులో మమ్మల్ని అడగవచ్చు. - 156. మరియు శ్రేణులను డైనమిక్‌గా కేటాయించడానికి మేము పాయింటర్లను ఉపయోగించవచ్చు. - 157. దీనితో, రీక్యాప్ యొక్క ఈ భాగంలో, మేము ప్రధానంగా వేర్వేరు ఉత్పన్న రకాలను గురించి మాట్లాడాము. - 158. మొదట, మేము కంటైనర్లు, శ్రేణులు, నిర్మాణాలు మరియు సంఘాల గురించి మాట్లాడాము; సి అందించే మూడు ప్రధాన రకాల కంటైనర్లు; మరియు మేము పాయింటర్ల ద్వారా వివిధ వేరియబుల్స్ మరియు చిరునామాలను నిర్వహించడం గురించి మాట్లాడాము. - 159. తరువాత, మేము ఫంక్షన్ల గురించి మాట్లాడుతాము. - 160. + మనము  మాడ్యూల్ 1 లో సి ప్రోగ్రామింగ్ గురించి చర్చిస్తున్నాము. + ఇప్పుడు మనం మాట్లాడుకుంటుంది పార్ట్-2. + ముందు భాగంలో మనము  డేటా రకాలు, వేరియబుల్స్, ఆపరేటర్లు, ఎక్స్ప్రెషన్స్ మరియు స్టేట్మెంట్స్ (ఆదేశాలు), ముఖ్యంగా నియంత్రణ ఆదేశాలతో సహా C లోని ప్రాథమిక భావనలను  చూశాము . + ఇప్పుడు, మేము ముందుకు వెళ్తాము మరియు సి లోని వివిధ ఉత్పన్న రకాలు గురించి మాట్లాడుతాము, సి లో సర్వసాధారణంగా ఉత్పన్నమైన రకాలు శ్రేణులని మీకు తెలుసు. + శ్రేణి అనేది డేటా అంశాల సమాహారం. + కాబట్టి, వేరియబుల్ అనేది ఒకే డేటా అంశం, ఇది ఒకే విలువ; శ్రేణి అంటే ఒకటి లేదా అంతకంటే ఎక్కువ డేటా ఐటెమ్‌ల సమాహారం, అన్ని డేటా అంశాలు ఒకే రకంగా ఉండాలి. + కాబట్టి, Int ఒక శ్రేణి అని నేను చెబితే, ఆ శ్రేణి (శ్రేణి) లోని అన్ని విలువలు పూర్ణాంకంగా ఉండాలి. + శ్రేణి రకం చార్ (చార్) అని నేను చెబితే, ప్రతి మూలకం తప్పనిసరిగా టైప్ క్యారెక్టర్ కలిగి ఉండాలి. + శ్రేణుల సందర్భంలో, మనం చేయవలసిన మొదటి విషయం ఏమిటంటే, మనం ఏదైనా వేరియబుల్ (ల) ను డిక్లేర్ చేయాల్సిన అవసరం ఉన్నట్లే శ్రేణి (శ్రేణి) ను ప్రకటించడం, కాబట్టి మనం ఈ శ్రేణిని ఉపయోగించవచ్చు. + కాబట్టి, సహజంగా, మేము పేరును పేర్కొనాలి; శ్రేణి యొక్క మూలకం యొక్క రకం ఏమిటో మనం చెప్పాలి; మరియు శ్రేణి మద్దతు ఇవ్వగల గరిష్ట సంఖ్యల సంఖ్య ఏమిటో కూడా మేము పేర్కొనాలి. + ఇప్పుడు, ఈ గరిష్ట సంఖ్యలను అనేక రకాలుగా పేర్కొనవచ్చు. + మరియు మనం చూసేటప్పుడు ఇది C ++ లోని శ్రేణుల (శ్రేణుల) C లోని శ్రేణుల నుండి కొంత భిన్నంగా ఉంటుంది, కానీ C లోని ఒక నిర్దిష్ట శ్రేణి (శ్రేణి) మూలలో బ్రాకెట్లలో డబుల్ బ్యాలెన్స్‌గా 10. నిర్వచించబడుతుంది, ఇది మిగిలిన రకం రకపు డబుల్ మూలకాల శ్రేణి అని మరియు గరిష్టంగా 10 అటువంటి మూలకాలను కలిగి ఉంటుందని చెబుతుంది. + లేకపోతే, మేము మానిఫెస్ట్ స్థిరాంకం ద్వారా ఆకారాన్ని నిర్వచించవచ్చు మరియు శ్రేణిని నిర్వచించడానికి దాన్ని ఉపయోగించవచ్చు. + అప్పుడు శ్రేణిని కూడా ప్రారంభించవచ్చు, మేము రెండవ భాగానికి వెళ్తున్నాము. + అందువల్ల, శ్రేణులను కూడా ప్రారంభించవచ్చు, నేను శ్రేణిని ప్రకటిస్తే, మూలకాలకు నిర్దిష్ట విలువ లేదు, కానీ నేను శ్రేణిని ప్రకటించగలను, అలాగే ప్రారంభించగలను. Am + కాబట్టి, 'Int ప్రైమ్‌లు [5]' కామాలతో వేరు చేయబడిన మరియు ఒక జత వంకర కలుపులలో సంతృప్తి చెందిన విలువల జాబితాతో ప్రారంభించబడిందని నేను చెబితే, ఆ జాబితాలోని మొదటి విలువ శ్రేణి యొక్క మొదటి మూలకానికి వెళుతుంది మీకు 0 వ సూచిక మూలకం తెలుసు. + రెండవది జాబితాలోని రెండవ మూలకానికి వెళుతుంది, ఇది సూచిక ఒకటి మరియు మొదలైనవి. + C లో ఆసక్తికరంగా, ప్రత్యేకంగా వ్యక్తీకరించబడిన ఆకారం లేకుండా కూడా శ్రేణులను ప్రారంభించడానికి అనుమతిస్తారు. + అందువల్ల, నేను వాస్తవంగా రూపొందించకుండా అతిక్రమణలను మాత్రమే వ్రాయగలను మరియు సి కంపైలర్ చేసే పనుల యొక్క ప్రారంభ జాబితాను ఇవ్వగలను; మీరు దానితో ఎన్ని మూలకాలను ప్రారంభించారో ఇది కనుగొంటుంది మరియు ఇది శ్రేణి యొక్క పరిమాణం లేదా బహుళ అంశాలు ఉంటాయని umes హిస్తుంది. + అందువల్ల, ప్రైమ్‌లు 2, 3, 5, 7 మరియు 11 ల జాబితాతో ప్రారంభించబడితే, 5 అంశాలు ఉన్నాయి, కాబట్టి ఇది ఐదు మూలకాల శ్రేణి అవుతుంది. + మరియు నేను అలాంటి సందర్భాల్లో కూడా చూపించాను, ఎందుకంటే పరిమాణం ఏమిటో మీకు తెలియదు, ప్రతి మూలకం యొక్క పరిమాణంతో విభజించబడిన శ్రేణి యొక్క మొత్తం పరిమాణం అని మీరు అనుకునే పరిమాణాన్ని లెక్కించడానికి అత్యంత నమ్మదగిన మార్గం ఏమిటి. ఖచ్చితంగా పొందండి శ్రేణిని కలిగి ఉన్న మూలకాల సంఖ్య. + మీరు పెద్ద శ్రేణిని కలిగి ఉండటం మరియు తక్కువ సంఖ్యలో మూలకాలతో ప్రారంభించడం కూడా సాధ్యమే; ప్రారంభం ఎల్లప్పుడూ ఉంటుంది. + మరియు అలాంటి సందర్భాల్లో మిగిలిన అంశాలు 0 కి ప్రారంభించబడతాయి, కానీ మీరు దానిలో ఒక ప్రారంభ జాబితాను ఉంచలేరు, అది ఎర్ యొక్క పరిమాణం కంటే పెద్దది. + ప్రారంభించినా లేదా ప్రారంభించకపోయినా ప్రతి మూలకం ద్వారా శ్రేణిని యాక్సెస్ చేయవచ్చు. + అందువల్ల, శ్రేణి మూలకాలను ప్రాప్యత చేయడానికి, మేము సూచికను ఉపయోగిస్తున్నట్లు మనం చూడవచ్చు మరియు ఆ శ్రేణి (శ్రేణి) స్థానంలో ఉన్న అంశాలను చదవవచ్చు లేదా యాక్సెస్ చేయవచ్చు. + అదేవిధంగా, నేను దానిని వ్యక్తీకరణ యొక్క ఎడమ వైపున కూడా వ్రాయలేకపోయాను మరియు శ్రేణి మూలకానికి అప్పగించగలను. + నిర్వచించిన ప్రతి శ్రేణి ఒకే మూలకం లాంటిదని సి umes హిస్తుంది. + అందువల్ల, నేను శ్రేణుల శ్రేణుల (శ్రేణుల) (శ్రేణుల) మరియు శ్రేణుల (శ్రేణుల) శ్రేణుల (శ్రేణుల) మరియు శ్రేణులను నిర్వచించగలను; మరియు ఈ విధంగా, నేను చాలా కోణాలలో విస్తరించగలను. + కాబట్టి, వీటిని మల్టీ డైమెన్షనల్ అర్రేస్ అంటారు. + కాబట్టి, మల్టీ డైమెన్షనల్ అర్రే యొక్క సరళమైనది రెండు డైమెన్షనల్ అర్రే, ఇది మేము సాధారణంగా గణితంలో చెబుతాము, మేము సాధారణంగా వాటిని మాతృక అని పిలుస్తాము. + కాబట్టి, ఇది రెండు కోణాలతో ఇవ్వబడుతుంది; A అనేది వరుసల సంఖ్య మరియు నిలువు వరుసల సంఖ్య. + కాబట్టి, మేము int mat [3] [4] ను నిర్వచించినట్లయితే, ఈ మొత్తం మత్ శ్రేణి (శ్రేణి) లో 3 వరుసలు మరియు 4 నిలువు వరుసలు ఉన్నాయని అర్థం. + కాబట్టి, ఇది రెండు డైమెన్షనల్ చేస్తుంది; సహజంగానే ఇది రెండు డైమెన్షనల్ అయితే, దానిని యాక్సెస్ చేయడానికి వరుస సూచిక మరియు కాలమ్ సూచిక యొక్క రెండు సూచికలు అవసరం. + మీరు దీన్ని 3, 4 యొక్క అధిక పరిమాణానికి విస్తరించవచ్చు, కానీ మీకు సాధారణ ఉపయోగంలో 3 లేదా అంతకంటే ఎక్కువ డైమెన్షనల్ శ్రేణులు ఉంటాయి. + శ్రేణుల పక్కన నిర్మాణాలు ఉన్నాయి. + కాబట్టి, శ్రేణి ఒక సేకరణ వలె ఉంటుంది మరియు మేము నెమ్మదిగా కంటైనర్ అనే పదాన్ని ఉపయోగించడం ప్రారంభిస్తాము, ఇది C లో అంత సాధారణం కాదు, కాని మేము C ++ లో చూస్తాము మరియు ముఖ్యంగా C ++ తో వచ్చే ప్రామాణిక లైబ్రరీ, సాధారణంగా ఉపయోగించే పదాలు కంటైనర్లు ఇతర అంశాలను కలిగి ఉన్నవి కాబట్టి కంటైనర్లు అని పిలుస్తారు. + శ్రేణి ఒక కంటైనర్; ఇది నిర్దిష్ట ప్రవర్తనతో కూడిన డేటా ఐటెమ్‌ల సమాహారం, మనం చూసినట్లుగా అన్ని అంశాలు ఒకే రకానికి చెందినవి. + ఇప్పుడు, దీనికి విరుద్ధంగా, నిర్మాణం కూడా ఒక కంటైనర్; ఇది డేటా వస్తువుల సమాహారం, కానీ ఇక్కడ డేటా అంశాలు వివిధ రకాలుగా ఉంటాయి; అవి తప్పనిసరిగా వివిధ రకాలుగా ఉండవలసిన అవసరం లేదు, కానీ అవి వేర్వేరు రకాలుగా ఉంటాయి. + కాబట్టి, నేను ఒక నిర్మాణంలో చూస్తే, ఈ డేటా అంశాలను తరచుగా సభ్యులు అని పిలుస్తారు; నిర్మాణం యొక్క పాత్ర లేదా డేటా ఐటెమ్‌ను అర్ధం చేసుకోవడానికి మేము ఈ పదాన్ని సభ్యుడు లేదా డేటా సభ్యుడిని ఎక్కువగా ఉపయోగిస్తాము, సంక్లిష్ట సంఖ్యను సృష్టించడాన్ని మేము సులభతరం చేస్తాము.ఉదాహరణలను చూపిద్దాం. + మనకు తెలిసినట్లుగా సంక్లిష్ట సంఖ్యలకు రెండు అక్షరాలు ఉన్నాయి - నిజమైన భాగం మరియు inary హాత్మక భాగం. + కాబట్టి, ప్రతి భాగం రెట్టింపు కావచ్చు. + కాబట్టి, రెండు అక్షరాలు ఉన్నాయని మాకు చెప్పే సమ్మేళనంతో ఒక నిర్మాణాన్ని మేము నిర్వచించాము; ఈ సందర్భంలో, రెండూ ఒకే రకానికి చెందినవి, ఆపై సి ఈ నిర్మాణ రకానికి చెందిన వేరియబుల్‌గా ప్రకటించబడుతుంది. + మేము తదుపరిదాన్ని కూడా చేయవచ్చు; మీరు నిజంగా విభిన్న రకాల అక్షరాలు ఉన్న నిర్మాణాన్ని కలిగి ఉన్నారని మేము చూపిస్తాము. + కాబట్టి, పుస్తక నిర్మాణంలో మొదటి రెండు అక్షరాలు శీర్షిక మరియు రచయిత; అవి పాత్ర యొక్క శ్రేణులు, అంటే అవి టైటిల్ పేరు మరియు రచయిత పేరు యొక్క తీగలుగా మారుతాయి; మరియు మూడవ అక్షరం వాస్తవానికి పూర్ణాంకం, ఇది పుస్తక ID ని కలిగి ఉంటుంది. + నిర్మాణాలను వాటి పేరు ప్రకారం నేరుగా నిర్వచించవచ్చు, మరియు మేము దానిని కీవర్డ్ నిర్మాణం లేదా నిర్మాణాన్ని ఉపయోగించి ఉపయోగించవచ్చు మరియు నిర్మాణాన్ని కలిసి పేరు పెట్టవచ్చు మరియు ఈ రకానికి డిర్ కీవర్డ్ ఉపయోగించి మారుపేరు ఇవ్వవచ్చు. + టైప్ డెఫ్ అనేది చిన్న నిర్వచనం యొక్క సంక్షిప్తీకరణ. + మరియు మేము C ++ లోకి వెళుతున్నప్పుడు, టైప్ డెఫ్ నిజంగా టైప్ డెఫినిషన్ ఎందుకు కాదు, ఇది ఒక రకమైన తప్పుడు పేరు, కానీ చారిత్రాత్మకంగా ఇది ఈ కీవర్డ్‌ని ఉపయోగించింది మరియు C లో ఉపయోగించడం కొనసాగుతోంది, కాని ఇది ప్రాథమికంగా మారుపేరు. + ఇది మనకు ఉన్నట్లుగా, స్ట్రక్ట్ పుస్తకాల నిర్మాణ సముదాయానికి ఇచ్చిన మరొక పేరు. + ఇది సులభం అవుతుంది. + మీరు ఒక రకమైన డెఫ్ ఉపయోగిస్తే, మీరు దాన్ని నేరుగా ఉపయోగించవచ్చు + కాబట్టి, మేము నిర్మాణాలను యాక్సెస్ చేయడానికి వస్తే, కాంప్లెక్స్ మాత్రమే ఉపయోగించడానికి సంక్లిష్టంగా నిర్వచించబడినందున, మేము కాంప్లెక్స్ కాంప్లెక్స్ను ఉపయోగించాలి మరియు వేరియబుల్ పేరును అనుసరించాలి. + కానీ ఇక్కడ పుస్తకాలు టైప్ డెఫ్ ద్వారా నిర్వచించబడ్డాయి, కాబట్టి నేను పుస్తకాలను మాత్రమే వ్రాయగల నిర్మాణాత్మక పుస్తకాలతో పుస్తకాలు వ్రాయవలసిన అవసరం లేదు, ఇది పుస్తకానికి మొత్తం పేరును ఇచ్చింది. + కాబట్టి, దీన్ని ఈ విధంగా ఉపయోగించడం సులభం అవుతుంది. + ఇప్పుడు, ఏదైనా స్ట్రక్చర్ వేరియబుల్ ను సాధారణ వేరియబుల్ లాగా ప్రారంభించవచ్చు; మరియు మేము శ్రేణిని ప్రారంభించిన విధంగానే సంజ్ఞామానం జరుగుతుంది. + దీనికి విరుద్ధంగా, శ్రేణులలో, వంకర కలుపులలో ఏర్పడిన జాబితా అంటే విభిన్న భాగాలు లేదా శ్రేణి యొక్క విభిన్న సూచిక అంశాలు; నిర్మాణం విషయంలో, దీని అర్థం వేర్వేరు భాగాలు లేదా శ్రేణుల డేటా సభ్యులు; మరియు మీరు ఈ ప్రారంభ విలువలను జాబితా చేసే విధానం, డేటా సభ్యులు పై నుండి క్రిందికి జాబితా చేయబడిన విధానం. + కాబట్టి, ఈ కోడ్‌లో ఇచ్చిన నిర్దిష్ట కేసులను పరిశీలిస్తే, మీరు ప్రారంభ కాంప్లెక్స్ x ను 2.0, 3.5 తో చూపిస్తాము, అంటే 2.0 యొక్క మొదటి అక్షరం (అక్షరం) 'రీ' అని అర్ధం., దీని ప్రారంభ విలువ ఉంటుంది . + కాబట్టి, మీరు వాటిని పై నుండి క్రిందికి చదివి, ఈ జాబితాను ఎడమ నుండి కుడికి చదివి వాటికి అనుగుణంగా ఉండండి. + కాబట్టి, 3.5 im & # 39; లు ప్రారంభ విలువ అవుతుంది. + కాబట్టి, మనం ఈ విధంగా ఆలోచిస్తే, x సంక్లిష్ట సంఖ్య 2.0 + j 3.5 అవుతుంది. + మేము ఒకటి లేదా కొద్ది మంది సభ్యులను మాత్రమే ప్రారంభించే అవకాశం ఉంది, కానీ మీరు దీన్ని ప్రారంభ భాగం నుండి మాత్రమే చేయగలరు. + మీరు మళ్ళీ 'రీ' ను దాటవేయలేరు మరియు 'ఇమ్' ను మాత్రమే ప్రారంభించలేరు, కానీ మీరు ఇక్కడ 4.2 తో చేస్తున్నట్లుగా మీరు 'రీ' ను ప్రారంభించవచ్చు మరియు పేర్కొన్న విధంగా 'ఇమ్' ను వదిలివేయండి. ఇక్కడ చేయలేదు. + అప్పుడు నిర్మాణం యొక్క ప్రతి అక్షరాన్ని డాట్ సంజ్ఞామానం ద్వారా చూడవచ్చు, మనం ఇక్కడ చూపించే డాట్ ఆపరేటర్. + కాబట్టి, x ఒక సంక్లిష్టమైన వేరియబుల్ అయితే, ఒక నిర్మాణం వేరియబుల్, ఆపై ఈ వేరియబుల్ x యొక్క 'రీ' భాగం x.re గా వ్రాయబడుతుంది. + అదేవిధంగా, ఇక్కడ పుస్తకం పైన పేర్కొన్న పుస్తకాల నిర్మాణం, కాబట్టి దీనికి పుస్తకం 'ఐడి' అక్షరం ఉంది. + కాబట్టి, నిర్మాణ అక్షరాన్ని యాక్సెస్ చేయడానికి మేము డాట్ సంజ్ఞామానాన్ని ఉపయోగిస్తాము. + అందువల్ల, సాధారణంగా ఉపయోగించే రెండు సి మధ్య మనం చూడవచ్చు, సి రెండు అత్యంత శక్తివంతమైన కంటైనర్లలో రెండు వేర్వేరు రీతులను కలిగి ఉంటుంది; అన్ని అంశాలు ఒకే రకానికి చెందినవి. + ఇది స్థానం ద్వారా ప్రాప్తి చేయబడుతుంది, దీనిని స్థాన ప్రాప్యత అని పిలుస్తారు, ఎందుకంటే మీరు మొదటి నుండి మొదలయ్యే మొదలు, రెండవది, కాబట్టి మీరు సంఖ్య ద్వారా వెళ్ళండి, కాబట్టి శ్రేణిని ఇండెక్స్డ్ కంటైనర్ అని కూడా పిలుస్తారు, ఎందుకంటే మీరు సంఖ్యల వారీగా మూలకాలను యాక్సెస్ చేయండి. + దీనికి విరుద్ధంగా, నిర్మాణంలో, మూలకాలు వేర్వేరు రకాలుగా ఉంటాయి. + అందువల్ల, జాబితాలోని మొదటి అక్షరం ఏమిటి లేదా జాబితాలోని మూడవ అక్షరం ఏమిటి మొదలైన వాటికి ఎక్కువ ప్రాముఖ్యత లేదు. + అందువల్ల, మీరు మూలకాలను పేరు ద్వారా యాక్సెస్ చేస్తారు. + ఇప్పుడు ఇది కూడా ఒక శైలి, ఇది మీరు పేరు ద్వారా ఏదైనా యాక్సెస్ చేయగలరా లేదా మీరు రాష్ట్రాల వారీగా ఏదైనా యాక్సెస్ చేయగలరా అని మేము వివిధ భాషలలో చూస్తాము, మరియు మేము ఫంక్షన్‌ను అభ్యర్ధించినప్పుడు ఇలాంటి ప్రాప్యత సమస్యలు తలెత్తుతాయి మేము మీ గురించి కూడా మాట్లాడుతాము తెలుసుకోవడం కూడా పరిస్థితి నుండి. + ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క కొన్ని సాధారణ అంశాలు ఇవి అని నేను కోరుకుంటున్నాను, దాని మధ్య యాక్సెస్ మెకానిజం అంటే ఏమిటి లేదా దాని పేరు పెట్టబడిన దాని గురించి మీరు మూలకాల జాబితాను కలిగి ఉన్నప్పుడు జాగ్రత్తగా ఉండాలి. + కాబట్టి, నిర్మాణంలో, మేము ఒక రకాన్ని చూస్తాము; శ్రేణిలో, మేము మరొకటి చూస్తాము. + ఇప్పుడు సి పై నడుస్తున్నది మరొక రకమైన నిల్వ కంటైనర్‌కు మద్దతు ఇస్తుంది, ఇది నిర్మాణాల మాదిరిగానే ఉంటుంది, వాటిని సంఘాలు అంటారు. + ఇప్పుడు, ఒకే తేడా ఏమిటంటే, మీరు ఉపయోగించే కీవర్డ్‌కి బదులుగా యూనియన్ కీవర్డ్‌ని ఉపయోగించడం. + మీరు పేర్కొన్న విధానం లేదా మీరు సభ్యులను చేరే విధానం నిర్మాణం మరియు అసోసియేషన్ మధ్య సమానంగా ఉంటుంది. + కానీ భిన్నమైనది ఏమిటంటే మెమరీని కేటాయించిన విధానం. + మీకు ఇద్దరు, మూడు వేర్వేరు సభ్యులతో ఒక నిర్మాణం ఉంటే, ఆ నిర్మాణ రకం యొక్క వేరియబుల్ సృష్టించబడినప్పుడు, ఆ ప్రాంతం సభ్యులందరికీ కేటాయించబడుతుంది. + కాబట్టి, మీరు ఈ నిర్మాణానికి తిరిగి వెళితే, ఇక్కడ రెండు అక్షరాలు ఉన్నాయని మీరు చూస్తారు, సంక్లిష్ట నిర్మాణాన్ని నిర్వచించిన తరువాత, ఈ రెండు అక్షరాలు వాస్తవానికి కేటాయించబడతాయి. + అందువల్ల, ప్రతి ఒక్కటి డబుల్ టెక్స్ట్ బైట్లు అని మనం అనుకుంటే, మొత్తం సంక్లిష్ట నిర్మాణం యొక్క పరిమాణం 8 బైట్లు ప్లస్ 8 బైట్లు 16 బైట్లు, రెండూ ఉన్నందున. + దీనికి విరుద్ధంగా, అనుబంధంలో, ఈ కేటాయింపు జ్ఞాపకార్థం అతిపెద్ద పాత్ర కోసం మాత్రమే చేయబడుతుంది. + అందువల్ల, పేరు అసోసియేషన్ సూచించినట్లు మీ ప్రాథమిక umption హ ఈ అన్ని రంగాల యూనియన్ అని మీరు నిర్ధారిస్తారు, కాబట్టి ఏ సమయంలోనైనా ఒకటి మాత్రమే ఉంటుంది. + కాబట్టి, సహజంగానే మీరు వాటిలో ఒకదాన్ని మాత్రమే సూచిస్తుంటే, తార్కిక విషయం అయిన అతి పెద్దదానికి మీకు తగినంత స్థలం కావాలి. + కాబట్టి, మేము ఈ యూనియన్ ప్యాకెట్‌ను పరిశీలిస్తే, ప్యాకెట్‌లో 3 అక్షరాలు (డబుల్) మరియు నాలుగు (చార్) రకాలు ఉన్నాయని చూస్తాము. + అందువల్ల, మేము 32-బిట్ యంత్రంలో పరిమాణం గురించి సహేతుకమైన umption హను తీసుకుంటే, పూర్ణాంకానికి 4 బైట్లు, డబుల్ 8 బైట్లు మరియు చార్ (చార్) బహుశా 2 బైట్లు కావచ్చు. + కాబట్టి, ప్యాకెట్ యొక్క పరిమాణం 8 బైట్లు అవుతుంది, ఇది అతిపెద్ద అక్షరానికి రెండు రెట్లు ఎక్కువ. + కాబట్టి, ఆసక్తికరమైన అంశం ఏమిటంటే, ఒక వైపు మొత్తం రికార్డ్ యొక్క పరిమాణాన్ని, మొత్తం కంటైనర్ యొక్క పరిమాణాన్ని తగ్గించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది, మీకు ఒకే సమయంలో అన్ని భాగాలు అవసరం లేదని మీకు తెలిస్తే. + కాబట్టి దాని యొక్క మరొక వైపు ఏమిటంటే, మీరు ప్రారంభించినప్పుడు మీరు మొదటి భాగం యొక్క విలువను మాత్రమే ప్రారంభిస్తున్నారు ఎందుకంటే ఇక్కడ మీరు ఒక భాగాన్ని మాత్రమే కలిగి ఉంటారు, మాకు ఒక భాగానికి మాత్రమే స్థలం ఉంటుంది. + ప్రారంభంలో ఉన్న భాగాల జాబితా వ్యక్తిగత డేటా సభ్యుల జాబితాను ప్రారంభించదు. + ప్రారంభించడం పాక్షికంగా అందించబడుతుందని మేము చూశాము, మొదటి ఒకటి లేదా మొదటి రెండు లేదా మొదటి మూడు ఇక్కడ ప్రారంభించాను ఎందుకంటే ఒకే డేటా సభ్యుడు మాత్రమే ఉన్నాడు.మీరు ప్రారంభించగలిగేది ఒక్క విలువ మాత్రమే. మరియు దాని రకం మొదటి విలువ . + లేకపోతే, మీరు ప్రారంభించాల్సిన అవసరం లేదని మీరు చేయాలి, బదులుగా మీరు పాత్రను తీసుకొని కేటాయించండి. + కాబట్టి, యాక్సెస్ పరంగా, ఒకే డాట్ సంజ్ఞామానం డాట్ ఆపరేటర్ వేర్వేరు భాగాలను యాక్సెస్ చేయడానికి ఉపయోగపడుతుంది, కాని విషయం ఏమిటంటే, మనకు మూడు అక్షరాలు ఉన్నప్పటికీ, ఒక విలువ మాత్రమే నిర్వహించబడుతుందని మీరు గుర్తుంచుకోవాలి. (అక్షరం) ఒక విలువ మాత్రమే . + అందువల్ల, మీరు ఆ పాత్ర యొక్క విలువను చేరుకున్నప్పుడు మీరు పేర్కొన్న అక్షరం (అక్షరం) చెల్లుబాటు అవుతుంది. + మీరు వేరే అక్షరాన్ని ఉపయోగిస్తే, చివరిగా కేటాయించిన దాని నుండి మీరు unexpected హించని ఫలితాలను పొందుతారు. + కాబట్టి, మీరు ఈ యాక్సెస్ కోడ్‌లో కొంచెం జాగ్రత్తగా చూస్తే, మేము ఐడాటాను మాకు కేటాయించిన కోడ్ యొక్క మొదటి భాగంలో మీరు చూస్తారు, ఆపై మేము ఐడాటాను యాక్సెస్ చేస్తాము, కాబట్టి 2 ముద్రించబడుతుంది. + డబుల్ డేటాలో, మేము 2.2 నుండి 2.5 డేటాను డబుల్ యాక్సెస్ చేస్తాము, కాబట్టి మనం 2.2 ని యాక్సెస్ చేసే డబుల్ డేటా ముద్రించబడుతుంది. + చార్ (డేటా) లో, మేము స్థిరమైన అక్షరాన్ని అందిస్తాము, మేము దానిని ప్రింట్ చేస్తాము a. + అందువల్ల, మీరు చివరిగా ఉపయోగించిన వాటిని మేము ప్రింట్ చేస్తాము. + ఇప్పుడు, తరువాతి కాలంలో, మేము ఒక ఆసక్తికరమైన విషయాన్ని చూపిస్తాము, ఇది మేము 97 కి కేటాయించిన iData లో పూర్ణాంక భాగాన్ని ఇచ్చాము, ఆపై మనకు పూర్ణాంక డేటాకు ప్రాప్యత ఉంది; స్పష్టంగా, 97 చివరిగా ముద్రించబడింది. + మేము ఏమీ మాట్లాడకుండా దానిని dData గా యాక్సెస్ చేస్తే, మీకు 2.1999 లభిస్తుంది, అది చాలా అర్ధవంతం కాదు. + కాబట్టి, ఇది జరుగుతోంది ఎందుకంటే dData డబుల్ డేటాలో 8 బైట్ల పరిమాణం రెట్టింపు; మీరు iData ని కేటాయించినప్పుడు మీరు 4 బైట్లు మాత్రమే కేటాయించారు; మిగిలిన 4 బైట్లు కొన్ని పాత చెత్త విలువలను కలిగి ఉన్నాయి. + కాబట్టి, మీరు dData గా పొందేది పూర్తిగా తప్పు. + చివరి ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు దానిని సి డేటాగా యాక్సెస్ చేస్తే, మీరు నిజంగా 97 ను సి డేటాగా యాక్సెస్ చేస్తున్నారు మరియు మీకు 'ఎ' ఎందుకు లభిస్తుందో చూస్తున్నారు, 'ఎ' 97 ASCII కోడ్‌ను పొందుతోంది. + ఇప్పుడు ఆసక్తికరమైన విషయం ఏమిటంటే, సి డేటా బహుశా ఇక్కడ 1 బైట్, అంటే మీరు 4 బైట్ పూర్ణాంకానికి ఇచ్చిన 255 విలువ కలయికలను 255 కన్నా తక్కువ కలిగి ఉండవచ్చు. + కాబట్టి, ఈ పూర్ణాంకంలో అధిక మూడు బైట్లు అన్నీ సున్నాలు అని మనం సులభంగా అర్థం చేసుకోవచ్చు. + కాబట్టి, నేను దానిని ఒక పాత్రగా యాక్సెస్ చేసినప్పుడు నేను అక్కడ నిల్వ చేసిన 97 మాత్రమే పొందుతాను. + కాబట్టి, నేను ఒక కోడ్ యొక్క సరైన విలువను పొందినట్లు అనిపిస్తుంది. + నేను షెడ్ చేయడానికి ప్రయత్నిస్తున్న విషయం ఏమిటంటే ఇది నివసించే విలువ, ఎందుకంటే ఒకే మెమరీ స్థలం మాత్రమే ఉంది; మీరు యూనియన్ ఉపయోగిస్తున్నప్పుడు దీని గురించి చాలా జాగ్రత్తగా ఉండాలి. + మీరు ఒక సమితిని సృష్టించాలనుకుంటే, మీరు వివిధ రకాల డేటాతో వ్యవహరించగల కంటైనర్‌ను సృష్టించాలనుకుంటే, మీరు సాధారణంగా ఆ రకమైన సూచనను ఇవ్వాలి, ఇక్కడ యూనియన్ ఉపయోగించబడుతుంది. మీరు నెట్‌వర్క్ కనెక్షన్ గురించి ఆలోచిస్తే, మరియు మీకు వివిధ రకాల డేటా వస్తున్న నెట్‌వర్క్ పోర్ట్ ఉంటే, వివిధ రకాల డేటా ప్యాకెట్లు వస్తున్నాయి., మరియు సాధ్యమైన ప్యాకెట్ నుండి ఎలాంటి డేటా ప్యాకెట్ వస్తుందో మీకు తెలియదు. + ఏ సమయంలోనైనా ఒక రకమైన డేటా ప్యాకెట్ మాత్రమే వస్తుందని మీకు తెలుసు, ఒక డేటా ప్యాకెట్ మాత్రమే వస్తుంది, అప్పుడు ఈ డేటా ప్యాకెట్‌ను నిల్వ చేయడానికి ప్రోగ్రామింగ్ నిర్మాణాన్ని మీరు ఎలా పొందుతారు? నిర్వచించండి. + ఇప్పుడు, మీరు ఈ 10 రకాల డేటా ప్యాకెట్లను నిల్వ చేసే అవకాశం ఉన్న నిర్మాణాన్ని సృష్టించడం ఇష్టం లేదు, ఎందుకంటే ఇది అనవసరంగా ఎక్కువ స్థలాన్ని తీసుకుంటుంది. + అదే సమయంలో, ఒక రకమైన ప్యాకెట్ 1.0 సమయానికి మాత్రమే వస్తుందనే వాస్తవాన్ని ఉపయోగించి మీరు ఈ యూనియన్ నిర్మాణాన్ని ఒక సేకరణగా ఉపయోగించవచ్చు, ఇది సి లో ఎలా ఉపయోగించబడుతుందో కూడా. + ఈ సందర్భంలో సి ++ లోని ఈ అసోసియేషన్ భావన చాలా చిక్కులను కలిగి ఉంటుంది. సి ++ మాకు వారసత్వం మరియు స్పెషలైజేషన్ అని పిలువబడే ఆబ్జెక్ట్ ఓరియంటేషన్ ఆధారంగా చాలా బలమైన లక్షణాన్ని ఇస్తుంది. + యూనియన్‌ను ఉపయోగించకుండా C ++ లో ఇలాంటి ప్రభావాలను ఎలా సృష్టించవచ్చో మేము చూస్తాము, కాబట్టి ఇది మీ వ్యాఖ్యల కోసం మాత్రమే, మేము C ++ స్థాయికి వెళ్ళినప్పుడు వివరాలతో ముందుకు వస్తాము. + (ఇప్పుడు సి అనేది ప్రోగ్రామింగ్ యొక్క అత్యంత ఆసక్తికరమైన మరియు శక్తివంతమైన లక్షణాలలో ఒకటి. + సి ప్రోగ్రామింగ్, మీరు భాష యొక్క చరిత్ర గురించి కొంచెం తెలిసి ఉంటే, మరియు దానిని మీకు పరిచయం చేయడానికి నేను తగిన పాయింట్ కావాలనుకుంటే, సి మొదట కంప్యూటర్ శాస్త్రవేత్తల బృందం, విశ్వవిద్యాలయంలోని ప్రొఫెసర్లు, మరియు ఒక నిపుణుల సమూహం, మేము ఒక ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయడానికి ప్రయత్నిస్తున్నాము, ఇది తరువాత యునిక్స్ వలె ప్రాచుర్యం పొందింది, మీరందరూ లైనక్స్‌ను ఉపయోగిస్తున్నారు, ఇది చాలా తరువాతి తరం. + అందువల్ల, వారు యునిక్స్ రాయడానికి ప్రయత్నిస్తున్నప్పుడు, వారు యునిక్స్ కోసం కోడ్ రాయడానికి ప్రయత్నిస్తున్నారు, వారికి ప్రోగ్రామింగ్ లాంగ్వేజ్ అవసరం, లేకపోతే మీరు ఎలా స్పెల్లింగ్ చేయాలో కోడ్ (కోడ్) రాయాలనుకుంటున్నారు. + ఇప్పుడు యునిక్స్కు ముందు, మీరు సి లేదా సి ++ లేదా జావా లేదా పైథాన్‌లో చూసే ఉన్నత-స్థాయి ప్రోగ్రామింగ్ భాష లేదు, ఇక్కడ మీరు ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయగలరు, ఎందుకంటే మీరు ఆపరేటింగ్ చేసేటప్పుడు మీరు సిస్టమ్ రాయాలనుకుంటే, మీరు డాన్ విలువలతో వ్యవహరించాల్సిన అవసరం లేదు, కానీ మీరు మెమరీతో కూడా వ్యవహరించాలి. + ఎందుకంటే ప్రోగ్రామ్‌లు చివరికి మెమరీలో నిల్వ చేయబడతాయి, ఇక్కడ డేటా మెమరీలో ఉంటుంది. + కాబట్టి, మేము ఒక ప్రోగ్రామ్ వ్రాసేటప్పుడు, మేము వేరియబుల్స్‌తో మాత్రమే పని చేస్తున్నాము, మనకు విలువల గురించి మాత్రమే ఆసక్తి ఉంది. + ఈ ఆలోచనలు జ్ఞాపకశక్తిలో నిల్వ చేయబడటం గురించి ఆలోచించకుండా మేము పైథాన్ లేదా జావాలో మొత్తం ప్రోగ్రామ్‌ను వ్రాయగలము, కాని మీరు ఆపరేటింగ్ సిస్టమ్‌ను వ్రాయలేరని అనుకుందాం. + మీరు ప్రోగ్రామింగ్ భాష యొక్క మెమరీ లేదా విలువ నిల్వ చేయబడిన చిరునామాను తెలుసుకోవాలి. + కాబట్టి ఇది వివిధ కారణాలలో ఒకటి, దీనికి కెర్నింగ్, రిట్చీ, మోరిస్ హిర్ మరియు ఇతరుల బృందం, మేము యునిక్స్ బృందంలో ఉన్నాము, ఇది ప్రోగ్రామింగ్ భాష చేయడానికి ఉపయోగించాల్సిన అవసరం ఉంది, మరియు వారు త్వరగా సి , తరువాత ఇది వారికి డిఫాల్ట్ భాషగా మారింది. + మనమందరం, వారు చెప్పినట్లుగా, చరిత్ర, కానీ సి మొదట చిరునామాలను డేటాగా నిర్వహించడం మరియు మనం పాయింటర్ అని పిలిచే బలమైన భావనను ప్రవేశపెట్టింది. (పాయింటర్). + మీకు ఇది ఎందుకు అవసరమో నేను మీకు చెప్పాలనుకుంటున్నాను, కానీ చిరునామాలతో వ్యవహరించే ఈ లక్షణం మీకు ఉన్నప్పుడు, సి చాలా బలమైన నేపథ్యాన్ని ఇస్తుంది; దీనిలో మీరు ఇప్పటికే చేసిన విధంగా సి వివిధ రకాల డేటా నిర్మాణాలను సృష్టించగలదు. + మీరు పాయింటర్లు లేకుండా జాబితా చేయడం గురించి కూడా ఆలోచించలేరు; ఇది సాధ్యమే, మీరు రెండు శ్రేణులను ఉపయోగించి లింక్డ్ జాబితాను సృష్టించే అవకాశం ఉంది. + మీరు తదుపరి మూలకాన్ని పొందే సూచికను ఉంచడానికి శ్రేణి; వాస్తవానికి విలువలకు మరొక శ్రేణి ఉంది, కానీ ఇది ఏమీ కాదు, ఇది సమర్థవంతంగా ఉంటుంది, ఇది ప్రజలు ఏమి చేయగలదో కొలవగలది; అందువల్ల, మీరు ఎల్లప్పుడూ పాయింటర్లను ఉపయోగిస్తారు. + అందువల్ల, మీ అందరికీ తెలిసినట్లుగా పాయింటర్లు తదుపరి ఉత్పన్నమైన రకం. + కాబట్టి, ఇది వేరియబుల్, దీని విలువ మెమరీ చిరునామా. + మరియు పాయింటర్ రకం పాయింటర్ చేత నిర్ణయించబడుతుంది, అన్ని పాయింటర్లు చిరునామాలు. + కాబట్టి, ఒకే రకాన్ని కలిగి ఉన్న చిరునామా సూచించిన రకం, కానీ అవి వాస్తవానికి ఏ రకమైన విలువను సూచిస్తున్నాయో వాటి ఆధారంగా నిర్ణయించబడుతుంది. + కాబట్టి, నాకు int * ip ఉంటే అది పూర్ణాంక రకం విలువను సూచిస్తుంది. + కాబట్టి, ఇది int int అని టైప్ చేస్తాం. + ఇప్పుడు, పాయింటర్‌ను ఉపయోగించడానికి, మీకు బాగా తెలిసి ఉంటుంది, అప్పుడు నేను 20 కి ప్రారంభించే వేరియబుల్ కలిగి ఉండవచ్చు, నేను సూచించడానికి ఉపయోగించే పాయింట్ ఐపి ఉంది, ఇది Int * IP మరియు ఒక నిర్దిష్ట ఆపరేటర్ ఆంపర్సండ్. మీరు ఈ వేరియబుల్ నిల్వ చేయబడే మెమరీ స్థానం యొక్క చిరునామాను పొందడానికి నేను ఏదైనా వేరియబుల్ను ఉపయోగించవచ్చని తెలుసు. + కాబట్టి, నేను ఆ చిరునామాను తీసుకొని ఆ చిరునామాను పాయింటర్ వేరియబుల్ IP లో నిల్వ చేయగలను. + నేను ఆ పని చేసిన తర్వాత, నేను వేరియబుల్ i లేదా i యొక్క చిరునామాను ప్రింట్ చేయడానికి ప్రయత్నిస్తే, నేను చిరునామా లేదా IP యొక్క విలువను ప్రింట్ చేస్తాను, ఇది వాస్తవానికి నేను ఇక్కడ నిల్వ చేసిన చిరునామా, అవి ఖచ్చితంగా మనతో సమానంగా ఉంటాయి ఇక్కడ చూపిస్తుంది. + ఇప్పుడు ఆ చిరునామాను చూస్తే, నక్షత్రం లేదా ఆపరేటర్ యొక్క విషయాలను ఉపయోగించి సూచించిన ప్రదేశంలో ఏ విలువ ఉందో నేను నిజంగా తెలుసుకోగలను. + అందువల్ల, ఇక్కడ పాయింటర్‌తో, మేము ఎల్లప్పుడూ ఆపరేటర్ల విషయాలను అలాగే చిరునామాను ఉపయోగిస్తాము. + ఇప్పుడు పాయింటర్లను అనేక రకాలుగా ఉపయోగించవచ్చు; ప్రోగ్రామింగ్ భాషలో వివిధ ఇడియమ్స్‌ను రూపొందించడంలో ఆయన చాలా శక్తివంతుడు. + మొదటి మరియు సర్వసాధారణం పాయింటర్ మరియు శ్రేణి మధ్య ద్వంద్వత్వం; మరియు ఒక డైమెన్షనల్ అర్రే సందర్భంలో చాలా సులభంగా కనిపిస్తుంది. + కాబట్టి, శ్రేణి అనేది స్థలాల శ్రేణి; మరియు పాయింటర్ అనేది శ్రేణి యొక్క ప్రారంభ స్థానం యొక్క చిరునామా. + అందువల్ల, నేను శ్రేణిని తీసుకొని దానిని పాయింటర్ వేరియబుల్‌కు కేటాయించగలను. + ఆపై నేను * p చేస్తే, అది శ్రేణి యొక్క ప్రారంభ స్థలంలో 0 గా ఉండే కంటెంట్‌ను ఇస్తుంది, అది 0 అవుతుంది. + నేను ఒక పాయింటర్‌ను పెంచగలను మరియు ఇది చాలా ఆసక్తికరమైన అంశం, నేను ఒక పాయింటర్‌ను పెంచుకుంటే, అది పెరిగిన మొత్తం 1 కాదు, అది పెంచిన మొత్తం ఇది సూచించే మూలకం యొక్క ఆకారం అది సూచించే విలువ రకానికి. + కాబట్టి, ఇది ఒక పూర్ణాంకానికి సూచిస్తుంటే మరియు సిస్టమ్‌లోని సైజుఆఫ్ (పూర్ణాంకానికి) 4 అయితే, పాయింటర్ విలువ వాస్తవానికి 4 పెరుగుతుంది, తద్వారా శ్రేణి పరంగా మీరు ఇప్పుడు మరొక ప్రదేశానికి గురిపెడుతున్నారు. + కాబట్టి, నేను * + + p చేస్తే, అది మొదట పెరుగుతుందని మీరు చూడవచ్చు. + కాబట్టి, ఇది ఇప్పుడు 1 మూలకానికి గురిపెట్టి, ఆపై 1 మూలకాన్ని తీసుకుంటుంది, ఇది ప్రాథమికంగా 2. + అదేవిధంగా, నేను p + 1 ను వ్యక్తీకరణగా తీసుకోవచ్చు, p + 1; అదేవిధంగా, పాయింటర్ యొక్క ప్రస్తుత స్థానం ప్లస్ 1 మూలకం పరిమాణం కావచ్చు. + పాయింటర్లను నిర్మాణాలతో ఉపయోగించవచ్చు, మనం దానిని ఉపయోగిస్తే * p ద్వారా మూలకాలను యాక్సెస్ చేయవచ్చు, ఆపై * p అనేది డాట్ రికి సూచించే ఒక నిర్మాణం, ఇది ఆ నిర్మాణం యొక్క పాత్ర. + ఇది D రిఫరెన్స్ ఆపరేటర్ చేత కత్తిరించబడుతుంది ఎందుకంటే ఇది C లో ఇవ్వబడింది, మీకు ఇవన్నీ తెలుసు. + అందువల్ల, మేము దానిని వదిలివేస్తే, డైనమిక్ కేటాయింపు సందర్భంలో కూడా పాయింటర్లను ఉపయోగించవచ్చు. + అందువల్ల, నేను మాలోక్ ఉపయోగించి డైనమిక్‌గా కేటాయించగలను, మరియు పేర్కొన్న రకం లేని సూచికను నేను పొందుతాను.అది సున్నా నక్షత్రం అని మేము చెప్పగలను. + మరియు ఆ పూర్ణాంక రకం విలువ కోసం ప్రోగ్రామర్ బలవంతంగా ఉపయోగించాల్సిన కాస్టింగ్‌ను మనం ఉపయోగించవచ్చు. + ఇది ఇక్కడ ఇచ్చిన ఆసక్తికరమైన కోడ్, నేను వివరాల ద్వారా వెళ్ళను; పాయింటర్లను మార్చటానికి ఈ కోడ్ ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి ప్రయత్నించండి. + మీకు ఏవైనా ప్రశ్నలు ఉంటే, మీరు బ్లాగులో మమ్మల్ని అడగవచ్చు. + మరియు శ్రేణులను డైనమిక్‌గా కేటాయించడానికి మేము పాయింటర్లను ఉపయోగించవచ్చు. + దీనితో, రీక్యాప్ యొక్క ఈ భాగంలో, మేము ప్రధానంగా వేర్వేరు ఉత్పన్న రకాలను గురించి మాట్లాడాము. + మొదట, మేము కంటైనర్లు, శ్రేణులు, నిర్మాణాలు మరియు సంఘాల గురించి మాట్లాడాము; సి అందించే మూడు ప్రధాన రకాల కంటైనర్లు; మరియు మేము పాయింటర్ల ద్వారా వివిధ వేరియబుల్స్ మరియు చిరునామాలను నిర్వహించడం గురించి మాట్లాడాము. + తరువాత, మేము ఫంక్షన్ల గురించి మాట్లాడుతాము. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/37 basicElectonics_Karnaugh maps-jheob0v0CU4.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/37 basicElectonics_Karnaugh maps-jheob0v0CU4.txt index 1b8657c4047efa939145dd3768b1d55a033eebf7..656c547f3baf4972dc259c7d949c76c458cf5b94 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/37 basicElectonics_Karnaugh maps-jheob0v0CU4.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/37 basicElectonics_Karnaugh maps-jheob0v0CU4.txt @@ -1,189 +1,189 @@ - 1. బసిక్ ఎలెక్ట్రొనిక్స్ కు స్వాగతము. - 2. ఈ తరగతి లో, ఇచ్చిన తార్కిక పనితీరును తగ్గించటానికి కర్ణ్గ్ పటాలు లేదా K- పటాల వాడకాన్ని చూద్దాం. - 3. మొదట, K- మ్యాప్ ఎలా నిర్మించబడిందో చూద్దాం; సంబంధిత K- మ్యాప్ నుండి లాజికల్ ఫంక్షన్ యొక్క కనిష్ట రూపాన్ని ఎలా వ్రాయాలో చూద్దాం. - 4. చివరగా, తార్కిక ఫంక్షన్ యొక్క సత్య పట్టికలోని విలువలు పట్టించుకోని కొన్ని ఉదాహరణలను మేము తీసుకుంటాము. - 5. ప్రారంభిద్దాం ఇప్పుడు మేము తార్కిక పనితీరును తగ్గించడానికి మరియు కర్నాగ్ మ్యాప్‌ను లేదా K- మ్యాప్ అని పిలిచే ఒక సరళమైన మార్గాన్ని చర్చిస్తాము. - 6. K- మ్యాప్ అంటే ఏమిటి? ఇది తార్కిక ఫంక్షన్ యొక్క సత్య పట్టికను సూచిస్తుంది. - 7. మరియు K- మ్యాప్ యొక్క అనేక ఉదాహరణలు మనం చూస్తాము. - 8. K- మ్యాప్ ఒక ఫంక్షన్ యొక్క కనీస వ్యక్తీకరణను మొత్తం రూపం యొక్క ఉత్పత్తి లేదా మొత్తం ఉత్పత్తుల రూపంలో పొందటానికి ఉపయోగించవచ్చు. - 9. ఇప్పుడు, మా కోర్సులో, మేము మొదటి 1 ఉత్పత్తుల మొత్తంతో ఎక్కువగా వ్యవహరిస్తాము, కానీ అది ఎలా జరుగుతుందో మీరు అర్థం చేసుకున్న తర్వాత, మీరు మొత్తం K- మ్యాప్ యొక్క ఉత్పత్తిని పొందుతారు. (మ్యాప్) కూడా సులభంగా తీసుకోవచ్చు. - 10. మనల్ని మనం ప్రశ్నించుకోవలసిన ప్రశ్న; కనిష్ట వ్యక్తీకరణ అంటే ఏమిటి? సమాధానం ఇక్కడ ఇవ్వబడింది: కనిష్ట వ్యక్తీకరణగా కనిష్ట వ్యక్తీకరణ మరియు ప్రతి పదం కనీస సంఖ్య వేరియబుల్స్ కలిగి ఉంటుంది, కాబట్టి కనిష్టం దాని కనీస సంఖ్య. అర్థం. - 11. ప్రతి తార్కిక ఫంక్షన్‌కు ప్రత్యేకమైన కనీస వ్యక్తీకరణ ఉందా అనేది తదుపరి ప్రశ్న. - 12. సమాధానం ఎక్కువగా అవును, కానీ కొన్ని ఫంక్షన్ల కోసం, ఒకటి కంటే ఎక్కువ కనిష్ట వ్యక్తీకరణలను కలిగి ఉండటం సాధ్యమే. - 13. ఇప్పుడు, మినిమల్ ఎక్స్‌ప్రెషన్‌పై మాకు ఆసక్తి ఉండటానికి ఇదే కారణం. - 14. తక్కువ వ్యక్తీకరణలతో తక్కువ వ్యక్తీకరణను అమలు చేయవచ్చు మరియు అందుకే అమలు చౌకగా ఉంటుంది. - 15. కాబట్టి, ఇప్పుడు K- మ్యాప్ యొక్క ఉదాహరణను చూద్దాం, ఒక తార్కిక ఫంక్షన్ Y మూడు వేరియబుల్స్ AB మరియు C ఉంది, మనకు 1 ఇక్కడ 1 1 1 ఉంది. - 16. మరియు మనకు ఇక్కడ డోంట్ కేర్ కండిషన్ ఉంది, మరియు మిగిలిన ఎంట్రీలు 0 .. - 17. కాబట్టి ఈ మ్యాప్‌ను గీయడం ప్రారంభిద్దాం మరియు దాని అర్థం ఏమిటో చూద్దాం. - 18. ఇది సి, మరియు దీని అర్థం సి ఇక్కడ 0, సి ఇక్కడ 1. - 19. ఇవి A మరియు B విలువలకు అనుగుణంగా ఉంటాయి; ఇక్కడ A 0, B 0, A 0, B 1, A 1, B 1, A 1, B 0. - 20. తర్వాతి దశ ఈ పట్టిక నుండి ఈ తార్కిక ఫంక్షన్ Y ను మ్యాప్ చేయడం. - 21. కాబట్టి, మేము దీన్ని చేస్తాము. - 22. మేము ఇక్కడ 1 తో ప్రారంభిస్తాము. - 23. ఈ ఎంట్రీ 0 0 కోసం A, B అంటే ఏమిటి? కాబట్టి ఈ కాలమ్ ఇక్కడ ఉంది. - 24. 1 అంటే సి అంటే ఏమిటి, కాబట్టి ఇది ఇక్కడ ఈ పంక్తి? కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. - 25. కాబట్టి, అలాంటిది, ఈ 1 ఆ పెట్టెలో వెళ్తుంది. - 26. మరియు దీని గురించి, AB 0 1, కాబట్టి ఇది కాలమ్ మరియు C 0, కాబట్టి ఇది అడ్డు వరుస. - 27. కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. - 28. ఈ X గురించి ఏమిటి, A B 1 0, ఈ కాలమ్ C 0, కాబట్టి ఇది అడ్డు వరుస. - 29. కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. - 30. మరియు ఇక్కడ ఈ చివరిది A B 1 1 మరియు C 1, కాబట్టి ఇది కాలమ్ మరియు ఈ అడ్డు వరుస. - 31. కాబట్టి, ఈ పెట్టెలు ఇక్కడ ఉన్నాయి. - 32. ఇప్పుడు, ఇప్పటివరకు నింపని బాక్సుల గురించి, వారు ఈ 0 సెలను పొందుతారు; మరియు దీనితో మన పూర్తి K- మ్యాప్ ఇక్కడ చూపబడుతుంది. - 33. ఇప్పుడు మనం కొన్ని పరిశీలనలు చేద్దాం. - 34. మేము చూసినది ఏమిటంటే, K- మ్యాప్ సత్య పట్టికతో సమానంగా ఉంటుంది, ఇది ఎంట్రీలు అమర్చబడిన విధానానికి సమానమైన సమాచారాన్ని కలిగి ఉంటుంది. - 35. రెండవది మరియు ఇది చాలా ముఖ్యమైన విషయం, మీరు ఈ పాయింట్‌ను కోల్పోకపోతే ఫలితాలు ఘోరమైనవి. - 36. అందువల్ల, మేము దానిపై చాలా శ్రద్ధ వహించాలి. - 37. K- మ్యాప్‌లో, ప్రక్కనే ఉన్న వరుసలు లేదా నిలువు వరుసలు ఒకే వేరియబుల్‌లో విభిన్నంగా ఉంటాయి. - 38. ఉదాహరణకు, AB 0 కాలమ్ నుండి 1 కి సమానంగా వెళ్ళేటప్పుడు - ఇది 01 నుండి 1 1 కు సమానం, ఒకే మార్పు ఉంది మరియు ఈ మార్పు వేరియబుల్ A లో ఉంటుంది. - 39. అదేవిధంగా, మేము 1 1 నుండి 1 0 కి వెళ్ళినప్పుడు, B లో ఒక మార్పు మాత్రమే ఉంటుంది. - 40. ఇక్కడ నాలుగు వేరియబుల్స్ ఉన్న K- మ్యాప్ ఉంది.  - 41. కాబట్టి, A, B, C మరియు D ఫంక్షన్ Y మరియు అనుబంధ K- మ్యాప్‌ను కలిగి ఉంటాయి. - 42. ఇది ఎలా పనిచేస్తుందో చూద్దాం. - 43. ఈ విలువలు 0 0 0 1 1 1 మొదలైన వాటికి అనుగుణంగా ఉంటాయి. A మరియు B. - 44. ఈ విలువలు సి మరియు డిలకు అనుగుణంగా ఉంటాయి మరియు మనం ఒక కాలమ్ నుండి మరొక కాలమ్‌కు వెళుతున్నప్పుడు, ఉదాహరణకు, ఒకే ఒక్క మార్పు మాత్రమే ఉందని, 0 0 నుండి 0 1 కు మార్చండి, బి వెళుతుంది, కానీ A లేదు 0 1 నుండి 1 1 కు మార్చండి, A కాని B కాదు. - 45. అదేవిధంగా, మనం ఒక పంక్తి నుండి మరొక రేఖకు వెళుతున్నప్పుడు, 0 నుండి 0 కి 1 కి, D మార్పు 0 నుండి 1 కి మారుతుంది, కాని C కాదు.+ - 46. ఇప్పుడు ఈ ఫార్మాట్ నుండి కొన్ని ఎంట్రీలకు Y యొక్క మ్యాపింగ్ గురించి చూద్దాం. - 47. ఉదాహరణకు, దీనిని పరిగణించండి. - 48. A మరియు B - 0 0 అంటే ఏమిటి, C మరియు D - 0 1. కాబట్టి, మనకు A B - 0 0 మరియు C D - 0 1. కాబట్టి, మనకు ఈ కాలమ్ మరియు ఈ వరుస ఉంది మరియు అక్కడ 1 వెళ్తుంది. - 49. ఉదాహరణకు ఈ X ను తీసుకుందాం, మనకు AB 0 1 కి సమానం, మరియు మనకు 0 1 కి సమానమైన CD ఉంది. - 50. కాబట్టి, AB ఈ కాలమ్ 1 1 కి సమానం, మరియు CD ఈ అడ్డు వరుస 0 1 కి సమానం మరియు అందుకే X అక్కడ ఉంది, మొదలైనవి. - 51. మీరు ఇతర ఎంట్రీలను కూడా తనిఖీ చేయవచ్చు. - 52. ఫంక్షన్ల యొక్క కొన్ని ఉదాహరణలను ఒకే పదంతో చూద్దాం. - 53. కాబట్టి, ఇది ఒకే ఉత్పత్తి పదం, ఇది A మరియు B, C బార్ మరియు D ఆపరేషన్ మరియు AND ఆపరేషన్. - 54. మరియు అది 1 కి సమానంగా ఉన్నప్పుడు, 1 కి B 1 కు సమానం మరియు C D 0 కి సమానం, అప్పుడు ఈ 1 కనిపించే కాలమ్ మరియు అడ్డు వరుస. - 55. X 2 అనే మరొక ఉత్పత్తి పదాన్ని పరిశీలిద్దాం, ఇప్పుడు ఈ పదానికి A, C మరియు D అనే మూడు వేరియబుల్స్ మాత్రమే ఉన్నాయి మరియు A 0 అయితే X 2, 1; అంటే, రెండు నిలువు వరుసలు ఎందుకంటే A ఇక్కడ 0, A కూడా ఇక్కడ 0, కాబట్టి ఇవి రెండు నిలువు వరుసలు. - 56. మరియు C D అంటే ఏమిటి, C D 0 అవుతుంది. ఇది లైన్. - 57. కాబట్టి, మనకు రెండు 1 లు ఉన్నాయి. - 58. మరొక ఉదాహరణ తీసుకుందాం. A మరియు C X 3 కి సమానం ఇది మరొక ఉత్పత్తి పదం, ఒకే ఉత్పత్తి పదం. - 59. X 3 ఎప్పుడు 1 కి సమానం? A 1 మరియు C 1 అయినప్పుడు; ఈ రెండు వరుసలలో A 1 మరియు ఈ రెండు వరుసలలో C 1, కాబట్టి మనకు ఇక్కడ నాలుగు 1 సె ఉన్నాయి. - 60. ఇప్పుడు, మేము ఈ రకమైన ఫంక్షన్లకు సంబంధించిన కొన్ని పరిశీలనలు చేస్తాము, ఇక్కడ ఫంక్షన్ ఒకే ఉత్పత్తి పదం, కానీ వివిధ రకాల వేరియబుల్స్ తో. - 61. ఇక్కడ, మనకు నాలుగు వేరియబుల్స్ ఉన్నాయి, ఇక్కడ మనకు మూడు వేరియబుల్స్ ఉన్నాయి, మరియు ఇక్కడ మనకు రెండు వేరియబుల్స్ ఉన్నాయి. - 62. K- మ్యాప్‌లో ఈ ఫంక్షన్లలో వేరియబుల్స్ సంఖ్య మరియు 1 సంఖ్యను ప్రదర్శించే పట్టిక ఇక్కడ ఉంది. - 63. ఈ సందర్భంలో మనకు నాలుగు వేరియబుల్స్ ఉంటే, మనకు 1 1 ఉంటుంది. - 64. ఈ సందర్భంలో మనకు మూడు వేరియబుల్స్ ఉంటే, మనకు 21 ఒకసారి ఉంది, అది రెండు 1 సె. - 65. మరియు ఈ సందర్భంలో రెండు వేరియబుల్స్ ఉంటే, అప్పుడు మనకు K- మ్యాప్‌లో 22 లేదా 4, 1 ఉన్నాయి. - 66. అందువల్ల, ఈ ప్రతి సందర్భంలో, 1 యొక్క సంఖ్య 2 యొక్క శక్తి ద్వారా ఇవ్వబడుతుంది మరియు ఇది గుర్తుంచుకోవలసిన చాలా ముఖ్యమైన విషయం. - 67. కాబట్టి, ఇది 1 సంఖ్య గురించి మరియు ఇప్పుడు మేము ఈ 1 యొక్క స్థానం గురించి మాట్లాడాలనుకుంటున్నాము. - 68. K- మ్యాప్స్‌లో ఈ 1 ఎలా కనిపిస్తాయి? మరియు మేము ఈ ఉదాహరణలను పరిశీలిస్తే, ప్రతి సందర్భంలో 1 ఒక దీర్ఘచతురస్రం ద్వారా జతచేయబడిందని మేము కనుగొన్నాము. - 69. కాబట్టి, ఇక్కడ ఒక దీర్ఘచతురస్రం ఉంది, ఇక్కడ ఒక దీర్ఘచతురస్రం ఉంది మరియు వాస్తవానికి, ఇది కేవలం ప్రవేశం మాత్రమే. - 70. ఇప్పుడు, ఈ 1 ఒకదానికొకటి ప్రక్కనే కనిపిస్తాయి మరియు ఇక్కడ 1 కాదు మరియు ఇక్కడ మరొకటి కాదు, తద్వారా ఈ రెండు ఎంటిటీల చుట్టూ ఒక దీర్ఘచతురస్రాన్ని తయారు చేయవచ్చు మరియు ఈ నాలుగు గురించి ఒకే విధంగా ఉంటుంది, కాబట్టి ఇది చాలా ముఖ్యమైన విషయం - 71. దానిని చూద్దాం; మునుపటి స్లైడ్‌లో మేము చేసిన పాయింట్లను అదే ఉదాహరణ మరోసారి సంగ్రహిస్తుంది. - 72. వీటన్నింటికీ ఒకే ఉత్పత్తి పదం అయిన ఫంక్షన్ మనకు ఉంటే, అప్పుడు మేము K- మ్యాప్ గురించి రెండు పాయింట్లు చేయవచ్చు. - 73. పాయింట్ సంఖ్య 1, సంఖ్య 1 2 యొక్క శక్తి ద్వారా ఇవ్వబడుతుంది - 20, 21, 22 కి పెరుగుతుంది మరియు పాయింట్ సంఖ్య 2, 1 యొక్క స్థానం ఎసి, మనం వాటి చుట్టూ దీర్ఘచతురస్రాన్ని గీయగలము. - 74. ఇప్పుడు, ఈ విషయాలను దృష్టిలో పెట్టుకుని, మేము ముందుకు వెళ్తాము. - 75. ఇప్పుడు మనం Y 1 ఫంక్షన్‌ను పరిశీలిద్దాం, ఇది X 1, X 2 మరియు X 3 యొక్క మొత్తం, ఇది X 1, X 2 మరియు X3 యొక్క OR ఆపరేషన్. - 76. X 1 1 లేదా X 2 1 లేదా X 3 1 అయితే Y యొక్క మ్యాప్ ఎలా ఉంటుంది. - 77. కాబట్టి, ఇప్పుడు మనం చేయాల్సిందల్లా ఈ మూడు పటాలలో 1 యొక్క స్థానాన్ని చూడండి మరియు Y యొక్క మ్యాప్‌లో ఆ 1 ని పునరావృతం చేయండి, అది అంత సులభం. - 78. ఉదాహరణకు, ఈ 1, మేము ఈ రెండు 1 లకు ఇక్కడకు వెళ్తాము, మరియు ఈ నాలుగు 1 లు ఇక్కడకు వెళ్తాయి మరియు ఇది y ఫంక్షన్ కోసం ఒక మ్యాప్‌ను ఇస్తుంది. - 79. ఇప్పుడు మనకు ఆసక్తి ఉన్న నిజమైన సమస్యకు వచ్చాము. - 80. ఇచ్చిన K- మ్యాప్ నుండి కనీస వ్యక్తీకరణను గుర్తించడానికి ఆసక్తి. - 81. కాబట్టి, ఈ Y ని ఉదాహరణగా తీసుకోండి, మాకు ఈ మ్యాప్ ఇవ్వబడింది. - 82. మరియు ఈ మ్యాప్ నుండి, మేము ఫంక్షన్ కోసం కనీస వ్యక్తీకరణను కనుగొనాలనుకుంటున్నాము. - 83. మరియు మనం కనిష్టంగా ఏమి అర్థం చేసుకోవాలి, ప్రతి పదంలో అతిచిన్న సంఖ్య మరియు వేరియబుల్ యొక్క అతిచిన్న సంఖ్య ఉండాలి, అంటే, 2 కె కలిగి ఉన్న 2 అతిచిన్న దీర్ఘచతురస్రాలను మనం గుర్తించాలి. ప్రతి ఒక్కటి 1 పెంచడానికి. - 84. ఈ ప్రత్యేక ఉదాహరణ సందర్భంలో దీని అర్థం ఏమిటో చూద్దాం. - 85. కాబట్టి, ఈ K- మ్యాప్ మాకు ఇవ్వబడింది మరియు సంబంధిత కనిష్ట వ్యక్తీకరణను కనుగొనమని అడుగుతారు. - 86. దాని గురించి మనం ఎలా వెళ్తాము, మొదట 1 మరియు 0 మాత్రమే ఉన్న దీర్ఘచతురస్రాలను గుర్తించాము, అంటే 1 సంఖ్య 2 యొక్క శక్తి. - 87. కాబట్టి, మేము రెండు 1 లేదా నాలుగు 1 లేదా ఎనిమిది 1 లతో దీర్ఘచతురస్రాలను గుర్తించాము. - 88. I - 89. ప్రతి దీర్ఘచతురస్రం కోసం మనం దీన్ని ఎలా చేయాలో ఇంకా చూడని ఉత్పత్తి పదాన్ని వ్రాయగలమని ఇప్పుడు మనకు తెలుసు. - 90. కాబట్టి, మనకు మూడు దీర్ఘచతురస్రాలు ఉన్నందున మూడు పదాలు ఉన్నాయి, ఇది ఒక దీర్ఘచతురస్రం, దీనికి ఒక పదం ఉంది, కాబట్టి ఒక దీర్ఘచతురస్రం, మరొక దీర్ఘచతురస్రం మూడవది. దీర్ఘచతురస్రం. - 91. అందువల్ల, ఈ పటం నుండి మనకు మూడు పదాలు ఉన్నాయని తెలుసు, ఆపై ఈ నిబంధనలలో ప్రతిదాన్ని వ్రాయడానికి మేము ముందుకు వెళ్తాము మరియు ఇది మాకు కనీస వ్యక్తీకరణను ఇస్తుంది. - 92. అందువల్ల, మేము కొన్ని ఉదాహరణల కోసం దీన్ని చేయాలి మరియు అది చాలా స్పష్టంగా తెలుస్తుంది. - 93. కాబట్టి, ఇక్కడ మా మొదటి ఉదాహరణ, మరియు ఈ K- మ్యాప్ ఇచ్చిన ఈ తార్కిక ఫంక్షన్ Y కోసం కనీస వ్యక్తీకరణను కనుగొనాలనుకుంటున్నాము. - 94. కాబట్టి, మొదటి ప్రశ్న ఏమిటి, ఎన్ని 1 లు ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాము; మరియు రెండు 1 లు ఉన్నాయని మనం చూస్తాము. - 95. మరియు ఈ సందర్భంలో ఒక ప్రక్కనే ఉంది, కాబట్టి మనం ఈ రెండు వంటి దీర్ఘచతురస్రాన్ని కవర్ చేయవచ్చు. - 96. 21 కాబట్టి, 1 యొక్క దీర్ఘచతురస్రాన్ని తయారు చేయడం ద్వారా మేము వాటిని జోడించవచ్చు. - 97. K- మ్యాప్‌లో ఉన్న అన్ని 1 ని దీర్ఘచతురస్రం కవర్ చేస్తుంది కాబట్టి - ఈ రెండూ 1 లు, తార్కిక ఫంక్షన్ Y ఒకే ఉత్పత్తి అని మేము నిర్ధారించగలము. కాలం దీని ద్వారా సూచించబడుతుంది. - 98. తదుపరి ప్రశ్న ఏమిటంటే ఉత్పత్తి పదం ఏమిటి? కొన్ని పరిశీలనలు చేద్దాం. - 99. A - ఉత్పత్తి పదం 1, B 1 కి సమానం మరియు సి 0 కి సమానం. - 100. మరియు ఇవి మా ఉత్పత్తి పదం ద్వారా కవర్ చేయబడిన K- మ్యాప్ నుండి రెండు 1 అని మనం చూడవచ్చు; దీని కోసం, B యొక్క విలువ 1; దీని కోసం, B యొక్క విలువ కూడా 1 కి 1. - 101. కాబట్టి, మొదటి ప్రశ్న ఏమిటి, మేము ఎన్ని 1 ఉన్నాయి తెలుసుకోవడానికి మేము కోరారు; మరియు మేము రెండు 1 యొక్క ఉన్నాయి చూడండి. - 102. రెండవది - ఉత్పత్తి పదం A పై ఆధారపడి ఉండదు; మరియు మేము ఇక్కడ నుండి చూడవచ్చు; ఆ ఉత్పత్తి పదం 1, A 0 అయితే; A 1 అయితే ఇది కూడా 1. ఇది స్పష్టంగా A పై ఆధారపడదు. - 103. ఈ పరిస్థితులన్నింటినీ సంతృప్తిపరిచే ఏకైక ఉత్పత్తి పదం B మరియు C సార్లు. - 104. B 1 మరియు C 0 అయితే ఈ ఉత్పత్తి పదం 1, మరియు అది A పై ఆధారపడదు. మరియు ఈ సందర్భంలో, ఈ ఉత్పత్తి పదం తార్కిక ఫంక్షన్ Y యొక్క ప్రాతినిధ్యం. Y, BC కి సమానం అని మనం చెప్పగలం సార్లు. - 105. మరియు ఇక్కడ నుండి, ఉత్పత్తి పదం 1 అయితే A 0 అని మనం చూడవచ్చు; A 1 అయితే ఇది కూడా 1. ఇది స్పష్టంగా A పై ఆధారపడదు. - 106. ఇప్పుడు, ఈ పరిస్థితులన్నింటినీ సంతృప్తిపరిచే ఏకైక ఉత్పత్తి పదం BC బార్ అని తేలింది; B సార్లు 1 మరియు C 0 అయితే BC సార్లు 1; మరియు BC బార్ A పై ఆధారపడదు మరియు ఈ ప్రత్యేక ఉదాహరణలో, మేము గుర్తించిన ఉత్పత్తి పదం తార్కిక ఫంక్షన్ Y, ఎందుకంటే Y కి ఒకే ఉత్పత్తి పదం ఉందని మేము ఇంతకుముందు చెప్పినందున ఇది K లోని అన్ని 1 లను కప్పి ఉంచే ఒకే దీర్ఘచతురస్రం. -మ్యాప్, కాబట్టి Y BC కాలానికి సమానమని మేము నిర్ధారించాము. - 107. తదుపరి ఉదాహరణ, మరోసారి మనకు రెండు 1 ఉన్నాయి, ఇది ఒకటి మరియు ఇది ఒకటి. - 108. మరియు ఈ రెండింటినీ మనం కలపగలమా అనే ప్రశ్న, 1 యొక్క శక్తి 2 యొక్క శక్తి అయినప్పటికీ, అవి జతచేయబడవు ఎందుకంటే అవి ప్రక్కనే లేనందున అవి దీర్ఘచతురస్రం కావు. - 109. వీటిలో ఏది 1 అని మనం ఆలోచించగల ఏకైక దీర్ఘచతురస్రం ఇది ఒకటి, కానీ ఆ సందర్భంలో అది కూడా 0 కలిగి ఉంటుంది మరియు వాస్తవానికి, మనకు అక్కరలేదు. - 110. కాబట్టి, అప్పుడు మనకు రెండు పదాలతో కూడిన ఫంక్షన్ ఉంది, అవి మిళితం కావు మరియు వాటిలో ప్రతి ఒక్కటి ఒక మైనర్. - 111. ఈ మిన్‌మార్ట్ అంటే ఏమిటి? A 1 అయినప్పుడు ఇది 1, B 1 మరియు C 0, కాబట్టి ఇది BC సార్లు. - 112. ఈ మైనర్ అంటే ఏమిటి, ఇది 1, ఎ 1 అయినప్పుడు, బి 0, మరియు సి 1, కాబట్టి ఇది ఎ బి రెట్లు సి అవుతుంది. - 113. కాబట్టి, మా ఫంక్షన్ ఈ పదం అలాగే A BC బార్ ప్లస్ A B బార్ సి వంటి పదం, మరియు దీనిని మరింత తగ్గించలేము. - 114. తదుపరి ఉదాహరణ, మరోసారి మనకు రెండు 1, ఇక్కడ ఒకటి మరియు ఇక్కడ ఒకటి ఉన్నాయి. - 115. మరియు ఈ రెండు 1 కలపవచ్చా అనేది ప్రశ్న. - 116. ఇప్పుడు, ఈ రెండింటిని చేర్చడానికి ఈ 0 ను చేర్చకుండా మనం దీర్ఘచతురస్రాన్ని కూడా చేయలేమని మనకు అనిపిస్తుంది, అందువల్ల మన దగ్గర 1 ఉంది, కాబట్టి 1 ని జోడించలేము. - 117. నిలువు వరుసల క్రమాన్ని చక్రీయ పద్ధతిలో మార్చడం ద్వారా ఈ K- మ్యాప్‌ను పున ate సృష్టి చేద్దాం మరియు మనకు ఏమి లభిస్తుందో చూద్దాం. - 118. ఇక్కడ సవరించిన K- మ్యాప్ ఉంది మరియు మనం ఇక్కడ ఏమి చేసాము, మొదట ఈ 1, 0 నిలువు వరుసను 0 0 తరువాత మరియు తరువాత 1 1 నుండి సంగ్రహిస్తాము, కాబట్టి 0 0 0 1 మరియు 1 1. మరియు ఈ రెండు ఎంట్రీలలో 1 0. - 119. ఈ రెండు ఎంట్రీలు ఇక్కడ మరియు అక్కడకు తరలించబడ్డాయి. - 120. కాబట్టి, ఇలా చేయడం ద్వారా మేము నిజంగా వాటి ఫంక్షన్‌ను మార్చడం లేదు, ఈ ఫంక్షన్ ఇప్పటికీ మనం చేసిన విధంగానే ఉంది, K- మ్యాప్ (మ్యాప్) లోని ఎంట్రీలను క్రమాన్ని మార్చడం. - 121. ఇప్పుడు అది ఒకదానికొకటి పక్కన వచ్చిందని మనం చూస్తాము. - 122. కాబట్టి, రెండు 1 లు వాస్తవానికి ప్రక్కనే ఉంటాయి మరియు అందువల్ల కలపవచ్చు. - 123. మరియు ఈ దీర్ఘచతురస్రంతో సరిపోయే పదం ఏమిటి? - 124. ఉత్పత్తి పదం B 0 అయితే 1 మరియు C 0 అయితే, మరియు అది A నుండి స్వతంత్రంగా ఉంటుంది, ఎందుకంటే A ఇక్కడ 1, మరియు A 0 ఇక్కడ ఉంది. - 125. కాబట్టి, ఆ పదం B సార్లు C సార్లు ఉండాలి. - 126. రెండవ పదం లో, AB కాలమ్ 0 0 కి సమానం, మరియు ఎడమ వైపున ఉన్న K- మ్యాప్‌లో 1 0, A b కి సమానం, వాస్తవానికి తార్కికంగా ప్రక్కనే ఉంటాయి. - 127. కాబట్టి, ఈ రెండు నిలువు వరుసలు 0 0 మరియు 1 0 తార్కికంగా ప్రక్కనే ఉన్నాయి. - 128. మరియు దాని అర్థం ఏమిటి; దీని అర్థం, మేము ఈ కాలమ్ నుండి ఈ కాలమ్‌కు వెళితే, ఒక వేరియబుల్ మాత్రమే మారుతుంది. - 129. కాబట్టి, A 0 నుండి 1 కి మారుతోంది, కానీ B మారడం లేదు. - 130. కాబట్టి, ఇవి రేఖాగణితంగా ప్రక్కనే లేనప్పటికీ, తార్కికంగా ప్రక్కనే ఉన్నాయి. - 131. కాబట్టి మనం ఇక్కడ చేసినట్లుగా K- మ్యాప్‌ను పునర్నిర్వచించకుండా ఈ 1 ని జోడించవచ్చు. - 132. ఈ రెండు నిలువు వరుసలు తార్కికంగా పరస్పరం ఉన్నాయని మనకు తెలిసినంతవరకు, ఈ 1 మరియు ఈ 1 ని కవర్ చేసే దీర్ఘచతురస్రం గురించి మనం ఆలోచించవచ్చు. ఈ ఉదాహరణ తీసుకుందాం. - 133. మనకు 1, 2, 3 మరియు 4 ఎన్ని ఉన్నాయి మరియు ఈ నాలుగు 1 లు ఒకదానికొకటి ప్రక్కనే లేవని మరియు అందువల్ల కలపలేమని తెలుస్తుంది. - 134. కానీ అవి వాస్తవానికి ప్రక్కనే ఉన్నాయి మరియు దీనికి కారణం ఈ కాలమ్ తార్కికంగా ఈ కాలమ్ ప్రక్కనే ఉంది. - 135. అదేవిధంగా, ఈ పంక్తి ఈ అడ్డు వరుసకు ఆనుకొని ఉంది, కాబట్టి వాస్తవానికి దీర్ఘచతురస్రాన్ని గీయడం సాధ్యమవుతుంది, ఇది ఈ నాలుగు 1 లన్నింటినీ కవర్ చేస్తుంది. - 136. మరియు ఈ K- మ్యాప్‌ను పునర్నిర్మించమని మీరు ఖచ్చితంగా ప్రోత్సహించబడతారు, తద్వారా ఈ నాలుగు 1 లు బంచ్‌గా కనిపిస్తాయి. - 137. కాబట్టి, ఉత్పత్తి పదం A నుండి స్వతంత్రంగా ఉన్న ఈ నాలుగు 1 లతో సరిపోయే పదం ఏమిటి, ఎందుకంటే A ఇక్కడ 0 మరియు A ఇక్కడ 1, దీనికి B ఉంది ఎందుకంటే B ఇక్కడ 0 మరియు B ఇక్కడ 0. - 138. ఇది సి నుండి స్వతంత్రంగా ఉంటుంది, ఎందుకంటే సి ఇక్కడ 0, సి ఇక్కడ 1; మరియు దీనికి D సార్లు ఉన్నాయి, ఎందుకంటే D ఇక్కడ 0, D ఇక్కడ 0. - 139. కాబట్టి, మేము వెతుకుతున్న ఉత్పత్తి B కి D రెట్లు X కి సమానం. - 140. మరో ఉదాహరణ మనకు నాలుగు 1 లు, 1 లు, 2 లు, 3 లు, 4 లు ఉన్నాయి. - 141. మరియు ఈ రెండింటినీ కవర్ చేయగల దీర్ఘచతురస్రం గురించి మనం ఆలోచించవచ్చు, ఈ రెండింటినీ కవర్ చేయగల రెండవ దీర్ఘచతురస్రం. - 142. కాబట్టి, మా ఫంక్షన్ ఈ దీర్ఘచతురస్రానికి అనుగుణమైన రెండు పదాల 1 మొత్తంగా వ్రాయవచ్చు మరియు ఈ దీర్ఘచతురస్రానికి ఇక్కడ మరొకటి ఉంది, కాని మనకు ఈ కెన్ కంటే మెరుగైనది ఎందుకంటే ఈ కాలమ్ 0 0 ఈ కాలమ్ 1,0 కి ప్రక్కనే ఉంది . - 143. వాస్తవానికి, ఈ నాలుగు 1 ను ఒకే దీర్ఘచతురస్రంతో కలపవచ్చు. - 144. మరియు ఈ దీర్ఘచతురస్రంతో సరిపోయే పదం A నుండి స్వతంత్రంగా ఉండాలి, ఎందుకంటే ఇక్కడ A 0, 1 ఇక్కడ, దీనికి B సార్లు ఉండాలి ఎందుకంటే B ఇక్కడ 0. - 145. ఇది D నుండి స్వతంత్రంగా ఉండాలి, ఎందుకంటే D 0 ఇక్కడ 1; మరియు అది సి బార్ కలిగి ఉండాలి ఎందుకంటే సి ఇక్కడ 0, మరియు అది మాకు బి బార్ సి బార్ ఇస్తుంది. - 146. ఇప్పుడు ఈ ఉదాహరణను పరిశీలిద్దాం, ఇది చాలా ముఖ్యమైన విషయాన్ని తెలియజేస్తుంది. - 147. మాకు ఇక్కడ మూడు 1 లు ఉన్నాయి. - 148. ఇది 1, A BC సార్లు D సార్లు అనుగుణంగా ఉంటుంది, ఇక్కడ ఇది మొదటి పదం. - 149. రెండవ పదం - ఇది 1 A BC బార్ D. కి అనుగుణంగా ఉంటుంది. - 150. మరియు మూడవ 1 నుండి A సార్లు BC సార్లు D - ఇక్కడ మూడవ పదం. - 151. ఇప్పుడు, మనకు మూడు 1 మరియు 3 మాత్రమే ఉన్నాయి, 2 యొక్క శక్తి కాదు, ఈ 1 ను ఒక పదంగా మిళితం చేయలేము; అయితే, వాటిని రెండు పదాలుగా మిళితం చేయవచ్చు మరియు ఎలా ఉంటుందో మనం చూస్తాము. - 152. వాస్తవానికి, మేము రెండు దీర్ఘచతురస్రాలను ఒకేలా చేయగలము మరియు ఈ మూడు 1 లను కప్పి ఉంచగలము, కాని ఈ 1 రెండుసార్లు కప్పబడిందని గమనించండి, ఇప్పుడు అది సరేనా? X 1 ను BC సార్లు D సార్లు ప్లస్ A BC సార్లు D గా వ్రాద్దాం మరియు మేము ఈ పదాన్ని రెండుసార్లు వ్రాస్తాము, కాబట్టి ఒక BC సార్లు D ప్లస్ A BC సార్లు D మరియు తరువాత ఈ పదం. - 153. ఇప్పుడు, ఈ రెండు పదాలలో, ఒక BC బార్ సాధారణం మరియు తరువాత మనకు D ప్లస్ D బార్ కూడా వస్తుంది; మరియు ఈ రెండు పదాలలో BC సార్లు D సాధారణం, ఆపై మనకు A ప్లస్ A సార్లు లభిస్తాయి. - 154. ఇప్పుడు, ఇది 1, ఇది కూడా 1 మరియు ఇది మనకు ఈ కనీస వ్యక్తీకరణను BC సార్లు మరియు BC సార్లు D. ఇస్తుంది. - 155. మరియు మేము నిజంగా ఈ బీజగణితం ద్వారా వెళ్ళవలసిన అవసరం లేదు. - 156. కేవలం పరిశీలించడం ద్వారా మనం దీన్ని చేయవచ్చు. - 157. ఈ రెండు 1 లను కవర్ చేయడానికి మనం రెండు దీర్ఘచతురస్రాలను గీయవచ్చు మరియు మరొకటి ఈ రెండు 1 లను కవర్ చేయడానికి. - 158. మరియు మేము దానిని 1 రెండుసార్లు కవర్ చేసినట్లు కనిపిస్తోంది, కాని మేము ఈ గుర్తింపును ఇక్కడ ఉపయోగిస్తున్నందున. - 159. ఈ పదం దీనిని Y అని పిలుస్తుంది, మేము Y ను Y ప్లస్ Y కి సమానంగా వ్రాసాము మరియు ఇది ఖచ్చితంగా మంచిది. - 160. మరొక ఉదాహరణ, ఈ నాలుగు 1 లను ఒకే పదంతో ఇక్కడ కలపవచ్చు; ఈ రెండు 1 లను ఈ రెండు 1 లతో కలపవచ్చు, ఎందుకంటే ఈ కాలమ్ మరియు ఈ కాలమ్ తార్కికంగా ప్రక్కనే ఉన్నాయి. - 161. ఈ రెండింటినీ మనం మాత్రమే కలిపితే ఏమి జరుగుతుంది? ఈ దీర్ఘచతురస్రానికి రెండు 1 లు మాత్రమే ఉంటాయి మరియు అంటే మూడు వేరియబుల్స్‌తో ఉత్పత్తి పదం. - 162. అయితే, ఈ దీర్ఘచతురస్రం నాలుగు 1 యొక్క ple దా రంగును కలిగి ఉంది మరియు అందువల్ల, ఇది మాకు రెండు వేరియబుల్స్‌తో ఉత్పత్తి పదాన్ని ఇస్తుంది. - 163. అందువల్ల, మేము వేరియబుల్‌ను రెండు 1 నుండి నాలుగు 1 యొక్క 1 కి తరలించకుండా ఉంటాము. - 164. ఇప్పుడు, ఈ 1 ఏ పొరుగువారితో సంబంధం కలిగి ఉండదు మరియు అందువల్ల ఇది ఒక చిన్నదిగా మిగిలిపోయింది; ఈ 1 ఈ 1 కి ప్రక్కనే ఉంది, ఎందుకంటే ఈ అడ్డు వరుస మరియు ఈ అడ్డు వరుస తార్కికంగా ప్రక్కనే ఉన్నాయి, కాబట్టి మనం ఆ 1 ని ఈ 1 తో కలపవచ్చు. - 165. 1 లో కొన్ని చాలాసార్లు ఉపయోగించబడ్డాయి. - 166. మరియు మనం ఇంతకుముందు చూసినట్లుగా, గుర్తింపు Y కారణంగా Y ప్లస్ Y కి సమానం. - 167. ఉదాహరణకు, ఈ 1 గులాబీ దీర్ఘచతురస్రంతో పాటు ple దా దీర్ఘచతురస్రంలో ఉపయోగించబడింది. - 168. ఈ 1 pur దా దీర్ఘచతురస్రాలతో పాటు ఆకుపచ్చ దీర్ఘచతురస్రాల్లో కూడా ఉపయోగించబడింది. - 169. మేము 1 పలుసార్లు ఉపయోగించవచ్చు మరియు ఈ మొత్తం వ్యాయామం యొక్క మొత్తం ఉద్దేశ్యం ఏమిటి, మేము మొత్తం 1 యొక్క ప్రధాన మ్యాప్‌లో తక్కువ సంఖ్యలో దీర్ఘచతురస్రాలను చేర్చాలనుకుంటున్నాము, ఇది మాకు ఉత్పత్తిని ఇస్తుంది (చివరి కనిష్ట వ్యక్తీకరణలో) అతిచిన్న సంఖ్యను అందిస్తుంది ఉత్పత్తుల, మరియు ప్రతి దీర్ఘచతురస్రంతో సాధ్యమైనంత. - 170. మరియు అది మనకు ఏమి చేస్తుందంటే అది తక్కువ సంఖ్యలో వేరియబుల్స్‌తో ఉత్పత్తుల నిబంధనలను ఇస్తుంది, ఇది మాకు కనీస వ్యక్తీకరణను ఇస్తుంది. - 171. ఇప్పుడు, ఈ దీర్ఘచతురస్రాలకు కనీస వ్యక్తీకరణ ఏమిటో చూద్దాం. - 172. ఉదాహరణకు, బార్ సి బార్ ఈ ఆకుపచ్చ దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది మరియు మీరు దీన్ని నిజంగా ధృవీకరించాలి. - 173. అందువల్ల, ఆకుపచ్చ దీర్ఘచతురస్రానికి అనుగుణమైన కనీస వ్యక్తీకరణలో మనకు నాలుగు పదాలు ఉన్నాయి, ఒకటి ఈ ple దా దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఈ పసుపు దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఇది ఒకే మైనర్ మాత్రమే మరియు ఈ ఎరుపు దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఒకటి, ఇది మా చివరి కనిష్ట వ్యక్తీకరణ. - 174. కొన్ని డోంట్ కేర్ కండిషన్ ఉన్న ఈ ఉదాహరణను చూద్దాం. - 175. X చేత సూచించబడిన డోంట్ కేర్ కండిషన్ ఉంది మరియు ఇక్కడ మరొకటి ఉంది. - 176. ఇప్పుడు, ఈ X లతో మనం ఏమి చేయాలి అనేది ప్రశ్న. - 177. మేము ఈ X, 0 లేదా 1 ను తయారు చేయవచ్చు, అదేవిధంగా మనం ఈ X, 0 లేదా 1 ను తయారు చేయవచ్చు మరియు మంచి ఎంపిక ఏమిటనేది ప్రశ్న. - 178. మనం ఈ X ని 0 కి సమానంగా చేస్తామని అనుకుందాం, మరియు ఈ X కూడా 0 కి సమానం, అప్పుడు మనకు ఏమి ఉంది, అప్పుడు మనకు ఈ 1 ఇక్కడ ఉంది 1 ఇక్కడ 1 ఈ 1 ఈ 1 మరియు ఈ 1 మనకు రెండు 1 1 లో ఐదు 1 ఉంటుంది ఒక దీర్ఘచతురస్రంతో కలిపి. అవి రెండు 1 ల దీర్ఘచతురస్రాన్ని కూడా జోడించగలవు. - 179. ఈ 1 వాస్తవానికి ఇక్కడ ఈ 1 కి దగ్గరగా ఉంది, కాబట్టి ఈ రెండింటినీ కూడా కలపవచ్చు.+ - 180. కాబట్టి, మనకు మూడు దీర్ఘచతురస్రాలు ఉన్నాయి, అంటే, చివరి వ్యక్తీకరణకు మూడు ఉత్పత్తి పదాలు ఉంటాయి, మరియు ప్రతి పదానికి మూడు వేరియబుల్స్ ఉంటాయి, కాబట్టి ఇది స్థానం మరియు ఈ చిరునామా దీని కంటే మెరుగైన పని చేద్దాం మరియు ఎలా చూద్దాం. - 181. మనం ఈ X ని 0 కి సమానంగా చేస్తామని అనుకుందాం, మరియు ఈ X ని 1 కి సమానంగా చేస్తాము. - 182. ఇప్పుడు మనకు మంచి కేసు ఉందని కనుగొన్నాము, ఈ 1 రెండింటినీ ఒక దీర్ఘచతురస్రంతో కలపవచ్చు మరియు ఈ నాలుగు 1 మరొక దీర్ఘచతురస్రంతో కలపవచ్చు - 183. I - 184. మరియు దీనితో, చివరి వ్యక్తీకరణ సి డి బార్ ప్లస్ ఎ బార్ సి బార్ డిలో మనకు రెండు పదాలు మాత్రమే ఉన్నాయి మరియు ఇది ఖచ్చితంగా మా మొదటి ఎంపిక కంటే మంచి ఎంపిక, ఇందులో రెండూ ఎక్స్ 0. - 185. అందువల్ల, K- మ్యాప్‌లో మనకు డోంట్ కేర్ కండిషన్ ఉన్నప్పుడు, మేము వివిధ అవకాశాలను పరిగణనలోకి తీసుకోవాలి మరియు కనిష్ట వ్యక్తీకరణను ఇచ్చే సంభావ్యతను ఎంచుకోవాలి. - 186. సారాంశంలో, తార్కిక పనితీరును తగ్గించడానికి K- మ్యాప్‌ను ఉపయోగించడం నేర్చుకున్నాము. - 187. ప్రస్తుతానికి తరువాతి విషయాలలో ఈ టెక్నిక్ చాలా ఉపయోగకరంగా ఉంటుంది. - 188. తరువాత కలుద్దాం. + బసిక్ ఎలెక్ట్రొనిక్స్ కు స్వాగతము. + ఈ తరగతి లో, ఇచ్చిన తార్కిక పనితీరును తగ్గించటానికి కర్ణ్గ్ పటాలు లేదా K- పటాల వాడకాన్ని చూద్దాం. + మొదట, K- మ్యాప్ ఎలా నిర్మించబడిందో చూద్దాం; సంబంధిత K- మ్యాప్ నుండి లాజికల్ ఫంక్షన్ యొక్క కనిష్ట రూపాన్ని ఎలా వ్రాయాలో చూద్దాం. + చివరగా, తార్కిక ఫంక్షన్ యొక్క సత్య పట్టికలోని విలువలు పట్టించుకోని కొన్ని ఉదాహరణలను మేము తీసుకుంటాము. + ప్రారంభిద్దాం ఇప్పుడు మేము తార్కిక పనితీరును తగ్గించడానికి మరియు కర్నాగ్ మ్యాప్‌ను లేదా K- మ్యాప్ అని పిలిచే ఒక సరళమైన మార్గాన్ని చర్చిస్తాము. + K- మ్యాప్ అంటే ఏమిటి? ఇది తార్కిక ఫంక్షన్ యొక్క సత్య పట్టికను సూచిస్తుంది. + మరియు K- మ్యాప్ యొక్క అనేక ఉదాహరణలు మనం చూస్తాము. + K- మ్యాప్ ఒక ఫంక్షన్ యొక్క కనీస వ్యక్తీకరణను మొత్తం రూపం యొక్క ఉత్పత్తి లేదా మొత్తం ఉత్పత్తుల రూపంలో పొందటానికి ఉపయోగించవచ్చు. + ఇప్పుడు, మా కోర్సులో, మేము మొదటి 1 ఉత్పత్తుల మొత్తంతో ఎక్కువగా వ్యవహరిస్తాము, కానీ అది ఎలా జరుగుతుందో మీరు అర్థం చేసుకున్న తర్వాత, మీరు మొత్తం K- మ్యాప్ యొక్క ఉత్పత్తిని పొందుతారు. (మ్యాప్) కూడా సులభంగా తీసుకోవచ్చు. + మనల్ని మనం ప్రశ్నించుకోవలసిన ప్రశ్న; కనిష్ట వ్యక్తీకరణ అంటే ఏమిటి? సమాధానం ఇక్కడ ఇవ్వబడింది: కనిష్ట వ్యక్తీకరణగా కనిష్ట వ్యక్తీకరణ మరియు ప్రతి పదం కనీస సంఖ్య వేరియబుల్స్ కలిగి ఉంటుంది, కాబట్టి కనిష్టం దాని కనీస సంఖ్య. అర్థం. + ప్రతి తార్కిక ఫంక్షన్‌కు ప్రత్యేకమైన కనీస వ్యక్తీకరణ ఉందా అనేది తదుపరి ప్రశ్న. + సమాధానం ఎక్కువగా అవును, కానీ కొన్ని ఫంక్షన్ల కోసం, ఒకటి కంటే ఎక్కువ కనిష్ట వ్యక్తీకరణలను కలిగి ఉండటం సాధ్యమే. + ఇప్పుడు, మినిమల్ ఎక్స్‌ప్రెషన్‌పై మాకు ఆసక్తి ఉండటానికి ఇదే కారణం. + తక్కువ వ్యక్తీకరణలతో తక్కువ వ్యక్తీకరణను అమలు చేయవచ్చు మరియు అందుకే అమలు చౌకగా ఉంటుంది. + కాబట్టి, ఇప్పుడు K- మ్యాప్ యొక్క ఉదాహరణను చూద్దాం, ఒక తార్కిక ఫంక్షన్ Y మూడు వేరియబుల్స్ AB మరియు C ఉంది, మనకు 1 ఇక్కడ 1 1 1 ఉంది. + మరియు మనకు ఇక్కడ డోంట్ కేర్ కండిషన్ ఉంది, మరియు మిగిలిన ఎంట్రీలు 0 .. + కాబట్టి ఈ మ్యాప్‌ను గీయడం ప్రారంభిద్దాం మరియు దాని అర్థం ఏమిటో చూద్దాం. + ఇది సి, మరియు దీని అర్థం సి ఇక్కడ 0, సి ఇక్కడ 1. + ఇవి A మరియు B విలువలకు అనుగుణంగా ఉంటాయి; ఇక్కడ A 0, B 0, A 0, B 1, A 1, B 1, A 1, B 0. + తర్వాతి దశ ఈ పట్టిక నుండి ఈ తార్కిక ఫంక్షన్ Y ను మ్యాప్ చేయడం. + కాబట్టి, మేము దీన్ని చేస్తాము. + మేము ఇక్కడ 1 తో ప్రారంభిస్తాము. + ఈ ఎంట్రీ 0 0 కోసం A, B అంటే ఏమిటి? కాబట్టి ఈ కాలమ్ ఇక్కడ ఉంది. + 1 అంటే సి అంటే ఏమిటి, కాబట్టి ఇది ఇక్కడ ఈ పంక్తి? కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. + కాబట్టి, అలాంటిది, ఈ 1 ఆ పెట్టెలో వెళ్తుంది. + మరియు దీని గురించి, AB 0 1, కాబట్టి ఇది కాలమ్ మరియు C 0, కాబట్టి ఇది అడ్డు వరుస. + కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. + ఈ X గురించి ఏమిటి, A B 1 0, ఈ కాలమ్ C 0, కాబట్టి ఇది అడ్డు వరుస. + కాబట్టి, మేము ఈ పెట్టె గురించి మాట్లాడుతున్నాము. + మరియు ఇక్కడ ఈ చివరిది A B 1 1 మరియు C 1, కాబట్టి ఇది కాలమ్ మరియు ఈ అడ్డు వరుస. + కాబట్టి, ఈ పెట్టెలు ఇక్కడ ఉన్నాయి. + ఇప్పుడు, ఇప్పటివరకు నింపని బాక్సుల గురించి, వారు ఈ 0 సెలను పొందుతారు; మరియు దీనితో మన పూర్తి K- మ్యాప్ ఇక్కడ చూపబడుతుంది. + ఇప్పుడు మనం కొన్ని పరిశీలనలు చేద్దాం. + మేము చూసినది ఏమిటంటే, K- మ్యాప్ సత్య పట్టికతో సమానంగా ఉంటుంది, ఇది ఎంట్రీలు అమర్చబడిన విధానానికి సమానమైన సమాచారాన్ని కలిగి ఉంటుంది. + రెండవది మరియు ఇది చాలా ముఖ్యమైన విషయం, మీరు ఈ పాయింట్‌ను కోల్పోకపోతే ఫలితాలు ఘోరమైనవి. + అందువల్ల, మేము దానిపై చాలా శ్రద్ధ వహించాలి. + K- మ్యాప్‌లో, ప్రక్కనే ఉన్న వరుసలు లేదా నిలువు వరుసలు ఒకే వేరియబుల్‌లో విభిన్నంగా ఉంటాయి. + ఉదాహరణకు, AB 0 కాలమ్ నుండి 1 కి సమానంగా వెళ్ళేటప్పుడు - ఇది 01 నుండి 1 1 కు సమానం, ఒకే మార్పు ఉంది మరియు ఈ మార్పు వేరియబుల్ A లో ఉంటుంది. + అదేవిధంగా, మేము 1 1 నుండి 1 0 కి వెళ్ళినప్పుడు, B లో ఒక మార్పు మాత్రమే ఉంటుంది. + ఇక్కడ నాలుగు వేరియబుల్స్ ఉన్న K- మ్యాప్ ఉంది.  + కాబట్టి, A, B, C మరియు D ఫంక్షన్ Y మరియు అనుబంధ K- మ్యాప్‌ను కలిగి ఉంటాయి. + ఇది ఎలా పనిచేస్తుందో చూద్దాం. + ఈ విలువలు 0 0 0 1 1 1 మొదలైన వాటికి అనుగుణంగా ఉంటాయి. A మరియు B. + ఈ విలువలు సి మరియు డిలకు అనుగుణంగా ఉంటాయి మరియు మనం ఒక కాలమ్ నుండి మరొక కాలమ్‌కు వెళుతున్నప్పుడు, ఉదాహరణకు, ఒకే ఒక్క మార్పు మాత్రమే ఉందని, 0 0 నుండి 0 1 కు మార్చండి, బి వెళుతుంది, కానీ A లేదు 0 1 నుండి 1 1 కు మార్చండి, A కాని B కాదు. + అదేవిధంగా, మనం ఒక పంక్తి నుండి మరొక రేఖకు వెళుతున్నప్పుడు, 0 నుండి 0 కి 1 కి, D మార్పు 0 నుండి 1 కి మారుతుంది, కాని C కాదు.+ + ఇప్పుడు ఈ ఫార్మాట్ నుండి కొన్ని ఎంట్రీలకు Y యొక్క మ్యాపింగ్ గురించి చూద్దాం. + ఉదాహరణకు, దీనిని పరిగణించండి. + A మరియు B - 0 0 అంటే ఏమిటి, C మరియు D - 0 1. కాబట్టి, మనకు A B - 0 0 మరియు C D - 0 1. కాబట్టి, మనకు ఈ కాలమ్ మరియు ఈ వరుస ఉంది మరియు అక్కడ 1 వెళ్తుంది. + ఉదాహరణకు ఈ X ను తీసుకుందాం, మనకు AB 0 1 కి సమానం, మరియు మనకు 0 1 కి సమానమైన CD ఉంది. + కాబట్టి, AB ఈ కాలమ్ 1 1 కి సమానం, మరియు CD ఈ అడ్డు వరుస 0 1 కి సమానం మరియు అందుకే X అక్కడ ఉంది, మొదలైనవి. + మీరు ఇతర ఎంట్రీలను కూడా తనిఖీ చేయవచ్చు. + ఫంక్షన్ల యొక్క కొన్ని ఉదాహరణలను ఒకే పదంతో చూద్దాం. + కాబట్టి, ఇది ఒకే ఉత్పత్తి పదం, ఇది A మరియు B, C బార్ మరియు D ఆపరేషన్ మరియు AND ఆపరేషన్. + మరియు అది 1 కి సమానంగా ఉన్నప్పుడు, 1 కి B 1 కు సమానం మరియు C D 0 కి సమానం, అప్పుడు ఈ 1 కనిపించే కాలమ్ మరియు అడ్డు వరుస. + X 2 అనే మరొక ఉత్పత్తి పదాన్ని పరిశీలిద్దాం, ఇప్పుడు ఈ పదానికి A, C మరియు D అనే మూడు వేరియబుల్స్ మాత్రమే ఉన్నాయి మరియు A 0 అయితే X 2, 1; అంటే, రెండు నిలువు వరుసలు ఎందుకంటే A ఇక్కడ 0, A కూడా ఇక్కడ 0, కాబట్టి ఇవి రెండు నిలువు వరుసలు. + మరియు C D అంటే ఏమిటి, C D 0 అవుతుంది. ఇది లైన్. + కాబట్టి, మనకు రెండు 1 లు ఉన్నాయి. + మరొక ఉదాహరణ తీసుకుందాం. A మరియు C X 3 కి సమానం ఇది మరొక ఉత్పత్తి పదం, ఒకే ఉత్పత్తి పదం. + X 3 ఎప్పుడు 1 కి సమానం? A 1 మరియు C 1 అయినప్పుడు; ఈ రెండు వరుసలలో A 1 మరియు ఈ రెండు వరుసలలో C 1, కాబట్టి మనకు ఇక్కడ నాలుగు 1 సె ఉన్నాయి. + ఇప్పుడు, మేము ఈ రకమైన ఫంక్షన్లకు సంబంధించిన కొన్ని పరిశీలనలు చేస్తాము, ఇక్కడ ఫంక్షన్ ఒకే ఉత్పత్తి పదం, కానీ వివిధ రకాల వేరియబుల్స్ తో. + ఇక్కడ, మనకు నాలుగు వేరియబుల్స్ ఉన్నాయి, ఇక్కడ మనకు మూడు వేరియబుల్స్ ఉన్నాయి, మరియు ఇక్కడ మనకు రెండు వేరియబుల్స్ ఉన్నాయి. + K- మ్యాప్‌లో ఈ ఫంక్షన్లలో వేరియబుల్స్ సంఖ్య మరియు 1 సంఖ్యను ప్రదర్శించే పట్టిక ఇక్కడ ఉంది. + ఈ సందర్భంలో మనకు నాలుగు వేరియబుల్స్ ఉంటే, మనకు 1 1 ఉంటుంది. + ఈ సందర్భంలో మనకు మూడు వేరియబుల్స్ ఉంటే, మనకు 21 ఒకసారి ఉంది, అది రెండు 1 సె. + మరియు ఈ సందర్భంలో రెండు వేరియబుల్స్ ఉంటే, అప్పుడు మనకు K- మ్యాప్‌లో 22 లేదా 4, 1 ఉన్నాయి. + అందువల్ల, ఈ ప్రతి సందర్భంలో, 1 యొక్క సంఖ్య 2 యొక్క శక్తి ద్వారా ఇవ్వబడుతుంది మరియు ఇది గుర్తుంచుకోవలసిన చాలా ముఖ్యమైన విషయం. + కాబట్టి, ఇది 1 సంఖ్య గురించి మరియు ఇప్పుడు మేము ఈ 1 యొక్క స్థానం గురించి మాట్లాడాలనుకుంటున్నాము. + K- మ్యాప్స్‌లో ఈ 1 ఎలా కనిపిస్తాయి? మరియు మేము ఈ ఉదాహరణలను పరిశీలిస్తే, ప్రతి సందర్భంలో 1 ఒక దీర్ఘచతురస్రం ద్వారా జతచేయబడిందని మేము కనుగొన్నాము. + కాబట్టి, ఇక్కడ ఒక దీర్ఘచతురస్రం ఉంది, ఇక్కడ ఒక దీర్ఘచతురస్రం ఉంది మరియు వాస్తవానికి, ఇది కేవలం ప్రవేశం మాత్రమే. + ఇప్పుడు, ఈ 1 ఒకదానికొకటి ప్రక్కనే కనిపిస్తాయి మరియు ఇక్కడ 1 కాదు మరియు ఇక్కడ మరొకటి కాదు, తద్వారా ఈ రెండు ఎంటిటీల చుట్టూ ఒక దీర్ఘచతురస్రాన్ని తయారు చేయవచ్చు మరియు ఈ నాలుగు గురించి ఒకే విధంగా ఉంటుంది, కాబట్టి ఇది చాలా ముఖ్యమైన విషయం + దానిని చూద్దాం; మునుపటి స్లైడ్‌లో మేము చేసిన పాయింట్లను అదే ఉదాహరణ మరోసారి సంగ్రహిస్తుంది. + వీటన్నింటికీ ఒకే ఉత్పత్తి పదం అయిన ఫంక్షన్ మనకు ఉంటే, అప్పుడు మేము K- మ్యాప్ గురించి రెండు పాయింట్లు చేయవచ్చు. + పాయింట్ సంఖ్య 1, సంఖ్య 1 2 యొక్క శక్తి ద్వారా ఇవ్వబడుతుంది - 20, 21, 22 కి పెరుగుతుంది మరియు పాయింట్ సంఖ్య 2, 1 యొక్క స్థానం ఎసి, మనం వాటి చుట్టూ దీర్ఘచతురస్రాన్ని గీయగలము. + ఇప్పుడు, ఈ విషయాలను దృష్టిలో పెట్టుకుని, మేము ముందుకు వెళ్తాము. + ఇప్పుడు మనం Y 1 ఫంక్షన్‌ను పరిశీలిద్దాం, ఇది X 1, X 2 మరియు X 3 యొక్క మొత్తం, ఇది X 1, X 2 మరియు X3 యొక్క OR ఆపరేషన్. + X 1 1 లేదా X 2 1 లేదా X 3 1 అయితే Y యొక్క మ్యాప్ ఎలా ఉంటుంది. + కాబట్టి, ఇప్పుడు మనం చేయాల్సిందల్లా ఈ మూడు పటాలలో 1 యొక్క స్థానాన్ని చూడండి మరియు Y యొక్క మ్యాప్‌లో ఆ 1 ని పునరావృతం చేయండి, అది అంత సులభం. + ఉదాహరణకు, ఈ 1, మేము ఈ రెండు 1 లకు ఇక్కడకు వెళ్తాము, మరియు ఈ నాలుగు 1 లు ఇక్కడకు వెళ్తాయి మరియు ఇది y ఫంక్షన్ కోసం ఒక మ్యాప్‌ను ఇస్తుంది. + ఇప్పుడు మనకు ఆసక్తి ఉన్న నిజమైన సమస్యకు వచ్చాము. + ఇచ్చిన K- మ్యాప్ నుండి కనీస వ్యక్తీకరణను గుర్తించడానికి ఆసక్తి. + కాబట్టి, ఈ Y ని ఉదాహరణగా తీసుకోండి, మాకు ఈ మ్యాప్ ఇవ్వబడింది. + మరియు ఈ మ్యాప్ నుండి, మేము ఫంక్షన్ కోసం కనీస వ్యక్తీకరణను కనుగొనాలనుకుంటున్నాము. + మరియు మనం కనిష్టంగా ఏమి అర్థం చేసుకోవాలి, ప్రతి పదంలో అతిచిన్న సంఖ్య మరియు వేరియబుల్ యొక్క అతిచిన్న సంఖ్య ఉండాలి, అంటే, 2 కె కలిగి ఉన్న 2 అతిచిన్న దీర్ఘచతురస్రాలను మనం గుర్తించాలి. ప్రతి ఒక్కటి 1 పెంచడానికి. + ఈ ప్రత్యేక ఉదాహరణ సందర్భంలో దీని అర్థం ఏమిటో చూద్దాం. + కాబట్టి, ఈ K- మ్యాప్ మాకు ఇవ్వబడింది మరియు సంబంధిత కనిష్ట వ్యక్తీకరణను కనుగొనమని అడుగుతారు. + దాని గురించి మనం ఎలా వెళ్తాము, మొదట 1 మరియు 0 మాత్రమే ఉన్న దీర్ఘచతురస్రాలను గుర్తించాము, అంటే 1 సంఖ్య 2 యొక్క శక్తి. + కాబట్టి, మేము రెండు 1 లేదా నాలుగు 1 లేదా ఎనిమిది 1 లతో దీర్ఘచతురస్రాలను గుర్తించాము. + I + ప్రతి దీర్ఘచతురస్రం కోసం మనం దీన్ని ఎలా చేయాలో ఇంకా చూడని ఉత్పత్తి పదాన్ని వ్రాయగలమని ఇప్పుడు మనకు తెలుసు. + కాబట్టి, మనకు మూడు దీర్ఘచతురస్రాలు ఉన్నందున మూడు పదాలు ఉన్నాయి, ఇది ఒక దీర్ఘచతురస్రం, దీనికి ఒక పదం ఉంది, కాబట్టి ఒక దీర్ఘచతురస్రం, మరొక దీర్ఘచతురస్రం మూడవది. దీర్ఘచతురస్రం. + అందువల్ల, ఈ పటం నుండి మనకు మూడు పదాలు ఉన్నాయని తెలుసు, ఆపై ఈ నిబంధనలలో ప్రతిదాన్ని వ్రాయడానికి మేము ముందుకు వెళ్తాము మరియు ఇది మాకు కనీస వ్యక్తీకరణను ఇస్తుంది. + అందువల్ల, మేము కొన్ని ఉదాహరణల కోసం దీన్ని చేయాలి మరియు అది చాలా స్పష్టంగా తెలుస్తుంది. + కాబట్టి, ఇక్కడ మా మొదటి ఉదాహరణ, మరియు ఈ K- మ్యాప్ ఇచ్చిన ఈ తార్కిక ఫంక్షన్ Y కోసం కనీస వ్యక్తీకరణను కనుగొనాలనుకుంటున్నాము. + కాబట్టి, మొదటి ప్రశ్న ఏమిటి, ఎన్ని 1 లు ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాము; మరియు రెండు 1 లు ఉన్నాయని మనం చూస్తాము. + మరియు ఈ సందర్భంలో ఒక ప్రక్కనే ఉంది, కాబట్టి మనం ఈ రెండు వంటి దీర్ఘచతురస్రాన్ని కవర్ చేయవచ్చు. + 21 కాబట్టి, 1 యొక్క దీర్ఘచతురస్రాన్ని తయారు చేయడం ద్వారా మేము వాటిని జోడించవచ్చు. + K- మ్యాప్‌లో ఉన్న అన్ని 1 ని దీర్ఘచతురస్రం కవర్ చేస్తుంది కాబట్టి - ఈ రెండూ 1 లు, తార్కిక ఫంక్షన్ Y ఒకే ఉత్పత్తి అని మేము నిర్ధారించగలము. కాలం దీని ద్వారా సూచించబడుతుంది. + తదుపరి ప్రశ్న ఏమిటంటే ఉత్పత్తి పదం ఏమిటి? కొన్ని పరిశీలనలు చేద్దాం. + A - ఉత్పత్తి పదం 1, B 1 కి సమానం మరియు సి 0 కి సమానం. + మరియు ఇవి మా ఉత్పత్తి పదం ద్వారా కవర్ చేయబడిన K- మ్యాప్ నుండి రెండు 1 అని మనం చూడవచ్చు; దీని కోసం, B యొక్క విలువ 1; దీని కోసం, B యొక్క విలువ కూడా 1 కి 1. + కాబట్టి, మొదటి ప్రశ్న ఏమిటి, మేము ఎన్ని 1 ఉన్నాయి తెలుసుకోవడానికి మేము కోరారు; మరియు మేము రెండు 1 యొక్క ఉన్నాయి చూడండి. + రెండవది - ఉత్పత్తి పదం A పై ఆధారపడి ఉండదు; మరియు మేము ఇక్కడ నుండి చూడవచ్చు; ఆ ఉత్పత్తి పదం 1, A 0 అయితే; A 1 అయితే ఇది కూడా 1. ఇది స్పష్టంగా A పై ఆధారపడదు. + ఈ పరిస్థితులన్నింటినీ సంతృప్తిపరిచే ఏకైక ఉత్పత్తి పదం B మరియు C సార్లు. + B 1 మరియు C 0 అయితే ఈ ఉత్పత్తి పదం 1, మరియు అది A పై ఆధారపడదు. మరియు ఈ సందర్భంలో, ఈ ఉత్పత్తి పదం తార్కిక ఫంక్షన్ Y యొక్క ప్రాతినిధ్యం. Y, BC కి సమానం అని మనం చెప్పగలం సార్లు. + మరియు ఇక్కడ నుండి, ఉత్పత్తి పదం 1 అయితే A 0 అని మనం చూడవచ్చు; A 1 అయితే ఇది కూడా 1. ఇది స్పష్టంగా A పై ఆధారపడదు. + ఇప్పుడు, ఈ పరిస్థితులన్నింటినీ సంతృప్తిపరిచే ఏకైక ఉత్పత్తి పదం BC బార్ అని తేలింది; B సార్లు 1 మరియు C 0 అయితే BC సార్లు 1; మరియు BC బార్ A పై ఆధారపడదు మరియు ఈ ప్రత్యేక ఉదాహరణలో, మేము గుర్తించిన ఉత్పత్తి పదం తార్కిక ఫంక్షన్ Y, ఎందుకంటే Y కి ఒకే ఉత్పత్తి పదం ఉందని మేము ఇంతకుముందు చెప్పినందున ఇది K లోని అన్ని 1 లను కప్పి ఉంచే ఒకే దీర్ఘచతురస్రం. -మ్యాప్, కాబట్టి Y BC కాలానికి సమానమని మేము నిర్ధారించాము. + తదుపరి ఉదాహరణ, మరోసారి మనకు రెండు 1 ఉన్నాయి, ఇది ఒకటి మరియు ఇది ఒకటి. + మరియు ఈ రెండింటినీ మనం కలపగలమా అనే ప్రశ్న, 1 యొక్క శక్తి 2 యొక్క శక్తి అయినప్పటికీ, అవి జతచేయబడవు ఎందుకంటే అవి ప్రక్కనే లేనందున అవి దీర్ఘచతురస్రం కావు. + వీటిలో ఏది 1 అని మనం ఆలోచించగల ఏకైక దీర్ఘచతురస్రం ఇది ఒకటి, కానీ ఆ సందర్భంలో అది కూడా 0 కలిగి ఉంటుంది మరియు వాస్తవానికి, మనకు అక్కరలేదు. + కాబట్టి, అప్పుడు మనకు రెండు పదాలతో కూడిన ఫంక్షన్ ఉంది, అవి మిళితం కావు మరియు వాటిలో ప్రతి ఒక్కటి ఒక మైనర్. + ఈ మిన్‌మార్ట్ అంటే ఏమిటి? A 1 అయినప్పుడు ఇది 1, B 1 మరియు C 0, కాబట్టి ఇది BC సార్లు. + ఈ మైనర్ అంటే ఏమిటి, ఇది 1, ఎ 1 అయినప్పుడు, బి 0, మరియు సి 1, కాబట్టి ఇది ఎ బి రెట్లు సి అవుతుంది. + కాబట్టి, మా ఫంక్షన్ ఈ పదం అలాగే A BC బార్ ప్లస్ A B బార్ సి వంటి పదం, మరియు దీనిని మరింత తగ్గించలేము. + తదుపరి ఉదాహరణ, మరోసారి మనకు రెండు 1, ఇక్కడ ఒకటి మరియు ఇక్కడ ఒకటి ఉన్నాయి. + మరియు ఈ రెండు 1 కలపవచ్చా అనేది ప్రశ్న. + ఇప్పుడు, ఈ రెండింటిని చేర్చడానికి ఈ 0 ను చేర్చకుండా మనం దీర్ఘచతురస్రాన్ని కూడా చేయలేమని మనకు అనిపిస్తుంది, అందువల్ల మన దగ్గర 1 ఉంది, కాబట్టి 1 ని జోడించలేము. + నిలువు వరుసల క్రమాన్ని చక్రీయ పద్ధతిలో మార్చడం ద్వారా ఈ K- మ్యాప్‌ను పున ate సృష్టి చేద్దాం మరియు మనకు ఏమి లభిస్తుందో చూద్దాం. + ఇక్కడ సవరించిన K- మ్యాప్ ఉంది మరియు మనం ఇక్కడ ఏమి చేసాము, మొదట ఈ 1, 0 నిలువు వరుసను 0 0 తరువాత మరియు తరువాత 1 1 నుండి సంగ్రహిస్తాము, కాబట్టి 0 0 0 1 మరియు 1 1. మరియు ఈ రెండు ఎంట్రీలలో 1 0. + ఈ రెండు ఎంట్రీలు ఇక్కడ మరియు అక్కడకు తరలించబడ్డాయి. + కాబట్టి, ఇలా చేయడం ద్వారా మేము నిజంగా వాటి ఫంక్షన్‌ను మార్చడం లేదు, ఈ ఫంక్షన్ ఇప్పటికీ మనం చేసిన విధంగానే ఉంది, K- మ్యాప్ (మ్యాప్) లోని ఎంట్రీలను క్రమాన్ని మార్చడం. + ఇప్పుడు అది ఒకదానికొకటి పక్కన వచ్చిందని మనం చూస్తాము. + కాబట్టి, రెండు 1 లు వాస్తవానికి ప్రక్కనే ఉంటాయి మరియు అందువల్ల కలపవచ్చు. + మరియు ఈ దీర్ఘచతురస్రంతో సరిపోయే పదం ఏమిటి? + ఉత్పత్తి పదం B 0 అయితే 1 మరియు C 0 అయితే, మరియు అది A నుండి స్వతంత్రంగా ఉంటుంది, ఎందుకంటే A ఇక్కడ 1, మరియు A 0 ఇక్కడ ఉంది. + కాబట్టి, ఆ పదం B సార్లు C సార్లు ఉండాలి. + రెండవ పదం లో, AB కాలమ్ 0 0 కి సమానం, మరియు ఎడమ వైపున ఉన్న K- మ్యాప్‌లో 1 0, A b కి సమానం, వాస్తవానికి తార్కికంగా ప్రక్కనే ఉంటాయి. + కాబట్టి, ఈ రెండు నిలువు వరుసలు 0 0 మరియు 1 0 తార్కికంగా ప్రక్కనే ఉన్నాయి. + మరియు దాని అర్థం ఏమిటి; దీని అర్థం, మేము ఈ కాలమ్ నుండి ఈ కాలమ్‌కు వెళితే, ఒక వేరియబుల్ మాత్రమే మారుతుంది. + కాబట్టి, A 0 నుండి 1 కి మారుతోంది, కానీ B మారడం లేదు. + కాబట్టి, ఇవి రేఖాగణితంగా ప్రక్కనే లేనప్పటికీ, తార్కికంగా ప్రక్కనే ఉన్నాయి. + కాబట్టి మనం ఇక్కడ చేసినట్లుగా K- మ్యాప్‌ను పునర్నిర్వచించకుండా ఈ 1 ని జోడించవచ్చు. + ఈ రెండు నిలువు వరుసలు తార్కికంగా పరస్పరం ఉన్నాయని మనకు తెలిసినంతవరకు, ఈ 1 మరియు ఈ 1 ని కవర్ చేసే దీర్ఘచతురస్రం గురించి మనం ఆలోచించవచ్చు. ఈ ఉదాహరణ తీసుకుందాం. + మనకు 1, 2, 3 మరియు 4 ఎన్ని ఉన్నాయి మరియు ఈ నాలుగు 1 లు ఒకదానికొకటి ప్రక్కనే లేవని మరియు అందువల్ల కలపలేమని తెలుస్తుంది. + కానీ అవి వాస్తవానికి ప్రక్కనే ఉన్నాయి మరియు దీనికి కారణం ఈ కాలమ్ తార్కికంగా ఈ కాలమ్ ప్రక్కనే ఉంది. + అదేవిధంగా, ఈ పంక్తి ఈ అడ్డు వరుసకు ఆనుకొని ఉంది, కాబట్టి వాస్తవానికి దీర్ఘచతురస్రాన్ని గీయడం సాధ్యమవుతుంది, ఇది ఈ నాలుగు 1 లన్నింటినీ కవర్ చేస్తుంది. + మరియు ఈ K- మ్యాప్‌ను పునర్నిర్మించమని మీరు ఖచ్చితంగా ప్రోత్సహించబడతారు, తద్వారా ఈ నాలుగు 1 లు బంచ్‌గా కనిపిస్తాయి. + కాబట్టి, ఉత్పత్తి పదం A నుండి స్వతంత్రంగా ఉన్న ఈ నాలుగు 1 లతో సరిపోయే పదం ఏమిటి, ఎందుకంటే A ఇక్కడ 0 మరియు A ఇక్కడ 1, దీనికి B ఉంది ఎందుకంటే B ఇక్కడ 0 మరియు B ఇక్కడ 0. + ఇది సి నుండి స్వతంత్రంగా ఉంటుంది, ఎందుకంటే సి ఇక్కడ 0, సి ఇక్కడ 1; మరియు దీనికి D సార్లు ఉన్నాయి, ఎందుకంటే D ఇక్కడ 0, D ఇక్కడ 0. + కాబట్టి, మేము వెతుకుతున్న ఉత్పత్తి B కి D రెట్లు X కి సమానం. + మరో ఉదాహరణ మనకు నాలుగు 1 లు, 1 లు, 2 లు, 3 లు, 4 లు ఉన్నాయి. + మరియు ఈ రెండింటినీ కవర్ చేయగల దీర్ఘచతురస్రం గురించి మనం ఆలోచించవచ్చు, ఈ రెండింటినీ కవర్ చేయగల రెండవ దీర్ఘచతురస్రం. + కాబట్టి, మా ఫంక్షన్ ఈ దీర్ఘచతురస్రానికి అనుగుణమైన రెండు పదాల 1 మొత్తంగా వ్రాయవచ్చు మరియు ఈ దీర్ఘచతురస్రానికి ఇక్కడ మరొకటి ఉంది, కాని మనకు ఈ కెన్ కంటే మెరుగైనది ఎందుకంటే ఈ కాలమ్ 0 0 ఈ కాలమ్ 1,0 కి ప్రక్కనే ఉంది . + వాస్తవానికి, ఈ నాలుగు 1 ను ఒకే దీర్ఘచతురస్రంతో కలపవచ్చు. + మరియు ఈ దీర్ఘచతురస్రంతో సరిపోయే పదం A నుండి స్వతంత్రంగా ఉండాలి, ఎందుకంటే ఇక్కడ A 0, 1 ఇక్కడ, దీనికి B సార్లు ఉండాలి ఎందుకంటే B ఇక్కడ 0. + ఇది D నుండి స్వతంత్రంగా ఉండాలి, ఎందుకంటే D 0 ఇక్కడ 1; మరియు అది సి బార్ కలిగి ఉండాలి ఎందుకంటే సి ఇక్కడ 0, మరియు అది మాకు బి బార్ సి బార్ ఇస్తుంది. + ఇప్పుడు ఈ ఉదాహరణను పరిశీలిద్దాం, ఇది చాలా ముఖ్యమైన విషయాన్ని తెలియజేస్తుంది. + మాకు ఇక్కడ మూడు 1 లు ఉన్నాయి. + ఇది 1, A BC సార్లు D సార్లు అనుగుణంగా ఉంటుంది, ఇక్కడ ఇది మొదటి పదం. + రెండవ పదం - ఇది 1 A BC బార్ D. కి అనుగుణంగా ఉంటుంది. + మరియు మూడవ 1 నుండి A సార్లు BC సార్లు D - ఇక్కడ మూడవ పదం. + ఇప్పుడు, మనకు మూడు 1 మరియు 3 మాత్రమే ఉన్నాయి, 2 యొక్క శక్తి కాదు, ఈ 1 ను ఒక పదంగా మిళితం చేయలేము; అయితే, వాటిని రెండు పదాలుగా మిళితం చేయవచ్చు మరియు ఎలా ఉంటుందో మనం చూస్తాము. + వాస్తవానికి, మేము రెండు దీర్ఘచతురస్రాలను ఒకేలా చేయగలము మరియు ఈ మూడు 1 లను కప్పి ఉంచగలము, కాని ఈ 1 రెండుసార్లు కప్పబడిందని గమనించండి, ఇప్పుడు అది సరేనా? X 1 ను BC సార్లు D సార్లు ప్లస్ A BC సార్లు D గా వ్రాద్దాం మరియు మేము ఈ పదాన్ని రెండుసార్లు వ్రాస్తాము, కాబట్టి ఒక BC సార్లు D ప్లస్ A BC సార్లు D మరియు తరువాత ఈ పదం. + ఇప్పుడు, ఈ రెండు పదాలలో, ఒక BC బార్ సాధారణం మరియు తరువాత మనకు D ప్లస్ D బార్ కూడా వస్తుంది; మరియు ఈ రెండు పదాలలో BC సార్లు D సాధారణం, ఆపై మనకు A ప్లస్ A సార్లు లభిస్తాయి. + ఇప్పుడు, ఇది 1, ఇది కూడా 1 మరియు ఇది మనకు ఈ కనీస వ్యక్తీకరణను BC సార్లు మరియు BC సార్లు D. ఇస్తుంది. + మరియు మేము నిజంగా ఈ బీజగణితం ద్వారా వెళ్ళవలసిన అవసరం లేదు. + కేవలం పరిశీలించడం ద్వారా మనం దీన్ని చేయవచ్చు. + ఈ రెండు 1 లను కవర్ చేయడానికి మనం రెండు దీర్ఘచతురస్రాలను గీయవచ్చు మరియు మరొకటి ఈ రెండు 1 లను కవర్ చేయడానికి. + మరియు మేము దానిని 1 రెండుసార్లు కవర్ చేసినట్లు కనిపిస్తోంది, కాని మేము ఈ గుర్తింపును ఇక్కడ ఉపయోగిస్తున్నందున. + ఈ పదం దీనిని Y అని పిలుస్తుంది, మేము Y ను Y ప్లస్ Y కి సమానంగా వ్రాసాము మరియు ఇది ఖచ్చితంగా మంచిది. + మరొక ఉదాహరణ, ఈ నాలుగు 1 లను ఒకే పదంతో ఇక్కడ కలపవచ్చు; ఈ రెండు 1 లను ఈ రెండు 1 లతో కలపవచ్చు, ఎందుకంటే ఈ కాలమ్ మరియు ఈ కాలమ్ తార్కికంగా ప్రక్కనే ఉన్నాయి. + ఈ రెండింటినీ మనం మాత్రమే కలిపితే ఏమి జరుగుతుంది? ఈ దీర్ఘచతురస్రానికి రెండు 1 లు మాత్రమే ఉంటాయి మరియు అంటే మూడు వేరియబుల్స్‌తో ఉత్పత్తి పదం. + అయితే, ఈ దీర్ఘచతురస్రం నాలుగు 1 యొక్క ple దా రంగును కలిగి ఉంది మరియు అందువల్ల, ఇది మాకు రెండు వేరియబుల్స్‌తో ఉత్పత్తి పదాన్ని ఇస్తుంది. + అందువల్ల, మేము వేరియబుల్‌ను రెండు 1 నుండి నాలుగు 1 యొక్క 1 కి తరలించకుండా ఉంటాము. + ఇప్పుడు, ఈ 1 ఏ పొరుగువారితో సంబంధం కలిగి ఉండదు మరియు అందువల్ల ఇది ఒక చిన్నదిగా మిగిలిపోయింది; ఈ 1 ఈ 1 కి ప్రక్కనే ఉంది, ఎందుకంటే ఈ అడ్డు వరుస మరియు ఈ అడ్డు వరుస తార్కికంగా ప్రక్కనే ఉన్నాయి, కాబట్టి మనం ఆ 1 ని ఈ 1 తో కలపవచ్చు. + 1 లో కొన్ని చాలాసార్లు ఉపయోగించబడ్డాయి. + మరియు మనం ఇంతకుముందు చూసినట్లుగా, గుర్తింపు Y కారణంగా Y ప్లస్ Y కి సమానం. + ఉదాహరణకు, ఈ 1 గులాబీ దీర్ఘచతురస్రంతో పాటు ple దా దీర్ఘచతురస్రంలో ఉపయోగించబడింది. + ఈ 1 pur దా దీర్ఘచతురస్రాలతో పాటు ఆకుపచ్చ దీర్ఘచతురస్రాల్లో కూడా ఉపయోగించబడింది. + మేము 1 పలుసార్లు ఉపయోగించవచ్చు మరియు ఈ మొత్తం వ్యాయామం యొక్క మొత్తం ఉద్దేశ్యం ఏమిటి, మేము మొత్తం 1 యొక్క ప్రధాన మ్యాప్‌లో తక్కువ సంఖ్యలో దీర్ఘచతురస్రాలను చేర్చాలనుకుంటున్నాము, ఇది మాకు ఉత్పత్తిని ఇస్తుంది (చివరి కనిష్ట వ్యక్తీకరణలో) అతిచిన్న సంఖ్యను అందిస్తుంది ఉత్పత్తుల, మరియు ప్రతి దీర్ఘచతురస్రంతో సాధ్యమైనంత. + మరియు అది మనకు ఏమి చేస్తుందంటే అది తక్కువ సంఖ్యలో వేరియబుల్స్‌తో ఉత్పత్తుల నిబంధనలను ఇస్తుంది, ఇది మాకు కనీస వ్యక్తీకరణను ఇస్తుంది. + ఇప్పుడు, ఈ దీర్ఘచతురస్రాలకు కనీస వ్యక్తీకరణ ఏమిటో చూద్దాం. + ఉదాహరణకు, బార్ సి బార్ ఈ ఆకుపచ్చ దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది మరియు మీరు దీన్ని నిజంగా ధృవీకరించాలి. + అందువల్ల, ఆకుపచ్చ దీర్ఘచతురస్రానికి అనుగుణమైన కనీస వ్యక్తీకరణలో మనకు నాలుగు పదాలు ఉన్నాయి, ఒకటి ఈ ple దా దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఈ పసుపు దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఇది ఒకే మైనర్ మాత్రమే మరియు ఈ ఎరుపు దీర్ఘచతురస్రానికి అనుగుణంగా ఉంటుంది, ఒకటి, ఇది మా చివరి కనిష్ట వ్యక్తీకరణ. + కొన్ని డోంట్ కేర్ కండిషన్ ఉన్న ఈ ఉదాహరణను చూద్దాం. + X చేత సూచించబడిన డోంట్ కేర్ కండిషన్ ఉంది మరియు ఇక్కడ మరొకటి ఉంది. + ఇప్పుడు, ఈ X లతో మనం ఏమి చేయాలి అనేది ప్రశ్న. + మేము ఈ X, 0 లేదా 1 ను తయారు చేయవచ్చు, అదేవిధంగా మనం ఈ X, 0 లేదా 1 ను తయారు చేయవచ్చు మరియు మంచి ఎంపిక ఏమిటనేది ప్రశ్న. + మనం ఈ X ని 0 కి సమానంగా చేస్తామని అనుకుందాం, మరియు ఈ X కూడా 0 కి సమానం, అప్పుడు మనకు ఏమి ఉంది, అప్పుడు మనకు ఈ 1 ఇక్కడ ఉంది 1 ఇక్కడ 1 ఈ 1 ఈ 1 మరియు ఈ 1 మనకు రెండు 1 1 లో ఐదు 1 ఉంటుంది ఒక దీర్ఘచతురస్రంతో కలిపి. అవి రెండు 1 ల దీర్ఘచతురస్రాన్ని కూడా జోడించగలవు. + ఈ 1 వాస్తవానికి ఇక్కడ ఈ 1 కి దగ్గరగా ఉంది, కాబట్టి ఈ రెండింటినీ కూడా కలపవచ్చు.+ + కాబట్టి, మనకు మూడు దీర్ఘచతురస్రాలు ఉన్నాయి, అంటే, చివరి వ్యక్తీకరణకు మూడు ఉత్పత్తి పదాలు ఉంటాయి, మరియు ప్రతి పదానికి మూడు వేరియబుల్స్ ఉంటాయి, కాబట్టి ఇది స్థానం మరియు ఈ చిరునామా దీని కంటే మెరుగైన పని చేద్దాం మరియు ఎలా చూద్దాం. + మనం ఈ X ని 0 కి సమానంగా చేస్తామని అనుకుందాం, మరియు ఈ X ని 1 కి సమానంగా చేస్తాము. + ఇప్పుడు మనకు మంచి కేసు ఉందని కనుగొన్నాము, ఈ 1 రెండింటినీ ఒక దీర్ఘచతురస్రంతో కలపవచ్చు మరియు ఈ నాలుగు 1 మరొక దీర్ఘచతురస్రంతో కలపవచ్చు + I + మరియు దీనితో, చివరి వ్యక్తీకరణ సి డి బార్ ప్లస్ ఎ బార్ సి బార్ డిలో మనకు రెండు పదాలు మాత్రమే ఉన్నాయి మరియు ఇది ఖచ్చితంగా మా మొదటి ఎంపిక కంటే మంచి ఎంపిక, ఇందులో రెండూ ఎక్స్ 0. + అందువల్ల, K- మ్యాప్‌లో మనకు డోంట్ కేర్ కండిషన్ ఉన్నప్పుడు, మేము వివిధ అవకాశాలను పరిగణనలోకి తీసుకోవాలి మరియు కనిష్ట వ్యక్తీకరణను ఇచ్చే సంభావ్యతను ఎంచుకోవాలి. + సారాంశంలో, తార్కిక పనితీరును తగ్గించడానికి K- మ్యాప్‌ను ఉపయోగించడం నేర్చుకున్నాము. + ప్రస్తుతానికి తరువాతి విషయాలలో ఈ టెక్నిక్ చాలా ఉపయోగకరంగా ఉంటుంది. + తరువాత కలుద్దాం. diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/38 basicElectonics_Digital -to- analog conversion-1-wGAfArijDks.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/38 basicElectonics_Digital -to- analog conversion-1-wGAfArijDks.txt index f8a3b7105e9df869c198ead06b2a9978abd1494f..6a57d3def956a6a8da871225ce24fa782d2126ab 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/38 basicElectonics_Digital -to- analog conversion-1-wGAfArijDks.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/38 basicElectonics_Digital -to- analog conversion-1-wGAfArijDks.txt @@ -1,102 +1,101 @@ - 1. - 2. బాసిక్ ఎలెక్త్రొనిక్స్ కు స్వాగతము. - 3. ఇప్పుడు మేము అనలాగ్ మరియు డిజిటల్ డొమైన్ మధ్య ఇంటర్ఫేస్ అనే క్రొత్త అంశంతో ప్రారంభిస్తాము, ఇది అనలాగ్ కన్వర్టర్ లేదా D A C తో డిజిటల్ యొక్క ప్రాథమిక కార్యాచరణను పరిశీలిస్తాము. - 4. అప్పుడు మేము బైనరీ వెయిటెడ్ రిజిస్టర్లను ఉపయోగించి అమలు చేయబడిన D A C ని చూస్తాము మరియు వివిధ రకాల వడ్డీ కోసం పని చేస్తాము. - 5. ఒక ఉదాహరణతో ప్రారంభిద్దాం. - 6. ఇప్పుడు మేము అనలాగ్-టు-డిజిటల్ కన్వర్టర్ మరియు డిజిటల్-టు-అనలాగ్ కన్వర్టర్ గురించి చర్చిస్తాము మరియు అలాంటి కన్వర్టర్ వెనుక ఉన్న ప్రేరణతో మనం ఈ కన్వర్టర్ ఎందుకు మొదటి స్థానంలో అవసరమో ప్రారంభిద్దాం. - 7. కాబట్టి, ఇక్కడ కొన్ని పాయింట్లు ఉన్నాయి, అసలు సిగ్నల్, థర్మోకపుల్‌తో కొలవబడిన వోల్టేజ్ లేదా కాలక్రమేణా మైక్రోఫోన్ లేదా అనలాగ్ వాల్యూమ్‌తో రికార్డ్ చేయబడిన స్పీచ్ సిగ్నల్. నిరంతరం మారుతూ ఉంటుంది. - 8. మరోవైపు, మనం ఇంతకు మునుపు చూసినట్లుగా డిజిటల్ ఫార్మాట్‌లో డిజిటల్ సిగ్నల్ ప్రాసెసింగ్, స్టోరేజ్, కంప్యూటర్ వాడకం, స్ట్రాంగ్ ట్రాన్స్‌మిషన్ మొదలైన అనేక ప్రయోజనాలు ఉన్నాయి. - 9. అందువల్ల, అనలాగ్ సిగ్నల్స్ అయిన ఈ నిజమైన సంకేతాలను డిజిటల్ ఆకృతికి మార్చడం అర్ధమే, ఆపై డిజిటల్ ఫార్మాట్ అందించే ఈ లక్షణాలన్నింటినీ సద్వినియోగం చేసుకోండి. - 10. ఒక A D C అంటే అనలాగ్-టు-డిజిటల్ కన్వర్టర్‌కు అనుకూలంగా ఉండే A D C అనలాగ్ సిగ్నల్‌ను డిజిటల్ ఆకృతికి మార్చడానికి ఉపయోగించబడుతుంది. - 11. డిజిటల్-టు-అనలాగ్‌కు రివర్స్ కన్వర్టర్ కూడా అవసరం, ఉదాహరణకు, ఒక డివిడిలో నిల్వ చేసిన సంగీతాన్ని స్పీకర్‌లో డిజిటల్ ఫార్మాట్‌లో ప్లే చేయాలి.) అనలాగ్ వోల్టేజ్‌గా మార్చాలి, అందువల్ల మేము ఆ సంగీతాన్ని వింటాము మరియు ఈ కన్వర్టర్ DAC చేత చేయబడుతుంది, డిజిటల్ సిగ్నల్‌ను అనలాగ్ ఆకృతిలోకి మార్చడానికి ఉపయోగించే స్టాండ్ (స్టాండ్) నుండి డిజిటల్ నుండి అనలాగ్ కన్వర్టర్ అయిన DAC. - 12. డిజిటల్-టు-అనలాగ్ కన్వర్టర్ అయిన DAC యొక్క స్కీమాటిక్ పిక్చర్ ఇక్కడ ఉంది, ఇది డిజిటల్ ఇన్పుట్, ఇది అనలాగ్ అవుట్పుట్, అప్పుడు మనకు భూమికి చిప్ ఉంటుంది మరియు రిఫరెన్స్ వోల్టేజ్. - 13. D, N మైనస్ 1 వరకు N బిట్స్ D 0, D 1, D 2 వరకు డిజిటల్ ఇన్పుట్. - 14. ఇప్పుడు D A C ఈ బైనరీ సంఖ్య మరియు ఈ రిఫరెన్స్ వోల్టేజ్ విలువలను బట్టి అనలాగ్ వోల్టేజ్ అవుట్‌పుట్‌ను ఉత్పత్తి చేస్తుంది. - 15. 4 బిట్ D A C కి ఇక్కడ ఒక ఉదాహరణ; అంటే, N ఇక్కడ ఇన్పుట్ S 3, S 2, S 1, S 0 తో ఉంటుంది, ఇది D 3, D 2, D 1, D 0 కు అనుగుణంగా ఉంటుంది. - 16. VA కి సమానమైన అవుట్పుట్ వోల్టేజ్ స్థిరమైన k k సార్లు S 3, ఇది 1 లేదా 0 కావచ్చు, 23+ S 2 (2 ప్లస్ 3 ప్లస్ S 2 కు గుణించాలి), ఇది మళ్ళీ 1 లేదా 0 రెట్లు పెరుగుతుంది 22+ S 1 (2 2 కి పెంచండి ప్లస్ ఎస్ 1) సార్లు 21+ ఎస్ 0 (2 పెంచడం 1 ప్లస్ ఎస్ 0) సార్లు 20 (2 కి 0 కి పెంచండి), మరియు సాధారణంగా మనం ఈ సమీకరణాన్ని VA కి సమానంగా వ్రాయవచ్చు K యొక్క మొత్తం 0 నుండి N మైనస్ 1 S k 2K ద్వారా (2 కి K కి పెంచండి). - 17. అందువల్ల, ఇక్కడ గమనించవలసిన ముఖ్యమైన విషయం ఏమిటంటే, ప్రతి బిట్ వేరే బరువు (బరువు) పొందుతుంది, అధిక బిట్స్ ఎక్కువ బరువును పొందుతాయి మరియు తక్కువ బిట్స్ తక్కువ బరువును పొందుతాయి. మరియు ఈ స్కేలింగ్ కారకం (కారకం K) ఇక్కడ రిఫరెన్స్ వోల్టేజ్ VR కు అనులోమానుపాతంలో ఉంటుంది. , దాని విలువ DAC ఎలా వర్తించబడుతుందో దానిపై ఆధారపడి ఉంటుంది.+ - 18. ఇప్పుడు, V A అవుట్పుట్ వోల్టేజ్‌ను డిజిటల్ ఇన్పుట్ యొక్క ఫంక్షన్‌గా ఎలా మారుస్తుందో చూద్దాం, ఇది మేము D A C లేదా రేఖాచిత్రానికి వర్తింపజేస్తాము మరియు N 4 ఉన్న చోట అదే ఉదాహరణను తీసుకుంటాము. - 19. కాబట్టి, ఇది 4 బిట్ (ఎ) డి ఎ సి. - 20. కాబట్టి, ఇక్కడ మా డిజిటల్ ఇన్పుట్ ఉంది, మొదటి సంఖ్య 0 0 0 0 తరువాత 0 0 0 1, 0 0 1 0 మొదలైనవి 1 1 1 1 వరకు ఉంటాయి. కాబట్టి, ఈ దశాంశం 0, ఈ దశాంశం 1, 2 3, 4 మొదలైనవి 15 వరకు ఉంటుంది, మరియు ఈ అనువర్తిత ఇన్పుట్ ఫలితంగా అవుట్పుట్ V A 0 నుండి కొన్ని గరిష్ట అవుట్పుట్ వోల్టేజ్ వరకు మారుతుంది. - 21. మరియు మనకు వివిక్త పాయింట్లు మాత్రమే ఉన్న సరళ రేఖ లేదా వక్రరేఖ లేదని ప్రత్యేకంగా గమనించండి మరియు మా ఇన్పుట్ వివిక్తమైనది మరియు ఈ 16 విలువలు మాత్రమే మరియు ఉదాహరణకు 2 విలువలు (విలువలు), ఉంది ఈ సంఖ్య మరియు ఆ సంఖ్య మధ్య డిజిటల్ ఇన్పుట్ లేదు. - 22. కాబట్టి, మేము ఇక్కడ పాయింట్లను పరిశీలిస్తాము మరియు పంక్తులు లేదా వక్రతలు అన్నీ సరైనవి కావు. - 23. ఇప్పుడు 2 వరుస అవుట్పుట్ విలువల మధ్య ఈ వ్యత్యాసాన్ని రిజల్యూషన్ సమయం అంటారు.ఇప్పుడు మనం DAC యొక్క బిట్ల సంఖ్య మరియు గరిష్ట అవుట్పుట్ వోల్టేజ్ యొక్క తీర్మానాన్ని సులభంగా తెలుసుకోవచ్చు. ఎందుకంటే ఈ సందర్భంలో 2N-1 ఉన్నాయని మనకు తెలుసు (2 N-1 కి పెంచండి). ఇక్కడ, ఉదాహరణకు, మనకు 2N-1 (2 N-1 కు పెంచండి) ఉంది, ఇది చాలా తక్కువ మరియు అత్యధిక విలువల మధ్య 16 మైనస్ 1 లేదా 15 విభాగాలు ఉన్నాయి. - 24. కాబట్టి, ఈ సందర్భంలో గరిష్ట అవుట్పుట్ వోల్టేజ్ 15 ద్వారా విభజించబడినట్లు మేము రిజల్యూషన్ను లెక్కించవచ్చు. - 25. ఇప్పుడు మనము D A C అమలు గురించి మాట్లాడుదాం మరియు బైనరీ వెయిటెడ్ రిజిస్టర్లను ఉపయోగించడం మా మొదటి విధానం, ఈ పదం యొక్క అర్థం ఏమిటి? 1 ప్రతిఘటన అయితే, తరువాతి 2 సార్లు, అంటే 2 R తదుపరి 2 సార్లు 2 R అంటే 4 R మరియు తరువాత 8 R మొదలైనవి. - 26. ఇప్పుడు ఈ నిర్దిష్ట ఉదాహరణ 4 బిట్ (బిట్) D A C ఇన్పుట్ S 3, S 2, S 1, S 0, కాబట్టి S 3 0 లేదా 1 కావచ్చు, S2 0 లేదా 1 కావచ్చు. - 27. అవుట్పుట్ VA ఇక్కడ ఈ op-amp యొక్క అవుట్పుట్, మనకు 4 స్విచ్లు ఉన్నాయి, ఇవి ఇన్పుట్ బిట్స్ S 3, S 2, S 1 ద్వారా నియంత్రించబడతాయి. - 28. ఉదాహరణకు, ఈ స్విచ్ S 3 చే నియంత్రించబడుతుంది, S 3 0 అయితే, ఈ నోడ్ A 3 అలాంటి భూమికి అనుసంధానిస్తుంది మరియు S 3 గ్రౌండ్ అయితే A 3 అంటే రిఫరెన్స్ వోల్టేజ్ VR కి అనుసంధానించబడి ఉంటుంది. - 29. మరో మాటలో చెప్పాలంటే, ఈ నోడ్ వద్ద వోల్టేజ్ S 3 రెట్లు ఉంటే, S 3 0 అయితే, ఆ వోల్టేజ్ 0 మరియు S 3 1 అయితే, ఆ వోల్టేజ్ VR మరియు ఈ స్విచ్ తో మనం ఇక్కడ చూపించాము S 2 నియంత్రించబడుతుంది మరియు అందువల్ల, ఈ వోల్టేజ్ S 2 రెట్లు VR. - 30. ఇది S 1 చే నియంత్రించబడుతుంది. - 31. కాబట్టి, ఇది S 1 సార్లు V R మరియు ఇది S 0 సార్లు V R. - 32. కాబట్టి, ఇది మా సరళీకృత సర్క్యూట్ మరియు ఇది మా op-amp వేసవి (వేసవి) అని మేము చూశాము మరియు ఇప్పుడు ఇది ఎలా పనిచేస్తుందో చూద్దాం. - 33. V మైనస్ మరియు V ప్లస్ సమానమైనవి కాబట్టి, మనకు V మైనస్ 0 కి సమానం మరియు అందువల్ల, ఈ కరెంట్‌ను లెక్కించవచ్చు మరియు ఈ కరెంట్ నేను 0 ప్లస్ I 1 ప్లస్ I 2 ప్లస్ I 3 తప్ప మరొకటి కాదు. - 34. I0 ఇది S 0 V R మైనస్ 0 8R చే విభజించబడింది. - 35. I1 ఇది S 1 V R మైనస్ 0 ను 4 R చే విభజించబడింది. - 36. కాబట్టి, ఇది మాకు ఈ వ్యక్తీకరణను ఇస్తుంది. - 37. కాబట్టి ప్రస్తుతము I, S 0 VR / 8 R ప్లస్ S 1 VR / 4 R మొదలైనవి. మరియు ఇప్పుడు మనం చేయగలిగేది ఈ సాధారణ (సాధారణ) VR / 8 R ను తీసుకొని, ఆపై ఈ వ్యక్తీకరణను ఇక్కడ పొందండి. ఇప్పుడు మనం జనరల్ రాశాము దీని కోసం వ్యక్తీకరణ. - 38. మా విషయంలో N బిట్స్ 4 కి సమానం. - 39. కాబట్టి, మా విషయంలో ఈ 2N-1 (2 N-1 కి పెంచడం) 23 (2 కి 3 కి పెంచండి) ఇది 8 కి సమానం. - 40. కాబట్టి, ఇది మనకు లభిస్తుంది మరియు ప్రతి బిట్ వేరే బరువును పొందుతుంది. ఉదాహరణకు, LSB 0 యొక్క బరువు (బరువు) 20 లేదా 1 మరియు మా విషయంలో నాకు MSB 3 ఉంది, ఇది 23 లేదా 8 బరువు కలిగి ఉంటుంది మరియు ఇదే మేము DAC (DAC) నుండి ఆశించాము. - 41. చివరగా, అవుట్పుట్ వోల్టేజ్ VA ను మేము కనుగొన్నాము, ఇక్కడ మేము ఆప్ ఆంప్ సర్క్యూట్ గురించి మాట్లాడినప్పుడు ఇంతకుముందు చేసాము - ఈ V మైనస్ 0 వోల్ట్లు మరియు కరెంట్ op amp లోకి వెళ్ళదు. అందువల్ల, ఈ ప్రస్తుత కరెంట్ R f మరియు అందువల్ల, VA ఇది మా అవుట్పుట్ వోల్టేజ్ V o 0 మైనస్ I సార్లు R f మరియు ఇక్కడ మనకు ఉన్నది మైనస్ R f సార్లు I మరియు నేను ఈ వ్యక్తీకరణ నుండి వచ్చింది మరియు అందువల్ల ఇది అవుట్పుట్ వోల్టేజ్ కోసం మనం పొందుతాము. - 42. ఒక నిర్దిష్ట ఉదాహరణ తీసుకుందాం, 5 R వోల్ట్లకు సమానమైన V R తో 8-బిట్ (బిట్) D A C ను పరిగణించండి, R యొక్క అతిచిన్న విలువ ఏమిటి? సరఫరా నుండి డ్రా అయిన కరెంట్‌ను 10 మిల్లియాంప్‌కు పరిమితం చేసే నిరోధకత మా సరఫరా VR మరియు ఇది ఈ ప్రవాహాలన్నింటినీ సరఫరా చేస్తుంది మరియు మేము సరఫరా నుండి లాగే మొత్తం కరెంట్, ఇది 10 మిల్లియాంప్‌లకు పరిమితం చేయాలి. - 43. ఇప్పుడు ఇది 8 బిట్ (DAC) కాబట్టి, మన నిరోధక విలువలు (విలువ) R, 2 R, 4 R మొదలైన వాటి నుండి వెళ్లి, ఆపై 26 (2 కి 6 కి పెంచండి) R కి పెరుగుతాయి మరియు తుది విలువ 27 (2 పెంచండి to 7) R. - 44. లేకపోతే సర్క్యూట్ మనం ఇంతకు ముందు చూసినట్లే. - 45. ఇప్పుడు సర్క్యూట్లో ఉన్న మొత్తం అంచు. ఈ స్విచ్ LSB చే S 0 గా నియంత్రించబడుతుంది. ఈ స్విచ్ S 1 చే నియంత్రించబడుతుంది మరియు చివరకు, ఈ స్విచ్) S 7 చే నియంత్రించబడుతుంది, ఇది MSB. - 46. ఇప్పుడు మనం ఈ ప్రవాహాలను I 0, I 1 మొదలైనవి I 7 వరకు తీసుకుంటాము. - 47. ఇప్పుడు ఈ నోడ్ వర్చువల్ గ్రౌండ్ V మైనస్ మరియు V ప్లస్ లతో సమానంగా ఉంటుంది. - 48. అందువల్ల, మనకు 0 వోల్ట్లు ఉన్నాయి. ఇక్కడ ఈ కరెంట్ I 0 ఈ నోడ్‌లోని సంభావ్యత ద్వారా R 0 తో విభజించబడింది. A 0 మైనస్ 0 ఇది 27 (2 కి 7 కి పెంచండి) R మరియు ఈ విధంగా మేము ఈ ఇతర ప్రవాహాలను పొందుతాము. (ప్రవాహాలు ) పొందవచ్చు. - 49. S 0 0 అయినప్పుడు, స్విచ్ ఈ స్థితిలో ఉంటుంది. నోడ్ A0 మైదానంలో ఉంది మరియు అందువల్ల, నేను 0 మరొక వైపు 0 గా ఉంటాను. S 0 1 అయితే, స్విచ్ ఆ స్థితిలో ఉంటుంది., ఇక్కడ సంభావ్యత ఉన్నప్పుడు VR మరియు తరువాత మనకు VR కరెంట్ R 0 తో విభజించబడింది. - 50. మరో మాటలో చెప్పాలంటే, ఈ రిజిస్టర్ S 0 1 అయితే విద్యుత్ సరఫరా నుండి మాత్రమే విద్యుత్తును గీస్తుంది, అదేవిధంగా ఈ రెసిస్టర్ S 1 1 మరియు విద్యుత్ సరఫరాకు గరిష్ట కరెంట్ ఉంటే విద్యుత్ సరఫరా నుండి విద్యుత్తును తీసుకుంటుంది) సరఫరా చేయడానికి, మేము స్పష్టంగా S 0 కి సమానమైన 1 అవసరం, 1 S 1 కు సమానం, మొదలైనవి S 7 కు సమానమైన 1 వరకు అవసరం. - 51. ఈ విధంగా, మేము ఇక్కడ వ్రాసాము. - 52. గరిష్ట ఇన్పుట్ 1 1 1 1 1, 1 1 1 1 అయినప్పుడు, ఇన్పుట్ 1 1 1 1, 1 1 1 1 అయినప్పుడు VR నుండి గరిష్ట ప్రస్తుత ప్రవాహం VR నుండి తీసుకోబడుతుంది. అన్ని లోడ్ (లోడ్) A 0 నుండి A 7 ఇది VR కి అనుసంధానించబడి ఉంది. - 53. కాబట్టి గరిష్ట కరెంట్ 10 మిల్లియాంప్స్‌కు పరిమితం చేయబడింది, కాబట్టి మేము 10 మిల్లియాంప్స్‌కు సమానం. - 54. ఈ రెసిస్టెన్స్ ప్లస్ V R / 2R ద్వారా వచ్చే కరెంట్ తదుపరి నిరోధకత ద్వారా కరెంట్. - 55. VR / 27 (2 పెంచడం 7) R వరకు అన్ని మార్గం సరైనది మరియు మేము VR / 27 (2 కి 7 కి పెంచండి) R సాధారణం (సాధారణం) మరియు 20 (2 ను 0 కి పెంచండి) మరియు 21 (2 పెంచడం 1 ) ప్లస్ 22 (2 కి 2 పెంచండి) మొదలైనవి 27 వరకు పొందవచ్చు (2 7 కి పెంచండి) మరియు ఇది బ్రాకెట్ 28-1 (2 రైజ్ 8 మైనస్ 1) గా మారుతుంది, ఇది 256 మైనస్ 1, 27 (2 రైజ్ to 7) కాబట్టి 128, కాబట్టి మేము R ద్వారా 255 రెట్లు VR తో ముగుస్తాము మరియు అది 10 మిల్లియాంప్స్ మించకూడదు మరియు అది మాకు R యొక్క కనీస విలువను ఇస్తుంది. - 56. అంటే, VR ను 5 మిల్లియాంప్ నుండి 10 మిల్లియాంప్ నుండి 255/128 తో విభజించి 1 కిలో ఓం (కిలో ఓం) గా తేలింది. - 57. ఇప్పుడు, ఈ ఉదాహరణ గోపాలన్ రాసిన ఈ పుస్తకం నుండి తీసుకోబడింది మరియు D A C మరియు A D C గురించి మరెన్నో ఆసక్తికరమైన వివరాలు ఉన్నాయి మరియు చూడటానికి మంచి పుస్తకం. - 58. తదుపరి ప్రశ్న, R f కు సమానం అయితే, డెల్టా VA లో VA ఇక్కడ మారే తీర్మానం ఏమిటి. - 59. ఇన్‌పుట్‌కు అనుగుణమైన ఎల్‌ఎస్‌బి అన్ని ఇతర ఇన్‌పుట్ బిట్‌లతో 0 నుండి 1 వరకు మారుతుంది. - 60. I. - 61. కాబట్టి, ఇది VA కోసం మా వ్యక్తీకరణ మరియు ఇది బ్రాకెట్ యొక్క ఇన్పుట్ బైనరీ సంఖ్యతో సరిపోతుంది, ఈ బ్రాకెట్ యొక్క కనీస విలువ ఏమిటి? S 0 0, S 1 0 అయినప్పుడు ఇది జరుగుతుంది. - 62. S 7 అన్ని మార్గం 0 కి సమానం. - 63. కాబట్టి, అత్యల్ప విలువ 0, ఇది అత్యధికం? S 0 1, S 1 1, మొదలైనవి ఉన్నప్పుడు S7 కు సమానమైన అత్యధిక విలువ. - 64. మరియు అది అత్యధిక విలువ 255 లేదా 28-1 (2 8 మైనస్ 1 కి పెంచండి). - 65. మరియు మేము రిజల్యూషన్ గురించి మాట్లాడేటప్పుడు, ఈ బ్రాకెట్‌ను 1 కి మార్చడానికి మేము అనుమతిస్తున్నాము మరియు ఈ ఇన్పుట్ LSB వలె అదే డెల్టా (డెల్టా) VA అని చెప్తున్నాము, ఇక్కడ S 0 ఇతర ఇన్పుట్ బిట్లతో 0 నుండి 1 కి మారుతోంది. - 66. ఇప్పుడు మీరు రిజల్యూషన్‌ను లెక్కించవచ్చు. - 67. అందువల్ల, VA డెల్టా రిజల్యూషన్, దీనిని బ్రాకెట్ 1 తో భర్తీ చేసినప్పుడు, ఇక్కడ పునరుత్పత్తి చేయబడిన ఈ కారకం ద్వారా ఇవ్వబడుతుంది మరియు ఇది 5 వోల్ట్‌లు, ఇది VR (2 8 మైనస్ 1 కి పెంచండి) ఈ సంఖ్య ఇక్కడ చాలాసార్లు Rf / R మరియు, Rf మరియు R సమానంగా ఉంటాయి, కాబట్టి ఇది 0.0391 వోల్ట్లు లేదా 39.1 మిల్లీవోల్ట్లుగా మారుతుంది. - 68. తరువాతి ప్రశ్న ఏమిటంటే మాగ్నిట్యూడ్‌లో గరిష్ట అవుట్పుట్ వోల్టేజ్ ఏమిటి, ఇది మా VA మరియు ఇది ప్రతికూలంగా ఉందని గమనించండి మరియు అందుకే మేము మాగ్నిట్యూడ్‌ను ఇక్కడ బ్రాకెట్లలో ఉంచాము మరియు మాగ్నిట్యూడ్ గరిష్టంగా ఉన్నప్పుడు? బ్రాకెట్ గరిష్టంగా మారినప్పుడు ఇది జరుగుతుంది. దీని అర్థం ఈ బిట్స్ అన్నీ 1 కి సమానం. - 69. అందువల్ల, ఇన్పుట్ బైనరీ సంఖ్య 1 1 1 1, 1 1 1 1 1 అయినప్పుడు గరిష్ట V A పరిమాణంలో లభిస్తుంది. - 70. కాబట్టి, మనం చేయవలసింది ఇప్పుడు ఈ S లన్నింటినీ 1 తో భర్తీ చేసి, ఈ బ్రాకెట్‌ను అంచనా వేయండి మరియు అది మనకు లభిస్తుంది - VR అంటే 5 వోల్ట్‌లు 2 నుండి మైనస్ 1 వరకు పెరుగుతాయి, ఇది 128 Rf మరియు R కి సమానం. - 71. కాబట్టి, ఇది ఒకటి మరియు ఈ బ్రాకెట్ అప్పుడు 20 (2 కి 0 కి పెంచండి) ప్లస్ 21 (2 కి 1 కి పెంచండి) 27 నుండి (2 కి 7 కి పెంచండి) పైకి, మరియు మనం అంచనా వేసినప్పుడు మనకు 9.961 వోల్ట్లు లభిస్తాయి. - 72. 1 0 1 0 0 1 1 0 0 1 కు అనుగుణమైన అవుట్పుట్ వోల్టేజ్ను కనుగొనడం తదుపరి ఇన్పుట్ బైనరీ సంఖ్య చాలా సులభం, మనకు ఇక్కడ VA ఉంది, మనం చేయాల్సిందల్లా 1 S 7 కు సమానం, 0 S 6 కు సమానం, 1 S 5 కు సమానం, 0 S 4 కు సమానం. - 73. మరియు మేము దానిని ఎలా పొందుతాము. - 74. కాబట్టి, V A మైనస్ 6.758 వోల్ట్లు అవుతుంది. - 75. తదుపరి ప్రశ్న, రెసిస్టర్లు 1 శాతం సహనం కలిగి ఉన్నట్లు పేర్కొనబడితే, ఇన్పుట్ 1 కి అనుగుణంగా మోడ్ (మోడ్) VA యొక్క పరిధి ఏమిటి. - 76. 1 1 1 1, 1 1 1 1. ఇప్పుడు మొదట 1 శాతం సహనం ఏమిటో మనకు ఇవ్వండి, ఉదాహరణకు ఈ ప్రతిఘటనను తీసుకుంటుంది, ఇది 1 నామమాత్రపు నామమాత్రపు విలువ అని మాకు చెప్పండి. ఇది k అయితే, దీని అర్థం వాస్తవ విలువ 0.99 సార్లు 1 k నుండి 1.01 సార్లు 1 k మధ్య ఏదైనా కావచ్చు. - 77. ఈ ప్రతిఘటన గురించి ఏమిటి? R మరియు R f ఒకటేనని మేము అనుకుంటాము, కాబట్టి R 7 యొక్క నామమాత్ర విలువ కూడా 1 k మరియు అందువల్ల, అసలు విలువ 0.99 k నుండి 1.01 k వరకు మారుతుంది. - 78. ఈ ప్రతిఘటన గురించి ఏమిటి? నామమాత్రపు విలువ 26 రెట్లు R; అంటే, 64 సార్లు 1 k లేదా 64 k మరియు దాని వాస్తవ విలువ 64 k సార్లు 0.99 నుండి 64 k సార్లు 1.01 వరకు మారవచ్చు. - 79. ఇప్పుడు మేము మా అసలు ప్రశ్నకు తిరిగి వస్తాము మరియు ఈ ఇన్పుట్తో మా స్విచ్లు అన్నీ పై స్థానంలో ఉన్నాయి; దీని అర్థం, A 7 V R కి అనుసంధానించబడి ఉంది, A 1 V R కి అనుసంధానించబడి ఉంది మరియు ఈ ప్రవాహాలన్నీ ఇప్పుడు సున్నా కానివి. - 80. ఈ పరిమాణాలలో VA గరిష్టంగా ఉండటానికి, ఈ ప్రవాహాలన్నీ వాటి గరిష్ట విలువలకు తీసుకెళ్లాలి మరియు ఈ ప్రతిఘటనలను వాటి కనీస విలువలకు తీసుకువెళ్ళినప్పుడు ఇది జరుగుతుంది, ఇది షరతు సంఖ్య 1 అంటే, రెండవ షరతు ఏమిటంటే ఈ కరెంట్ ఈ ప్రవాహాలన్నింటికీ అదనంగా ఉంటుంది. - 81. ఇప్పుడు, ఈ R f మరియు ఈ R f బార్ గుండా వెళుతుంది. దీని గరిష్ట విలువ కూడా తీసుకోవాలి; దీని అర్థం, R f దాని గరిష్ట విలువను తీసుకోవాలి.  - 82. V A max (max) లెక్కించడం సులభం అని మేము కనుగొన్న తర్వాత. - 83. కాబట్టి, ప్రస్తుతము I 0, I 1 అయినప్పుడు మోడ్ VA గరిష్టంగా (గరిష్టంగా) ఉంటుంది. వాటి గరిష్ట విలువలను R k 0 తో R k 0 కు సమానంగా భావించండి, ఇది నామమాత్రపు విలువ (నామమాత్ర) విలువ) 1 మైనస్ 0.01 0.99 . - 84. కాబట్టి, ప్రతిఘటన ఈ ప్రతిఘటనలు ఈ ప్రవాహాలు ఎలా గరిష్టీకరించబడతాయో వాటి కనీస విలువలకు దారితీస్తాయి. - 85. మరియు రెండవ R f గరిష్టంగా R f, ఇది నామమాత్ర విలువలో 1.01 కు సమానం. - 86. కాబట్టి, ఈ సందర్భంలో మోడ్ (మోడ్) V A యొక్క గరిష్ట విలువ అప్పుడు V R సార్లు 255/128, ఇది మునుపటి కాలంలో కనుగొనబడిన ఈ నిష్పత్తి R యొక్క గరిష్ట విలువ (విలువ) R; దీని అర్థం, 1.01 ను 0.99 ద్వారా విభజించారు, ఎందుకంటే అవి నామమాత్రపు విలువను కలిగి ఉంటాయి, అవి అవి రద్దు చేయబడతాయి మరియు ఇది మాకు 10.162 వోల్ట్లను ఇస్తుంది. - 87. మోడ్ VA యొక్క కనీస విలువ గురించి ఏమిటి? దీనికి విరుద్ధంగా, మేము ఈ సంఖ్యలను వీలైనంత చిన్నదిగా చేయాలనుకుంటున్నాము. - 88. కాబట్టి, Rf ను దాని కనీస విలువకు తీసుకెళ్లాలి మరియు ఈ రెసిస్టర్‌లన్నీ వాటి గరిష్ట విలువలను తీసుకోవాలి. - 89. కాబట్టి, ఇది 9.764 వోల్ట్ల దిగుబడిని 1.01 ద్వారా విభజించిన సింగిల్ ఫ్యాక్టర్ బార్ 0.99 ను ఇస్తుంది. - 90. అందువల్ల, 1 1 1 1, 1 1 1 1 వంటి నిర్దిష్ట ఇన్పుట్ కలయిక కోసం మేము చివరి స్లైడ్‌లో కనుగొన్నట్లుగా, మా ప్రతిఘటనలు సరైనవి కానందున అవుట్పుట్ వోల్టేజ్ చాలా తేడా ఉంటుంది. అవి నాన్జెరో టాలరెన్స్. మరియు మునుపటి ఉదాహరణలో మేము కనుగొన్నాము మాగ్నిట్యూడ్‌లో గరిష్ట VA 10.162 మరియు కనిష్టం 9.764 మరియు రెండింటి మధ్య వ్యత్యాసం 0.4 వోల్ట్‌లు, ఇది చాలా ముఖ్యమైనది, ఎందుకంటే ఇది DAC యొక్క రిజల్యూషన్ కంటే చాలా పెద్దది, ఇది 39 వాస్ మిల్లివోల్ట్. - 91. అందువల్ల, ఈ పరిస్థితి స్పష్టంగా ఆమోదయోగ్యం కాదు ఎందుకంటే ఇది తప్పులకు దారితీస్తుంది మరియు ఈ పరిస్థితిని సరిదిద్దడానికి మనం ఏమి చేయవచ్చు? మేము మరింత గట్టి సహనంతో రెసిస్టర్‌లను ఉపయోగించవచ్చు. - 92. కాబట్టి, చిన్న సహనాలతో రిజిస్టర్లను ఉపయోగించడం ద్వారా అవుట్పుట్ వోల్టేజ్ వైవిధ్యాన్ని తగ్గించవచ్చు; ఏది ఏమయినప్పటికీ, నిర్మించడం చాలా కష్టం మరియు R 2, 128 సార్లు R I I తో మరియు ప్రతి ఒక్కటి తగినంత చిన్న సహనంతో విభిన్నమైన నిరోధక విలువలను కలిగి ఉంది. - 93. కాబట్టి, సాంకేతిక సమస్య ఉంది మరియు అందువల్ల, ఈ మొత్తం డిజైన్‌ను మెరుగుపరచాల్సిన అవసరం ఉంది. - 94. R 2 R నిచ్చెన నెట్‌వర్క్ అని పిలవబడే పరిష్కారం, ఈ నెట్‌వర్క్‌లో మనకు 2 నిరోధక విలువలు R మరియు 2 R. మాత్రమే ఉన్నాయి. - 95. కాబట్టి, ఈ నెట్‌వర్క్‌లోని అన్ని రిజిస్టర్‌లు R లేదా 2 R గా ఉంటాయి మరియు అందువల్ల డెల్టా సమస్య అవుతుంది. - 96. VA నిరోధక విలువలలో తేడాల ద్వారా సమర్థవంతంగా పరిష్కరించబడుతుంది. - 97. సంక్షిప్తంగా, మేము డిజిటల్ అనలాగ్ కన్వర్టర్లను చూడటం ప్రారంభించాము, దీనిలో మేము బైనరీ వెయిటెడ్ రెసిస్టర్ విధానాన్ని ఉపయోగించి 8 బిట్‌లను ఉపయోగించాము.) DAC ఉదాహరణగా పరిగణించి వివిధ రకాల ఆసక్తిపై పనిచేశాము. - 98. ప్రతిఘటన విలువలలో గణాంక వైవిధ్యం బిట్ల సంఖ్య పెద్దగా ఉన్నప్పుడు ఈ రకమైన D A C ను అనుచితంగా మారుస్తుందని మేము కనుగొన్నాము. - 99. తరువాతి తరగతిలో ఈ కష్టాన్ని తగ్గించే R 2 R నిచ్చెన యొక్క విధానాన్ని పరిశీలిస్తాము. - 100. తరువాత కలుద్దాం. - 101. + బాసిక్ ఎలెక్త్రొనిక్స్ కు స్వాగతము. + ఇప్పుడు మేము అనలాగ్ మరియు డిజిటల్ డొమైన్ మధ్య ఇంటర్ఫేస్ అనే క్రొత్త అంశంతో ప్రారంభిస్తాము, ఇది అనలాగ్ కన్వర్టర్ లేదా D A C తో డిజిటల్ యొక్క ప్రాథమిక కార్యాచరణను పరిశీలిస్తాము. + అప్పుడు మేము బైనరీ వెయిటెడ్ రిజిస్టర్లను ఉపయోగించి అమలు చేయబడిన D A C ని చూస్తాము మరియు వివిధ రకాల వడ్డీ కోసం పని చేస్తాము. + ఒక ఉదాహరణతో ప్రారంభిద్దాం. + ఇప్పుడు మేము అనలాగ్-టు-డిజిటల్ కన్వర్టర్ మరియు డిజిటల్-టు-అనలాగ్ కన్వర్టర్ గురించి చర్చిస్తాము మరియు అలాంటి కన్వర్టర్ వెనుక ఉన్న ప్రేరణతో మనం ఈ కన్వర్టర్ ఎందుకు మొదటి స్థానంలో అవసరమో ప్రారంభిద్దాం. + కాబట్టి, ఇక్కడ కొన్ని పాయింట్లు ఉన్నాయి, అసలు సిగ్నల్, థర్మోకపుల్‌తో కొలవబడిన వోల్టేజ్ లేదా కాలక్రమేణా మైక్రోఫోన్ లేదా అనలాగ్ వాల్యూమ్‌తో రికార్డ్ చేయబడిన స్పీచ్ సిగ్నల్. నిరంతరం మారుతూ ఉంటుంది. + మరోవైపు, మనం ఇంతకు మునుపు చూసినట్లుగా డిజిటల్ ఫార్మాట్‌లో డిజిటల్ సిగ్నల్ ప్రాసెసింగ్, స్టోరేజ్, కంప్యూటర్ వాడకం, స్ట్రాంగ్ ట్రాన్స్‌మిషన్ మొదలైన అనేక ప్రయోజనాలు ఉన్నాయి. + అందువల్ల, అనలాగ్ సిగ్నల్స్ అయిన ఈ నిజమైన సంకేతాలను డిజిటల్ ఆకృతికి మార్చడం అర్ధమే, ఆపై డిజిటల్ ఫార్మాట్ అందించే ఈ లక్షణాలన్నింటినీ సద్వినియోగం చేసుకోండి. + ఒక A D C అంటే అనలాగ్-టు-డిజిటల్ కన్వర్టర్‌కు అనుకూలంగా ఉండే A D C అనలాగ్ సిగ్నల్‌ను డిజిటల్ ఆకృతికి మార్చడానికి ఉపయోగించబడుతుంది. + డిజిటల్-టు-అనలాగ్‌కు రివర్స్ కన్వర్టర్ కూడా అవసరం, ఉదాహరణకు, ఒక డివిడిలో నిల్వ చేసిన సంగీతాన్ని స్పీకర్‌లో డిజిటల్ ఫార్మాట్‌లో ప్లే చేయాలి.) అనలాగ్ వోల్టేజ్‌గా మార్చాలి, అందువల్ల మేము ఆ సంగీతాన్ని వింటాము మరియు ఈ కన్వర్టర్ DAC చేత చేయబడుతుంది, డిజిటల్ సిగ్నల్‌ను అనలాగ్ ఆకృతిలోకి మార్చడానికి ఉపయోగించే స్టాండ్ (స్టాండ్) నుండి డిజిటల్ నుండి అనలాగ్ కన్వర్టర్ అయిన DAC. + డిజిటల్-టు-అనలాగ్ కన్వర్టర్ అయిన DAC యొక్క స్కీమాటిక్ పిక్చర్ ఇక్కడ ఉంది, ఇది డిజిటల్ ఇన్పుట్, ఇది అనలాగ్ అవుట్పుట్, అప్పుడు మనకు భూమికి చిప్ ఉంటుంది మరియు రిఫరెన్స్ వోల్టేజ్. + D, N మైనస్ 1 వరకు N బిట్స్ D 0, D 1, D 2 వరకు డిజిటల్ ఇన్పుట్. + ఇప్పుడు D A C ఈ బైనరీ సంఖ్య మరియు ఈ రిఫరెన్స్ వోల్టేజ్ విలువలను బట్టి అనలాగ్ వోల్టేజ్ అవుట్‌పుట్‌ను ఉత్పత్తి చేస్తుంది. + 4 బిట్ D A C కి ఇక్కడ ఒక ఉదాహరణ; అంటే, N ఇక్కడ ఇన్పుట్ S 3, S 2, S 1, S 0 తో ఉంటుంది, ఇది D 3, D 2, D 1, D 0 కు అనుగుణంగా ఉంటుంది. + VA కి సమానమైన అవుట్పుట్ వోల్టేజ్ స్థిరమైన k k సార్లు S 3, ఇది 1 లేదా 0 కావచ్చు, 23+ S 2 (2 ప్లస్ 3 ప్లస్ S 2 కు గుణించాలి), ఇది మళ్ళీ 1 లేదా 0 రెట్లు పెరుగుతుంది 22+ S 1 (2 2 కి పెంచండి ప్లస్ ఎస్ 1) సార్లు 21+ ఎస్ 0 (2 పెంచడం 1 ప్లస్ ఎస్ 0) సార్లు 20 (2 కి 0 కి పెంచండి), మరియు సాధారణంగా మనం ఈ సమీకరణాన్ని VA కి సమానంగా వ్రాయవచ్చు K యొక్క మొత్తం 0 నుండి N మైనస్ 1 S k 2K ద్వారా (2 కి K కి పెంచండి). + అందువల్ల, ఇక్కడ గమనించవలసిన ముఖ్యమైన విషయం ఏమిటంటే, ప్రతి బిట్ వేరే బరువు (బరువు) పొందుతుంది, అధిక బిట్స్ ఎక్కువ బరువును పొందుతాయి మరియు తక్కువ బిట్స్ తక్కువ బరువును పొందుతాయి. మరియు ఈ స్కేలింగ్ కారకం (కారకం K) ఇక్కడ రిఫరెన్స్ వోల్టేజ్ VR కు అనులోమానుపాతంలో ఉంటుంది. , దాని విలువ DAC ఎలా వర్తించబడుతుందో దానిపై ఆధారపడి ఉంటుంది.+ + ఇప్పుడు, V A అవుట్పుట్ వోల్టేజ్‌ను డిజిటల్ ఇన్పుట్ యొక్క ఫంక్షన్‌గా ఎలా మారుస్తుందో చూద్దాం, ఇది మేము D A C లేదా రేఖాచిత్రానికి వర్తింపజేస్తాము మరియు N 4 ఉన్న చోట అదే ఉదాహరణను తీసుకుంటాము. + కాబట్టి, ఇది 4 బిట్ (ఎ) డి ఎ సి. + కాబట్టి, ఇక్కడ మా డిజిటల్ ఇన్పుట్ ఉంది, మొదటి సంఖ్య 0 0 0 0 తరువాత 0 0 0 1, 0 0 1 0 మొదలైనవి 1 1 1 1 వరకు ఉంటాయి. కాబట్టి, ఈ దశాంశం 0, ఈ దశాంశం 1, 2 3, 4 మొదలైనవి 15 వరకు ఉంటుంది, మరియు ఈ అనువర్తిత ఇన్పుట్ ఫలితంగా అవుట్పుట్ V A 0 నుండి కొన్ని గరిష్ట అవుట్పుట్ వోల్టేజ్ వరకు మారుతుంది. + మరియు మనకు వివిక్త పాయింట్లు మాత్రమే ఉన్న సరళ రేఖ లేదా వక్రరేఖ లేదని ప్రత్యేకంగా గమనించండి మరియు మా ఇన్పుట్ వివిక్తమైనది మరియు ఈ 16 విలువలు మాత్రమే మరియు ఉదాహరణకు 2 విలువలు (విలువలు), ఉంది ఈ సంఖ్య మరియు ఆ సంఖ్య మధ్య డిజిటల్ ఇన్పుట్ లేదు. + కాబట్టి, మేము ఇక్కడ పాయింట్లను పరిశీలిస్తాము మరియు పంక్తులు లేదా వక్రతలు అన్నీ సరైనవి కావు. + ఇప్పుడు 2 వరుస అవుట్పుట్ విలువల మధ్య ఈ వ్యత్యాసాన్ని రిజల్యూషన్ సమయం అంటారు.ఇప్పుడు మనం DAC యొక్క బిట్ల సంఖ్య మరియు గరిష్ట అవుట్పుట్ వోల్టేజ్ యొక్క తీర్మానాన్ని సులభంగా తెలుసుకోవచ్చు. ఎందుకంటే ఈ సందర్భంలో 2N-1 ఉన్నాయని మనకు తెలుసు (2 N-1 కి పెంచండి). ఇక్కడ, ఉదాహరణకు, మనకు 2N-1 (2 N-1 కు పెంచండి) ఉంది, ఇది చాలా తక్కువ మరియు అత్యధిక విలువల మధ్య 16 మైనస్ 1 లేదా 15 విభాగాలు ఉన్నాయి. + కాబట్టి, ఈ సందర్భంలో గరిష్ట అవుట్పుట్ వోల్టేజ్ 15 ద్వారా విభజించబడినట్లు మేము రిజల్యూషన్ను లెక్కించవచ్చు. + ఇప్పుడు మనము D A C అమలు గురించి మాట్లాడుదాం మరియు బైనరీ వెయిటెడ్ రిజిస్టర్లను ఉపయోగించడం మా మొదటి విధానం, ఈ పదం యొక్క అర్థం ఏమిటి? 1 ప్రతిఘటన అయితే, తరువాతి 2 సార్లు, అంటే 2 R తదుపరి 2 సార్లు 2 R అంటే 4 R మరియు తరువాత 8 R మొదలైనవి. + ఇప్పుడు ఈ నిర్దిష్ట ఉదాహరణ 4 బిట్ (బిట్) D A C ఇన్పుట్ S 3, S 2, S 1, S 0, కాబట్టి S 3 0 లేదా 1 కావచ్చు, S2 0 లేదా 1 కావచ్చు. + అవుట్పుట్ VA ఇక్కడ ఈ op-amp యొక్క అవుట్పుట్, మనకు 4 స్విచ్లు ఉన్నాయి, ఇవి ఇన్పుట్ బిట్స్ S 3, S 2, S 1 ద్వారా నియంత్రించబడతాయి. + ఉదాహరణకు, ఈ స్విచ్ S 3 చే నియంత్రించబడుతుంది, S 3 0 అయితే, ఈ నోడ్ A 3 అలాంటి భూమికి అనుసంధానిస్తుంది మరియు S 3 గ్రౌండ్ అయితే A 3 అంటే రిఫరెన్స్ వోల్టేజ్ VR కి అనుసంధానించబడి ఉంటుంది. + మరో మాటలో చెప్పాలంటే, ఈ నోడ్ వద్ద వోల్టేజ్ S 3 రెట్లు ఉంటే, S 3 0 అయితే, ఆ వోల్టేజ్ 0 మరియు S 3 1 అయితే, ఆ వోల్టేజ్ VR మరియు ఈ స్విచ్ తో మనం ఇక్కడ చూపించాము S 2 నియంత్రించబడుతుంది మరియు అందువల్ల, ఈ వోల్టేజ్ S 2 రెట్లు VR. + ఇది S 1 చే నియంత్రించబడుతుంది. + కాబట్టి, ఇది S 1 సార్లు V R మరియు ఇది S 0 సార్లు V R. + కాబట్టి, ఇది మా సరళీకృత సర్క్యూట్ మరియు ఇది మా op-amp వేసవి (వేసవి) అని మేము చూశాము మరియు ఇప్పుడు ఇది ఎలా పనిచేస్తుందో చూద్దాం. + V మైనస్ మరియు V ప్లస్ సమానమైనవి కాబట్టి, మనకు V మైనస్ 0 కి సమానం మరియు అందువల్ల, ఈ కరెంట్‌ను లెక్కించవచ్చు మరియు ఈ కరెంట్ నేను 0 ప్లస్ I 1 ప్లస్ I 2 ప్లస్ I 3 తప్ప మరొకటి కాదు. + I0 ఇది S 0 V R మైనస్ 0 8R చే విభజించబడింది. + I1 ఇది S 1 V R మైనస్ 0 ను 4 R చే విభజించబడింది. + కాబట్టి, ఇది మాకు ఈ వ్యక్తీకరణను ఇస్తుంది. + కాబట్టి ప్రస్తుతము I, S 0 VR / 8 R ప్లస్ S 1 VR / 4 R మొదలైనవి. మరియు ఇప్పుడు మనం చేయగలిగేది ఈ సాధారణ (సాధారణ) VR / 8 R ను తీసుకొని, ఆపై ఈ వ్యక్తీకరణను ఇక్కడ పొందండి. ఇప్పుడు మనం జనరల్ రాశాము దీని కోసం వ్యక్తీకరణ. + మా విషయంలో N బిట్స్ 4 కి సమానం. + కాబట్టి, మా విషయంలో ఈ 2N-1 (2 N-1 కి పెంచడం) 23 (2 కి 3 కి పెంచండి) ఇది 8 కి సమానం. + కాబట్టి, ఇది మనకు లభిస్తుంది మరియు ప్రతి బిట్ వేరే బరువును పొందుతుంది. ఉదాహరణకు, LSB 0 యొక్క బరువు (బరువు) 20 లేదా 1 మరియు మా విషయంలో నాకు MSB 3 ఉంది, ఇది 23 లేదా 8 బరువు కలిగి ఉంటుంది మరియు ఇదే మేము DAC (DAC) నుండి ఆశించాము. + చివరగా, అవుట్పుట్ వోల్టేజ్ VA ను మేము కనుగొన్నాము, ఇక్కడ మేము ఆప్ ఆంప్ సర్క్యూట్ గురించి మాట్లాడినప్పుడు ఇంతకుముందు చేసాము - ఈ V మైనస్ 0 వోల్ట్లు మరియు కరెంట్ op amp లోకి వెళ్ళదు. అందువల్ల, ఈ ప్రస్తుత కరెంట్ R f మరియు అందువల్ల, VA ఇది మా అవుట్పుట్ వోల్టేజ్ V o 0 మైనస్ I సార్లు R f మరియు ఇక్కడ మనకు ఉన్నది మైనస్ R f సార్లు I మరియు నేను ఈ వ్యక్తీకరణ నుండి వచ్చింది మరియు అందువల్ల ఇది అవుట్పుట్ వోల్టేజ్ కోసం మనం పొందుతాము. + ఒక నిర్దిష్ట ఉదాహరణ తీసుకుందాం, 5 R వోల్ట్లకు సమానమైన V R తో 8-బిట్ (బిట్) D A C ను పరిగణించండి, R యొక్క అతిచిన్న విలువ ఏమిటి? సరఫరా నుండి డ్రా అయిన కరెంట్‌ను 10 మిల్లియాంప్‌కు పరిమితం చేసే నిరోధకత మా సరఫరా VR మరియు ఇది ఈ ప్రవాహాలన్నింటినీ సరఫరా చేస్తుంది మరియు మేము సరఫరా నుండి లాగే మొత్తం కరెంట్, ఇది 10 మిల్లియాంప్‌లకు పరిమితం చేయాలి. + ఇప్పుడు ఇది 8 బిట్ (DAC) కాబట్టి, మన నిరోధక విలువలు (విలువ) R, 2 R, 4 R మొదలైన వాటి నుండి వెళ్లి, ఆపై 26 (2 కి 6 కి పెంచండి) R కి పెరుగుతాయి మరియు తుది విలువ 27 (2 పెంచండి to 7) R. + లేకపోతే సర్క్యూట్ మనం ఇంతకు ముందు చూసినట్లే. + ఇప్పుడు సర్క్యూట్లో ఉన్న మొత్తం అంచు. ఈ స్విచ్ LSB చే S 0 గా నియంత్రించబడుతుంది. ఈ స్విచ్ S 1 చే నియంత్రించబడుతుంది మరియు చివరకు, ఈ స్విచ్) S 7 చే నియంత్రించబడుతుంది, ఇది MSB. + ఇప్పుడు మనం ఈ ప్రవాహాలను I 0, I 1 మొదలైనవి I 7 వరకు తీసుకుంటాము. + ఇప్పుడు ఈ నోడ్ వర్చువల్ గ్రౌండ్ V మైనస్ మరియు V ప్లస్ లతో సమానంగా ఉంటుంది. + అందువల్ల, మనకు 0 వోల్ట్లు ఉన్నాయి. ఇక్కడ ఈ కరెంట్ I 0 ఈ నోడ్‌లోని సంభావ్యత ద్వారా R 0 తో విభజించబడింది. A 0 మైనస్ 0 ఇది 27 (2 కి 7 కి పెంచండి) R మరియు ఈ విధంగా మేము ఈ ఇతర ప్రవాహాలను పొందుతాము. (ప్రవాహాలు ) పొందవచ్చు. + S 0 0 అయినప్పుడు, స్విచ్ ఈ స్థితిలో ఉంటుంది. నోడ్ A0 మైదానంలో ఉంది మరియు అందువల్ల, నేను 0 మరొక వైపు 0 గా ఉంటాను. S 0 1 అయితే, స్విచ్ ఆ స్థితిలో ఉంటుంది., ఇక్కడ సంభావ్యత ఉన్నప్పుడు VR మరియు తరువాత మనకు VR కరెంట్ R 0 తో విభజించబడింది. + మరో మాటలో చెప్పాలంటే, ఈ రిజిస్టర్ S 0 1 అయితే విద్యుత్ సరఫరా నుండి మాత్రమే విద్యుత్తును గీస్తుంది, అదేవిధంగా ఈ రెసిస్టర్ S 1 1 మరియు విద్యుత్ సరఫరాకు గరిష్ట కరెంట్ ఉంటే విద్యుత్ సరఫరా నుండి విద్యుత్తును తీసుకుంటుంది) సరఫరా చేయడానికి, మేము స్పష్టంగా S 0 కి సమానమైన 1 అవసరం, 1 S 1 కు సమానం, మొదలైనవి S 7 కు సమానమైన 1 వరకు అవసరం. + ఈ విధంగా, మేము ఇక్కడ వ్రాసాము. + గరిష్ట ఇన్పుట్ 1 1 1 1 1, 1 1 1 1 అయినప్పుడు, ఇన్పుట్ 1 1 1 1, 1 1 1 1 అయినప్పుడు VR నుండి గరిష్ట ప్రస్తుత ప్రవాహం VR నుండి తీసుకోబడుతుంది. అన్ని లోడ్ (లోడ్) A 0 నుండి A 7 ఇది VR కి అనుసంధానించబడి ఉంది. + కాబట్టి గరిష్ట కరెంట్ 10 మిల్లియాంప్స్‌కు పరిమితం చేయబడింది, కాబట్టి మేము 10 మిల్లియాంప్స్‌కు సమానం. + ఈ రెసిస్టెన్స్ ప్లస్ V R / 2R ద్వారా వచ్చే కరెంట్ తదుపరి నిరోధకత ద్వారా కరెంట్. + VR / 27 (2 పెంచడం 7) R వరకు అన్ని మార్గం సరైనది మరియు మేము VR / 27 (2 కి 7 కి పెంచండి) R సాధారణం (సాధారణం) మరియు 20 (2 ను 0 కి పెంచండి) మరియు 21 (2 పెంచడం 1 ) ప్లస్ 22 (2 కి 2 పెంచండి) మొదలైనవి 27 వరకు పొందవచ్చు (2 7 కి పెంచండి) మరియు ఇది బ్రాకెట్ 28-1 (2 రైజ్ 8 మైనస్ 1) గా మారుతుంది, ఇది 256 మైనస్ 1, 27 (2 రైజ్ to 7) కాబట్టి 128, కాబట్టి మేము R ద్వారా 255 రెట్లు VR తో ముగుస్తాము మరియు అది 10 మిల్లియాంప్స్ మించకూడదు మరియు అది మాకు R యొక్క కనీస విలువను ఇస్తుంది. + అంటే, VR ను 5 మిల్లియాంప్ నుండి 10 మిల్లియాంప్ నుండి 255/128 తో విభజించి 1 కిలో ఓం (కిలో ఓం) గా తేలింది. + ఇప్పుడు, ఈ ఉదాహరణ గోపాలన్ రాసిన ఈ పుస్తకం నుండి తీసుకోబడింది మరియు D A C మరియు A D C గురించి మరెన్నో ఆసక్తికరమైన వివరాలు ఉన్నాయి మరియు చూడటానికి మంచి పుస్తకం. + తదుపరి ప్రశ్న, R f కు సమానం అయితే, డెల్టా VA లో VA ఇక్కడ మారే తీర్మానం ఏమిటి. + ఇన్‌పుట్‌కు అనుగుణమైన ఎల్‌ఎస్‌బి అన్ని ఇతర ఇన్‌పుట్ బిట్‌లతో 0 నుండి 1 వరకు మారుతుంది. + I. + కాబట్టి, ఇది VA కోసం మా వ్యక్తీకరణ మరియు ఇది బ్రాకెట్ యొక్క ఇన్పుట్ బైనరీ సంఖ్యతో సరిపోతుంది, ఈ బ్రాకెట్ యొక్క కనీస విలువ ఏమిటి? S 0 0, S 1 0 అయినప్పుడు ఇది జరుగుతుంది. + S 7 అన్ని మార్గం 0 కి సమానం. + కాబట్టి, అత్యల్ప విలువ 0, ఇది అత్యధికం? S 0 1, S 1 1, మొదలైనవి ఉన్నప్పుడు S7 కు సమానమైన అత్యధిక విలువ. + మరియు అది అత్యధిక విలువ 255 లేదా 28-1 (2 8 మైనస్ 1 కి పెంచండి). + మరియు మేము రిజల్యూషన్ గురించి మాట్లాడేటప్పుడు, ఈ బ్రాకెట్‌ను 1 కి మార్చడానికి మేము అనుమతిస్తున్నాము మరియు ఈ ఇన్పుట్ LSB వలె అదే డెల్టా (డెల్టా) VA అని చెప్తున్నాము, ఇక్కడ S 0 ఇతర ఇన్పుట్ బిట్లతో 0 నుండి 1 కి మారుతోంది. + ఇప్పుడు మీరు రిజల్యూషన్‌ను లెక్కించవచ్చు. + అందువల్ల, VA డెల్టా రిజల్యూషన్, దీనిని బ్రాకెట్ 1 తో భర్తీ చేసినప్పుడు, ఇక్కడ పునరుత్పత్తి చేయబడిన ఈ కారకం ద్వారా ఇవ్వబడుతుంది మరియు ఇది 5 వోల్ట్‌లు, ఇది VR (2 8 మైనస్ 1 కి పెంచండి) ఈ సంఖ్య ఇక్కడ చాలాసార్లు Rf / R మరియు, Rf మరియు R సమానంగా ఉంటాయి, కాబట్టి ఇది 0.0391 వోల్ట్లు లేదా 39.1 మిల్లీవోల్ట్లుగా మారుతుంది. + తరువాతి ప్రశ్న ఏమిటంటే మాగ్నిట్యూడ్‌లో గరిష్ట అవుట్పుట్ వోల్టేజ్ ఏమిటి, ఇది మా VA మరియు ఇది ప్రతికూలంగా ఉందని గమనించండి మరియు అందుకే మేము మాగ్నిట్యూడ్‌ను ఇక్కడ బ్రాకెట్లలో ఉంచాము మరియు మాగ్నిట్యూడ్ గరిష్టంగా ఉన్నప్పుడు? బ్రాకెట్ గరిష్టంగా మారినప్పుడు ఇది జరుగుతుంది. దీని అర్థం ఈ బిట్స్ అన్నీ 1 కి సమానం. + అందువల్ల, ఇన్పుట్ బైనరీ సంఖ్య 1 1 1 1, 1 1 1 1 1 అయినప్పుడు గరిష్ట V A పరిమాణంలో లభిస్తుంది. + కాబట్టి, మనం చేయవలసింది ఇప్పుడు ఈ S లన్నింటినీ 1 తో భర్తీ చేసి, ఈ బ్రాకెట్‌ను అంచనా వేయండి మరియు అది మనకు లభిస్తుంది - VR అంటే 5 వోల్ట్‌లు 2 నుండి మైనస్ 1 వరకు పెరుగుతాయి, ఇది 128 Rf మరియు R కి సమానం. + కాబట్టి, ఇది ఒకటి మరియు ఈ బ్రాకెట్ అప్పుడు 20 (2 కి 0 కి పెంచండి) ప్లస్ 21 (2 కి 1 కి పెంచండి) 27 నుండి (2 కి 7 కి పెంచండి) పైకి, మరియు మనం అంచనా వేసినప్పుడు మనకు 9.961 వోల్ట్లు లభిస్తాయి. + 1 0 1 0 0 1 1 0 0 1 కు అనుగుణమైన అవుట్పుట్ వోల్టేజ్ను కనుగొనడం తదుపరి ఇన్పుట్ బైనరీ సంఖ్య చాలా సులభం, మనకు ఇక్కడ VA ఉంది, మనం చేయాల్సిందల్లా 1 S 7 కు సమానం, 0 S 6 కు సమానం, 1 S 5 కు సమానం, 0 S 4 కు సమానం. + మరియు మేము దానిని ఎలా పొందుతాము. + కాబట్టి, V A మైనస్ 6.758 వోల్ట్లు అవుతుంది. + తదుపరి ప్రశ్న, రెసిస్టర్లు 1 శాతం సహనం కలిగి ఉన్నట్లు పేర్కొనబడితే, ఇన్పుట్ 1 కి అనుగుణంగా మోడ్ (మోడ్) VA యొక్క పరిధి ఏమిటి. + 1 1 1 1, 1 1 1 1. ఇప్పుడు మొదట 1 శాతం సహనం ఏమిటో మనకు ఇవ్వండి, ఉదాహరణకు ఈ ప్రతిఘటనను తీసుకుంటుంది, ఇది 1 నామమాత్రపు నామమాత్రపు విలువ అని మాకు చెప్పండి. ఇది k అయితే, దీని అర్థం వాస్తవ విలువ 0.99 సార్లు 1 k నుండి 1.01 సార్లు 1 k మధ్య ఏదైనా కావచ్చు. + ఈ ప్రతిఘటన గురించి ఏమిటి? R మరియు R f ఒకటేనని మేము అనుకుంటాము, కాబట్టి R 7 యొక్క నామమాత్ర విలువ కూడా 1 k మరియు అందువల్ల, అసలు విలువ 0.99 k నుండి 1.01 k వరకు మారుతుంది. + ఈ ప్రతిఘటన గురించి ఏమిటి? నామమాత్రపు విలువ 26 రెట్లు R; అంటే, 64 సార్లు 1 k లేదా 64 k మరియు దాని వాస్తవ విలువ 64 k సార్లు 0.99 నుండి 64 k సార్లు 1.01 వరకు మారవచ్చు. + ఇప్పుడు మేము మా అసలు ప్రశ్నకు తిరిగి వస్తాము మరియు ఈ ఇన్పుట్తో మా స్విచ్లు అన్నీ పై స్థానంలో ఉన్నాయి; దీని అర్థం, A 7 V R కి అనుసంధానించబడి ఉంది, A 1 V R కి అనుసంధానించబడి ఉంది మరియు ఈ ప్రవాహాలన్నీ ఇప్పుడు సున్నా కానివి. + ఈ పరిమాణాలలో VA గరిష్టంగా ఉండటానికి, ఈ ప్రవాహాలన్నీ వాటి గరిష్ట విలువలకు తీసుకెళ్లాలి మరియు ఈ ప్రతిఘటనలను వాటి కనీస విలువలకు తీసుకువెళ్ళినప్పుడు ఇది జరుగుతుంది, ఇది షరతు సంఖ్య 1 అంటే, రెండవ షరతు ఏమిటంటే ఈ కరెంట్ ఈ ప్రవాహాలన్నింటికీ అదనంగా ఉంటుంది. + ఇప్పుడు, ఈ R f మరియు ఈ R f బార్ గుండా వెళుతుంది. దీని గరిష్ట విలువ కూడా తీసుకోవాలి; దీని అర్థం, R f దాని గరిష్ట విలువను తీసుకోవాలి.  + V A max (max) లెక్కించడం సులభం అని మేము కనుగొన్న తర్వాత. + కాబట్టి, ప్రస్తుతము I 0, I 1 అయినప్పుడు మోడ్ VA గరిష్టంగా (గరిష్టంగా) ఉంటుంది. వాటి గరిష్ట విలువలను R k 0 తో R k 0 కు సమానంగా భావించండి, ఇది నామమాత్రపు విలువ (నామమాత్ర) విలువ) 1 మైనస్ 0.01 0.99 . + కాబట్టి, ప్రతిఘటన ఈ ప్రతిఘటనలు ఈ ప్రవాహాలు ఎలా గరిష్టీకరించబడతాయో వాటి కనీస విలువలకు దారితీస్తాయి. + మరియు రెండవ R f గరిష్టంగా R f, ఇది నామమాత్ర విలువలో 1.01 కు సమానం. + కాబట్టి, ఈ సందర్భంలో మోడ్ (మోడ్) V A యొక్క గరిష్ట విలువ అప్పుడు V R సార్లు 255/128, ఇది మునుపటి కాలంలో కనుగొనబడిన ఈ నిష్పత్తి R యొక్క గరిష్ట విలువ (విలువ) R; దీని అర్థం, 1.01 ను 0.99 ద్వారా విభజించారు, ఎందుకంటే అవి నామమాత్రపు విలువను కలిగి ఉంటాయి, అవి అవి రద్దు చేయబడతాయి మరియు ఇది మాకు 10.162 వోల్ట్లను ఇస్తుంది. + మోడ్ VA యొక్క కనీస విలువ గురించి ఏమిటి? దీనికి విరుద్ధంగా, మేము ఈ సంఖ్యలను వీలైనంత చిన్నదిగా చేయాలనుకుంటున్నాము. + కాబట్టి, Rf ను దాని కనీస విలువకు తీసుకెళ్లాలి మరియు ఈ రెసిస్టర్‌లన్నీ వాటి గరిష్ట విలువలను తీసుకోవాలి. + కాబట్టి, ఇది 9.764 వోల్ట్ల దిగుబడిని 1.01 ద్వారా విభజించిన సింగిల్ ఫ్యాక్టర్ బార్ 0.99 ను ఇస్తుంది. + అందువల్ల, 1 1 1 1, 1 1 1 1 వంటి నిర్దిష్ట ఇన్పుట్ కలయిక కోసం మేము చివరి స్లైడ్‌లో కనుగొన్నట్లుగా, మా ప్రతిఘటనలు సరైనవి కానందున అవుట్పుట్ వోల్టేజ్ చాలా తేడా ఉంటుంది. అవి నాన్జెరో టాలరెన్స్. మరియు మునుపటి ఉదాహరణలో మేము కనుగొన్నాము మాగ్నిట్యూడ్‌లో గరిష్ట VA 10.162 మరియు కనిష్టం 9.764 మరియు రెండింటి మధ్య వ్యత్యాసం 0.4 వోల్ట్‌లు, ఇది చాలా ముఖ్యమైనది, ఎందుకంటే ఇది DAC యొక్క రిజల్యూషన్ కంటే చాలా పెద్దది, ఇది 39 వాస్ మిల్లివోల్ట్. + అందువల్ల, ఈ పరిస్థితి స్పష్టంగా ఆమోదయోగ్యం కాదు ఎందుకంటే ఇది తప్పులకు దారితీస్తుంది మరియు ఈ పరిస్థితిని సరిదిద్దడానికి మనం ఏమి చేయవచ్చు? మేము మరింత గట్టి సహనంతో రెసిస్టర్‌లను ఉపయోగించవచ్చు. + కాబట్టి, చిన్న సహనాలతో రిజిస్టర్లను ఉపయోగించడం ద్వారా అవుట్పుట్ వోల్టేజ్ వైవిధ్యాన్ని తగ్గించవచ్చు; ఏది ఏమయినప్పటికీ, నిర్మించడం చాలా కష్టం మరియు R 2, 128 సార్లు R I I తో మరియు ప్రతి ఒక్కటి తగినంత చిన్న సహనంతో విభిన్నమైన నిరోధక విలువలను కలిగి ఉంది. + కాబట్టి, సాంకేతిక సమస్య ఉంది మరియు అందువల్ల, ఈ మొత్తం డిజైన్‌ను మెరుగుపరచాల్సిన అవసరం ఉంది. + R 2 R నిచ్చెన నెట్‌వర్క్ అని పిలవబడే పరిష్కారం, ఈ నెట్‌వర్క్‌లో మనకు 2 నిరోధక విలువలు R మరియు 2 R. మాత్రమే ఉన్నాయి. + కాబట్టి, ఈ నెట్‌వర్క్‌లోని అన్ని రిజిస్టర్‌లు R లేదా 2 R గా ఉంటాయి మరియు అందువల్ల డెల్టా సమస్య అవుతుంది. + VA నిరోధక విలువలలో తేడాల ద్వారా సమర్థవంతంగా పరిష్కరించబడుతుంది. + సంక్షిప్తంగా, మేము డిజిటల్ అనలాగ్ కన్వర్టర్లను చూడటం ప్రారంభించాము, దీనిలో మేము బైనరీ వెయిటెడ్ రెసిస్టర్ విధానాన్ని ఉపయోగించి 8 బిట్‌లను ఉపయోగించాము.) DAC ఉదాహరణగా పరిగణించి వివిధ రకాల ఆసక్తిపై పనిచేశాము. + ప్రతిఘటన విలువలలో గణాంక వైవిధ్యం బిట్ల సంఖ్య పెద్దగా ఉన్నప్పుడు ఈ రకమైన D A C ను అనుచితంగా మారుస్తుందని మేము కనుగొన్నాము. + తరువాతి తరగతిలో ఈ కష్టాన్ని తగ్గించే R 2 R నిచ్చెన యొక్క విధానాన్ని పరిశీలిస్తాము. + తరువాత కలుద్దాం. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/39 basicElectonics_PHASORS-2-akTxr5PpiaE.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/39 basicElectonics_PHASORS-2-akTxr5PpiaE.txt index bbf20274738749d7e360b5c825fc0382fec896d9..6fcc52130719454a9e1d21d59a9aec5f95bc01d1 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/39 basicElectonics_PHASORS-2-akTxr5PpiaE.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/39 basicElectonics_PHASORS-2-akTxr5PpiaE.txt @@ -1,107 +1,107 @@ - 1. బాసిక్ ఎలెక్త్రొనిక్స్ కు స్వాగతము. - 2. గత ఉపాన్యాసము లొ మనుము ఫాసర్లు phasors పరిచయం చేశాము మరియు వాటిని సైనోఇయిడాల్ స్థిరమైన స్థితిలో ఎలా అర్థం చేసుకోవచ్చో చూడవచ్చు. - 3. ఈ ఉపన్యాసంలో స్థిరమైన స్థితి ప్రవాహాలు మరియు వోల్టేజ్‌లను అర్థం చేసుకోవడానికి మేము RLC సర్క్యూట్‌లకు ఫేజర్‌లను వర్తింపజేయాలనుకుంటున్నాము. - 4. అదనంగా, సైనూసోయిడల్ స్థిరమైన స్థితిలో RLC సర్క్యూట్ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని చూస్తాము. - 5. కాబట్టి, ప్రారంభిద్దాం. - 6. సర్క్యూట్ విశ్లేషణలో ఫాజర్‌ను ఎలా ఉపయోగించవచ్చో చూద్దాం; టైమ్ డొమైన్ KCL మరియు KVL సమీకరణాలు సిగ్మా IK సమాన 0 మరియు సిగ్మా V సమాన 0 ను ఫాజర్ సమీకరణాలుగా వ్రాయవచ్చు, సిగ్మా IK 0 కి సమానం, ఇక్కడ IK ప్రస్తుత దశ మరియు సిగ్మా VK 0 కి సమానం, ఇక్కడ V యొక్క ఫ్రీక్వెన్సీ డొమైన్‌లో వోల్టేజ్ ఫాజర్‌లు ఉన్నాయి . - 7. రెసిస్టర్లు, కెపాసిటర్లు మరియు ప్రేరకాలను ఫ్రీక్వెన్సీ డొమైన్‌లో J ద్వారా Z సార్లు I కు సమానంగా వర్ణించవచ్చు, ఇది DC పరిస్థితులలో R కి సమానం. - 8. ఒకే తేడా ఏమిటంటే, ఈ సమీకరణం గురించి మాట్లాడేటప్పుడు మనం సంక్లిష్ట సంఖ్యలతో వ్యవహరిస్తున్నాము. - 9. ఫ్రీక్వెన్సీ డొమైన్‌లో ఒక స్వతంత్ర సైనూసోయిడల్ మూలం, ఉదాహరణకు, DC మూలం వలె ప్రవర్తిస్తుంది, వోల్టేజ్ మూలం కోసం సైనూసోయిడల్ వోల్టేజ్ మూలం, మేము ఫేజర్ Vs స్థిరంగా ఉందని చెప్పవచ్చు, ఇది సంక్లిష్టమైనది. సంఖ్య. - 10. ఆధారిత మూలాల కోసం, t (I) తో సమానమైన టైమ్ డొమైన్ సంబంధం t ను C యొక్క ఫాజర్ సంబంధంలోకి అనువదిస్తుంది, ఫాజర్ (I) ఫ్రీక్వెన్సీ డొమైన్ బీటా టైమ్స్ ఫేజర్‌ను కలిగి ఉంటుంది. (ఫాజర్) I c కి సమానం. - 11. అందువల్ల, మనకు ఇక్కడ సంక్లిష్ట సంఖ్యలు ఉన్నాయి తప్ప సమీకరణం చాలా పోలి ఉంటుంది. - 12. అందువల్ల, ఈ అన్ని పరిశీలనల నుండి, ఫాసోర్‌లను ఉపయోగించి సైనూసోయిడల్ స్థిరమైన స్థితిలో సర్క్యూట్ విశ్లేషణ స్వతంత్ర మరియు ఆధారిత వనరులు మరియు రెసిస్టర్‌లతో DC సర్క్యూట్‌ల మాదిరిగానే ఉంటుందని మేము నిర్ధారించాము; అందువల్ల, DC సర్క్యూట్ల కోసం మేము పొందిన అన్ని ఫలితాలు సైనూసోయిడల్ స్థిరమైన స్థితి విశ్లేషణకు చెల్లుతాయి, అందువల్ల రెసిస్టర్లు, నోడల్ విశ్లేషణ, మెష్ విశ్లేషణ, థెవెనిన్ మరియు థెవెనిన్ సిద్ధాంతం కోసం సిరీస్ సమాంతర సూత్రాలు. సైనూసోయిడల్ స్థిరమైన స్థితిలో ఒక సర్క్యూట్‌కు నేరుగా వర్తించవచ్చు ; కోర్సు యొక్క పూర్తిగా వేరు, మేము ఇప్పుడు సంక్లిష్ట సంఖ్యలతో వ్యవహరిస్తున్నాము. - 13. ఇప్పుడు మనం సైనూసోయిడల్ స్థిరమైన స్థితిలో RL సర్క్యూట్లను పరిశీలిద్దాం; సిరీస్లో R మరియు L ఇక్కడ రెసిస్టర్ R, మనం ఇంతకుముందు చూసినట్లుగా మరియు ప్రేరక యొక్క ఇంపెడెన్స్ j ఒమేగా (ఒమేగా) L. - 14. ఇది మా సైనూసోయిడల్ సోర్స్ వోల్టేజ్ V m యాంగిల్ 0, ఇది సమయం V m cos (Cos) ఒమేగా (t) డొమైన్ మరియు ఈ కరెంట్ పట్ల మాకు ఆసక్తి ఉంది. - 15. మేము ఫేజర్‌ను ఉపయోగించినప్పుడు, మనం చూసే విధంగా ఇది చాలా సులభమైన గణన అవుతుంది; మనకు DC సోర్స్ DC మూలం ఉందని imagine హించుకుందాం, ఇక్కడ Vs, ఒక రెసిస్టర్ R1 మరియు ఇక్కడ ఒక రెసిస్టర్ R 2, ఆ సందర్భంలో ప్రస్తుతంలో ఏమి జరుగుతుంది? DC కరెంట్ (లు) ఇది V లు R 1 ప్లస్ R 2 తో విభజించబడింది; కాబట్టి మనం V లకు బదులుగా సరిగ్గా అదే సమీకరణాన్ని ఉపయోగించవచ్చు, మనకు ఇప్పుడు V m కోణం 0 అనే ఫాజర్ మూలం ఉంది మరియు R 1 మరియు R 2 కు బదులుగా వాటికి R మరియు j ఒమేగా L ఉన్నాయి, నిరోధకం మరియు ప్రేరక పరిమితులు ఉన్నాయి. - 16. కాబట్టి, మనం I (I) ను V m కోణం 0 గా వ్రాయవచ్చు, ఈ మూలాన్ని R ప్లస్ j ఒమేగా (ఒమేగా) L ద్వారా విభజించారు. - 17. నేను ఈ ఫాజర్‌ను ప్రస్తుతములో వ్రాయగలను ఎందుకంటే నేను (I) కోణం మైనస్ తీటా, ఇక్కడ నేను m ఈ వ్యక్తీకరణ యొక్క పరిమాణం మరియు ఇది V m మాత్రమే హారం యొక్క పరిమాణం ద్వారా విభజించబడింది, ఇది వర్గమూల R చదరపు మరియు ఒమేగా స్క్వేర్ ఎల్ స్క్వేర్. - 18. హారం యొక్క కోణం r ఒమేగా L ద్వారా ఒమేగా L కి విలోమంగా ఉంటుంది మరియు న్యూమరేటర్ యొక్క కోణం 0. - 19. కాబట్టి, I (R) యొక్క నికర కోణం ఒమేగా L కు ఎదురుగా ఉన్న మైనస్ టాంజెంట్ (టాన్), ఇది మనం ఇక్కడకు వచ్చే మైనస్ సంకేతం. - 20. కాబట్టి, ఇక్కడ తీటా అనేది తీటా (తీటా) ఆర్ చేత ఒమేగా ఎల్ సరసన టాంజెంట్. - 21. ప్రస్తుతానికి డొమైన్లో నేను సమానమైన టి యొక్క ఐ కాస్ ఒమేగా టి మైనస్ తీటా (తీటా) కలిగి ఉన్నాను, ఈ వ్యక్తీకరణ మరియు తీటా (తీటా) (తీటా) ద్వారా నేను ఇచ్చాను. - 22. ఇప్పుడు మనం కొంత భాగాన్ని, హించుకుంటాము, R 1 ఓంకు సమానం, ఆర్ 1.6 మిల్లీ హెన్రీకి సమానం మరియు ఎఫ్ (ఎఫ్) 50 హెర్ట్జ్కు సమానం అప్పుడు తీటా 26.6 డిగ్రీలు అవుతుంది; మరియు ఇక్కడ సోర్స్ వోల్టేజ్ కోసం ప్లాట్లు ఉన్నాయి మరియు ప్రస్తుత మా సోర్స్ వోల్టేజ్ V m 1. - 23. కాబట్టి, ఇది ఒకప్పుడు కాస్ ఒమేగా టి, మరియు ఇది మన ప్రస్తుత చీకటి మరియు ఇప్పుడు ఈ సమీకరణం పరంగా ఈ ప్రస్తుత కేసును అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. - 24. మా I m విలువ సుమారు 0.9 ఆంపియర్లు మరియు అందువల్ల, ప్రస్తుత మైనస్ 0.9 ఆంపియర్ల నుండి 0.9 ఆంపియర్లకు వెళుతుంది. - 25. ఇంతకుముందు తీటా 26.6 డిగ్రీలు అని మేము చెప్పినట్లుగా, ఇప్పుడు ఈ విలువను ఈ కేసులో ఎలా జోడించగలం? ఇది ఒక కోణం మరియు ఇది సమయానుకూలంగా ఉంటుంది. - 26. కాబట్టి, ఈ కోణాన్ని సమయానికి మార్చడానికి మనం ఏమి చేయవచ్చు; 360 డిగ్రీలు ఒక కాలానికి అనుగుణంగా ఉన్నాయని మాకు తెలుసు, ఈ సందర్భంలో 20 మిల్లీసెకన్లు, ఎందుకంటే 1 కంటే ఎక్కువ 20 మిల్లీసెకన్లు మరియు అందువల్ల, 1.48 మిల్లీసెకన్లు ఉండే కోణంతో సరిపోలడానికి ఈ వాస్తవాన్ని ఉపయోగించవచ్చు. - 27. ఇప్పుడు మనం t, I m cos (osga) t (t) మైనస్ తీటాకు సమానం అనే సమీకరణానికి తిరిగి వస్తాము మరియు t యొక్క గరిష్ట స్థాయికి (శిఖరం) ఎప్పుడు వెళ్తాను? అంటే ఒమేగా (ఒమేగా) టి మైనస్ తీటా (తీటా) 0 కి సమానం మరియు సమాధానం ఒమేగా (ఒమేగా) ద్వారా విభజించబడిన తీటా (తీటా) కు సమానమైనప్పుడు, మరియు ఇది సరిగ్గా 1.48 మిల్లీసెకన్లు. - 28. కాబట్టి, వోల్టేజ్ దాని గరిష్ట స్థాయికి (పీక్) వెళ్ళినప్పుడు కరెంట్ పీక్ గుండా వెళ్ళదు, కానీ కొంతకాలం తర్వాత అది 1.48 లేదా 1.5 మిల్లీసెకన్ల వద్ద ఉంటుంది, అందుకే ఇది సోర్స్ వోల్టేజ్‌ను తట్టుకుంటుందని మేము చెప్తున్నాము . - 29. ఈ మొత్తం గణన ఎంత సులభమో గమనించండి, మేము ఎటువంటి అవకలన సమీకరణాన్ని వ్రాయలేదు, మేము ఈ వ్యక్తీకరణను సిరీస్‌లో 2 రెసిస్టర్‌ల మాదిరిగా ఉపయోగించాము మరియు తరువాత అవసరమైన అన్ని సమాచారాన్ని పొందగలిగాము. - 30. కాబట్టి, ఈ విధంగా ఫేజర్‌లు వాస్తవానికి సైనూసోయిడల్ స్థిరమైన స్థితిలో సర్క్యూట్‌ను విశ్లేషించడంలో సహాయపడతాయి. - 31. కాబట్టి, ఇక్కడ మీరు సర్క్యూట్‌ను అనుకరించగల సర్క్యూట్ ఫైల్ మరియు కొన్ని భాగాల విలువలను మార్చవచ్చు మరియు ఫలితాలను చూడవచ్చు. - 32. ఇప్పుడు ఫేజర్ రేఖాచిత్రాన్ని ఉపయోగించి గ్రాఫికల్ రూపంలో V s ప్లస్ V L కి సమానమైన సంక్లిష్ట విమానంలో KVL సమీకరణాన్ని సూచిద్దాం; మరియు దీన్ని చేయడానికి మనకు V s అవసరం, ఇది V m కోణం 0, మరియు V R, V L, మొదట V R ను చూద్దాం; V R అంటే ఏమిటి? V R I అనేది టైమ్స్ రెసిస్టర్ యొక్క ఇంపెడెన్స్, ఇది R. - 33. కాబట్టి, ఇది R సార్లు I కోణం మైనస్ తీటా కోణం, ఎందుకంటే మా I I కోణం మైనస్ తీటా. - 34. V L గురించి ఏమిటి? V L I అనేది టైమ్స్ ఇండక్టర్ యొక్క ఇంపెడెన్స్, ఇది j ఒమేగా ఎల్. - 35. ఇప్పుడు ఈ J 2 నుండి కోణం PI (Pi) మరియు I I m కోణం మైనస్ తీటా. - 36. కాబట్టి, ఈ పరిమాణం ఒమేగా I సార్లు ఎల్ యాంగిల్ మైనస్ తీటా ప్లస్ పిఐ (పై) 2. - 37. కాబట్టి, ఇది మా ఫాజర్ రేఖాచిత్రం, ఈ వెక్టర్ V s మరియు V s కోణం 0 రూపంలో ఉంటుంది, కాబట్టి ఇది X (X) X (X) అక్షం, ఇది V యొక్క నిజమైన భాగం ఇది మన VR మరియు తక్కువ VR లోని కోణం కంటే; దీని అర్థం, సవ్యదిశలో తీటా మరియు ఇది మా V L, V L యొక్క కోణం ఏమిటి? ఇది మైనస్ తీటా ప్లస్ పిఐ (పై) బై బై (బై) 2; దీని అర్థం, మేము (తీటా) ద్వారా సవ్యదిశలో వెళ్తాము, ఆపై మనం సవ్యదిశలో 2 (పిఐ) ద్వారా వెళ్తాము, ఇది మనల్ని ఈ కోణానికి తీసుకువస్తుంది మరియు ఇప్పుడు ఈ సమీకరణం V లు VR కి సమానం. ప్లస్ VL తప్పనిసరిగా వెక్టర్ సమీకరణం, మనం VL మరియు VR ను జోడిస్తే మేము V లు పొందుతాము. - 38. మేము అప్పుడు సిరీస్ RC సర్క్యూట్‌ను RC సర్క్యూట్‌కు తీసుకువెళతాము మరియు దీనిని మనం చూసిన RL సర్క్యూట్ మాదిరిగానే విశ్లేషించవచ్చు; ఈ సందర్భంలో మనం ఏమి చేయాలి? మేము రెసిస్టర్‌ను దాని ఇంపెడెన్స్‌తో భర్తీ చేస్తాము, దాని కెపాసిటర్ ఇంపెడెన్స్‌తో j ఒమేగా (ఒమేగా) సి 1 పై ఉంటుంది, ఆపై మనం ఈ కరెంట్‌ను V m కోణం 0, J ఒమేగా (ఒమేగా) C గా R ప్లస్ 1 తో విభజించవచ్చు, ఇది నేను m కోణం తీటా అని వ్రాస్తాము, ఇక్కడ నేను ఈ పరిమాణంతో ఇవ్వబడుతుంది, మీరు దీన్ని నిజంగా ధృవీకరించాలి; మరియు తీటా 2 మైనస్ టాంజెంట్ (ఒమేగా) R సి బై పై (పై). - 39. ఇప్పుడు ఒమేగాకు ఎదురుగా ఉన్న ఈ టాంజెంట్ (టాన్) Rc 0 నుండి PI (Pi) 2 వరకు మారవచ్చు, కాబట్టి ఈ కోణం ప్రాథమికంగా సానుకూల కోణం. - 40. ఆ సమయంలో డొమైన్‌లో మనం కరెంట్‌లో వ్రాస్తాము ఎందుకంటే నేను m కాస్ ఒమేగా టి ప్లస్ తీటా, మరియు ఇప్పుడు మనం కొన్ని భాగాల విలువల కోసం తీటాను లెక్కిస్తాము, R 1. ఓంకు సమానం, సి 5.3 మిల్లీఫ్రాడ్ మరియు ఎఫ్ 50 హెర్ట్జ్కు సమానం. - 41. ఈ కలయికకు తీటా 31 డిగ్రీలు మరియు 1.72 మిల్లీసెకన్ల సమయానికి అనుగుణంగా ఉంటుంది. - 42. I యొక్క t దాని గరిష్ట స్థాయికి (శిఖరం) వెళ్ళనప్పుడు ఇప్పుడు మనం ఈ ప్రశ్న అడుగుతాము మరియు ఒమేగా (ఒమేగా) t ప్లస్ తీటా 0 కి సమానమైనప్పుడు జరుగుతుంది; దీని అర్థం, t ఒమేగాతో విభజించబడిన మైనస్ తీటాకు సమానం మరియు ఆ సమయం సరిగ్గా 1.72 మిల్లీసెకన్లు. - 43. ప్లాట్ పద్ధతిని చూద్దాం; ఈ లైట్ కర్వ్ సోర్స్ వోల్టేజ్ 1 కోణం 0 మరియు ఇది 0 కి సమానమైన దాని శిఖరం (పీక్) గుండా వెళుతుంది ఎందుకంటే కాస్ కాస్ ఫంక్షన్, ఇది డార్క్ కర్వ్ కరెంట్ మరియు ఇది దాని పీక్ (పీక్).) టి ఉన్నప్పుడు వెళుతుంది మేము ఇప్పుడే చర్చించిన మైనస్ 1.72 మిల్లీసెకన్లకు సమానం. - 44. మరో మాటలో చెప్పాలంటే, సోర్స్ వోల్టేజ్ దాని శిఖరానికి (పీక్) వెళ్ళే ముందు కరెంట్‌లో గరిష్ట స్థాయికి వెళుతుంది, అందుకే కరెంట్‌లోని మూలం వోల్టేజ్‌కు దారితీస్తుందని మేము చెబుతున్నాము థెటా ఒమేగా సెకన్ల ముందు సోర్స్ వోల్టేజ్ వల్ల సంభవిస్తుంది T (శిఖరం) యొక్క శిఖరం. - 45. ఈ సందర్భంలో KVL సమీకరణాన్ని సూచించడానికి ఒక ఫాజర్ రేఖాచిత్రాన్ని గీయండి, ఇది VS VR ప్లస్ VC కి సమానం. - 46. వీఆర్ అంటే ఏమిటి? నేను సార్లు R నేను ఎక్కడ కోణాన్ని తీటా చేస్తాను. - 47. కాబట్టి, VR నేను R సార్లు నేను యాంగిల్ తీటా. VC గురించి ఏమిటి? I టైమ్స్ కెపాసిటర్ యొక్క V C ఇంపెడెన్స్, ఇది J ఒమేగా (ఒమేగా) C పై 1. - 48. ఇప్పుడు ఒకటి కంటే ఎక్కువ j కి సమానమైన j ఉంది, ఇది కోణం మైనస్ PI (Pi) 2 మరియు అందువల్ల, ఒమేగా) C ద్వారా I m సమాన vc ను పొందుతాము, ఇది వ్యాప్తి, మరియు కోణం కోసం మనకు తీటా వస్తుంది) ఆ నేను నుండి వస్తుంది మరియు తరువాత ఈ మైనస్ 2 నుండి ఈ మైనస్ 2 నుండి పిఐ (పై) 2 ఉంటుంది. - 49. మన తీటా 0 మరియు pi మధ్య సానుకూల కోణం 2 అని మేము ముందే చెప్పినట్లుగా; ఆ సమాచారంతో మనం ఇప్పుడు ఫాజర్ రేఖాచిత్రాన్ని గీయవచ్చు, ఇది మా VS మరియు ఇది x అక్షం వెంట ఉంది, ఎందుకంటే దీనికి 0 కోణం ఉంటుంది. - 50. వీఆర్ గురించి ఏమిటి? Vr సానుకూలంగా ఉన్న కోణ తీటాను మరియు 0 మరియు pi మధ్య 2 ను కనుగొంది. - 51. కాబట్టి, Vr పోలి ఉంటుంది; విసి గురించి ఏమిటి? VC లోని తీటా మైనస్ పై కోణం 2. - 52. అందువల్ల, మేము తీటా ద్వారా సవ్యదిశలో వెళ్లి 2 నుండి పై వరకు సవ్యదిశలో మారుతాము, అది మనల్ని ఈ కోణానికి తీసుకువస్తుంది. - 53. కాబట్టి, ఇది మా VC మరియు ఇప్పుడు వెక్టర్ సమీకరణం VS VR ప్లస్ VC కి సమానమని మనం చూడవచ్చు; ఇది మా వి.ఎస్ అని అందరూ సంతృప్తి చెందారు. - 54. కాబట్టి, VR ప్లస్ VC మమ్మల్ని VS కి తీసుకువస్తుంది, కాబట్టి, ఈ సందర్భంలో, ఈ KVL సమీకరణానికి అనుగుణమైన ఫాజర్ రేఖాచిత్రం ఇది. - 55. ఇప్పుడు ఇక్కడ చూపిన మరింత క్లిష్టమైన సర్క్యూట్ గురించి పరిశీలిద్దాం. - 56. కాబట్టి, మనకు సైనూసోయిడల్ వోల్టేజ్ సోర్స్ 10 యాంగిల్ 0 ఫ్రీక్వెన్సీ 50 హెర్ట్జ్ ఉంది, మరియు మేము ఈ ప్రవాహాలను IS, IC మరియు IL లను కనుగొనాలనుకుంటున్నాము. - 57. స్టెప్ నంబర్ వన్ మేము అన్ని భాగాలను వాటి ఇంపెడెన్స్‌గా మారుస్తాము, కాబట్టి ఇది 2 ఓంలలో 2 ఓంలు (వాస్తవానికి) ఉంటుంది; 10 ఓంల నుండి 10 ఓంల వరకు మిల్లీపెడ్ జెడ్ 3 అవుతుంది, ఇక్కడ ఈ Z 3 J ఒమేగా Z వద్ద 1, ఇది మైనస్ 15 నుండి ఎంట్రీ Z 4 వరకు 1.6 ఓంలు (ఓంలు) అవుతుంది. Z4 ఉన్న చోటికి వెళుతుంది. ఒమేగా) 2 pi సార్లు 50 L. - 58. కాబట్టి, ఇది J4.07 ఓంలుగా మారుతుంది. - 59. ఇప్పుడు తరువాతి దశ ఏమిటంటే, ఈ కలయిక యొక్క సమానమైన ఇంపెడెన్స్‌ను మనం లెక్కించగలము మరియు ఈ సిరీస్ సమాంతర రెసిస్టివ్ కలయిక లాంటిది, మనకు సిరీస్‌లో Z2 మరియు Z4 ఉన్నాయి, ఇది Z3 మరియు Z1 లతో  - 60. 72 మిల్లిసెకన్ల milliseconds సమయంతో ఉంటుంది. - 61. ఈ దశలన్నింటికీ వెళ్ళడానికి మరియు Z సమానమైన తుది ఫలితాన్ని చేరుకోవడానికి మీరు ఖచ్చితంగా ప్రోత్సహించబడ్డారు, కానీ ఇది మీ కాలిక్యులేటర్‌ను కూడా చూస్తుంది మరియు మీరు మీ కాలిక్యులేటర్‌ను అనుమతించే అవకాశం ఉంది, ఈ గణనను తక్కువ సంఖ్యలో దశల్లో చేయగలుగుతారు . - 62. ఇప్పుడు, ముందుకు సాగండి. - 63. కాబట్టి, మేము ఈ దశకు చేరుకున్నాము, మీకు Z సమానమైనది. మాకు ఇప్పటికే V. ఉంది. - 64. కాబట్టి, ఇప్పుడు, నేను s లను లెక్కించవచ్చు. కాబట్టి, I s ను V S Z సమానమైన, V s 10 కోణం 0 మరియు Z మునుపటి స్లైడ్ నుండి ఈ సంఖ్యకు సమానం, కాబట్టి ఇది 3.58 కోణం 36.8 డిగ్రీ ఆంపియర్. ఇది జరుగుతుంది. - 65. నేను కనుగొన్నప్పుడు నేను ప్రస్తుత డివిజన్ సూత్రాన్ని ఉపయోగించి I సి పొందవచ్చు, అంటే నేను సి 2 Z 2 ప్లస్ Z ​​4 కు సమానం Z 2 ప్లస్ Z ​​4 ప్లస్ Z ​​3 సార్లు విభజించబడింది, అంటే నేను సంఖ్యకు మారుతుంది, ఏమిటి IL గురించి? మీరు IL ను 2 విధాలుగా పొందవచ్చు: A I మైనస్ I c మాకు KCL చేత IL ఇస్తుంది లేదా మేము ప్రస్తుత డివిజన్ ఫార్ములా IL ను Z3 ప్లస్ Z3 ప్లస్ Z ​​కి సమానంగా ఉపయోగించవచ్చు. 2 ప్లస్ z 4 రెట్లు, నేను మీకు పొందడానికి IL సంఖ్య అవసరం , మరియు ఇప్పుడు మేము ఈ నోడ్ వద్ద KCL సమీకరణాన్ని వివరించే ఫాజర్ రేఖాచిత్రాన్ని గీస్తాము. - 66. ఇక్కడ ఫాజర్ రేఖాచిత్రం మరియు మేము x మరియు y అక్షం కోసం ఒకే స్కేల్‌ని ఉపయోగించామని గమనించండి, ఇది x (x) అక్షం మీద 1 యూనిట్‌ను y (y) అక్షం మీద 1 యూనిట్‌ను సూచించే దూరం. - 67. కోణాలు సరిగ్గా ప్రదర్శించబడేలా మేము దీన్ని చేస్తాము; అంటే మనం ఈ పద్ధతిని పాటిస్తే 45 డిగ్రీల కోణం వాస్తవానికి 45 డిగ్రీల కోణంలా కనిపిస్తుంది. - 68. సరే ఇప్పుడు ఈ నోడ్‌లో KCL సమీకరణం సంతృప్తికరంగా ఉందో లేదో ధృవీకరిస్తాము.I c ప్లస్ IL (IL) కు సమానమైన సమీకరణం ఏమిటి? - 69. మా I (I) 3.58 కోణం 36.08 డిగ్రీలు, ఈ వెక్టర్ మాగ్నిట్యూడ్ 3.58, మరియు ఈ కోణం 36.8 డిగ్రీలు. - 70. ఐసి పరిమాణం 3.7. - 71. కాబట్టి, నాకన్నా కొంచెం పెద్దది మరియు 44.6 డిగ్రీల కోణం, ఈ కోణం 44.6 డిగ్రీలు. - 72. IL ఇది 0.546 మాగ్నిట్యూడ్‌లో చాలా చిన్నది మరియు ప్రతికూల కోణం కలిగి ఉంటుంది, కనీసం 70.6 డిగ్రీలు. - 73. కాబట్టి, ఇది మా IL; ఇప్పుడు మనం సి ప్లస్ IL వాస్తవానికి సమానమని చూస్తాము; దీని అర్థం, KCL ధృవీకరించబడింది. - 74. సరళ DC సర్క్యూట్ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని మేము చూశాము; ఇప్పుడు సైనూసోయిడల్ స్థిరమైన స్థితిలో గరిష్ట విద్యుత్ బదిలీని చూద్దాం. - 75. కాబట్టి, ఈ సర్క్యూట్ ద్వారా థెవెనిన్ సమానమైన సర్క్యూట్‌ను ఇక్కడ పరిశీలిద్దాం, అంటే వోల్టేజ్ సోర్స్ V t h సిరీస్‌లో ఇంపెడెన్స్ Z t h; ఈ రెండు కోర్సులు సంక్లిష్ట సంఖ్యలు. - 76. ఇప్పుడు మేము సర్క్యూట్కు లోడ్ ఇంపెడెన్స్ను జోడిస్తాము మరియు దాని ఫలితంగా ఒక కరెంట్ ప్రవహిస్తుంది మరియు కరెంట్ లోని ఈ కరెంట్ స్పేసర్ I చే సూచించబడుతుంది. - 77. ఈ సర్క్యూట్ 2 Z L నుండి విద్యుత్ బదిలీ గరిష్టంగా ఉన్న పరిస్థితిని మేము కనుగొనాలనుకుంటున్నాము. - 78. R L ప్లస్ j x L కి సమానమైన JLL తో ప్రారంభిద్దాం, ఇక్కడ ఇది ZL యొక్క నిజమైన భాగం మరియు ఇది ZL యొక్క inary హాత్మక భాగం మరియు Z t h R t h ప్లస్ j x t h. - 79. I I m phi కోణం, నేను ఇక్కడ ఈ ఫాజర్ I యొక్క పరిమాణం మరియు fi దాని కోణం. - 80. కాబట్టి, Z సమానమైన Z1 ప్లస్ Z3 సమాంతర Z2 ప్లస్ Z4. - 81. ఇప్పుడు, ZL చేత గ్రహించబడిన శక్తి సగం మీటర్ m R RL ఇచ్చిన P కి సమానం, ఇక్కడ I m ఈ ఫేజర్ యొక్క పరిమాణం మరియు RL Z L యొక్క నిజమైన భాగం. - 82. ఏమిటి ఇది నేను యొక్క పరిమాణం, మరియు నేను ఏమిటి? V t h ను Z t h మరియు Z L చే విభజించారు. - 83. కాబట్టి, ఇక్కడ ఈ వ్యక్తీకరణకు సమానమైన p ను పొందుతాము. - 84. ఈ వ్యక్తీకరణను సగం మోడ్ (సగం మోడ్) V t h స్క్వేర్‌గా R t h ప్లస్ R L స్క్వేర్డ్ ప్లస్ X టి హెచ్ ప్లస్ ఎక్స్ ఎల్ స్క్వేర్డ్ మరియు ఆర్ ఎల్ చేత గుణించాలి. - 85. ఇప్పుడు ఈ V t h తరగతి ZL నుండి స్వతంత్రంగా ఉంది మరియు మనకు సంబంధించినంతవరకు అది స్థిరంగా ఉంటుంది. - 86. కాబట్టి, ఇప్పుడు మనం చేయవలసింది ఈ మొత్తం వ్యక్తీకరణ గరిష్టంగా ఉన్న Z పై పరిస్థితులను కనుగొనడం. - 87. ఇప్పుడు, P గరిష్టంగా ఉండటానికి, స్పష్టంగా ఈ హారం కనిష్టంగా ఉండాలి మరియు X వ ప్లస్ XL స్క్వేర్డ్ 0 అయినప్పుడు ఇది జరుగుతుంది, ఎందుకంటే ఇక్కడ ఒక చదరపు ఉంది, ఈ పదాన్ని అతి చిన్న విలువగా తీసుకోవచ్చు. 0 మరియు, అందువల్ల, ఈ రెండవ పదానికి సమానమైన xh తో xh కు సమానమైన x L మైనస్ వ మరియు xl మనకు అదృశ్యమవుతుంది, మరియు మనకు p సమాన rv ప్లస్ rl స్క్వేర్డ్ టైమ్స్ r ను సగం మోడ్ ద్వారా విభజించి V వ చదరపుకి సమానం. - 88. కాబట్టి, గరిష్ట విద్యుత్ బదిలీ కోసం మనం ఇప్పుడు ఈ వ్యక్తీకరణను పెంచాలి. - 89. మేము దీన్ని ఎలా చేయాలి? మేము RL కు సంబంధించి P ను వేరు చేస్తాము మరియు మేము DPD RL ను 0 తో సమానం చేస్తాము మరియు R R R T T కి సమానమైనప్పుడు P గరిష్టంగా ఉంటుందని కనుగొన్నాము. - 90. కాబట్టి, మనకు 2 షరతులు ఉన్నాయి: JL యొక్క inary హాత్మక భాగం X L, ఇది X L యొక్క inary హాత్మక భాగం యొక్క ప్రతికూలానికి సమానంగా ఉండాలి, ఇది X t h మరియు ZL యొక్క వాస్తవ భాగం Z t h యొక్క వాస్తవ భాగానికి సమానంగా ఉండాలి. - 91. లోడ్ ZL లో గరిష్ట విద్యుత్ బదిలీ కోసం సంగ్రహంగా చెప్పాలంటే, మనకు RL మరియు XL కు సమానమైన RL అవసరం, ఇది మైనస్ కంటే తక్కువ; దీని అర్థం, మా లోడ్ ఇంపెడెన్స్ థెవెనిన్ సమానమైన ఇంపెడెన్స్ యొక్క సంక్లిష్ట యాదృచ్చికంగా ఉండాలి, ఇది Z T H. - 92. కాబట్టి, ZL తప్పనిసరిగా Z వ నక్షత్రానికి సమానంగా ఉండాలి. - 93. ఇప్పుడు సైనూసోయిడల్ స్థిరమైన స్థితి కోసం గరిష్ట శక్తి బదిలీ సిద్ధాంతం యొక్క అనువర్తనాన్ని చూద్దాం, ఇది ఆడియో ఇన్పుట్ సిగ్నల్ ద్వారా శక్తినిచ్చే ఆడియో యాంప్లిఫైయర్. - 94. కాబట్టి, ఇక్కడ పౌన encies పున్యాల పరిధి 20 Hz నుండి 16 KHz లేదా అంతకంటే ఎక్కువ ఉంటుంది. - 95. ఈ ఆడియో యాంప్లిఫైయర్ తరువాత ట్రాన్స్ఫార్మర్ ఉంది మరియు ఈ ట్రాన్స్ఫార్మర్ ఎందుకు అవసరమో త్వరలో వ్యాఖ్యానిస్తాము మరియు చివరకు, మనకు ఈ స్పీకర్ ఉంది. - 96. ఈ స్పీకర్ సంక్లిష్ట ఇంపెడెన్స్‌ను కలిగి ఉంటుంది, ఇది ఫ్రీక్వెన్సీతో మారుతుంది, కానీ ఆడియో పరిధిలో దాని నిరోధకత సాధారణంగా 8 ఓంలు (ఓంలు), మరియు దాని inary హాత్మక భాగాన్ని విస్మరించవచ్చు. - 97. అందువల్ల, సమానమైన సర్క్యూట్ ఈ సర్క్యూట్ ద్వారా ఇక్కడ ప్రాతినిధ్యం వహిస్తుంది, ఇక్కడ ఈ మూలం ఆడియో యాంప్లిఫైయర్ యొక్క లాభం ద్వారా విస్తరించబడిన ఇన్పుట్ సిగ్నల్ను సూచిస్తుంది మరియు తరువాత ఈ ఒక నిరోధకత ఆడియో యాంప్లిఫైయర్ యొక్క అవుట్పుట్ నిరోధకత, ఆపై మనకు ట్రాన్స్ఫార్మర్ ఒకటి ఉంది. నిష్పత్తి n 1 2, n 2 మరియు చివరకు, ఈ 8 ఓంల నిరోధకత ద్వారా స్పీకర్ ప్రాతినిధ్యం వహిస్తుంది. - 98. ఈ సర్క్యూట్ నుండి స్పీకర్‌కు విద్యుత్ బదిలీని పెంచడం మా లక్ష్యం, అందువల్ల మేము ఇన్‌పుట్ సిగ్నల్‌తో పెద్ద శబ్దాన్ని వింటాము. - 99. కాబట్టి, సర్క్యూట్‌ను సరళీకృతం చేద్దాం, మేము ఈ ప్రతిఘటనను ట్రాన్స్‌ఫార్మర్ యొక్క మరొక వైపుకు బదిలీ చేయవచ్చు మరియు అది N2 స్క్వేర్డ్ సమయంలో 8 ఓంల ద్వారా N1 అవుతుంది. - 100. ఇక్కడ మా నిజమైన సమస్య ప్రకటన, మేము ఈ సర్క్యూట్‌ను చూస్తాము మరియు ఆడియో సిగ్నల్ యొక్క గరిష్ట శక్తి బదిలీని అందించడానికి ట్విస్ట్ నిష్పత్తిని లెక్కిస్తాము; గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతం ఏమిటి? ఇది ZL తప్పనిసరిగా Z t h నక్షత్రానికి సమానంగా ఉండాలని పేర్కొంది మరియు ఈ సందర్భంలో Z t h మరియు ZL యొక్క inary హాత్మక భాగాలు 0, దీని అర్థం నిజమైన భాగం సమానంగా ఉండాలి; దీని అర్థం, మనకు 1 కి సమానమైన N 1by N 2 చదరపు సార్లు 8 ఓంలు (ఓంలు) ఉండాలి. - 101. ఇప్పుడు మనం ఈ సమీకరణాన్ని n1 కొరకు n2 ద్వారా పరిష్కరించగలము మరియు ఇది n1 ద్వారా n2 ద్వారా 11 గురించి ఇస్తుంది. - 102. అందువల్ల, మేము ఈ అనువాదంతో ట్రాన్స్‌ఫార్మర్‌ను ఎంచుకుంటే, ఆడియో సిగ్నల్ స్పీకర్‌కు గరిష్ట శక్తిని అందిస్తుంది, మరియు ఈ ఇన్‌పుట్ సిగ్నల్‌తో సాధ్యమయ్యే అతి పెద్ద శబ్దాన్ని మేము వింటాము. - 103. ముగింపులో, సైనూసోయిడల్ స్థిరమైన స్థితిలో RLC సర్క్యూట్లను విశ్లేషించడానికి ఫాజర్‌లను ఎలా ఉపయోగించాలో చూశాము; కొంతకాలం తర్వాత ఫిల్టర్ సర్క్యూట్‌ను చూసేటప్పుడు ఈ నేపథ్యం చాలా ఉపయోగకరంగా ఉంటుంది. - 104. సైనూసోయిడల్ స్థిరమైన స్థితిలో ఆర్‌ఎల్‌సి సర్క్యూట్‌ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని కూడా చూశాము. - 105. ఆచరణలో చాలా ముఖ్యమైన ఒక ఉదాహరణను మేము పరిగణించాము, అనగా స్పీకర్ నుండి గరిష్ట ఆడియో శక్తిని ఎలా పొందాలో, ఇది ఇప్పుడు ప్రతిదీ. - 106. తరువాత కలుద్దాం + బాసిక్ ఎలెక్త్రొనిక్స్ కు స్వాగతము. + గత ఉపాన్యాసము లొ మనుము ఫాసర్లు phasors పరిచయం చేశాము మరియు వాటిని సైనోఇయిడాల్ స్థిరమైన స్థితిలో ఎలా అర్థం చేసుకోవచ్చో చూడవచ్చు. + ఈ ఉపన్యాసంలో స్థిరమైన స్థితి ప్రవాహాలు మరియు వోల్టేజ్‌లను అర్థం చేసుకోవడానికి మేము RLC సర్క్యూట్‌లకు ఫేజర్‌లను వర్తింపజేయాలనుకుంటున్నాము. + అదనంగా, సైనూసోయిడల్ స్థిరమైన స్థితిలో RLC సర్క్యూట్ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని చూస్తాము. + కాబట్టి, ప్రారంభిద్దాం. + సర్క్యూట్ విశ్లేషణలో ఫాజర్‌ను ఎలా ఉపయోగించవచ్చో చూద్దాం; టైమ్ డొమైన్ KCL మరియు KVL సమీకరణాలు సిగ్మా IK సమాన 0 మరియు సిగ్మా V సమాన 0 ను ఫాజర్ సమీకరణాలుగా వ్రాయవచ్చు, సిగ్మా IK 0 కి సమానం, ఇక్కడ IK ప్రస్తుత దశ మరియు సిగ్మా VK 0 కి సమానం, ఇక్కడ V యొక్క ఫ్రీక్వెన్సీ డొమైన్‌లో వోల్టేజ్ ఫాజర్‌లు ఉన్నాయి . + రెసిస్టర్లు, కెపాసిటర్లు మరియు ప్రేరకాలను ఫ్రీక్వెన్సీ డొమైన్‌లో J ద్వారా Z సార్లు I కు సమానంగా వర్ణించవచ్చు, ఇది DC పరిస్థితులలో R కి సమానం. + ఒకే తేడా ఏమిటంటే, ఈ సమీకరణం గురించి మాట్లాడేటప్పుడు మనం సంక్లిష్ట సంఖ్యలతో వ్యవహరిస్తున్నాము. + ఫ్రీక్వెన్సీ డొమైన్‌లో ఒక స్వతంత్ర సైనూసోయిడల్ మూలం, ఉదాహరణకు, DC మూలం వలె ప్రవర్తిస్తుంది, వోల్టేజ్ మూలం కోసం సైనూసోయిడల్ వోల్టేజ్ మూలం, మేము ఫేజర్ Vs స్థిరంగా ఉందని చెప్పవచ్చు, ఇది సంక్లిష్టమైనది. సంఖ్య. + ఆధారిత మూలాల కోసం, t (I) తో సమానమైన టైమ్ డొమైన్ సంబంధం t ను C యొక్క ఫాజర్ సంబంధంలోకి అనువదిస్తుంది, ఫాజర్ (I) ఫ్రీక్వెన్సీ డొమైన్ బీటా టైమ్స్ ఫేజర్‌ను కలిగి ఉంటుంది. (ఫాజర్) I c కి సమానం. + అందువల్ల, మనకు ఇక్కడ సంక్లిష్ట సంఖ్యలు ఉన్నాయి తప్ప సమీకరణం చాలా పోలి ఉంటుంది. + అందువల్ల, ఈ అన్ని పరిశీలనల నుండి, ఫాసోర్‌లను ఉపయోగించి సైనూసోయిడల్ స్థిరమైన స్థితిలో సర్క్యూట్ విశ్లేషణ స్వతంత్ర మరియు ఆధారిత వనరులు మరియు రెసిస్టర్‌లతో DC సర్క్యూట్‌ల మాదిరిగానే ఉంటుందని మేము నిర్ధారించాము; అందువల్ల, DC సర్క్యూట్ల కోసం మేము పొందిన అన్ని ఫలితాలు సైనూసోయిడల్ స్థిరమైన స్థితి విశ్లేషణకు చెల్లుతాయి, అందువల్ల రెసిస్టర్లు, నోడల్ విశ్లేషణ, మెష్ విశ్లేషణ, థెవెనిన్ మరియు థెవెనిన్ సిద్ధాంతం కోసం సిరీస్ సమాంతర సూత్రాలు. సైనూసోయిడల్ స్థిరమైన స్థితిలో ఒక సర్క్యూట్‌కు నేరుగా వర్తించవచ్చు ; కోర్సు యొక్క పూర్తిగా వేరు, మేము ఇప్పుడు సంక్లిష్ట సంఖ్యలతో వ్యవహరిస్తున్నాము. + ఇప్పుడు మనం సైనూసోయిడల్ స్థిరమైన స్థితిలో RL సర్క్యూట్లను పరిశీలిద్దాం; సిరీస్లో R మరియు L ఇక్కడ రెసిస్టర్ R, మనం ఇంతకుముందు చూసినట్లుగా మరియు ప్రేరక యొక్క ఇంపెడెన్స్ j ఒమేగా (ఒమేగా) L. + ఇది మా సైనూసోయిడల్ సోర్స్ వోల్టేజ్ V m యాంగిల్ 0, ఇది సమయం V m cos (Cos) ఒమేగా (t) డొమైన్ మరియు ఈ కరెంట్ పట్ల మాకు ఆసక్తి ఉంది. + మేము ఫేజర్‌ను ఉపయోగించినప్పుడు, మనం చూసే విధంగా ఇది చాలా సులభమైన గణన అవుతుంది; మనకు DC సోర్స్ DC మూలం ఉందని imagine హించుకుందాం, ఇక్కడ Vs, ఒక రెసిస్టర్ R1 మరియు ఇక్కడ ఒక రెసిస్టర్ R 2, ఆ సందర్భంలో ప్రస్తుతంలో ఏమి జరుగుతుంది? DC కరెంట్ (లు) ఇది V లు R 1 ప్లస్ R 2 తో విభజించబడింది; కాబట్టి మనం V లకు బదులుగా సరిగ్గా అదే సమీకరణాన్ని ఉపయోగించవచ్చు, మనకు ఇప్పుడు V m కోణం 0 అనే ఫాజర్ మూలం ఉంది మరియు R 1 మరియు R 2 కు బదులుగా వాటికి R మరియు j ఒమేగా L ఉన్నాయి, నిరోధకం మరియు ప్రేరక పరిమితులు ఉన్నాయి. + కాబట్టి, మనం I (I) ను V m కోణం 0 గా వ్రాయవచ్చు, ఈ మూలాన్ని R ప్లస్ j ఒమేగా (ఒమేగా) L ద్వారా విభజించారు. + నేను ఈ ఫాజర్‌ను ప్రస్తుతములో వ్రాయగలను ఎందుకంటే నేను (I) కోణం మైనస్ తీటా, ఇక్కడ నేను m ఈ వ్యక్తీకరణ యొక్క పరిమాణం మరియు ఇది V m మాత్రమే హారం యొక్క పరిమాణం ద్వారా విభజించబడింది, ఇది వర్గమూల R చదరపు మరియు ఒమేగా స్క్వేర్ ఎల్ స్క్వేర్. + హారం యొక్క కోణం r ఒమేగా L ద్వారా ఒమేగా L కి విలోమంగా ఉంటుంది మరియు న్యూమరేటర్ యొక్క కోణం 0. + కాబట్టి, I (R) యొక్క నికర కోణం ఒమేగా L కు ఎదురుగా ఉన్న మైనస్ టాంజెంట్ (టాన్), ఇది మనం ఇక్కడకు వచ్చే మైనస్ సంకేతం. + కాబట్టి, ఇక్కడ తీటా అనేది తీటా (తీటా) ఆర్ చేత ఒమేగా ఎల్ సరసన టాంజెంట్. + ప్రస్తుతానికి డొమైన్లో నేను సమానమైన టి యొక్క ఐ కాస్ ఒమేగా టి మైనస్ తీటా (తీటా) కలిగి ఉన్నాను, ఈ వ్యక్తీకరణ మరియు తీటా (తీటా) (తీటా) ద్వారా నేను ఇచ్చాను. + ఇప్పుడు మనం కొంత భాగాన్ని, హించుకుంటాము, R 1 ఓంకు సమానం, ఆర్ 1.6 మిల్లీ హెన్రీకి సమానం మరియు ఎఫ్ (ఎఫ్) 50 హెర్ట్జ్కు సమానం అప్పుడు తీటా 26.6 డిగ్రీలు అవుతుంది; మరియు ఇక్కడ సోర్స్ వోల్టేజ్ కోసం ప్లాట్లు ఉన్నాయి మరియు ప్రస్తుత మా సోర్స్ వోల్టేజ్ V m 1. + కాబట్టి, ఇది ఒకప్పుడు కాస్ ఒమేగా టి, మరియు ఇది మన ప్రస్తుత చీకటి మరియు ఇప్పుడు ఈ సమీకరణం పరంగా ఈ ప్రస్తుత కేసును అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము. + మా I m విలువ సుమారు 0.9 ఆంపియర్లు మరియు అందువల్ల, ప్రస్తుత మైనస్ 0.9 ఆంపియర్ల నుండి 0.9 ఆంపియర్లకు వెళుతుంది. + ఇంతకుముందు తీటా 26.6 డిగ్రీలు అని మేము చెప్పినట్లుగా, ఇప్పుడు ఈ విలువను ఈ కేసులో ఎలా జోడించగలం? ఇది ఒక కోణం మరియు ఇది సమయానుకూలంగా ఉంటుంది. + కాబట్టి, ఈ కోణాన్ని సమయానికి మార్చడానికి మనం ఏమి చేయవచ్చు; 360 డిగ్రీలు ఒక కాలానికి అనుగుణంగా ఉన్నాయని మాకు తెలుసు, ఈ సందర్భంలో 20 మిల్లీసెకన్లు, ఎందుకంటే 1 కంటే ఎక్కువ 20 మిల్లీసెకన్లు మరియు అందువల్ల, 1.48 మిల్లీసెకన్లు ఉండే కోణంతో సరిపోలడానికి ఈ వాస్తవాన్ని ఉపయోగించవచ్చు. + ఇప్పుడు మనం t, I m cos (osga) t (t) మైనస్ తీటాకు సమానం అనే సమీకరణానికి తిరిగి వస్తాము మరియు t యొక్క గరిష్ట స్థాయికి (శిఖరం) ఎప్పుడు వెళ్తాను? అంటే ఒమేగా (ఒమేగా) టి మైనస్ తీటా (తీటా) 0 కి సమానం మరియు సమాధానం ఒమేగా (ఒమేగా) ద్వారా విభజించబడిన తీటా (తీటా) కు సమానమైనప్పుడు, మరియు ఇది సరిగ్గా 1.48 మిల్లీసెకన్లు. + కాబట్టి, వోల్టేజ్ దాని గరిష్ట స్థాయికి (పీక్) వెళ్ళినప్పుడు కరెంట్ పీక్ గుండా వెళ్ళదు, కానీ కొంతకాలం తర్వాత అది 1.48 లేదా 1.5 మిల్లీసెకన్ల వద్ద ఉంటుంది, అందుకే ఇది సోర్స్ వోల్టేజ్‌ను తట్టుకుంటుందని మేము చెప్తున్నాము . + ఈ మొత్తం గణన ఎంత సులభమో గమనించండి, మేము ఎటువంటి అవకలన సమీకరణాన్ని వ్రాయలేదు, మేము ఈ వ్యక్తీకరణను సిరీస్‌లో 2 రెసిస్టర్‌ల మాదిరిగా ఉపయోగించాము మరియు తరువాత అవసరమైన అన్ని సమాచారాన్ని పొందగలిగాము. + కాబట్టి, ఈ విధంగా ఫేజర్‌లు వాస్తవానికి సైనూసోయిడల్ స్థిరమైన స్థితిలో సర్క్యూట్‌ను విశ్లేషించడంలో సహాయపడతాయి. + కాబట్టి, ఇక్కడ మీరు సర్క్యూట్‌ను అనుకరించగల సర్క్యూట్ ఫైల్ మరియు కొన్ని భాగాల విలువలను మార్చవచ్చు మరియు ఫలితాలను చూడవచ్చు. + ఇప్పుడు ఫేజర్ రేఖాచిత్రాన్ని ఉపయోగించి గ్రాఫికల్ రూపంలో V s ప్లస్ V L కి సమానమైన సంక్లిష్ట విమానంలో KVL సమీకరణాన్ని సూచిద్దాం; మరియు దీన్ని చేయడానికి మనకు V s అవసరం, ఇది V m కోణం 0, మరియు V R, V L, మొదట V R ను చూద్దాం; V R అంటే ఏమిటి? V R I అనేది టైమ్స్ రెసిస్టర్ యొక్క ఇంపెడెన్స్, ఇది R. + కాబట్టి, ఇది R సార్లు I కోణం మైనస్ తీటా కోణం, ఎందుకంటే మా I I కోణం మైనస్ తీటా. + V L గురించి ఏమిటి? V L I అనేది టైమ్స్ ఇండక్టర్ యొక్క ఇంపెడెన్స్, ఇది j ఒమేగా ఎల్. + ఇప్పుడు ఈ J 2 నుండి కోణం PI (Pi) మరియు I I m కోణం మైనస్ తీటా. + కాబట్టి, ఈ పరిమాణం ఒమేగా I సార్లు ఎల్ యాంగిల్ మైనస్ తీటా ప్లస్ పిఐ (పై) 2. + కాబట్టి, ఇది మా ఫాజర్ రేఖాచిత్రం, ఈ వెక్టర్ V s మరియు V s కోణం 0 రూపంలో ఉంటుంది, కాబట్టి ఇది X (X) X (X) అక్షం, ఇది V యొక్క నిజమైన భాగం ఇది మన VR మరియు తక్కువ VR లోని కోణం కంటే; దీని అర్థం, సవ్యదిశలో తీటా మరియు ఇది మా V L, V L యొక్క కోణం ఏమిటి? ఇది మైనస్ తీటా ప్లస్ పిఐ (పై) బై బై (బై) 2; దీని అర్థం, మేము (తీటా) ద్వారా సవ్యదిశలో వెళ్తాము, ఆపై మనం సవ్యదిశలో 2 (పిఐ) ద్వారా వెళ్తాము, ఇది మనల్ని ఈ కోణానికి తీసుకువస్తుంది మరియు ఇప్పుడు ఈ సమీకరణం V లు VR కి సమానం. ప్లస్ VL తప్పనిసరిగా వెక్టర్ సమీకరణం, మనం VL మరియు VR ను జోడిస్తే మేము V లు పొందుతాము. + మేము అప్పుడు సిరీస్ RC సర్క్యూట్‌ను RC సర్క్యూట్‌కు తీసుకువెళతాము మరియు దీనిని మనం చూసిన RL సర్క్యూట్ మాదిరిగానే విశ్లేషించవచ్చు; ఈ సందర్భంలో మనం ఏమి చేయాలి? మేము రెసిస్టర్‌ను దాని ఇంపెడెన్స్‌తో భర్తీ చేస్తాము, దాని కెపాసిటర్ ఇంపెడెన్స్‌తో j ఒమేగా (ఒమేగా) సి 1 పై ఉంటుంది, ఆపై మనం ఈ కరెంట్‌ను V m కోణం 0, J ఒమేగా (ఒమేగా) C గా R ప్లస్ 1 తో విభజించవచ్చు, ఇది నేను m కోణం తీటా అని వ్రాస్తాము, ఇక్కడ నేను ఈ పరిమాణంతో ఇవ్వబడుతుంది, మీరు దీన్ని నిజంగా ధృవీకరించాలి; మరియు తీటా 2 మైనస్ టాంజెంట్ (ఒమేగా) R సి బై పై (పై). + ఇప్పుడు ఒమేగాకు ఎదురుగా ఉన్న ఈ టాంజెంట్ (టాన్) Rc 0 నుండి PI (Pi) 2 వరకు మారవచ్చు, కాబట్టి ఈ కోణం ప్రాథమికంగా సానుకూల కోణం. + ఆ సమయంలో డొమైన్‌లో మనం కరెంట్‌లో వ్రాస్తాము ఎందుకంటే నేను m కాస్ ఒమేగా టి ప్లస్ తీటా, మరియు ఇప్పుడు మనం కొన్ని భాగాల విలువల కోసం తీటాను లెక్కిస్తాము, R 1. ఓంకు సమానం, సి 5.3 మిల్లీఫ్రాడ్ మరియు ఎఫ్ 50 హెర్ట్జ్కు సమానం. + ఈ కలయికకు తీటా 31 డిగ్రీలు మరియు 1.72 మిల్లీసెకన్ల సమయానికి అనుగుణంగా ఉంటుంది. + I యొక్క t దాని గరిష్ట స్థాయికి (శిఖరం) వెళ్ళనప్పుడు ఇప్పుడు మనం ఈ ప్రశ్న అడుగుతాము మరియు ఒమేగా (ఒమేగా) t ప్లస్ తీటా 0 కి సమానమైనప్పుడు జరుగుతుంది; దీని అర్థం, t ఒమేగాతో విభజించబడిన మైనస్ తీటాకు సమానం మరియు ఆ సమయం సరిగ్గా 1.72 మిల్లీసెకన్లు. + ప్లాట్ పద్ధతిని చూద్దాం; ఈ లైట్ కర్వ్ సోర్స్ వోల్టేజ్ 1 కోణం 0 మరియు ఇది 0 కి సమానమైన దాని శిఖరం (పీక్) గుండా వెళుతుంది ఎందుకంటే కాస్ కాస్ ఫంక్షన్, ఇది డార్క్ కర్వ్ కరెంట్ మరియు ఇది దాని పీక్ (పీక్).) టి ఉన్నప్పుడు వెళుతుంది మేము ఇప్పుడే చర్చించిన మైనస్ 1.72 మిల్లీసెకన్లకు సమానం. + మరో మాటలో చెప్పాలంటే, సోర్స్ వోల్టేజ్ దాని శిఖరానికి (పీక్) వెళ్ళే ముందు కరెంట్‌లో గరిష్ట స్థాయికి వెళుతుంది, అందుకే కరెంట్‌లోని మూలం వోల్టేజ్‌కు దారితీస్తుందని మేము చెబుతున్నాము థెటా ఒమేగా సెకన్ల ముందు సోర్స్ వోల్టేజ్ వల్ల సంభవిస్తుంది T (శిఖరం) యొక్క శిఖరం. + ఈ సందర్భంలో KVL సమీకరణాన్ని సూచించడానికి ఒక ఫాజర్ రేఖాచిత్రాన్ని గీయండి, ఇది VS VR ప్లస్ VC కి సమానం. + వీఆర్ అంటే ఏమిటి? నేను సార్లు R నేను ఎక్కడ కోణాన్ని తీటా చేస్తాను. + కాబట్టి, VR నేను R సార్లు నేను యాంగిల్ తీటా. VC గురించి ఏమిటి? I టైమ్స్ కెపాసిటర్ యొక్క V C ఇంపెడెన్స్, ఇది J ఒమేగా (ఒమేగా) C పై 1. + ఇప్పుడు ఒకటి కంటే ఎక్కువ j కి సమానమైన j ఉంది, ఇది కోణం మైనస్ PI (Pi) 2 మరియు అందువల్ల, ఒమేగా) C ద్వారా I m సమాన vc ను పొందుతాము, ఇది వ్యాప్తి, మరియు కోణం కోసం మనకు తీటా వస్తుంది) ఆ నేను నుండి వస్తుంది మరియు తరువాత ఈ మైనస్ 2 నుండి ఈ మైనస్ 2 నుండి పిఐ (పై) 2 ఉంటుంది. + మన తీటా 0 మరియు pi మధ్య సానుకూల కోణం 2 అని మేము ముందే చెప్పినట్లుగా; ఆ సమాచారంతో మనం ఇప్పుడు ఫాజర్ రేఖాచిత్రాన్ని గీయవచ్చు, ఇది మా VS మరియు ఇది x అక్షం వెంట ఉంది, ఎందుకంటే దీనికి 0 కోణం ఉంటుంది. + వీఆర్ గురించి ఏమిటి? Vr సానుకూలంగా ఉన్న కోణ తీటాను మరియు 0 మరియు pi మధ్య 2 ను కనుగొంది. + కాబట్టి, Vr పోలి ఉంటుంది; విసి గురించి ఏమిటి? VC లోని తీటా మైనస్ పై కోణం 2. + అందువల్ల, మేము తీటా ద్వారా సవ్యదిశలో వెళ్లి 2 నుండి పై వరకు సవ్యదిశలో మారుతాము, అది మనల్ని ఈ కోణానికి తీసుకువస్తుంది. + కాబట్టి, ఇది మా VC మరియు ఇప్పుడు వెక్టర్ సమీకరణం VS VR ప్లస్ VC కి సమానమని మనం చూడవచ్చు; ఇది మా వి.ఎస్ అని అందరూ సంతృప్తి చెందారు. + కాబట్టి, VR ప్లస్ VC మమ్మల్ని VS కి తీసుకువస్తుంది, కాబట్టి, ఈ సందర్భంలో, ఈ KVL సమీకరణానికి అనుగుణమైన ఫాజర్ రేఖాచిత్రం ఇది. + ఇప్పుడు ఇక్కడ చూపిన మరింత క్లిష్టమైన సర్క్యూట్ గురించి పరిశీలిద్దాం. + కాబట్టి, మనకు సైనూసోయిడల్ వోల్టేజ్ సోర్స్ 10 యాంగిల్ 0 ఫ్రీక్వెన్సీ 50 హెర్ట్జ్ ఉంది, మరియు మేము ఈ ప్రవాహాలను IS, IC మరియు IL లను కనుగొనాలనుకుంటున్నాము. + స్టెప్ నంబర్ వన్ మేము అన్ని భాగాలను వాటి ఇంపెడెన్స్‌గా మారుస్తాము, కాబట్టి ఇది 2 ఓంలలో 2 ఓంలు (వాస్తవానికి) ఉంటుంది; 10 ఓంల నుండి 10 ఓంల వరకు మిల్లీపెడ్ జెడ్ 3 అవుతుంది, ఇక్కడ ఈ Z 3 J ఒమేగా Z వద్ద 1, ఇది మైనస్ 15 నుండి ఎంట్రీ Z 4 వరకు 1.6 ఓంలు (ఓంలు) అవుతుంది. Z4 ఉన్న చోటికి వెళుతుంది. ఒమేగా) 2 pi సార్లు 50 L. + కాబట్టి, ఇది J4.07 ఓంలుగా మారుతుంది. + ఇప్పుడు తరువాతి దశ ఏమిటంటే, ఈ కలయిక యొక్క సమానమైన ఇంపెడెన్స్‌ను మనం లెక్కించగలము మరియు ఈ సిరీస్ సమాంతర రెసిస్టివ్ కలయిక లాంటిది, మనకు సిరీస్‌లో Z2 మరియు Z4 ఉన్నాయి, ఇది Z3 మరియు Z1 లతో  + 72 మిల్లిసెకన్ల milliseconds సమయంతో ఉంటుంది. + ఈ దశలన్నింటికీ వెళ్ళడానికి మరియు Z సమానమైన తుది ఫలితాన్ని చేరుకోవడానికి మీరు ఖచ్చితంగా ప్రోత్సహించబడ్డారు, కానీ ఇది మీ కాలిక్యులేటర్‌ను కూడా చూస్తుంది మరియు మీరు మీ కాలిక్యులేటర్‌ను అనుమతించే అవకాశం ఉంది, ఈ గణనను తక్కువ సంఖ్యలో దశల్లో చేయగలుగుతారు . + ఇప్పుడు, ముందుకు సాగండి. + కాబట్టి, మేము ఈ దశకు చేరుకున్నాము, మీకు Z సమానమైనది. మాకు ఇప్పటికే V. ఉంది. + కాబట్టి, ఇప్పుడు, నేను s లను లెక్కించవచ్చు. కాబట్టి, I s ను V S Z సమానమైన, V s 10 కోణం 0 మరియు Z మునుపటి స్లైడ్ నుండి ఈ సంఖ్యకు సమానం, కాబట్టి ఇది 3.58 కోణం 36.8 డిగ్రీ ఆంపియర్. ఇది జరుగుతుంది. + నేను కనుగొన్నప్పుడు నేను ప్రస్తుత డివిజన్ సూత్రాన్ని ఉపయోగించి I సి పొందవచ్చు, అంటే నేను సి 2 Z 2 ప్లస్ Z ​​4 కు సమానం Z 2 ప్లస్ Z ​​4 ప్లస్ Z ​​3 సార్లు విభజించబడింది, అంటే నేను సంఖ్యకు మారుతుంది, ఏమిటి IL గురించి? మీరు IL ను 2 విధాలుగా పొందవచ్చు: A I మైనస్ I c మాకు KCL చేత IL ఇస్తుంది లేదా మేము ప్రస్తుత డివిజన్ ఫార్ములా IL ను Z3 ప్లస్ Z3 ప్లస్ Z ​​కి సమానంగా ఉపయోగించవచ్చు. 2 ప్లస్ z 4 రెట్లు, నేను మీకు పొందడానికి IL సంఖ్య అవసరం , మరియు ఇప్పుడు మేము ఈ నోడ్ వద్ద KCL సమీకరణాన్ని వివరించే ఫాజర్ రేఖాచిత్రాన్ని గీస్తాము. + ఇక్కడ ఫాజర్ రేఖాచిత్రం మరియు మేము x మరియు y అక్షం కోసం ఒకే స్కేల్‌ని ఉపయోగించామని గమనించండి, ఇది x (x) అక్షం మీద 1 యూనిట్‌ను y (y) అక్షం మీద 1 యూనిట్‌ను సూచించే దూరం. + కోణాలు సరిగ్గా ప్రదర్శించబడేలా మేము దీన్ని చేస్తాము; అంటే మనం ఈ పద్ధతిని పాటిస్తే 45 డిగ్రీల కోణం వాస్తవానికి 45 డిగ్రీల కోణంలా కనిపిస్తుంది. + సరే ఇప్పుడు ఈ నోడ్‌లో KCL సమీకరణం సంతృప్తికరంగా ఉందో లేదో ధృవీకరిస్తాము.I c ప్లస్ IL (IL) కు సమానమైన సమీకరణం ఏమిటి? + మా I (I) 3.58 కోణం 36.08 డిగ్రీలు, ఈ వెక్టర్ మాగ్నిట్యూడ్ 3.58, మరియు ఈ కోణం 36.8 డిగ్రీలు. + ఐసి పరిమాణం 3.7. + కాబట్టి, నాకన్నా కొంచెం పెద్దది మరియు 44.6 డిగ్రీల కోణం, ఈ కోణం 44.6 డిగ్రీలు. + IL ఇది 0.546 మాగ్నిట్యూడ్‌లో చాలా చిన్నది మరియు ప్రతికూల కోణం కలిగి ఉంటుంది, కనీసం 70.6 డిగ్రీలు. + కాబట్టి, ఇది మా IL; ఇప్పుడు మనం సి ప్లస్ IL వాస్తవానికి సమానమని చూస్తాము; దీని అర్థం, KCL ధృవీకరించబడింది. + సరళ DC సర్క్యూట్ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని మేము చూశాము; ఇప్పుడు సైనూసోయిడల్ స్థిరమైన స్థితిలో గరిష్ట విద్యుత్ బదిలీని చూద్దాం. + కాబట్టి, ఈ సర్క్యూట్ ద్వారా థెవెనిన్ సమానమైన సర్క్యూట్‌ను ఇక్కడ పరిశీలిద్దాం, అంటే వోల్టేజ్ సోర్స్ V t h సిరీస్‌లో ఇంపెడెన్స్ Z t h; ఈ రెండు కోర్సులు సంక్లిష్ట సంఖ్యలు. + ఇప్పుడు మేము సర్క్యూట్కు లోడ్ ఇంపెడెన్స్ను జోడిస్తాము మరియు దాని ఫలితంగా ఒక కరెంట్ ప్రవహిస్తుంది మరియు కరెంట్ లోని ఈ కరెంట్ స్పేసర్ I చే సూచించబడుతుంది. + ఈ సర్క్యూట్ 2 Z L నుండి విద్యుత్ బదిలీ గరిష్టంగా ఉన్న పరిస్థితిని మేము కనుగొనాలనుకుంటున్నాము. + R L ప్లస్ j x L కి సమానమైన JLL తో ప్రారంభిద్దాం, ఇక్కడ ఇది ZL యొక్క నిజమైన భాగం మరియు ఇది ZL యొక్క inary హాత్మక భాగం మరియు Z t h R t h ప్లస్ j x t h. + I I m phi కోణం, నేను ఇక్కడ ఈ ఫాజర్ I యొక్క పరిమాణం మరియు fi దాని కోణం. + కాబట్టి, Z సమానమైన Z1 ప్లస్ Z3 సమాంతర Z2 ప్లస్ Z4. + ఇప్పుడు, ZL చేత గ్రహించబడిన శక్తి సగం మీటర్ m R RL ఇచ్చిన P కి సమానం, ఇక్కడ I m ఈ ఫేజర్ యొక్క పరిమాణం మరియు RL Z L యొక్క నిజమైన భాగం. + ఏమిటి ఇది నేను యొక్క పరిమాణం, మరియు నేను ఏమిటి? V t h ను Z t h మరియు Z L చే విభజించారు. + కాబట్టి, ఇక్కడ ఈ వ్యక్తీకరణకు సమానమైన p ను పొందుతాము. + ఈ వ్యక్తీకరణను సగం మోడ్ (సగం మోడ్) V t h స్క్వేర్‌గా R t h ప్లస్ R L స్క్వేర్డ్ ప్లస్ X టి హెచ్ ప్లస్ ఎక్స్ ఎల్ స్క్వేర్డ్ మరియు ఆర్ ఎల్ చేత గుణించాలి. + ఇప్పుడు ఈ V t h తరగతి ZL నుండి స్వతంత్రంగా ఉంది మరియు మనకు సంబంధించినంతవరకు అది స్థిరంగా ఉంటుంది. + కాబట్టి, ఇప్పుడు మనం చేయవలసింది ఈ మొత్తం వ్యక్తీకరణ గరిష్టంగా ఉన్న Z పై పరిస్థితులను కనుగొనడం. + ఇప్పుడు, P గరిష్టంగా ఉండటానికి, స్పష్టంగా ఈ హారం కనిష్టంగా ఉండాలి మరియు X వ ప్లస్ XL స్క్వేర్డ్ 0 అయినప్పుడు ఇది జరుగుతుంది, ఎందుకంటే ఇక్కడ ఒక చదరపు ఉంది, ఈ పదాన్ని అతి చిన్న విలువగా తీసుకోవచ్చు. 0 మరియు, అందువల్ల, ఈ రెండవ పదానికి సమానమైన xh తో xh కు సమానమైన x L మైనస్ వ మరియు xl మనకు అదృశ్యమవుతుంది, మరియు మనకు p సమాన rv ప్లస్ rl స్క్వేర్డ్ టైమ్స్ r ను సగం మోడ్ ద్వారా విభజించి V వ చదరపుకి సమానం. + కాబట్టి, గరిష్ట విద్యుత్ బదిలీ కోసం మనం ఇప్పుడు ఈ వ్యక్తీకరణను పెంచాలి. + మేము దీన్ని ఎలా చేయాలి? మేము RL కు సంబంధించి P ను వేరు చేస్తాము మరియు మేము DPD RL ను 0 తో సమానం చేస్తాము మరియు R R R T T కి సమానమైనప్పుడు P గరిష్టంగా ఉంటుందని కనుగొన్నాము. + కాబట్టి, మనకు 2 షరతులు ఉన్నాయి: JL యొక్క inary హాత్మక భాగం X L, ఇది X L యొక్క inary హాత్మక భాగం యొక్క ప్రతికూలానికి సమానంగా ఉండాలి, ఇది X t h మరియు ZL యొక్క వాస్తవ భాగం Z t h యొక్క వాస్తవ భాగానికి సమానంగా ఉండాలి. + లోడ్ ZL లో గరిష్ట విద్యుత్ బదిలీ కోసం సంగ్రహంగా చెప్పాలంటే, మనకు RL మరియు XL కు సమానమైన RL అవసరం, ఇది మైనస్ కంటే తక్కువ; దీని అర్థం, మా లోడ్ ఇంపెడెన్స్ థెవెనిన్ సమానమైన ఇంపెడెన్స్ యొక్క సంక్లిష్ట యాదృచ్చికంగా ఉండాలి, ఇది Z T H. + కాబట్టి, ZL తప్పనిసరిగా Z వ నక్షత్రానికి సమానంగా ఉండాలి. + ఇప్పుడు సైనూసోయిడల్ స్థిరమైన స్థితి కోసం గరిష్ట శక్తి బదిలీ సిద్ధాంతం యొక్క అనువర్తనాన్ని చూద్దాం, ఇది ఆడియో ఇన్పుట్ సిగ్నల్ ద్వారా శక్తినిచ్చే ఆడియో యాంప్లిఫైయర్. + కాబట్టి, ఇక్కడ పౌన encies పున్యాల పరిధి 20 Hz నుండి 16 KHz లేదా అంతకంటే ఎక్కువ ఉంటుంది. + ఈ ఆడియో యాంప్లిఫైయర్ తరువాత ట్రాన్స్ఫార్మర్ ఉంది మరియు ఈ ట్రాన్స్ఫార్మర్ ఎందుకు అవసరమో త్వరలో వ్యాఖ్యానిస్తాము మరియు చివరకు, మనకు ఈ స్పీకర్ ఉంది. + ఈ స్పీకర్ సంక్లిష్ట ఇంపెడెన్స్‌ను కలిగి ఉంటుంది, ఇది ఫ్రీక్వెన్సీతో మారుతుంది, కానీ ఆడియో పరిధిలో దాని నిరోధకత సాధారణంగా 8 ఓంలు (ఓంలు), మరియు దాని inary హాత్మక భాగాన్ని విస్మరించవచ్చు. + అందువల్ల, సమానమైన సర్క్యూట్ ఈ సర్క్యూట్ ద్వారా ఇక్కడ ప్రాతినిధ్యం వహిస్తుంది, ఇక్కడ ఈ మూలం ఆడియో యాంప్లిఫైయర్ యొక్క లాభం ద్వారా విస్తరించబడిన ఇన్పుట్ సిగ్నల్ను సూచిస్తుంది మరియు తరువాత ఈ ఒక నిరోధకత ఆడియో యాంప్లిఫైయర్ యొక్క అవుట్పుట్ నిరోధకత, ఆపై మనకు ట్రాన్స్ఫార్మర్ ఒకటి ఉంది. నిష్పత్తి n 1 2, n 2 మరియు చివరకు, ఈ 8 ఓంల నిరోధకత ద్వారా స్పీకర్ ప్రాతినిధ్యం వహిస్తుంది. + ఈ సర్క్యూట్ నుండి స్పీకర్‌కు విద్యుత్ బదిలీని పెంచడం మా లక్ష్యం, అందువల్ల మేము ఇన్‌పుట్ సిగ్నల్‌తో పెద్ద శబ్దాన్ని వింటాము. + కాబట్టి, సర్క్యూట్‌ను సరళీకృతం చేద్దాం, మేము ఈ ప్రతిఘటనను ట్రాన్స్‌ఫార్మర్ యొక్క మరొక వైపుకు బదిలీ చేయవచ్చు మరియు అది N2 స్క్వేర్డ్ సమయంలో 8 ఓంల ద్వారా N1 అవుతుంది. + ఇక్కడ మా నిజమైన సమస్య ప్రకటన, మేము ఈ సర్క్యూట్‌ను చూస్తాము మరియు ఆడియో సిగ్నల్ యొక్క గరిష్ట శక్తి బదిలీని అందించడానికి ట్విస్ట్ నిష్పత్తిని లెక్కిస్తాము; గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతం ఏమిటి? ఇది ZL తప్పనిసరిగా Z t h నక్షత్రానికి సమానంగా ఉండాలని పేర్కొంది మరియు ఈ సందర్భంలో Z t h మరియు ZL యొక్క inary హాత్మక భాగాలు 0, దీని అర్థం నిజమైన భాగం సమానంగా ఉండాలి; దీని అర్థం, మనకు 1 కి సమానమైన N 1by N 2 చదరపు సార్లు 8 ఓంలు (ఓంలు) ఉండాలి. + ఇప్పుడు మనం ఈ సమీకరణాన్ని n1 కొరకు n2 ద్వారా పరిష్కరించగలము మరియు ఇది n1 ద్వారా n2 ద్వారా 11 గురించి ఇస్తుంది. + అందువల్ల, మేము ఈ అనువాదంతో ట్రాన్స్‌ఫార్మర్‌ను ఎంచుకుంటే, ఆడియో సిగ్నల్ స్పీకర్‌కు గరిష్ట శక్తిని అందిస్తుంది, మరియు ఈ ఇన్‌పుట్ సిగ్నల్‌తో సాధ్యమయ్యే అతి పెద్ద శబ్దాన్ని మేము వింటాము. + ముగింపులో, సైనూసోయిడల్ స్థిరమైన స్థితిలో RLC సర్క్యూట్లను విశ్లేషించడానికి ఫాజర్‌లను ఎలా ఉపయోగించాలో చూశాము; కొంతకాలం తర్వాత ఫిల్టర్ సర్క్యూట్‌ను చూసేటప్పుడు ఈ నేపథ్యం చాలా ఉపయోగకరంగా ఉంటుంది. + సైనూసోయిడల్ స్థిరమైన స్థితిలో ఆర్‌ఎల్‌సి సర్క్యూట్‌ల కోసం గరిష్ట విద్యుత్ బదిలీ సిద్ధాంతాన్ని కూడా చూశాము. + ఆచరణలో చాలా ముఖ్యమైన ఒక ఉదాహరణను మేము పరిగణించాము, అనగా స్పీకర్ నుండి గరిష్ట ఆడియో శక్తిని ఎలా పొందాలో, ఇది ఇప్పుడు ప్రతిదీ. + తరువాత కలుద్దాం diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/40 ProgramminginCplusplus_Sorting and Searching (Lecture 06)-0GWWQoMY5Mk.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/40 ProgramminginCplusplus_Sorting and Searching (Lecture 06)-0GWWQoMY5Mk.txt index 66320794966a3f0f166fbc579436bfe57a7c31fe..a3c097455e64227a525c3a1396b9cca55ffdf386 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/40 ProgramminginCplusplus_Sorting and Searching (Lecture 06)-0GWWQoMY5Mk.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/40 ProgramminginCplusplus_Sorting and Searching (Lecture 06)-0GWWQoMY5Mk.txt @@ -1,147 +1,146 @@ - - 1. C ++  ప్రోగ్రామింగ్ లో మాడ్యూల్  కు స్వాగతం. - 2. ఈ మాడ్యూల్ లో మేము సార్టింగ్ మరియు శోధించడం గురించి చర్చిస్తున్నాము. - 3. కాబట్టి, లక్ష్యం ఏమిటంటే  C లో క్రమబద్ధీకరించడం మరియు శోధించడం మరియు C ++ తో వాటిని విరుద్ధంగా ఎలా అమలు చేయాలో తెలుసుకోవడం . - 4. ఈ అంశాలు  మేము చర్చించబోతున్నాము . - 5. కాబట్టి ప్రారంభించడానికి, మీ అందరికీ సార్టింగ్ తెలుసు, మరియు శ్రేణిలో పూర్ణాంకాల సమితిని క్రమబద్ధీకరించడానికి మీరు సి లో అనేక ప్రోగ్రామ్‌లను వ్రాసి ఉండాలి. - 6. ఇక్కడ, బబుల్ సార్ట్ అని పిలువబడే సర్వసాధారణమైన సార్టింగ్ అల్గోరిథం మాత్రమే మనకు ఉంది. - 7. మీరు బబుల్ రకాన్ని ఉపయోగించవచ్చు లేదా ఉపయోగించకపోవచ్చు; మీరు వేరే ఎంపిక లేదా చొప్పించే విధమైన చేస్తే, ఇది పూర్తిగా మంచిది. - 8. తొలగింపులు ఎలా జరుగుతాయో అనే తర్కంలోకి మేము వెళ్ళడం లేదు. - 9. నేను చూపించదలిచినది రెండు నిలువు వరుసల మధ్య; ఎడమవైపు సి ప్రోగ్రామ్, కుడివైపు సి ++ ప్రోగ్రామ్. - 10. ఇద్దరూ ఒకే వ్యూహాన్ని, ఒకే అల్గారిథమ్‌ను ఉపయోగించి బబుల్‌ను క్రమబద్ధీకరించడానికి ప్రయత్నిస్తున్నారు; మరియు, వాటి మధ్య మీరు చూడగలిగే ఏకైక తేడా ఏమిటంటే IO హెడర్స్ మరియు STD నేమ్‌స్పేస్‌ల వాడకం. - 11. ఇప్పటివరకు మొత్తం అల్గోరిథం సంబంధించినది, కోడ్ సంబంధించినది, శ్రేణులు మరియు పోలికలు సంబంధించినవి, ఇది ఒకటే. - 12. కాబట్టి, మనం తీసుకునే మొదటి పాఠం ఏమిటంటే, సి లో వ్రాసిన ఏదైనా సార్టింగ్ కోడ్‌ను సి ++ లో గుర్తించవచ్చు. - 13. ఇప్పుడు, నేను స్పష్టం చేయాలనుకుంటున్నాను, నేను సంఖ్యల సమూహాన్ని లేదా తీగల సమితిని క్రమబద్ధీకరించాల్సిన అవసరం ఉంటే, నేను ప్రతిసారీ ఒక సార్టింగ్ ప్రోగ్రామ్‌ను వ్రాస్తాను? నేను అల్గోరిథంలు నేర్చుకోవడానికి ప్రయత్నిస్తున్నప్పుడు లేదా నేను భాషలను నేర్చుకోవడానికి ప్రయత్నిస్తున్నప్పుడు నేను దీన్ని చేస్తాను, కాని తరువాత నేను సంఖ్యల సమితిని క్రమబద్ధీకరించాలనుకుంటే, నేను అల్గోరిథం రాయను బదులుగా, నేను మళ్ళీ ప్రామాణిక లైబ్రరీకి వెళ్లి ప్రామాణిక లైబ్రరీ అందించే వాటిని ఉపయోగించడానికి ప్రయత్నిస్తాను. - 14. ఇప్పుడు, మేము ఎడమ కాలమ్ పై దృష్టి పెడతాము, ఇది సి ప్రోగ్రామ్. - 15. హెడర్‌లో, సి ప్రామాణిక లైబ్రరీలో అందించిన సార్టింగ్ ఫంక్షన్‌ను ఉపయోగిస్తోంది. - 16. ఈ ఫంక్షన్‌ను Q సార్టింగ్ అంటారు. - 17. ఈ ఫంక్షన్ శీఘ్ర క్రమబద్ధీకరణను అంతర్లీన సార్టింగ్ అల్గోరిథం వలె ఉపయోగిస్తుందనే వాస్తవాన్ని ఈ పేరు ఖచ్చితంగా సూచిస్తుంది. - 18. ఇప్పుడు, Q ను సార్ట్ ఫంక్షన్ అని ఎలా పిలుస్తారో గమనించండి. - 19. 4 పారామితులు ఉన్నాయని మీరు చూడవచ్చు. - 20. కాబట్టి మీరు Q క్రమబద్ధీకరణ ప్రోగ్రామ్‌కు ఏమి చెప్పాలో చూద్దాం, తద్వారా ఇది మీ డేటాను క్రమబద్ధీకరించగలదు. - 21. ఖచ్చితంగా, డేటా ఎక్కడ ఉందో మీరు వివరించాలి. - 22. కాబట్టి, ఇది కంటైనర్, ఇది ఇక్కడ శ్రేణి డేటా. - 23. కాబట్టి, ఇది మొదటి పరామితి. - 24. ఇప్పుడు, శ్రేణిలోని ఎన్ని అంశాల అయినా మూలకాల సంఖ్య అవుతుంది; Q ఎలా క్రమబద్ధీకరిస్తుంది, ఎన్ని అంశాలు ఉన్నాయో లేదా వాటిలో ఎన్ని ఉన్నాయో తెలుసుకోండి, వాటిలో ఎన్ని మీరు క్రమబద్ధీకరించాలనుకుంటున్నారు. - 25. కాబట్టి, రెండవ పరామితి Q క్రమబద్ధీకరణ మీరు ఎన్ని శ్రేణి అంశాలను క్రమబద్ధీకరించాలనుకుంటున్నారో చెబుతుంది. - 26. దీని అర్థం మీరు ఎల్లప్పుడూ ఇండెక్స్ 0 తో ప్రారంభించి, రెండవ పరామితిలో పేర్కొన్నన్ని అంశాలను తీసుకోండి. - 27. కాబట్టి, ఇక్కడ రెండవ పరామితి 5, అంటే Q డేటా శ్రేణిని సీరియల్ 0 నుండి ఇండెక్స్ 4 కు క్రమబద్ధీకరించాలి, ఈ సందర్భంలో మొత్తం శ్రేణి (క్రమబద్ధీకరణ). శ్రేణి). - 28. మూడవ పరామితి కొంచెం గమ్మత్తైనది, మరియు మూడవ పరామితి ఎందుకు అవసరమో మీకు ఇప్పుడు అర్థం కాలేదు. - 29. మూడవ పరామితి దయచేసి ప్రతి మూలకం యొక్క పరిమాణాన్ని బైట్లలో అందించండి. - 30. ఇప్పుడు, ఇది పూర్ణాంక శ్రేణి, అంటే ప్రతి మూలకం పూర్ణాంకం (పూర్ణాంకానికి).కాబట్టి, ప్రతి మూలకం యొక్క పరిమాణాన్ని సి లోని సైజుఆఫ్ ఆపరేటర్ ఉపయోగించి లెక్కించవచ్చు, కాబట్టి మీరు సైజ్ఆఫ్ (పూర్ణాంకానికి) ను పేర్కొనండి, ఇది 32 బిట్ సిస్టమ్ కోసం 4 ను దాటిపోతుంది, ఎందుకంటే పూర్ణాంకానికి (పూర్ణాంకానికి), సాధారణంగా పరామితి మూడవదిగా ప్రాతినిధ్యం వహిస్తుంది 32 బిట్స్‌లో 4 బైట్లు. - 31. కాబట్టి, ప్రతి మూలకం యొక్క పరిమాణాన్ని సి లోని సైజుఆఫ్ ఆపరేటర్ ఉపయోగించి లెక్కించవచ్చు, కాబట్టి మీరు సైజ్ఆఫ్ (పూర్ణాంకానికి) ను పేర్కొనండి, ఇది 32 బిట్ సిస్టమ్ కోసం 4 ను దాటిపోతుంది, ఎందుకంటే పూర్ణాంకానికి (పూర్ణాంకానికి), సాధారణంగా పరామితి మూడవదిగా ప్రాతినిధ్యం వహిస్తుంది 32 బిట్స్‌లో 4 బైట్లు. - 32. మాకు అవసరమైనదాన్ని నిజంగా అర్థం చేసుకోవడం మీకు కష్టంగా ఉండవచ్చు, కాని ప్రాథమిక వాదన ఏమిటంటే, Q శ్రేణికి మీ శ్రేణిలో ఏ రకమైన డేటా ఉందో తెలియదు, మూలకం రకంలో తేడా ఉంటుంది. సంభవించవచ్చు; ఇది నాలుగు రకాల అంశాలను కలిగి ఉంటుంది; ఇది కోణాల రూపం యొక్క అంశాలను కలిగి ఉండవచ్చు; ఇది నిర్మాణ రకం యొక్క అంశాలను కలిగి ఉంటుంది; ఇండెక్స్ చేయబడిన మూలకం యొక్క చిరునామాను పొందిన తరువాత Q (Q) మొదట సూచిక చేయబడిన మూలకాన్ని గుర్తించాలని కనుగొనడం సాధ్యం కాదు. - 33. అందువల్ల, మూలకం యొక్క పరిమాణం తెలిస్తే, అది మొదటి మూలకాన్ని పొందడానికి శ్రేణి యొక్క ప్రారంభ చిరునామాకు ఆఫ్‌సెట్‌గా జోడించగలదు. - 34. రెండవ మూలకం యొక్క చిరునామాను పొందడానికి మొదటి మూలకం యొక్క స్థానానికి మళ్ళీ అదే పరిమాణంలో పూర్ణాంకాన్ని జోడించవచ్చు. - 35. కాబట్టి, మీకు ఈ సమాచారం అవసరమయ్యే అమలు ఇది. - 36. కాబట్టి, ఇది మూడవ పరామితి. - 37. నాల్గవ పరామితి అత్యంత ఆసక్తికరమైనది. - 38. నాల్గవ పరామితి ఫంక్షన్ పాయింటర్. - 39. మాడ్యూల్ 1 లో, మేము ఫంక్షన్ పాయింటర్ల గురించి లోతుగా మాట్లాడామని మీరు గుర్తుంచుకుంటారు. - 40. మేము దాన్ని మళ్ళీ చేర్చుకున్నాము మరియు మీరు మీ దృష్టిని పైకి కదిలిస్తే, చేర్చండి మరియు ప్రధానంగా ఫంక్షన్ పాయింటర్ నిర్వచించబడిందని మీరు కనుగొంటే, Q (Q) క్రమబద్ధీకరణ (క్రమబద్ధీకరణ). - 41. ఇప్పుడు, ఈ తులనాత్మక పని యొక్క పాత్ర ఏమిటి? ఈ పోలిక ఫంక్షన్ 2 విలువలను పోల్చి, ఏది చిన్నది లేదా రెండవది చిన్నదో చెబుతుంది. - 42. ఇక్కడ, మనకు పోలిక ఫంక్షన్ చూపబడింది, ఇక్కడ మనం పోలికగా తక్కువగా ఉపయోగిస్తున్నాము. - 43. మొదటిది మరొకదాని కంటే చిన్నదిగా ఉంటే, అది నిజం అవుతుంది మరియు లేకపోతే అది తప్పుడుదాన్ని తిరిగి ఇస్తుంది. - 44. తులనాత్మక పని యొక్క ప్రాథమిక ఉద్దేశ్యం ఇది. - 45. వేరే ఫంక్షన్ (ఫంక్షన్), పాయింటర్ (పాయింటర్) ఫంక్షన్ (ఫంక్షన్) వ్రాసి, ఆ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ (పాయింటర్) ను పాస్ చేయడం వంటి క్లిష్టమైన పనిని నేను ఎందుకు చేయవలసి వచ్చిందో ఇప్పుడు మీరు ఆశ్చర్యపోతున్నారు. - 46. Q లైబ్రరీలో క్రమబద్ధీకరించబడినప్పుడు లేదా మీరు ఇప్పుడు Q రకం యొక్క ఫంక్షన్‌ను వ్రాయాలనుకుంటే మరియు ఏ రకమైన మూలకాలను క్రమబద్ధీకరించాలో మీకు చెప్పబడలేదు, కాబట్టి ఎలా పోల్చాలో మీకు ఎలా తెలుసు? ఆ అంశాలు? ఉదాహరణకు, పూర్ణాంకానికి చాలా తేలికగా పోల్చవచ్చు, కాని నేను పూర్ణాంకానికి బదులుగా చెప్పినట్లయితే, నేను ఇప్పుడు మీకు తీగలను ఇస్తే. - 47. ఇప్పుడు, తీగల శ్రేణిని సి లో ఎక్కువ లేదా తక్కువ రాయడం తో పోల్చలేము. - 48. మేము C ++ స్ట్రింగ్ గురించి మాట్లాడటం లేదు, పోలిక ఆపరేటర్ మీకు ఇప్పటికే తెలుసు. - 49. కాబట్టి, సి లో నేను తీగలను పోల్చవలసి వస్తే నా విలువలు వాస్తవానికి అక్షరానికి సూచించబడతాయి, కాని నేను కొన్నింటిని బిగింపు () ఫంక్షన్ (ఫంక్షన్) వాడకంతో పోల్చాను. - 50. ఇప్పుడు Q రకాన్ని ఎలా తెలుసుకోవాలి, Q సార్టింగ్ మీరు వాటిని పోల్చడానికి Q ఎలాంటి డేటాను ఇస్తారో తెలియదు, Q సార్టింగ్ కూడా అలాంటి 2 డేటా ఐటెమ్‌లను ఎలా పోల్చాలో తెలియదు. - 51. మరియు ఫంక్షన్‌ను Q క్రమబద్ధీకరణతో పోల్చడం మీ బాధ్యత. - 52. కాబట్టి మీరు ఈ నాల్గవ పరామితిని కలిగి ఉండాలి, ఇది ఫంక్షన్ పాయింటర్ యొక్క పోలిక. - 53. మీరు శీర్షికలో చూస్తే, ఫంక్షన్ పాయింటర్ యొక్క సంతకం మీకు మరింత బాధించేదాన్ని ఇస్తుంది. - 54. పారామితులను తెలియని రకం యొక్క స్థిరమైన డేటా కోసం const పాయింటర్లుగా ఉండే const void * గా ప్రకటించడాన్ని మీరు చూడవచ్చు, ఇది ఎందుకు? ఎందుకంటే మళ్ళీ, Q కి సార్టింగ్ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ కోసం సంతకం ఉండకూడదు, ఎందుకంటే దీనికి డేటా ఐటెమ్ రకం తెలియదు. - 55. అందువల్ల, ఇవన్నీ మీకు తెలియని కొన్ని రకాల సూచికను కలిగి ఉన్నాయని అనుకుంటాయి మరియు మీకు రకం తెలియదు కాబట్టి, పోలిక ఫంక్షన్ యొక్క రిటర్న్ స్టేట్మెంట్లో మీరు నిజంగా పోల్చాలనుకున్నప్పుడు, మీరు మొదట కంపైలర్కు చెప్పాలి వాస్తవానికి, ఇప్పుడు నేను కలిగి ఉన్నది పూర్ణాంకం. - 56. కాబట్టి, మీరు మొదట పాయింటర్ (పాయింటర్) ను పూర్ణాంకానికి (పూర్ణాంకానికి) రద్దు చేస్తారు, ఆపై మీరు పూర్ణాంక విలువను పొందడానికి ఆ పూర్ణాంక పాయింటర్ (పాయింటర్) ను సూచిస్తారు, ఆపై మీరు పూర్ణాంకం యొక్క రెండు పూర్ణాంక విలువలను జోడిస్తారు. పోల్చుకుందాం. - 57. అందువల్ల, Q- కత్తిరించడం కోసం ఇంకా చాలా అవసరం. - 58. టైప్ సి స్టాండర్డ్ లైబ్రరీలో డిఫాల్ట్ సార్టింగ్ అల్గోరిథం వలె Q (Q) అందుబాటులో ఉన్నప్పటికీ, Q సమాజంలో Q (sort) వాడకం అంతగా ప్రాచుర్యం పొందలేదు. - 59. తరచుగా, ప్రజలు తమ సొంత రచనలు రాయడానికి ఇష్టపడతారు; బబుల్ సార్ట్, సెలెక్షన్ సార్ట్ లేదా ఇన్సర్షన్ సార్ట్, సార్ట్, మరియు టైప్ డేటా యొక్క మూలకాలకు వారు క్రమబద్ధీకరించాలనుకునే అంశాలను ఇస్తారు మరియు అదే వాడాలి. - 60. ఇప్పుడు కాలమ్ యొక్క కుడి వైపు చూడండి. - 61. C ++ దీన్ని చేసే విధానం, IO పరంగా నేను తేడాలు చూడను, మీకు ఇప్పటికే తెలుసు. - 62. మీరు చేరిక పరంగా దృష్టి పెట్టాలి, మేము అల్గోరిథం అని పిలువబడే మరొక C ++ ప్రామాణిక లైబ్రరీ హెడర్‌ను చేర్చుతాము, ఇది చాలా ఆసక్తికరంగా ఉంటుంది. - 63. అల్గోరిథం అనేది మీ ప్రోగ్రామ్‌లలో మీరు తరచుగా ఉపయోగించాల్సిన చాలా అల్గోరిథం కోడ్‌ను కలిగి ఉన్న హెడర్. - 64. కాబట్టి, అల్గోరిథం ఒక భాగం, క్రమబద్ధీకరణ అల్గోరిథం కలిగి ఉంటుంది. - 65. కాబట్టి, మీరు C లో C లో క్రమబద్ధీకరించేది, అల్గోరిథంలో ఈ భాగాన్ని C ++ లో క్రమబద్ధీకరించడం అంటారు. - 66. మేము మళ్ళీ అదే డేటాను క్రమబద్ధీకరిస్తున్నాము; మేము మళ్ళీ అదే క్రమంలో క్రమబద్ధీకరిస్తున్నాము. - 67. క్రమబద్ధీకరించడానికి నేను ఏమి పేర్కొనాలి, పారామితులను చూద్దాం. - 68. ఖచ్చితంగా, నేను కంటైనర్ లాగా కంటైనర్లో ఏమి చేసాను. - 69. రెండవది నేను మొదటి నుండి ఎన్ని అంశాలు ఉన్నాయో చెప్పాలి, ఇక్కడ మనం దానిని కొద్దిగా భిన్నంగా పేర్కొంటాము. - 70. Q క్రమబద్ధీకరణలో, మేము మూలకాల సంఖ్యను మాత్రమే పేర్కొన్నాము; ఇక్కడ మనం ధ్యానం చేసిన తర్వాత మొదటి మూలకానికి పాయింటర్‌ను పాస్ చేస్తాము. - 71. కాబట్టి, మేము `డేటా + 5 'ను పాస్ చేస్తాము, అంటే మనం పాయింటర్‌ను 5 మూలకాల సూచికకు పంపుతాము, అంటే మనం క్రమబద్ధీకరించాలనుకుంటున్న శ్రేణి యొక్క భాగానికి వెలుపల ఉంది. - 72. మరో మాటలో చెప్పాలంటే, డేటాతో ప్రారంభమయ్యే 5 అంశాలను మీరు క్రమబద్ధీకరిస్తారా? మేము ఈ వివరాలను తరువాత చూస్తాము, దీనిని C ++ లో పరిమితి అంటారు. - 73. మూడవ పరామితి ఒక విధమైన Q గా అవసరం లేదు, ఎందుకంటే మీరు ఇప్పటికే చూసినట్లుగా, C ++ కంపైలర్ రకం ఆధారంగా వస్తువులను కత్తిరించగలదు. - 74. కాబట్టి టైప్ చేయండి, డేటా ఇంటెంట్ (పూర్ణాంకానికి) టైప్ అర్రే అని తెలుసు. - 75. కాబట్టి, మూలకాలు అవకలన రకంగా ఉంటాయి. - 76. కాబట్టి, మీరు పరామితిగా Int (int) పరిమాణాన్ని విడిగా పేర్కొనవలసిన అవసరం లేదు. - 77. విధమైన మూడవ పరామితి మీరు పోలిక అల్గోరిథం ఇవ్వాల్సిన విధమైన నాల్గవ పరామితికి సమానంగా ఉంటుంది. - 78. ఇది ఖచ్చితంగా తీసివేయబడదు, ఎందుకంటే మీ పోలిక వ్యూహం మీ వద్ద ఉన్న డేటాను బట్టి మారుతుంది. - 79. కానీ, ఇది చాలా ముఖ్యం, మీరు మళ్ళీ మీ దృష్టిని C ++ విభాగంలో ఈ పోలిక ఫంక్షన్ నిర్వచించిన చోటికి మార్చినట్లయితే. - 80. కాస్ట్ శూన్యమైన * రకం లేదా వ్యక్తీకరణ యొక్క పారామితులను ఉపయోగించి, కాస్టింగ్ మరియు డి-రిఫరెన్సింగ్‌ను పూర్తిగా చేసే సి లో మీకు సంక్లిష్టత లేదు. - 81. ఇప్పుడు, మీరు ఒక సాధారణ ఫంక్షన్, int i, int j విషయంలో డిక్లేర్ చేసినట్లే పారామితులను డిక్లేర్ చేయవచ్చు మరియు బదులుగా మీరు పోల్చండి, తులనాత్మక వాదన ఏదైనా మనం ఇక్కడ వ్రాస్తాము. - 82. ఇది సాధారణ పోలిక ఫంక్షన్ లాగా ఉంటుంది మరియు ఇది పాయింటర్; ఫంక్షన్ పేరు మూడవ పరామితిగా ఇవ్వబడుతుంది. - 83. మీరు దీన్ని C ++ లో చేయవచ్చు, ఎందుకంటే C ++ లో ఇలాంటి లక్షణాలు చాలా ఉన్నాయి, వీటిని మేము క్రమంగా మీకు పరిచయం చేస్తాము. - 84. కాబట్టి, సి లో ఇది ఎందుకు సాధ్యం కాలేదని మీరు అర్థం చేసుకుంటారు, కాని సి ++ లో సార్టింగ్ ఫంక్షన్ ఇప్పటికే తెలియని దానితో పోల్చదగిన ఫంక్షన్‌ను వ్రాయడం సాధ్యమవుతుంది, కాని అప్పుడు కూడా దానిని గ్రహించగలుగుతారు. - 85. కాబట్టి, ప్రామాణిక లైబ్రరీ నుండి క్రమబద్ధీకరించబడిన ప్రోగ్రామ్‌ను ఉపయోగించడం చాలా సొగసైనది మరియు సమర్థవంతమైనది. - 86. మరియు ఫలితం ఏమిటంటే, C ++ ప్రోగ్రామర్లు వాస్తవానికి వారి స్వంత క్రమబద్ధీకరించిన ప్రోగ్రామ్‌లను వ్రాస్తున్నప్పుడు, వారు ఇక్కడ ఇచ్చిన రకాన్ని ఉపయోగిస్తారు. - 87. గమనించడానికి చిన్న సూక్ష్మ నైపుణ్యాలు ఉన్నాయి; సార్టింగ్ దిశ యొక్క సమావేశం, ఇది తగ్గుతున్న క్రమం లేదా పెరుగుతున్న ఆర్డర్ Q అయినా, క్రమబద్ధీకరణ అమలు మరియు క్రమబద్ధీకరణ అమలు మధ్య మారుతూ ఉంటుంది. - 88. కాబట్టి, మీరు వ్రాసిన రెండు తులనాత్మక ఫంక్షన్లపై మీరు మళ్ళీ దృష్టి పెడితే, సి లో మనం నిజం కంటే తక్కువగా ఉపయోగించామని, సి ++ లో మనం నిజం కంటే ఎక్కువ ఇచ్చామని మీరు కనుగొంటారు. ఎందుకంటే రెండు సందర్భాల్లోనూ మనం కోరుకుంటున్నాము అవరోహణ క్రమంలో చేయాలి. - 89. కాబట్టి, ఇది సి ++ క్రమంలో ఉన్న సమావేశానికి సంబంధించిన విషయం. - 90. ఈ విధమైన రకం యొక్క మరొక వెర్షన్ ఇది. - 91. ఇక్కడ, మీరు సార్ట్ ఫంక్షన్ యొక్క కాల్ వద్ద ప్రత్యేకంగా చూస్తే, మొదటి రెండు పారామితులు ఉన్నాయని మీరు చూస్తారు, కానీ మూడవ పరామితి లేదు, ఇక్కడ తులనాత్మక ఫంక్షన్ అందించబడలేదు. - 92. ఇది సి ++ ప్రామాణిక లైబ్రరీ మిమ్మల్ని అనుమతించే షార్ట్ కట్; మీరు C ++ యొక్క అంతర్నిర్మిత రకాలను కలిగి ఉన్న C ++ రకాలను క్రమబద్ధీకరించడానికి ప్రయత్నిస్తుంటే, తులనాత్మక ఫంక్షన్‌ను అందించడం ఐచ్ఛికం. - 93. పోలిక ఫంక్షన్‌ను అందించడం అవసరం లేదు మరియు మీరు దానిని అందించకపోతే, అప్రమేయంగా సార్టింగ్ ఆరోహణ క్రమంలో జరుగుతుంది. - 94. మీరు ఇంకా ఈ శ్రేణిని అవరోహణ క్రమంలో క్రమబద్ధీకరించాలనుకుంటే, మీరు మళ్ళీ ఒక తులనాత్మక ఫంక్షన్‌ను అందించాల్సి ఉంటుంది ఎందుకంటే మీ పోలిక యొక్క దిశ, అంటే మొదటి పారామితి (పరామితి) రెండవదానికంటే ఎక్కువ. నిజం లేదా లేకపోతే, సార్టింగ్ మధ్య తేడా ఉంటుంది సార్టింగ్ మరియు అవరోహణ సార్టింగ్. - 95. తరువాత, మేము బైనరీ శోధనకు వెళ్తాము. - 96. మనందరికీ తెలిసినట్లుగా, బైనరీ శోధన అనేది ప్రోగ్రామింగ్‌లో తరచుగా ఉపయోగించే అల్గోరిథం, ఇది మూలకాల శ్రేణిని ఇస్తుంది, ఇవి ఇప్పటికే క్రమబద్ధీకరించబడ్డాయి. - 97. ఒక బైనరీ శోధన ఆ శ్రేణిలో ఇచ్చిన కీ ఉందో లేదో తెలుసుకోవచ్చు, అలా అయితే, శ్రేణిలోని ఆ మూలకం యొక్క స్థానం ఏమిటో కూడా చెప్పగలదు. ఇది, సాధారణ శోధన విధానం, ఇది అత్యంత సమర్థవంతమైనది. - 98. మరియు, సి మరియు సి ++ రెండూ ప్రామాణిక లైబ్రరీలలో బైనరీ శోధనలు చేయటానికి యంత్రాంగాలు. - 99. C లో, ఇది మళ్ళీ లో లభిస్తుంది. - 100. ఇది బి సెర్చ్ అనే ఫంక్షన్. - 101. C ++ లో, ఇది మళ్ళీ కాంపోనెంట్ అల్గోరిథంతో లభిస్తుంది మరియు దీనిని బైనరీ అండర్ స్కోర్ సెర్చ్ అంటారు. - 102. మేము ఆ 'bsearch' చూస్తే; ఎడమ చేతి వైపు సి ఎలా ఉపయోగించబడుతుంది, అప్పుడు మొదటి పరామితి ఒక కీ. - 103. కీ దాని చిరునామాగా పాస్ చేయబడాలి, కాబట్టి మీరు పాస్ & కీ. - 104. దీన్ని చేయడానికి ఒక కారణం ఏమిటంటే, మీరు దీన్ని చేయవలసి ఉంది, ఎందుకంటే మళ్ళీ, మీకు శ్రేణిలో ఉన్న మూలకాల రకం మీకు తెలియదు, అందువల్ల మీరు వెతకాలని కోరుకునే కీ రకం. హుహ్. - 105. కాబట్టి, కీ రకం మీకు సాధారణంగా తెలియదు. - 106. అందువల్ల, మీరు దానితో 'bsearch' రాయలేరు. - 107. కాబట్టి మీరు మళ్ళీ పాయింటర్‌ను పూర్ణాంకానికి (పూర్ణాంకానికి) ఉపయోగించవచ్చనే వాస్తవాన్ని ఉపయోగించుకోండి మరియు పాయింటర్ శూన్యంగా ఉండాలని భావిస్తారు. - 108. కాబట్టి, bsearch శూన్యమైన మొదటి పరామితిని ఉపయోగిస్తుంది *. - 109. అందుకే మీరు దీనికి చిరునామా ఇవ్వాలి. - 110. రెండవ పరామితి మీరు కనుగొనాలనుకుంటున్న శ్రేణి, వాస్తవానికి ఇది క్రమబద్ధీకరించబడాలి. - 111. మూడవ పరామితి మూలకాల సంఖ్య. - 112. ఇది Q సార్ట్ లాగా చాలా అందంగా ఉంటుంది. - 113. నాల్గవ పరామితి ప్రతి మూలకం యొక్క పరిమాణం మరియు ఐదవ పరామితి పోలిక ఫంక్షన్ యొక్క పనితీరుకు పాయింటర్. - 114. గమనించదగ్గ విషయం ఏమిటంటే, బైనరీ శోధనను క్రమబద్ధీకరించడానికి విరుద్ధంగా మూడు విధాలుగా నిర్ణయించవలసి ఉంది, ఇక్కడ మీరు తెలుసుకోవలసినది తక్కువ లేదా కాదా అనేది తెలుసుకోవాలి, కానీ బైనరీ శోధనలో, ఇది శ్రేణిలో ఒక నిర్దిష్ట మూలకం కోసం వెతుకుతోంది , ఇది 3 అవకాశాలతో వ్యవహరించాలి. - 115. ఒకటి, అతను చూస్తున్న మూలకం, వాస్తవానికి కీకి సమానంగా ఉంటుంది, కాబట్టి మీరు శోధనతో పూర్తి చేస్తారు. - 116. కాబట్టి, మీరు ఏమీ చేయనవసరం లేదు, మీరు శ్రేణి యొక్క స్థానం యొక్క సూచిక విలువను తిరిగి ఇస్తారు. - 117. రెండవది, దాని కంటే తక్కువగా ఉండవచ్చు. - 118. మీరు మీ శ్రేణిని ఆరోహణ క్రమంలో కలిగి ఉంటే మరియు మీ విలువ మీరు చూస్తున్న మూలకం కంటే తక్కువగా ఉంటే, అప్పుడు మీ కీ మీరు చూస్తున్న మూలకం కంటే తక్కువగా ఉంటుంది, మీకు కావాలి అని మీకు తెలుసు ఈ భాగం శ్రేణిలో చూడాలి . - 119. మరియు మూడవ సందర్భంలో, మీరు శ్రేణి యొక్క కుడి వైపు చూడాలి. - 120. కాబట్టి, మీ తులనాత్మక ఫంక్షన్ మూడు విధాలుగా పనిచేయాలి, మనకు సి స్ట్రింగ్ (. స్ట్రింగ్) .h ప్రామాణిక లైబ్రరీలో ఉన్న strcmp () లాగా. - 121. బట్టి ఇక్కడ ఎగువన, మైనస్ 1, 0 లేదా ప్లస్ 1 తో మేము వ్యవహరిస్తున్న అటువంటి తులనాత్మక ఫంక్షన్ కోసం మీరు ఎలా వ్రాయవచ్చో చూపిస్తాను. - 122. మరియు, పారామితులను శూన్యమైన * పాయింటర్ (లు) గా ఉపయోగించడం మరియు వాటిని ప్రసారం చేయడం, వాటిని డీఫరెన్సింగ్ చేయడం, Q (Q) విషయంలో మేము చేసినట్లుగా, అన్ని సూక్ష్మ నైపుణ్యాలు కూడా ఈ సందర్భంలో చేర్చబడతాయి. - 123. దీని కోసం, C ++ ఫారమ్ చూడండి. - 124. అల్గోరిథం భాగం నుండి బైనరీ _ సెర్చ్ () ఫంక్షన్ మొదటి పరామితిని కంటైనర్‌గా తీసుకుంటుంది, ఇది డేటా, రెండవ పరామితి పారామితి పరిధి ముగింపు. - 125. మనం చూసినట్లుగా ఇది చాలా ఉంది. - 126. మరియు ఇది మూడవ పరామితిని తీసుకుంటుంది, ఇది కీ. - 127. మరియు ఇక్కడ, నేను ఒక ఉదాహరణను చూపిస్తున్నాను, ఇక్కడ తులనాత్మక ఫంక్షన్ స్పష్టంగా అందించబడలేదు, ఎందుకంటే నేను ఇప్పటికే అలాంటి సందర్భంలో చర్చించినట్లుగా, మీరు కంపైలర్‌లో నిర్మించిన రకం యొక్క మూలకాల కోసం శోధిస్తుంటే, పోలిక ఎలా ఉందో మాకు ఇప్పటికే తెలుసు పూర్తి. - 128. కాబట్టి, పోలిక కోసం మీరు ఫంక్షన్ పాయింటర్‌ను స్పష్టంగా ఉంచాల్సిన అవసరం లేదు. - 129. మరియు, దీనితో, బైనరీ శోధన ఉంటుంది. - 130. మీరు రెండింటినీ పోల్చి చూస్తే, మీరు C ++ లో బైనరీ శోధనను సులభంగా ఉపయోగించవచ్చు. - 131. వాడకం సౌలభ్యం కంటే చాలా ఎక్కువ ఉంది, బైనరీ శోధన చాలా తరచుగా C ++ లో ఉపయోగించబడుతుంది మరియు ఎవరూ ఏ రకమైన డేటా కంటైనర్ కోసం బైనరీ సెర్చ్ ప్రోగ్రామ్‌ను వ్రాయరు.ఒకరికి ఉంది. - 132. ప్రత్యేకించి, ఈ అల్గోరిథం లైబ్రరీలో ఇది చాలా ఆసక్తికరమైన లైబ్రరీ, ఎందుకంటే ఇది ఏమిటంటే, మీరు సి ++ ఉపయోగిస్తుంటే, మేము మీకు సాధారణ అల్గోరిథంల సమితిని ఇస్తాము. - 133. అందువల్ల, అల్గోరిథం లైబ్రరీ నుండి మరింత శోధనను ఎలా ఉపయోగించవచ్చో మనం చూశాము. - 134. మూలకాలను ప్రత్యామ్నాయం చేయడం, మూలకాల క్రమాన్ని తిప్పడం వంటివి ఇంకా చాలా ఉన్నాయి. - 135. కాబట్టి, ఇవి తిరగడానికి, కోడ్‌ను మార్చడానికి ఉదాహరణలు. - 136. మేము వాటి ద్వారా దశలవారీగా నడవము. - 137. ఇప్పటికి, దాన్ని అర్థం చేసుకోవడానికి ఏమి ఉపయోగించాలో మీకు తెలిసి ఉండాలి. - 138. దయచేసి ఈ అల్గోరిథంల వివరాల కోసం మాన్యువల్ లేదా పుస్తకాన్ని చూడండి మరియు వాటిని ఉపయోగించడం ప్రారంభించండి. - 139. అల్గోరిథం లైబ్రరీలను ఉపయోగించడం వల్ల C ++ లో విషయాలు రాయడం చాలా సులభం అని మీరు కనుగొంటారు, ఎందుకంటే చాలా సాధారణ అల్గోరిథంలు ఇప్పటికే అందుబాటులో ఉన్నాయి మరియు ఉపయోగించడానికి చాలా సులభం. - 140. ఈ మాడ్యూల్‌లో, సి ++ లో ప్రాథమిక సార్టింగ్ మరియు సెర్చ్ ఎలా మెరుగ్గా మరియు మెరుగ్గా చేయవచ్చో మేము చూపించాము మరియు సి అని మేము ప్రత్యేకంగా వివరిస్తాము, సి కాకుండా మన స్వంత సార్టింగ్ కోడ్ మరియు సెర్చ్ కోడ్‌ను సి ++ లో తరచుగా వ్రాస్తాము. - 141. అలా చేయడానికి ఎటువంటి కారణం ఉండదు. - 142. మేము ఏ రకమైన కంటైనర్ మరియు డేటా ఉపయోగిస్తున్నా, విలీనం, స్వాప్, డిలీట్, ఇవన్నీ భిన్నంగా మనం ఉపయోగించాల్సిన అనేక ఇతర అల్గోరిథంలకు కూడా ఇది నిజమని మేము చూపిస్తాము. - 143. మరియు, ఈ అల్గోరిథమిక్ భాగాలను అధ్యయనం చేయడానికి మరియు వాటిని ఉపయోగించడం ప్రారంభించడానికి నేను మిమ్మల్ని ప్రోత్సహిస్తాను. - 144. ఆపై మొత్తం యొక్క అందం ఉంది, మీరు నిజంగా చాలా C + గురించి తెలుసుకోవలసిన అవసరం లేదు, ఎందుకంటే మీరు వాటిని ఉపయోగించగలగాలి, ఎందుకంటే వాటిని ఉపయోగించడం వారి రూపకల్పన మరియు వారు చేసే విధానంతో చాలా సౌకర్యంగా ఉంటుంది వ్యవస్థీకృతమై ఉంది మరియు మీరు మాన్యువల్ నుండి అధ్యయనం చేయవచ్చు మరియు వాటిని ఉపయోగించడం ప్రారంభించవచ్చు. - 145. + C ++  ప్రోగ్రామింగ్ లో మాడ్యూల్  కు స్వాగతం. + ఈ మాడ్యూల్ లో మేము సార్టింగ్ మరియు శోధించడం గురించి చర్చిస్తున్నాము. + కాబట్టి, లక్ష్యం ఏమిటంటే  C లో క్రమబద్ధీకరించడం మరియు శోధించడం మరియు C ++ తో వాటిని విరుద్ధంగా ఎలా అమలు చేయాలో తెలుసుకోవడం . + ఈ అంశాలు  మేము చర్చించబోతున్నాము . + కాబట్టి ప్రారంభించడానికి, మీ అందరికీ సార్టింగ్ తెలుసు, మరియు శ్రేణిలో పూర్ణాంకాల సమితిని క్రమబద్ధీకరించడానికి మీరు సి లో అనేక ప్రోగ్రామ్‌లను వ్రాసి ఉండాలి. + ఇక్కడ, బబుల్ సార్ట్ అని పిలువబడే సర్వసాధారణమైన సార్టింగ్ అల్గోరిథం మాత్రమే మనకు ఉంది. + మీరు బబుల్ రకాన్ని ఉపయోగించవచ్చు లేదా ఉపయోగించకపోవచ్చు; మీరు వేరే ఎంపిక లేదా చొప్పించే విధమైన చేస్తే, ఇది పూర్తిగా మంచిది. + తొలగింపులు ఎలా జరుగుతాయో అనే తర్కంలోకి మేము వెళ్ళడం లేదు. + నేను చూపించదలిచినది రెండు నిలువు వరుసల మధ్య; ఎడమవైపు సి ప్రోగ్రామ్, కుడివైపు సి ++ ప్రోగ్రామ్. + ఇద్దరూ ఒకే వ్యూహాన్ని, ఒకే అల్గారిథమ్‌ను ఉపయోగించి బబుల్‌ను క్రమబద్ధీకరించడానికి ప్రయత్నిస్తున్నారు; మరియు, వాటి మధ్య మీరు చూడగలిగే ఏకైక తేడా ఏమిటంటే IO హెడర్స్ మరియు STD నేమ్‌స్పేస్‌ల వాడకం. + ఇప్పటివరకు మొత్తం అల్గోరిథం సంబంధించినది, కోడ్ సంబంధించినది, శ్రేణులు మరియు పోలికలు సంబంధించినవి, ఇది ఒకటే. + కాబట్టి, మనం తీసుకునే మొదటి పాఠం ఏమిటంటే, సి లో వ్రాసిన ఏదైనా సార్టింగ్ కోడ్‌ను సి ++ లో గుర్తించవచ్చు. + ఇప్పుడు, నేను స్పష్టం చేయాలనుకుంటున్నాను, నేను సంఖ్యల సమూహాన్ని లేదా తీగల సమితిని క్రమబద్ధీకరించాల్సిన అవసరం ఉంటే, నేను ప్రతిసారీ ఒక సార్టింగ్ ప్రోగ్రామ్‌ను వ్రాస్తాను? నేను అల్గోరిథంలు నేర్చుకోవడానికి ప్రయత్నిస్తున్నప్పుడు లేదా నేను భాషలను నేర్చుకోవడానికి ప్రయత్నిస్తున్నప్పుడు నేను దీన్ని చేస్తాను, కాని తరువాత నేను సంఖ్యల సమితిని క్రమబద్ధీకరించాలనుకుంటే, నేను అల్గోరిథం రాయను బదులుగా, నేను మళ్ళీ ప్రామాణిక లైబ్రరీకి వెళ్లి ప్రామాణిక లైబ్రరీ అందించే వాటిని ఉపయోగించడానికి ప్రయత్నిస్తాను. + ఇప్పుడు, మేము ఎడమ కాలమ్ పై దృష్టి పెడతాము, ఇది సి ప్రోగ్రామ్. + హెడర్‌లో, సి ప్రామాణిక లైబ్రరీలో అందించిన సార్టింగ్ ఫంక్షన్‌ను ఉపయోగిస్తోంది. + ఈ ఫంక్షన్‌ను Q సార్టింగ్ అంటారు. + ఈ ఫంక్షన్ శీఘ్ర క్రమబద్ధీకరణను అంతర్లీన సార్టింగ్ అల్గోరిథం వలె ఉపయోగిస్తుందనే వాస్తవాన్ని ఈ పేరు ఖచ్చితంగా సూచిస్తుంది. + ఇప్పుడు, Q ను సార్ట్ ఫంక్షన్ అని ఎలా పిలుస్తారో గమనించండి. + 4 పారామితులు ఉన్నాయని మీరు చూడవచ్చు. + కాబట్టి మీరు Q క్రమబద్ధీకరణ ప్రోగ్రామ్‌కు ఏమి చెప్పాలో చూద్దాం, తద్వారా ఇది మీ డేటాను క్రమబద్ధీకరించగలదు. + ఖచ్చితంగా, డేటా ఎక్కడ ఉందో మీరు వివరించాలి. + కాబట్టి, ఇది కంటైనర్, ఇది ఇక్కడ శ్రేణి డేటా. + కాబట్టి, ఇది మొదటి పరామితి. + ఇప్పుడు, శ్రేణిలోని ఎన్ని అంశాల అయినా మూలకాల సంఖ్య అవుతుంది; Q ఎలా క్రమబద్ధీకరిస్తుంది, ఎన్ని అంశాలు ఉన్నాయో లేదా వాటిలో ఎన్ని ఉన్నాయో తెలుసుకోండి, వాటిలో ఎన్ని మీరు క్రమబద్ధీకరించాలనుకుంటున్నారు. + కాబట్టి, రెండవ పరామితి Q క్రమబద్ధీకరణ మీరు ఎన్ని శ్రేణి అంశాలను క్రమబద్ధీకరించాలనుకుంటున్నారో చెబుతుంది. + దీని అర్థం మీరు ఎల్లప్పుడూ ఇండెక్స్ 0 తో ప్రారంభించి, రెండవ పరామితిలో పేర్కొన్నన్ని అంశాలను తీసుకోండి. + కాబట్టి, ఇక్కడ రెండవ పరామితి 5, అంటే Q డేటా శ్రేణిని సీరియల్ 0 నుండి ఇండెక్స్ 4 కు క్రమబద్ధీకరించాలి, ఈ సందర్భంలో మొత్తం శ్రేణి (క్రమబద్ధీకరణ). శ్రేణి). + మూడవ పరామితి కొంచెం గమ్మత్తైనది, మరియు మూడవ పరామితి ఎందుకు అవసరమో మీకు ఇప్పుడు అర్థం కాలేదు. + మూడవ పరామితి దయచేసి ప్రతి మూలకం యొక్క పరిమాణాన్ని బైట్లలో అందించండి. + ఇప్పుడు, ఇది పూర్ణాంక శ్రేణి, అంటే ప్రతి మూలకం పూర్ణాంకం (పూర్ణాంకానికి).కాబట్టి, ప్రతి మూలకం యొక్క పరిమాణాన్ని సి లోని సైజుఆఫ్ ఆపరేటర్ ఉపయోగించి లెక్కించవచ్చు, కాబట్టి మీరు సైజ్ఆఫ్ (పూర్ణాంకానికి) ను పేర్కొనండి, ఇది 32 బిట్ సిస్టమ్ కోసం 4 ను దాటిపోతుంది, ఎందుకంటే పూర్ణాంకానికి (పూర్ణాంకానికి), సాధారణంగా పరామితి మూడవదిగా ప్రాతినిధ్యం వహిస్తుంది 32 బిట్స్‌లో 4 బైట్లు. + కాబట్టి, ప్రతి మూలకం యొక్క పరిమాణాన్ని సి లోని సైజుఆఫ్ ఆపరేటర్ ఉపయోగించి లెక్కించవచ్చు, కాబట్టి మీరు సైజ్ఆఫ్ (పూర్ణాంకానికి) ను పేర్కొనండి, ఇది 32 బిట్ సిస్టమ్ కోసం 4 ను దాటిపోతుంది, ఎందుకంటే పూర్ణాంకానికి (పూర్ణాంకానికి), సాధారణంగా పరామితి మూడవదిగా ప్రాతినిధ్యం వహిస్తుంది 32 బిట్స్‌లో 4 బైట్లు. + మాకు అవసరమైనదాన్ని నిజంగా అర్థం చేసుకోవడం మీకు కష్టంగా ఉండవచ్చు, కాని ప్రాథమిక వాదన ఏమిటంటే, Q శ్రేణికి మీ శ్రేణిలో ఏ రకమైన డేటా ఉందో తెలియదు, మూలకం రకంలో తేడా ఉంటుంది. సంభవించవచ్చు; ఇది నాలుగు రకాల అంశాలను కలిగి ఉంటుంది; ఇది కోణాల రూపం యొక్క అంశాలను కలిగి ఉండవచ్చు; ఇది నిర్మాణ రకం యొక్క అంశాలను కలిగి ఉంటుంది; ఇండెక్స్ చేయబడిన మూలకం యొక్క చిరునామాను పొందిన తరువాత Q (Q) మొదట సూచిక చేయబడిన మూలకాన్ని గుర్తించాలని కనుగొనడం సాధ్యం కాదు. + అందువల్ల, మూలకం యొక్క పరిమాణం తెలిస్తే, అది మొదటి మూలకాన్ని పొందడానికి శ్రేణి యొక్క ప్రారంభ చిరునామాకు ఆఫ్‌సెట్‌గా జోడించగలదు. + రెండవ మూలకం యొక్క చిరునామాను పొందడానికి మొదటి మూలకం యొక్క స్థానానికి మళ్ళీ అదే పరిమాణంలో పూర్ణాంకాన్ని జోడించవచ్చు. + కాబట్టి, మీకు ఈ సమాచారం అవసరమయ్యే అమలు ఇది. + కాబట్టి, ఇది మూడవ పరామితి. + నాల్గవ పరామితి అత్యంత ఆసక్తికరమైనది. + నాల్గవ పరామితి ఫంక్షన్ పాయింటర్. + మాడ్యూల్ 1 లో, మేము ఫంక్షన్ పాయింటర్ల గురించి లోతుగా మాట్లాడామని మీరు గుర్తుంచుకుంటారు. + మేము దాన్ని మళ్ళీ చేర్చుకున్నాము మరియు మీరు మీ దృష్టిని పైకి కదిలిస్తే, చేర్చండి మరియు ప్రధానంగా ఫంక్షన్ పాయింటర్ నిర్వచించబడిందని మీరు కనుగొంటే, Q (Q) క్రమబద్ధీకరణ (క్రమబద్ధీకరణ). + ఇప్పుడు, ఈ తులనాత్మక పని యొక్క పాత్ర ఏమిటి? ఈ పోలిక ఫంక్షన్ 2 విలువలను పోల్చి, ఏది చిన్నది లేదా రెండవది చిన్నదో చెబుతుంది. + ఇక్కడ, మనకు పోలిక ఫంక్షన్ చూపబడింది, ఇక్కడ మనం పోలికగా తక్కువగా ఉపయోగిస్తున్నాము. + మొదటిది మరొకదాని కంటే చిన్నదిగా ఉంటే, అది నిజం అవుతుంది మరియు లేకపోతే అది తప్పుడుదాన్ని తిరిగి ఇస్తుంది. + తులనాత్మక పని యొక్క ప్రాథమిక ఉద్దేశ్యం ఇది. + వేరే ఫంక్షన్ (ఫంక్షన్), పాయింటర్ (పాయింటర్) ఫంక్షన్ (ఫంక్షన్) వ్రాసి, ఆ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ (పాయింటర్) ను పాస్ చేయడం వంటి క్లిష్టమైన పనిని నేను ఎందుకు చేయవలసి వచ్చిందో ఇప్పుడు మీరు ఆశ్చర్యపోతున్నారు. + Q లైబ్రరీలో క్రమబద్ధీకరించబడినప్పుడు లేదా మీరు ఇప్పుడు Q రకం యొక్క ఫంక్షన్‌ను వ్రాయాలనుకుంటే మరియు ఏ రకమైన మూలకాలను క్రమబద్ధీకరించాలో మీకు చెప్పబడలేదు, కాబట్టి ఎలా పోల్చాలో మీకు ఎలా తెలుసు? ఆ అంశాలు? ఉదాహరణకు, పూర్ణాంకానికి చాలా తేలికగా పోల్చవచ్చు, కాని నేను పూర్ణాంకానికి బదులుగా చెప్పినట్లయితే, నేను ఇప్పుడు మీకు తీగలను ఇస్తే. + ఇప్పుడు, తీగల శ్రేణిని సి లో ఎక్కువ లేదా తక్కువ రాయడం తో పోల్చలేము. + మేము C ++ స్ట్రింగ్ గురించి మాట్లాడటం లేదు, పోలిక ఆపరేటర్ మీకు ఇప్పటికే తెలుసు. + కాబట్టి, సి లో నేను తీగలను పోల్చవలసి వస్తే నా విలువలు వాస్తవానికి అక్షరానికి సూచించబడతాయి, కాని నేను కొన్నింటిని బిగింపు () ఫంక్షన్ (ఫంక్షన్) వాడకంతో పోల్చాను. + ఇప్పుడు Q రకాన్ని ఎలా తెలుసుకోవాలి, Q సార్టింగ్ మీరు వాటిని పోల్చడానికి Q ఎలాంటి డేటాను ఇస్తారో తెలియదు, Q సార్టింగ్ కూడా అలాంటి 2 డేటా ఐటెమ్‌లను ఎలా పోల్చాలో తెలియదు. + మరియు ఫంక్షన్‌ను Q క్రమబద్ధీకరణతో పోల్చడం మీ బాధ్యత. + కాబట్టి మీరు ఈ నాల్గవ పరామితిని కలిగి ఉండాలి, ఇది ఫంక్షన్ పాయింటర్ యొక్క పోలిక. + మీరు శీర్షికలో చూస్తే, ఫంక్షన్ పాయింటర్ యొక్క సంతకం మీకు మరింత బాధించేదాన్ని ఇస్తుంది. + పారామితులను తెలియని రకం యొక్క స్థిరమైన డేటా కోసం const పాయింటర్లుగా ఉండే const void * గా ప్రకటించడాన్ని మీరు చూడవచ్చు, ఇది ఎందుకు? ఎందుకంటే మళ్ళీ, Q కి సార్టింగ్ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ కోసం సంతకం ఉండకూడదు, ఎందుకంటే దీనికి డేటా ఐటెమ్ రకం తెలియదు. + అందువల్ల, ఇవన్నీ మీకు తెలియని కొన్ని రకాల సూచికను కలిగి ఉన్నాయని అనుకుంటాయి మరియు మీకు రకం తెలియదు కాబట్టి, పోలిక ఫంక్షన్ యొక్క రిటర్న్ స్టేట్మెంట్లో మీరు నిజంగా పోల్చాలనుకున్నప్పుడు, మీరు మొదట కంపైలర్కు చెప్పాలి వాస్తవానికి, ఇప్పుడు నేను కలిగి ఉన్నది పూర్ణాంకం. + కాబట్టి, మీరు మొదట పాయింటర్ (పాయింటర్) ను పూర్ణాంకానికి (పూర్ణాంకానికి) రద్దు చేస్తారు, ఆపై మీరు పూర్ణాంక విలువను పొందడానికి ఆ పూర్ణాంక పాయింటర్ (పాయింటర్) ను సూచిస్తారు, ఆపై మీరు పూర్ణాంకం యొక్క రెండు పూర్ణాంక విలువలను జోడిస్తారు. పోల్చుకుందాం. + అందువల్ల, Q- కత్తిరించడం కోసం ఇంకా చాలా అవసరం. + టైప్ సి స్టాండర్డ్ లైబ్రరీలో డిఫాల్ట్ సార్టింగ్ అల్గోరిథం వలె Q (Q) అందుబాటులో ఉన్నప్పటికీ, Q సమాజంలో Q (sort) వాడకం అంతగా ప్రాచుర్యం పొందలేదు. + తరచుగా, ప్రజలు తమ సొంత రచనలు రాయడానికి ఇష్టపడతారు; బబుల్ సార్ట్, సెలెక్షన్ సార్ట్ లేదా ఇన్సర్షన్ సార్ట్, సార్ట్, మరియు టైప్ డేటా యొక్క మూలకాలకు వారు క్రమబద్ధీకరించాలనుకునే అంశాలను ఇస్తారు మరియు అదే వాడాలి. + ఇప్పుడు కాలమ్ యొక్క కుడి వైపు చూడండి. + C ++ దీన్ని చేసే విధానం, IO పరంగా నేను తేడాలు చూడను, మీకు ఇప్పటికే తెలుసు. + మీరు చేరిక పరంగా దృష్టి పెట్టాలి, మేము అల్గోరిథం అని పిలువబడే మరొక C ++ ప్రామాణిక లైబ్రరీ హెడర్‌ను చేర్చుతాము, ఇది చాలా ఆసక్తికరంగా ఉంటుంది. + అల్గోరిథం అనేది మీ ప్రోగ్రామ్‌లలో మీరు తరచుగా ఉపయోగించాల్సిన చాలా అల్గోరిథం కోడ్‌ను కలిగి ఉన్న హెడర్. + కాబట్టి, అల్గోరిథం ఒక భాగం, క్రమబద్ధీకరణ అల్గోరిథం కలిగి ఉంటుంది. + కాబట్టి, మీరు C లో C లో క్రమబద్ధీకరించేది, అల్గోరిథంలో ఈ భాగాన్ని C ++ లో క్రమబద్ధీకరించడం అంటారు. + మేము మళ్ళీ అదే డేటాను క్రమబద్ధీకరిస్తున్నాము; మేము మళ్ళీ అదే క్రమంలో క్రమబద్ధీకరిస్తున్నాము. + క్రమబద్ధీకరించడానికి నేను ఏమి పేర్కొనాలి, పారామితులను చూద్దాం. + ఖచ్చితంగా, నేను కంటైనర్ లాగా కంటైనర్లో ఏమి చేసాను. + రెండవది నేను మొదటి నుండి ఎన్ని అంశాలు ఉన్నాయో చెప్పాలి, ఇక్కడ మనం దానిని కొద్దిగా భిన్నంగా పేర్కొంటాము. + Q క్రమబద్ధీకరణలో, మేము మూలకాల సంఖ్యను మాత్రమే పేర్కొన్నాము; ఇక్కడ మనం ధ్యానం చేసిన తర్వాత మొదటి మూలకానికి పాయింటర్‌ను పాస్ చేస్తాము. + కాబట్టి, మేము `డేటా + 5 'ను పాస్ చేస్తాము, అంటే మనం పాయింటర్‌ను 5 మూలకాల సూచికకు పంపుతాము, అంటే మనం క్రమబద్ధీకరించాలనుకుంటున్న శ్రేణి యొక్క భాగానికి వెలుపల ఉంది. + మరో మాటలో చెప్పాలంటే, డేటాతో ప్రారంభమయ్యే 5 అంశాలను మీరు క్రమబద్ధీకరిస్తారా? మేము ఈ వివరాలను తరువాత చూస్తాము, దీనిని C ++ లో పరిమితి అంటారు. + మూడవ పరామితి ఒక విధమైన Q గా అవసరం లేదు, ఎందుకంటే మీరు ఇప్పటికే చూసినట్లుగా, C ++ కంపైలర్ రకం ఆధారంగా వస్తువులను కత్తిరించగలదు. + కాబట్టి టైప్ చేయండి, డేటా ఇంటెంట్ (పూర్ణాంకానికి) టైప్ అర్రే అని తెలుసు. + కాబట్టి, మూలకాలు అవకలన రకంగా ఉంటాయి. + కాబట్టి, మీరు పరామితిగా Int (int) పరిమాణాన్ని విడిగా పేర్కొనవలసిన అవసరం లేదు. + విధమైన మూడవ పరామితి మీరు పోలిక అల్గోరిథం ఇవ్వాల్సిన విధమైన నాల్గవ పరామితికి సమానంగా ఉంటుంది. + ఇది ఖచ్చితంగా తీసివేయబడదు, ఎందుకంటే మీ పోలిక వ్యూహం మీ వద్ద ఉన్న డేటాను బట్టి మారుతుంది. + కానీ, ఇది చాలా ముఖ్యం, మీరు మళ్ళీ మీ దృష్టిని C ++ విభాగంలో ఈ పోలిక ఫంక్షన్ నిర్వచించిన చోటికి మార్చినట్లయితే. + కాస్ట్ శూన్యమైన * రకం లేదా వ్యక్తీకరణ యొక్క పారామితులను ఉపయోగించి, కాస్టింగ్ మరియు డి-రిఫరెన్సింగ్‌ను పూర్తిగా చేసే సి లో మీకు సంక్లిష్టత లేదు. + ఇప్పుడు, మీరు ఒక సాధారణ ఫంక్షన్, int i, int j విషయంలో డిక్లేర్ చేసినట్లే పారామితులను డిక్లేర్ చేయవచ్చు మరియు బదులుగా మీరు పోల్చండి, తులనాత్మక వాదన ఏదైనా మనం ఇక్కడ వ్రాస్తాము. + ఇది సాధారణ పోలిక ఫంక్షన్ లాగా ఉంటుంది మరియు ఇది పాయింటర్; ఫంక్షన్ పేరు మూడవ పరామితిగా ఇవ్వబడుతుంది. + మీరు దీన్ని C ++ లో చేయవచ్చు, ఎందుకంటే C ++ లో ఇలాంటి లక్షణాలు చాలా ఉన్నాయి, వీటిని మేము క్రమంగా మీకు పరిచయం చేస్తాము. + కాబట్టి, సి లో ఇది ఎందుకు సాధ్యం కాలేదని మీరు అర్థం చేసుకుంటారు, కాని సి ++ లో సార్టింగ్ ఫంక్షన్ ఇప్పటికే తెలియని దానితో పోల్చదగిన ఫంక్షన్‌ను వ్రాయడం సాధ్యమవుతుంది, కాని అప్పుడు కూడా దానిని గ్రహించగలుగుతారు. + కాబట్టి, ప్రామాణిక లైబ్రరీ నుండి క్రమబద్ధీకరించబడిన ప్రోగ్రామ్‌ను ఉపయోగించడం చాలా సొగసైనది మరియు సమర్థవంతమైనది. + మరియు ఫలితం ఏమిటంటే, C ++ ప్రోగ్రామర్లు వాస్తవానికి వారి స్వంత క్రమబద్ధీకరించిన ప్రోగ్రామ్‌లను వ్రాస్తున్నప్పుడు, వారు ఇక్కడ ఇచ్చిన రకాన్ని ఉపయోగిస్తారు. + గమనించడానికి చిన్న సూక్ష్మ నైపుణ్యాలు ఉన్నాయి; సార్టింగ్ దిశ యొక్క సమావేశం, ఇది తగ్గుతున్న క్రమం లేదా పెరుగుతున్న ఆర్డర్ Q అయినా, క్రమబద్ధీకరణ అమలు మరియు క్రమబద్ధీకరణ అమలు మధ్య మారుతూ ఉంటుంది. + కాబట్టి, మీరు వ్రాసిన రెండు తులనాత్మక ఫంక్షన్లపై మీరు మళ్ళీ దృష్టి పెడితే, సి లో మనం నిజం కంటే తక్కువగా ఉపయోగించామని, సి ++ లో మనం నిజం కంటే ఎక్కువ ఇచ్చామని మీరు కనుగొంటారు. ఎందుకంటే రెండు సందర్భాల్లోనూ మనం కోరుకుంటున్నాము అవరోహణ క్రమంలో చేయాలి. + కాబట్టి, ఇది సి ++ క్రమంలో ఉన్న సమావేశానికి సంబంధించిన విషయం. + ఈ విధమైన రకం యొక్క మరొక వెర్షన్ ఇది. + ఇక్కడ, మీరు సార్ట్ ఫంక్షన్ యొక్క కాల్ వద్ద ప్రత్యేకంగా చూస్తే, మొదటి రెండు పారామితులు ఉన్నాయని మీరు చూస్తారు, కానీ మూడవ పరామితి లేదు, ఇక్కడ తులనాత్మక ఫంక్షన్ అందించబడలేదు. + ఇది సి ++ ప్రామాణిక లైబ్రరీ మిమ్మల్ని అనుమతించే షార్ట్ కట్; మీరు C ++ యొక్క అంతర్నిర్మిత రకాలను కలిగి ఉన్న C ++ రకాలను క్రమబద్ధీకరించడానికి ప్రయత్నిస్తుంటే, తులనాత్మక ఫంక్షన్‌ను అందించడం ఐచ్ఛికం. + పోలిక ఫంక్షన్‌ను అందించడం అవసరం లేదు మరియు మీరు దానిని అందించకపోతే, అప్రమేయంగా సార్టింగ్ ఆరోహణ క్రమంలో జరుగుతుంది. + మీరు ఇంకా ఈ శ్రేణిని అవరోహణ క్రమంలో క్రమబద్ధీకరించాలనుకుంటే, మీరు మళ్ళీ ఒక తులనాత్మక ఫంక్షన్‌ను అందించాల్సి ఉంటుంది ఎందుకంటే మీ పోలిక యొక్క దిశ, అంటే మొదటి పారామితి (పరామితి) రెండవదానికంటే ఎక్కువ. నిజం లేదా లేకపోతే, సార్టింగ్ మధ్య తేడా ఉంటుంది సార్టింగ్ మరియు అవరోహణ సార్టింగ్. + తరువాత, మేము బైనరీ శోధనకు వెళ్తాము. + మనందరికీ తెలిసినట్లుగా, బైనరీ శోధన అనేది ప్రోగ్రామింగ్‌లో తరచుగా ఉపయోగించే అల్గోరిథం, ఇది మూలకాల శ్రేణిని ఇస్తుంది, ఇవి ఇప్పటికే క్రమబద్ధీకరించబడ్డాయి. + ఒక బైనరీ శోధన ఆ శ్రేణిలో ఇచ్చిన కీ ఉందో లేదో తెలుసుకోవచ్చు, అలా అయితే, శ్రేణిలోని ఆ మూలకం యొక్క స్థానం ఏమిటో కూడా చెప్పగలదు. ఇది, సాధారణ శోధన విధానం, ఇది అత్యంత సమర్థవంతమైనది. + మరియు, సి మరియు సి ++ రెండూ ప్రామాణిక లైబ్రరీలలో బైనరీ శోధనలు చేయటానికి యంత్రాంగాలు. + C లో, ఇది మళ్ళీ లో లభిస్తుంది. + ఇది బి సెర్చ్ అనే ఫంక్షన్. + C ++ లో, ఇది మళ్ళీ కాంపోనెంట్ అల్గోరిథంతో లభిస్తుంది మరియు దీనిని బైనరీ అండర్ స్కోర్ సెర్చ్ అంటారు. + మేము ఆ 'bsearch' చూస్తే; ఎడమ చేతి వైపు సి ఎలా ఉపయోగించబడుతుంది, అప్పుడు మొదటి పరామితి ఒక కీ. + కీ దాని చిరునామాగా పాస్ చేయబడాలి, కాబట్టి మీరు పాస్ & కీ. + దీన్ని చేయడానికి ఒక కారణం ఏమిటంటే, మీరు దీన్ని చేయవలసి ఉంది, ఎందుకంటే మళ్ళీ, మీకు శ్రేణిలో ఉన్న మూలకాల రకం మీకు తెలియదు, అందువల్ల మీరు వెతకాలని కోరుకునే కీ రకం. హుహ్. + కాబట్టి, కీ రకం మీకు సాధారణంగా తెలియదు. + అందువల్ల, మీరు దానితో 'bsearch' రాయలేరు. + కాబట్టి మీరు మళ్ళీ పాయింటర్‌ను పూర్ణాంకానికి (పూర్ణాంకానికి) ఉపయోగించవచ్చనే వాస్తవాన్ని ఉపయోగించుకోండి మరియు పాయింటర్ శూన్యంగా ఉండాలని భావిస్తారు. + కాబట్టి, bsearch శూన్యమైన మొదటి పరామితిని ఉపయోగిస్తుంది *. + అందుకే మీరు దీనికి చిరునామా ఇవ్వాలి. + రెండవ పరామితి మీరు కనుగొనాలనుకుంటున్న శ్రేణి, వాస్తవానికి ఇది క్రమబద్ధీకరించబడాలి. + మూడవ పరామితి మూలకాల సంఖ్య. + ఇది Q సార్ట్ లాగా చాలా అందంగా ఉంటుంది. + నాల్గవ పరామితి ప్రతి మూలకం యొక్క పరిమాణం మరియు ఐదవ పరామితి పోలిక ఫంక్షన్ యొక్క పనితీరుకు పాయింటర్. + గమనించదగ్గ విషయం ఏమిటంటే, బైనరీ శోధనను క్రమబద్ధీకరించడానికి విరుద్ధంగా మూడు విధాలుగా నిర్ణయించవలసి ఉంది, ఇక్కడ మీరు తెలుసుకోవలసినది తక్కువ లేదా కాదా అనేది తెలుసుకోవాలి, కానీ బైనరీ శోధనలో, ఇది శ్రేణిలో ఒక నిర్దిష్ట మూలకం కోసం వెతుకుతోంది , ఇది 3 అవకాశాలతో వ్యవహరించాలి. + ఒకటి, అతను చూస్తున్న మూలకం, వాస్తవానికి కీకి సమానంగా ఉంటుంది, కాబట్టి మీరు శోధనతో పూర్తి చేస్తారు. + కాబట్టి, మీరు ఏమీ చేయనవసరం లేదు, మీరు శ్రేణి యొక్క స్థానం యొక్క సూచిక విలువను తిరిగి ఇస్తారు. + రెండవది, దాని కంటే తక్కువగా ఉండవచ్చు. + మీరు మీ శ్రేణిని ఆరోహణ క్రమంలో కలిగి ఉంటే మరియు మీ విలువ మీరు చూస్తున్న మూలకం కంటే తక్కువగా ఉంటే, అప్పుడు మీ కీ మీరు చూస్తున్న మూలకం కంటే తక్కువగా ఉంటుంది, మీకు కావాలి అని మీకు తెలుసు ఈ భాగం శ్రేణిలో చూడాలి . + మరియు మూడవ సందర్భంలో, మీరు శ్రేణి యొక్క కుడి వైపు చూడాలి. + కాబట్టి, మీ తులనాత్మక ఫంక్షన్ మూడు విధాలుగా పనిచేయాలి, మనకు సి స్ట్రింగ్ (. స్ట్రింగ్) .h ప్రామాణిక లైబ్రరీలో ఉన్న strcmp () లాగా. + బట్టి ఇక్కడ ఎగువన, మైనస్ 1, 0 లేదా ప్లస్ 1 తో మేము వ్యవహరిస్తున్న అటువంటి తులనాత్మక ఫంక్షన్ కోసం మీరు ఎలా వ్రాయవచ్చో చూపిస్తాను. + మరియు, పారామితులను శూన్యమైన * పాయింటర్ (లు) గా ఉపయోగించడం మరియు వాటిని ప్రసారం చేయడం, వాటిని డీఫరెన్సింగ్ చేయడం, Q (Q) విషయంలో మేము చేసినట్లుగా, అన్ని సూక్ష్మ నైపుణ్యాలు కూడా ఈ సందర్భంలో చేర్చబడతాయి. + దీని కోసం, C ++ ఫారమ్ చూడండి. + అల్గోరిథం భాగం నుండి బైనరీ _ సెర్చ్ () ఫంక్షన్ మొదటి పరామితిని కంటైనర్‌గా తీసుకుంటుంది, ఇది డేటా, రెండవ పరామితి పారామితి పరిధి ముగింపు. + మనం చూసినట్లుగా ఇది చాలా ఉంది. + మరియు ఇది మూడవ పరామితిని తీసుకుంటుంది, ఇది కీ. + మరియు ఇక్కడ, నేను ఒక ఉదాహరణను చూపిస్తున్నాను, ఇక్కడ తులనాత్మక ఫంక్షన్ స్పష్టంగా అందించబడలేదు, ఎందుకంటే నేను ఇప్పటికే అలాంటి సందర్భంలో చర్చించినట్లుగా, మీరు కంపైలర్‌లో నిర్మించిన రకం యొక్క మూలకాల కోసం శోధిస్తుంటే, పోలిక ఎలా ఉందో మాకు ఇప్పటికే తెలుసు పూర్తి. + కాబట్టి, పోలిక కోసం మీరు ఫంక్షన్ పాయింటర్‌ను స్పష్టంగా ఉంచాల్సిన అవసరం లేదు. + మరియు, దీనితో, బైనరీ శోధన ఉంటుంది. + మీరు రెండింటినీ పోల్చి చూస్తే, మీరు C ++ లో బైనరీ శోధనను సులభంగా ఉపయోగించవచ్చు. + వాడకం సౌలభ్యం కంటే చాలా ఎక్కువ ఉంది, బైనరీ శోధన చాలా తరచుగా C ++ లో ఉపయోగించబడుతుంది మరియు ఎవరూ ఏ రకమైన డేటా కంటైనర్ కోసం బైనరీ సెర్చ్ ప్రోగ్రామ్‌ను వ్రాయరు.ఒకరికి ఉంది. + ప్రత్యేకించి, ఈ అల్గోరిథం లైబ్రరీలో ఇది చాలా ఆసక్తికరమైన లైబ్రరీ, ఎందుకంటే ఇది ఏమిటంటే, మీరు సి ++ ఉపయోగిస్తుంటే, మేము మీకు సాధారణ అల్గోరిథంల సమితిని ఇస్తాము. + అందువల్ల, అల్గోరిథం లైబ్రరీ నుండి మరింత శోధనను ఎలా ఉపయోగించవచ్చో మనం చూశాము. + మూలకాలను ప్రత్యామ్నాయం చేయడం, మూలకాల క్రమాన్ని తిప్పడం వంటివి ఇంకా చాలా ఉన్నాయి. + కాబట్టి, ఇవి తిరగడానికి, కోడ్‌ను మార్చడానికి ఉదాహరణలు. + మేము వాటి ద్వారా దశలవారీగా నడవము. + ఇప్పటికి, దాన్ని అర్థం చేసుకోవడానికి ఏమి ఉపయోగించాలో మీకు తెలిసి ఉండాలి. + దయచేసి ఈ అల్గోరిథంల వివరాల కోసం మాన్యువల్ లేదా పుస్తకాన్ని చూడండి మరియు వాటిని ఉపయోగించడం ప్రారంభించండి. + అల్గోరిథం లైబ్రరీలను ఉపయోగించడం వల్ల C ++ లో విషయాలు రాయడం చాలా సులభం అని మీరు కనుగొంటారు, ఎందుకంటే చాలా సాధారణ అల్గోరిథంలు ఇప్పటికే అందుబాటులో ఉన్నాయి మరియు ఉపయోగించడానికి చాలా సులభం. + ఈ మాడ్యూల్‌లో, సి ++ లో ప్రాథమిక సార్టింగ్ మరియు సెర్చ్ ఎలా మెరుగ్గా మరియు మెరుగ్గా చేయవచ్చో మేము చూపించాము మరియు సి అని మేము ప్రత్యేకంగా వివరిస్తాము, సి కాకుండా మన స్వంత సార్టింగ్ కోడ్ మరియు సెర్చ్ కోడ్‌ను సి ++ లో తరచుగా వ్రాస్తాము. + అలా చేయడానికి ఎటువంటి కారణం ఉండదు. + మేము ఏ రకమైన కంటైనర్ మరియు డేటా ఉపయోగిస్తున్నా, విలీనం, స్వాప్, డిలీట్, ఇవన్నీ భిన్నంగా మనం ఉపయోగించాల్సిన అనేక ఇతర అల్గోరిథంలకు కూడా ఇది నిజమని మేము చూపిస్తాము. + మరియు, ఈ అల్గోరిథమిక్ భాగాలను అధ్యయనం చేయడానికి మరియు వాటిని ఉపయోగించడం ప్రారంభించడానికి నేను మిమ్మల్ని ప్రోత్సహిస్తాను. + ఆపై మొత్తం యొక్క అందం ఉంది, మీరు నిజంగా చాలా C + గురించి తెలుసుకోవలసిన అవసరం లేదు, ఎందుకంటే మీరు వాటిని ఉపయోగించగలగాలి, ఎందుకంటే వాటిని ఉపయోగించడం వారి రూపకల్పన మరియు వారు చేసే విధానంతో చాలా సౌకర్యంగా ఉంటుంది వ్యవస్థీకృతమై ఉంది మరియు మీరు మాన్యువల్ నుండి అధ్యయనం చేయవచ్చు మరియు వాటిని ఉపయోగించడం ప్రారంభించవచ్చు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/41 ProgramminginCplusplus_Classes and Objects (Contd.) (Lecture 20)-urux5ZxeO3k.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/41 ProgramminginCplusplus_Classes and Objects (Contd.) (Lecture 20)-urux5ZxeO3k.txt index 6603bd5fa836c39b55dc53dbf8f36bbf06f14ef7..cb03b9d56820a2ee6f9140682053bc3cbba02f34 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/41 ProgramminginCplusplus_Classes and Objects (Contd.) (Lecture 20)-urux5ZxeO3k.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/41 ProgramminginCplusplus_Classes and Objects (Contd.) (Lecture 20)-urux5ZxeO3k.txt @@ -1,59 +1,59 @@ - 1. C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 11 యొక్క పార్ట్ -2 కు స్వాగతం. - 2. ఈ మాడ్యూల్ యొక్క మొదటి భాగంలో, తరగతుల యొక్క ప్రాథమిక భావనలను మరియు తరగతుల ఉదాహరణలను వస్తువులుగా చూశాము. - 3. మేము అర్థం చేసుకున్నాము, డేటా సభ్యులు మరియు పద్ధతులు ఏమిటి. - 4. మేము ముఖ్యంగా సంక్లిష్ట సంఖ్యల యొక్క మూడు ఉదాహరణలను చర్చించాము; చుక్కలు మరియు స్టాక్‌తో దీర్ఘచతురస్ర వస్తువులు. - 5. ఒక వస్తువును గుర్తించడానికి "ఈ" పాయింటర్‌ను కూడా మేము అర్థం చేసుకున్నాము. - 6. మిగిలిన భాగంలో మనం వస్తువు యొక్క స్థితిగా పిలువబడే వాటిని క్లుప్తంగా చర్చిస్తాము. - 7. ఇది C ++ సందర్భాలలో ఆబ్జెక్ట్-ఓరియెంటెడ్ మోడల్ వర్తించే విధానం నుండి ఉద్భవించింది. - 8. ఒక వస్తువు యొక్క స్థానం దాని అన్ని డేటా సభ్యుల మిశ్రమ విలువ ద్వారా నిర్ణయించబడుతుంది అని మేము చెప్తాము. - 9. సరళమైన మాటలలో, మనం సంక్లిష్టమైన ఉదాహరణకి తిరిగి వెళుతున్నామని చెప్పండి. - 10. కాబట్టి, ఈ డేటా భాగం ఖచ్చితంగా ఒకే విధంగా ఉంటుంది, ప్రదర్శన ప్రయోజనాల కోసం మాకు కొన్ని అదనపు పద్ధతులు ఉన్నాయి. - 11. కాబట్టి, ఈ డేటా సభ్యులను ఏమని పిలుస్తారు? వారు నా వద్ద ఒక సంక్లిష్ట సంఖ్య ఉంటే, నేను దానిని తీయగలిగితే, అది ఒక సంక్లిష్ట సంఖ్య, దానికి 're (re)' భాగం మరియు తరువాత 'im' భాగం ఉంటుంది. - 12. కాబట్టి, ఇది సంక్లిష్ట సంఖ్య. - 13. కాబట్టి, సి 1 ను 4.2, 5.3 గా నిర్వచించామని నేను చెబితే, అది సి 1 అని చెప్పగలను మరియు అది 4.2 మరియు ఇది 5.3. - 14. కాబట్టి, రాష్ట్ర భావన, ఇది రెట్టింపు విలువ అని మేము చెప్తాము; దీనికి డబుల్ విలువ కూడా ఉంది. - 15. కాబట్టి, నేను మళ్ళీ విలువగా ఏదైనా డబుల్ విలువను కలిగి ఉండగలనని నాకు తెలుసు. - 16. అదేవిధంగా, నేను ఏదైనా డబుల్ విలువను im విలువగా ఉంచగలను. - 17. అందువల్ల, నేను తిరిగి ప్రవేశించగలిగే ప్రతి జత డబుల్ విలువలు వేరే సంక్లిష్ట సంఖ్యను తెలియజేస్తాయి. - 18. కాబట్టి, నేను సి 1 ని మార్చుకుంటే, నేను ఈ విలువను మార్చుకుంటే లేదా నేను ఈ విలువను మార్చుకుంటే లేదా నేను రెండు విలువలను మార్చుకుంటే. - 19. కాబట్టి, సి 1 వేరే రాష్ట్రాన్ని సంపాదించిందని మేము చెబుతాము. - 20. ఒక వస్తువు యొక్క డేటా సభ్యుడు ఒక నిర్దిష్ట విలువల కలయికను నిర్వహిస్తున్నంత కాలం, అది ఒక స్థితిలో ఉందని మరియు డేటా సభ్యుల్లో ఎవరైనా దాని విలువను మార్చిన వెంటనే, అది వేరే స్థితిలో ఉందని మేము చెప్తాము. - 21. అందువల్ల, చివరికి, ప్రోగ్రామింగ్‌లో, వస్తువు ఏ స్థితిలో ఉందో నిర్ణయించడం మరియు పద్ధతుల వాడకంతో, తదుపరి స్థితిలో కనుగొనగల వస్తువు. - 22. ఈ కదలికలన్నింటినీ మేము తరువాత చూస్తాము, కానీ ఇది మీకు చూపించడానికి మాత్రమే, లోతుగా ఉన్న రాష్ట్ర భావన ఏమిటి? మేము ఇక్కడ నాలుగు పద్ధతులను మాత్రమే ఉపయోగిస్తున్నట్లు చూపించడానికి, వాటిని దగ్గరగా చూడండి, get_re; సాధారణంగా, భాగం తిరిగి రాబడిని చదువుతుంది. - 23. కాబట్టి, c1 4.2, 5.3 మరియు నేను c1.get_re ను ఇన్వోక్ చేస్తే, నేను స్పష్టంగా 4.2 పొందుతాను. - 24. అదేవిధంగా, నేను get_im చేస్తే, అది నాకు 5.3 తిరిగి ఇస్తుంది మరియు మిగిలిన రెండు సెట్ చేయబడతాయి. - 25. కాబట్టి, ప్రాథమికంగా నేను set_re పద్ధతిలో మళ్ళీ ఒక విలువను దాటితే, అది ఆ విలువను నేను set_re అని పిలిచిన వస్తువు యొక్క re_ భాగంలో సెట్ చేస్తుంది. - 26. అందువల్ల, వీటిని సాధారణంగా సెట్ పద్ధతి అని పిలుస్తారు, మేము వాటిని మరింత సూచిస్తాము. - 27. కాబట్టి, దీనితో, నేను దానిలోకి వెళ్ళగలనని హంకరాయ చెబితే మనం చూస్తామా? కాబట్టి, ఇది ప్రారంభమైనది, ఇది 4.2, 5.3 తో ప్రారంభించబడింది. - 28. అందువల్ల, సి యొక్క స్థితి 1, 4.2, 5.3, ఎందుకంటే ఇద్దరు డేటా సభ్యులు ఉన్నారు.ఒక జత సంఖ్యల పరంగా రెట్టింపు పరంగా రాష్ట్రం ఇక్కడ నిర్వచించబడింది. - 29. అప్పుడు, నేను c.set_re (6.4) చేస్తే, 4.2 6.4 కి మారుతుంది. - 30. కాబట్టి, నాకు కొత్త రాష్ట్రం రెండు ఉంది, ఇది 6.4, 5.3 ఇక్కడ ఉంది, అంటే 2 రాష్ట్రం. - 31. ఇప్పుడు, మేము c.get_re ను ఇన్వోక్ చేద్దాం అనుకుందాం, ఇది ప్రాథమికంగా ఇప్పుడు c, ఇది c ఆబ్జెక్ట్ యొక్క పున component భాగాన్ని 6.4 చదువుతుంది. - 32. కాబట్టి, ఇది 6.4 ను తిరిగి ఇస్తుంది, కానీ వస్తువు యొక్క re లేదా i భాగాలలో ఎటువంటి మార్పు లేదని మీరు గమనించవచ్చు. - 33. అందువల్ల, రాష్ట్రంలో ఎటువంటి మార్పు లేదని మీరు నిర్ధారిస్తారు, కాబట్టి ఇది రాష్ట్ర 2 లో కొనసాగుతుంది. - 34. నేను set_im (7.8) చేస్తే, సహజంగానే నా స్థితి మారుతుంది ఎందుకంటే ఇప్పుడు వస్తువు సృష్టించబడుతుంది (6.4,7.8). - 35. కాబట్టి, ఒక వస్తువుపై వేర్వేరు కార్యకలాపాలు జరిగే విధంగా, ఇది వేర్వేరు రాష్ట్రాల గుండా వెళుతుంది మరియు డేటా సభ్యుడు ఒక విధంగా ఆబ్జెక్ట్ యొక్క స్థానం మిస్ అవుతుందని మేము ఎల్లప్పుడూ చెబుతాము. - 36. ఇది ఒక దీర్ఘచతురస్రాన్ని చూపించే ఉదాహరణ, ఇది మూలలో బిందువులు మరియు మేము కార్నర్ పాయింట్ల యొక్క వేర్వేరు కోఆర్డినేట్‌లను మార్చాము లేదా మేము నిష్పత్తిని లెక్కిస్తాము, వస్తువు యొక్క స్థానం ఎలా మారుతుందో చూపిస్తాము. - 37. స్టాక్‌పై మరో ఉదాహరణ ఉంది. - 38. కాబట్టి, మేము స్టాక్లో ఏమి కలిగి ఉన్నాము? మాకు డేటా శ్రేణి మరియు సూచించిన శీర్షికలు ఉన్నాయి. - 39. అందువల్ల, రాష్ట్రం మొత్తం శ్రేణిని కలిగి ఉంటుంది. - 40. కాబట్టి, డేటా శ్రేణి శ్రేణి పరిమాణం 5 అయితే, దీనికి అన్ని అక్షరాలను సూచించే 5 టుపుల్ ఉంటుంది, ఈ డేటా శ్రేణిలోని మరొక భాగం శీర్షం, ఇది శీర్ష విలువ. - 41. కాబట్టి, ఇవన్నీ కలిసి నాకు ఒక రాష్ట్రాన్ని ఇస్తాయి మరియు ఇవన్నీ ప్రశ్న గుర్తులు ఎందుకంటే ప్రారంభంలో ఏమీ చేయలేదు. - 42. అందువల్ల, వస్తువు ఏ స్థితిలో ఉందో నాకు తెలియదు. - 43. కానీ, నేను ఎగువన ప్రారంభించిన వెంటనే, అది మైనస్ 1 అవుతుంది. - 44. కాబట్టి, నేను కొంత స్థితిని పొందుతున్నాను, కాని నేను B ని నెట్టే శ్రేణి యొక్క స్థితి ఏమిటో నాకు ఇంకా తెలియదు. - 45. కాబట్టి, మొదటి అక్షరం అవుతుంది, అది 0 కి పెరుగుతుంది, నా స్థానం మారుతుంది, నేను ఈ మార్పును 'B' 'A' కి నెట్టివేస్తాను. - 46. నేను ఖాళీగా తనిఖీ చేసినప్పుడు, అది ఖాళీగా లేదు మరియు అది నాకు తప్పుడు తిరిగి ఇస్తుంది మరియు ఇది ఎగువ శ్రేణిని మార్చదు. - 47. కాబట్టి, రాష్ట్రంలో మార్పు లేదు. - 48. కాబట్టి, మీరు దానిని అనుసరించడానికి కొనసాగితే, పుష్ మరియు పాప్ యొక్క ఆపరేషన్‌తో, మేము వాస్తవానికి రాష్ట్రాన్ని మారుస్తున్నామని మీరు చూస్తారు, అయితే ఎగువ మరియు ఖాళీతో మేము రాష్ట్రాన్ని మార్చము మరియు ఒక స్టాక్‌ను ఏ సమయంలోనైనా వివరించవచ్చు. - 49. దాని శ్రేణి యొక్క స్థానం మరియు టాప్ మార్కర్ యొక్క స్థానం పరంగా. - 50. కాబట్టి, మీరు రాష్ట్రాల గురించి తరచుగా విన్నారు. - 51. అందువల్ల, మేము ముందుకు వెళ్ళేటప్పుడు ఇది రాష్ట్రానికి ప్రాథమిక అర్ధం, మేము వస్తువుపై ప్రవర్తన గురించి మరింత చర్చిస్తాము. - 52. అందువల్ల, మాడ్యూల్ 11 ను దీనితో మూసివేస్తాము. - 53. మాడ్యూల్ 11 లో, మేము ఈ క్రింది వాటిని కవర్ చేసాము, దీనిలో డేటా సభ్యులు మరియు పద్ధతులతో తరగతి యొక్క ప్రాథమిక భావనను మేము అర్థం చేసుకున్నాము. - 54. కాంప్లెక్స్ యొక్క నేమ్‌స్పేస్‌లో గుణాలు లేదా డేటా సభ్యుల పేరు పెట్టవచ్చని మేము చూశాము. - 55. కాబట్టి, మళ్ళీ, re_ అండర్ స్కోర్ పేరు వాస్తవానికి సంక్లిష్టమైనది :: re మరియు మొదలైనవి. - 56. ఈ పద్ధతి క్యాంపస్ పేరు స్థలంలో కూడా ఇదే విధంగా పేరు పెట్టబడింది. - 57. కాబట్టి, ఒక పద్ధతి ప్రమాణానికి కాంప్లెక్స్ :: ప్రమాణం () అనే పేరు ఉంది. - 58. వస్తువులు తరగతుల ఇన్‌స్టాంటియేషన్స్ మరియు అవి వేగవంతం అయినప్పుడు ప్రారంభించబడతాయి, అక్షం డాట్ ఆపరేటర్ యొక్క ఉపయోగాన్ని సూచించడానికి ఉపయోగించబడుతుంది మరియు ప్రత్యేకమైన "ఈ" పాయింటర్‌ను కలిగి ఉంటుంది, ఇది ప్రతి వస్తువును దాని స్వంత చిరునామా ద్వారా గుర్తిస్తుంది, దీనిని ఉపయోగించవచ్చు వివిధ మార్గాలు.  + C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 11 యొక్క పార్ట్ -2 కు స్వాగతం. + ఈ మాడ్యూల్ యొక్క మొదటి భాగంలో, తరగతుల యొక్క ప్రాథమిక భావనలను మరియు తరగతుల ఉదాహరణలను వస్తువులుగా చూశాము. + మేము అర్థం చేసుకున్నాము, డేటా సభ్యులు మరియు పద్ధతులు ఏమిటి. + మేము ముఖ్యంగా సంక్లిష్ట సంఖ్యల యొక్క మూడు ఉదాహరణలను చర్చించాము; చుక్కలు మరియు స్టాక్‌తో దీర్ఘచతురస్ర వస్తువులు. + ఒక వస్తువును గుర్తించడానికి "ఈ" పాయింటర్‌ను కూడా మేము అర్థం చేసుకున్నాము. + మిగిలిన భాగంలో మనం వస్తువు యొక్క స్థితిగా పిలువబడే వాటిని క్లుప్తంగా చర్చిస్తాము. + ఇది C ++ సందర్భాలలో ఆబ్జెక్ట్-ఓరియెంటెడ్ మోడల్ వర్తించే విధానం నుండి ఉద్భవించింది. + ఒక వస్తువు యొక్క స్థానం దాని అన్ని డేటా సభ్యుల మిశ్రమ విలువ ద్వారా నిర్ణయించబడుతుంది అని మేము చెప్తాము. + సరళమైన మాటలలో, మనం సంక్లిష్టమైన ఉదాహరణకి తిరిగి వెళుతున్నామని చెప్పండి. + కాబట్టి, ఈ డేటా భాగం ఖచ్చితంగా ఒకే విధంగా ఉంటుంది, ప్రదర్శన ప్రయోజనాల కోసం మాకు కొన్ని అదనపు పద్ధతులు ఉన్నాయి. + కాబట్టి, ఈ డేటా సభ్యులను ఏమని పిలుస్తారు? వారు నా వద్ద ఒక సంక్లిష్ట సంఖ్య ఉంటే, నేను దానిని తీయగలిగితే, అది ఒక సంక్లిష్ట సంఖ్య, దానికి 're (re)' భాగం మరియు తరువాత 'im' భాగం ఉంటుంది. + కాబట్టి, ఇది సంక్లిష్ట సంఖ్య. + కాబట్టి, సి 1 ను 4.2, 5.3 గా నిర్వచించామని నేను చెబితే, అది సి 1 అని చెప్పగలను మరియు అది 4.2 మరియు ఇది 5.3. + కాబట్టి, రాష్ట్ర భావన, ఇది రెట్టింపు విలువ అని మేము చెప్తాము; దీనికి డబుల్ విలువ కూడా ఉంది. + కాబట్టి, నేను మళ్ళీ విలువగా ఏదైనా డబుల్ విలువను కలిగి ఉండగలనని నాకు తెలుసు. + అదేవిధంగా, నేను ఏదైనా డబుల్ విలువను im విలువగా ఉంచగలను. + అందువల్ల, నేను తిరిగి ప్రవేశించగలిగే ప్రతి జత డబుల్ విలువలు వేరే సంక్లిష్ట సంఖ్యను తెలియజేస్తాయి. + కాబట్టి, నేను సి 1 ని మార్చుకుంటే, నేను ఈ విలువను మార్చుకుంటే లేదా నేను ఈ విలువను మార్చుకుంటే లేదా నేను రెండు విలువలను మార్చుకుంటే. + కాబట్టి, సి 1 వేరే రాష్ట్రాన్ని సంపాదించిందని మేము చెబుతాము. + ఒక వస్తువు యొక్క డేటా సభ్యుడు ఒక నిర్దిష్ట విలువల కలయికను నిర్వహిస్తున్నంత కాలం, అది ఒక స్థితిలో ఉందని మరియు డేటా సభ్యుల్లో ఎవరైనా దాని విలువను మార్చిన వెంటనే, అది వేరే స్థితిలో ఉందని మేము చెప్తాము. + అందువల్ల, చివరికి, ప్రోగ్రామింగ్‌లో, వస్తువు ఏ స్థితిలో ఉందో నిర్ణయించడం మరియు పద్ధతుల వాడకంతో, తదుపరి స్థితిలో కనుగొనగల వస్తువు. + ఈ కదలికలన్నింటినీ మేము తరువాత చూస్తాము, కానీ ఇది మీకు చూపించడానికి మాత్రమే, లోతుగా ఉన్న రాష్ట్ర భావన ఏమిటి? మేము ఇక్కడ నాలుగు పద్ధతులను మాత్రమే ఉపయోగిస్తున్నట్లు చూపించడానికి, వాటిని దగ్గరగా చూడండి, get_re; సాధారణంగా, భాగం తిరిగి రాబడిని చదువుతుంది. + కాబట్టి, c1 4.2, 5.3 మరియు నేను c1.get_re ను ఇన్వోక్ చేస్తే, నేను స్పష్టంగా 4.2 పొందుతాను. + అదేవిధంగా, నేను get_im చేస్తే, అది నాకు 5.3 తిరిగి ఇస్తుంది మరియు మిగిలిన రెండు సెట్ చేయబడతాయి. + కాబట్టి, ప్రాథమికంగా నేను set_re పద్ధతిలో మళ్ళీ ఒక విలువను దాటితే, అది ఆ విలువను నేను set_re అని పిలిచిన వస్తువు యొక్క re_ భాగంలో సెట్ చేస్తుంది. + అందువల్ల, వీటిని సాధారణంగా సెట్ పద్ధతి అని పిలుస్తారు, మేము వాటిని మరింత సూచిస్తాము. + కాబట్టి, దీనితో, నేను దానిలోకి వెళ్ళగలనని హంకరాయ చెబితే మనం చూస్తామా? కాబట్టి, ఇది ప్రారంభమైనది, ఇది 4.2, 5.3 తో ప్రారంభించబడింది. + అందువల్ల, సి యొక్క స్థితి 1, 4.2, 5.3, ఎందుకంటే ఇద్దరు డేటా సభ్యులు ఉన్నారు.ఒక జత సంఖ్యల పరంగా రెట్టింపు పరంగా రాష్ట్రం ఇక్కడ నిర్వచించబడింది. + అప్పుడు, నేను c.set_re (6.4) చేస్తే, 4.2 6.4 కి మారుతుంది. + కాబట్టి, నాకు కొత్త రాష్ట్రం రెండు ఉంది, ఇది 6.4, 5.3 ఇక్కడ ఉంది, అంటే 2 రాష్ట్రం. + ఇప్పుడు, మేము c.get_re ను ఇన్వోక్ చేద్దాం అనుకుందాం, ఇది ప్రాథమికంగా ఇప్పుడు c, ఇది c ఆబ్జెక్ట్ యొక్క పున component భాగాన్ని 6.4 చదువుతుంది. + కాబట్టి, ఇది 6.4 ను తిరిగి ఇస్తుంది, కానీ వస్తువు యొక్క re లేదా i భాగాలలో ఎటువంటి మార్పు లేదని మీరు గమనించవచ్చు. + అందువల్ల, రాష్ట్రంలో ఎటువంటి మార్పు లేదని మీరు నిర్ధారిస్తారు, కాబట్టి ఇది రాష్ట్ర 2 లో కొనసాగుతుంది. + నేను set_im (7.8) చేస్తే, సహజంగానే నా స్థితి మారుతుంది ఎందుకంటే ఇప్పుడు వస్తువు సృష్టించబడుతుంది (6.4,7.8). + కాబట్టి, ఒక వస్తువుపై వేర్వేరు కార్యకలాపాలు జరిగే విధంగా, ఇది వేర్వేరు రాష్ట్రాల గుండా వెళుతుంది మరియు డేటా సభ్యుడు ఒక విధంగా ఆబ్జెక్ట్ యొక్క స్థానం మిస్ అవుతుందని మేము ఎల్లప్పుడూ చెబుతాము. + ఇది ఒక దీర్ఘచతురస్రాన్ని చూపించే ఉదాహరణ, ఇది మూలలో బిందువులు మరియు మేము కార్నర్ పాయింట్ల యొక్క వేర్వేరు కోఆర్డినేట్‌లను మార్చాము లేదా మేము నిష్పత్తిని లెక్కిస్తాము, వస్తువు యొక్క స్థానం ఎలా మారుతుందో చూపిస్తాము. + స్టాక్‌పై మరో ఉదాహరణ ఉంది. + కాబట్టి, మేము స్టాక్లో ఏమి కలిగి ఉన్నాము? మాకు డేటా శ్రేణి మరియు సూచించిన శీర్షికలు ఉన్నాయి. + అందువల్ల, రాష్ట్రం మొత్తం శ్రేణిని కలిగి ఉంటుంది. + కాబట్టి, డేటా శ్రేణి శ్రేణి పరిమాణం 5 అయితే, దీనికి అన్ని అక్షరాలను సూచించే 5 టుపుల్ ఉంటుంది, ఈ డేటా శ్రేణిలోని మరొక భాగం శీర్షం, ఇది శీర్ష విలువ. + కాబట్టి, ఇవన్నీ కలిసి నాకు ఒక రాష్ట్రాన్ని ఇస్తాయి మరియు ఇవన్నీ ప్రశ్న గుర్తులు ఎందుకంటే ప్రారంభంలో ఏమీ చేయలేదు. + అందువల్ల, వస్తువు ఏ స్థితిలో ఉందో నాకు తెలియదు. + కానీ, నేను ఎగువన ప్రారంభించిన వెంటనే, అది మైనస్ 1 అవుతుంది. + కాబట్టి, నేను కొంత స్థితిని పొందుతున్నాను, కాని నేను B ని నెట్టే శ్రేణి యొక్క స్థితి ఏమిటో నాకు ఇంకా తెలియదు. + కాబట్టి, మొదటి అక్షరం అవుతుంది, అది 0 కి పెరుగుతుంది, నా స్థానం మారుతుంది, నేను ఈ మార్పును 'B' 'A' కి నెట్టివేస్తాను. + నేను ఖాళీగా తనిఖీ చేసినప్పుడు, అది ఖాళీగా లేదు మరియు అది నాకు తప్పుడు తిరిగి ఇస్తుంది మరియు ఇది ఎగువ శ్రేణిని మార్చదు. + కాబట్టి, రాష్ట్రంలో మార్పు లేదు. + కాబట్టి, మీరు దానిని అనుసరించడానికి కొనసాగితే, పుష్ మరియు పాప్ యొక్క ఆపరేషన్‌తో, మేము వాస్తవానికి రాష్ట్రాన్ని మారుస్తున్నామని మీరు చూస్తారు, అయితే ఎగువ మరియు ఖాళీతో మేము రాష్ట్రాన్ని మార్చము మరియు ఒక స్టాక్‌ను ఏ సమయంలోనైనా వివరించవచ్చు. + దాని శ్రేణి యొక్క స్థానం మరియు టాప్ మార్కర్ యొక్క స్థానం పరంగా. + కాబట్టి, మీరు రాష్ట్రాల గురించి తరచుగా విన్నారు. + అందువల్ల, మేము ముందుకు వెళ్ళేటప్పుడు ఇది రాష్ట్రానికి ప్రాథమిక అర్ధం, మేము వస్తువుపై ప్రవర్తన గురించి మరింత చర్చిస్తాము. + అందువల్ల, మాడ్యూల్ 11 ను దీనితో మూసివేస్తాము. + మాడ్యూల్ 11 లో, మేము ఈ క్రింది వాటిని కవర్ చేసాము, దీనిలో డేటా సభ్యులు మరియు పద్ధతులతో తరగతి యొక్క ప్రాథమిక భావనను మేము అర్థం చేసుకున్నాము. + కాంప్లెక్స్ యొక్క నేమ్‌స్పేస్‌లో గుణాలు లేదా డేటా సభ్యుల పేరు పెట్టవచ్చని మేము చూశాము. + కాబట్టి, మళ్ళీ, re_ అండర్ స్కోర్ పేరు వాస్తవానికి సంక్లిష్టమైనది :: re మరియు మొదలైనవి. + ఈ పద్ధతి క్యాంపస్ పేరు స్థలంలో కూడా ఇదే విధంగా పేరు పెట్టబడింది. + కాబట్టి, ఒక పద్ధతి ప్రమాణానికి కాంప్లెక్స్ :: ప్రమాణం () అనే పేరు ఉంది. + వస్తువులు తరగతుల ఇన్‌స్టాంటియేషన్స్ మరియు అవి వేగవంతం అయినప్పుడు ప్రారంభించబడతాయి, అక్షం డాట్ ఆపరేటర్ యొక్క ఉపయోగాన్ని సూచించడానికి ఉపయోగించబడుతుంది మరియు ప్రత్యేకమైన "ఈ" పాయింటర్‌ను కలిగి ఉంటుంది, ఇది ప్రతి వస్తువును దాని స్వంత చిరునామా ద్వారా గుర్తిస్తుంది, దీనిని ఉపయోగించవచ్చు వివిధ మార్గాలు.  diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/42 ProgramminginCplusplus_Multiple Inheritance (Lecture 50)-SWavU8klosU.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/42 ProgramminginCplusplus_Multiple Inheritance (Lecture 50)-SWavU8klosU.txt index 5552f7a5bb3da25cf57b314d56cd77eed3a66c86..d5d88c42387ab52a3fab21e99dc648212361753a 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/42 ProgramminginCplusplus_Multiple Inheritance (Lecture 50)-SWavU8klosU.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/42 ProgramminginCplusplus_Multiple Inheritance (Lecture 50)-SWavU8klosU.txt @@ -1,144 +1,143 @@ - - 1. ప్రొగ్రామ్మింగ్  C ++ లో మాడ్యూల్ 35 కు స్వాగతం. - 2. ఈ మాడ్యూల్ లో, మేము C ++ లో మల్టిపుల్ ఇన్హెరిటన్స్ గురించి మాట్లాడతాము. - 3. మేము ఇప్పటికే లెన్త్(length) వద్ద C ++ లో ఇన్హెరిటన్స్ మెకానిజం గురించి చర్చించాము; మేము పాలిమార్ఫిక్ హైరర్కీల సందర్భంలో డైనమిక్ బైండింగ్ లేదా పాలిమార్ఫిజం గురించి చర్చించాము. - 4. అందువల్ల, సి ++ యొక్క అనేక వారసత్వ అంశాలను ప్రత్యేకంగా ఇక్కడ పరిశీలించడానికి ప్రయత్నిస్తాము. - 5. ఇది కొంతవరకు అభివృద్ధి చెందిన విషయం. - 6. కాబట్టి మేము అనేక వారసత్వాలను ఉన్నత స్థాయిలో కవర్ చేస్తాము మరియు మీ అందరి కోసం మేము చివరి సమస్యలను ఉపయోగిస్తాము. - 7. ఈ మాడ్యూల్ అవుట్‌లైన్ మరియు మీరు చూసే ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. - 8. బహుళ వారసత్వం అనేది ఒక నిర్దిష్ట తరగతికి రెండు లేదా అంతకంటే ఎక్కువ బేస్ తరగతులను కలిగి ఉన్న ఒక నిర్దిష్ట వారసత్వం. - 9. మేము వారసత్వ ప్రాతినిధ్యాన్ని చూశాము, కాబట్టి TA అనేది ఒక విద్యార్థి, దానిని ఎలా ప్రాతినిధ్యం వహించాలో మాకు తెలుసు, మనం చూస్తే, నన్ను క్షమించండి, ఈ భాగాన్ని పరిశీలిస్తే అది TA ఒక విద్యార్థి అని మాకు తెలుసు. - 10. అదేవిధంగా TA ఒక ఉపాధ్యాయుడు, కాబట్టి దానిని ఇక్కడ సూచిస్తుంది. - 11. ఇది ఒక TA లేదా టీచింగ్ అసిస్టెంట్ ఒక విద్యార్థి, ఆమె కోర్సులకు హాజరవుతుంది మరియు కొంతవరకు పూర్తి చేయడానికి ప్రయత్నిస్తుంది, అంతేకాకుండా ట్యుటోరియల్ సహాయం మరియు అసైన్‌మెంట్ మూల్యాంకనం వంటి కొన్ని కోర్సులు చేయడానికి ఆమె సహాయపడుతుంది. - 12. కాబట్టి ఆమె ఉపాధ్యాయులకు సాధారణమైన అనేక ఆపరేషన్లు చేస్తుంది. - 13. కాబట్టి దీనిని బట్టి, విద్యార్థులు మరియు ఉపాధ్యాయులు ఇద్దరూ TA యొక్క బేస్ క్లాస్ అని చెబుతాము. - 14. ఇది జరిగినప్పుడు మనకు అనేక వారసత్వ పరిస్థితులు ఉన్నాయని చెబుతాము. - 15. కాబట్టి, ఇక్కడ మేము అనేక మంది వారసుల యొక్క మరొక ఉదాహరణను చూపిస్తాము. - 16. ఉద్యోగి అనేది ఒక సంస్థ యొక్క ఉద్యోగులందరూ ఉన్న రూట్ క్లాస్‌తో సమానమైన తరగతి, కాబట్టి మేనేజర్ ISA యొక్క ఉద్యోగి అని మేము చెప్పగలం. - 17. ఈ మేనేజర్ ఒక ISA ఉద్యోగిని సూచిస్తుంది. - 18. డైరెక్టర్ ISA ఉద్యోగులు అని కూడా మనం చెప్పగలం. - 19. అందువల్ల, మేనేజర్ మేనేజ్మెంట్ డైరెక్టర్ కంపెనీ విధానాలను నిర్దేశిస్తుంది. - 20. అప్పుడు మాకు మేనేజింగ్ డైరెక్టర్ ఉన్నారు, అతను మేనేజర్‌తో పాటు డైరెక్టర్ కూడా. - 21. అందువల్ల, ఇక్కడ అనేక వారసత్వ పరిస్థితులు ఉన్నాయి. - 22. ఒకటి కంటే ఎక్కువ వారసత్వం ఉన్నప్పుడు, రెండు విషయాలు ఉన్నాయి. ఒకటి, ప్రతి వ్యక్తి వారసత్వానికి పాల్పడటం. అనేక వారసత్వాలలో, మనం నేర్చుకున్న అన్ని నియమాలను వారసత్వం కోసం ఉపయోగించాల్సి ఉంటుంది. ఉన్నాయి, కానీ అదనంగా కొన్ని ఉండవచ్చు మేము చర్చించాల్సిన సమస్యలు. - 23. అప్పుడు సాధారణంగా మనకు ఒకటి కంటే ఎక్కువ వారసత్వం ఉంటే, మనకు కొన్ని బేస్ క్లాస్ ఉండటం సాధారణం, ఇది వివిధ తరగతుల మధ్య సాధారణం, ఇవి బహుళ వారసత్వానికి ప్రాతిపదికగా పనిచేస్తాయి. - 24. కాబట్టి, ఇక్కడ మనం ఒక రకమైన వజ్రాల నిర్మాణాన్ని చూస్తాము, ఇక్కడ మనకు ఉత్పన్నమైన తరగతి యొక్క చివరి ఆకు స్థాయి తరగతి ఉంది, మనకు ఇంటర్మీడియట్ బేస్ క్లాస్ ఉంది, ఇది ఆకు తరగతి. ఉత్పన్నమైన తరగతి వాస్తవానికి వారసత్వంగా కనుగొనబడుతుంది. - 25. ప్రతిగా, ఈ ఇంటర్మీడియట్ తరగతులు కొన్ని కాంబినేటోరియల్ భావన ద్వారా ప్రత్యేకత కలిగి ఉంటాయి. - 26. వాస్తవానికి మనం అనేక విధాలుగా వారసత్వంగా పొందుతున్నట్లయితే, ఈ మేనేజింగ్ డైరెక్టర్ ఖచ్చితంగా మేనేజింగ్ మరియు డైరెక్టర్ మానిఫోల్డ్ నుండి వారసత్వంగా పొందారు ఎందుకంటే ఈ రెండింటి మధ్య కొంత సారూప్యత ఉంది. - 27. అందువల్ల మేనేజర్ మరియు డైరెక్టర్ స్వయంగా కొన్ని సాధారణ లక్షణాలను మరియు కొన్ని సాధారణ కార్యకలాపాలను కలిగి ఉంటారని భావిస్తున్నారు, ఇవి ఉద్యోగి సందర్భంలో ఇక్కడ ప్రదర్శించబడతాయి. - 28. C ++ లో, బహుళ వారసత్వం లేదా బహుళ వారసత్వం యొక్క నిర్వచనం ప్రకారం ఒక సాధారణ బేస్ తరగతిని కలిగి ఉండటం తప్పనిసరి కాదు, కాని మనకు తరచుగా మొత్తం రాష్ట్రాన్ని సూచించే ఒక సాధారణ బేస్ క్లాస్ ఉంటుంది. - 29. అందువల్ల, మేము అసలు వాక్యనిర్మాణ వివరణలోకి వెళ్తాము. - 30. ఉత్పన్నం బేస్ 1 అని, ఉత్పన్నం బేస్ 2 అని, ఇది ఒక సాధారణ దృశ్యం అని మేము చెప్తాము. - 31. మరియు అది క్లాస్ బేస్ 1 అని మనకు ఉన్నప్పుడు, అది క్లాస్ బేస్ 2, రెండు బేస్ క్లాసులు ఉన్నాయి. - 32. మరియు మేము ఉత్పన్నమైన తరగతి లేదా గుణకారం వారసత్వంలో కనిపించే నిర్దిష్ట తరగతులను వ్రాస్తాము; పబ్లిక్ బేస్ 1, పబ్లిక్ బేస్ 2. - 33. ఇంతకుముందు, మాకు ఒకే వారసత్వం ఉన్నప్పుడు, మీరు ఇక్కడ ఆపే ఒకే వారసత్వం ఉంటే, ఇక్కడ మేము కామాను ఉపయోగిస్తాము మరియు తదుపరి బేస్ క్లాస్ రాయడం కొనసాగిస్తాము, ఉత్పన్నం వారసత్వంలో కూడా కనుగొనబడుతుంది. - 34. నేను 2 బేస్ క్లాసులు ఉన్న చోట ఉదాహరణలు చూపిస్తున్నప్పటికీ, అది 2 బేస్ క్లాసులకు మాత్రమే పరిమితం కానప్పటికీ, నేను చాలా లేదా రెండు లేదా అంతకంటే ఎక్కువ లేదా అంతకంటే ఎక్కువ బేస్ క్లాసులను కలిగి ఉంటాను. హుహ్. - 35. C ++ లోని ప్రాథమిక వారసత్వ విధానం నా ఉద్దేశ్యం అని మనకు తెలిసినట్లుగా, ISA సంబంధం ప్రజా వారసత్వ పరంగా ప్రాతినిధ్యం వహిస్తుంది మరియు దాని అర్థం ఏమిటో మేము చాలాకాలంగా చర్చించాము. - 36. అదే సమయంలో సి ++ లో ఇతర రకాల వారసత్వ సంపదలు ఉన్నాయని మనకు తెలుసు, ప్రత్యేకించి ప్రైవేట్ వారసత్వం అని పిలుస్తారు, ఇది బేస్ క్లాస్ సభ్యుల దృశ్యమానతను పెంచుతుంది. ప్రైవేట్ యాక్సెస్‌ను మాత్రమే పరిమితం చేయడం ద్వారా వాటిని ఉత్పన్న తరగతులుగా మారుస్తుంది. - 37. IS యొక్క అర్థ రూపం వలె ఇది మనకు ఇస్తుందని మేము చూశాము, ఇది మేము ఒక అర్థశాస్త్రంగా వర్తింపజేస్తాము, ఇక్కడ మేము ఒక బేస్ క్లాస్ నుండి ఒక ప్రైవేట్ వారసత్వానికి (వారసత్వం) మారినట్లయితే, మేము ఈ బేస్ అని చెబుతున్నాము తరగతి వాస్తవానికి ఉత్పన్నమైన తరగతులకు వర్తిస్తుంది. - 38. కాబట్టి మేము ఒకటి కంటే ఎక్కువ వారసత్వాలను చేసినప్పుడు, అవి పబ్లిక్‌గా ఉండటం అవసరం లేదు, అవి మిశ్రమంగా ఉంటాయి, మీరు నిజంగానే వాటిని అన్నింటినీ ప్రైవేట్‌గా కలిగి ఉండగలిగితే, అప్పుడు రెండు బేస్ క్లాసులు (క్లాస్) ఉత్పన్నమైన తరగతిలోని కొన్ని భాగాలను అమలు చేస్తున్నాయని అర్థం. , ఇది పబ్లిక్‌గా ఉంటుంది మరియు ఇది ప్రైవేట్‌గా ఉంటుంది కాబట్టి ఒకవేళ అలా అయితే, ఉత్పన్నం ప్రాథమికంగా బేస్ వన్ నుండి ISA సంబంధం అనే ప్రత్యేకత అని అర్ధం. - 39. అయితే, క్లాస్ బేస్ రెండు అమలు చేస్తుంది లేదా ఉత్పన్నమైన తరగతిని అమలు చేయడంలో సహాయపడుతుంది, ఇది మన వద్ద ఉన్న ఒక ప్రాథమిక విధానం. - 40. అందువల్ల, మేము సెమాంటిక్స్ చూడటానికి ప్రయత్నిస్తాము. - 41. ఈ స్లైడ్‌ను మేము ఇంతకుముందు చేసిన వారసత్వ అర్థాలతో పోల్చాలని నేను సూచిస్తున్నాను. - 42. మీరు ఒకే వారసత్వం నుండి బహుళ వారసత్వానికి మారినప్పుడు ప్రాథమిక లక్షణాలు ఒకే విధంగా ఉంటాయి. - 43. అందువల్ల, ఉత్పన్నమైన తరగతి ఇప్పుడు వారసత్వంగా అన్ని బేస్ తరగతుల డేటా సభ్యులందరినీ వారసత్వంగా పొందుతుంది. - 44. ఇది కేవలం బేస్ క్లాస్ మాత్రమే కాదు, ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా వారసత్వంగా పొందుతుంది మరియు ఇది కొత్త డేటా సభ్యులను జోడించగలదు. - 45. ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని సభ్యుల ఫంక్షన్లను వారసత్వంగా తిరిగి ఇస్తుంది.మరియు అది ఏదైనా బేస్ క్లాస్ లేదా ఏదైనా బేస్ క్లాస్ యొక్క ఏదైనా సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను భర్తీ చేయగలదు. K ఏదైనా ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయగలదు. - 46. ఇవన్నీ అంతకుముందు, చాలా బేస్ క్లాసులకు ఈ సూచన లేదు, కాబట్టి సెమాంటిక్స్‌కు ఇది లేదు, కానీ ఇప్పుడు చాలా బేస్ క్లాసులు ఉన్నందున, అవన్నీ సాధ్యమవుతాయి. - 47. కాబట్టి, వారసత్వం అంటే ప్రతి బేస్ తరగతుల యొక్క అన్ని లక్షణాలు మరియు కార్యకలాపాలు వారసత్వంగా కనుగొనబడతాయి మరియు తగిన ఓవర్‌లోడ్ లేదా ఓవర్‌రైడ్ కావచ్చు. - 48. యాక్సెస్ స్పెసిఫికేషన్ ప్రైవేట్, ప్రైవేట్, బేస్ క్లాస్‌కు పూర్తిగా పరిమితం చేయబడిన అదే అర్థాన్ని కలిగి ఉంటుంది. - 49. అందువల్ల, ఉత్పన్నమైన తరగతి ఏ బేస్ క్లాస్ యొక్క ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయదు. - 50. నేను బేస్ క్లాస్ యొక్క కొంతమంది డేటా సభ్యుల కోసం రక్షించబడితే, ఆ డేటా సభ్యులు ఉత్పన్నమైన తరగతి (తరగతి) లో అందుబాటులో ఉంటారు. - 51. ష్టి మరియు విధ్వంసం యొక్క సందర్భంలో, సృష్టి యొక్క సందర్భంలో మనం చూస్తాము. - 52. అన్ని బేస్ క్లాస్ వస్తువులు సృష్టించబడాలి, ఎందుకంటే అన్ని బేస్ క్లాస్ వస్తువులు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌లో భాగమవుతాయి. - 53. ఇప్పుడు, మనకు రెండు లేదా అంతకంటే ఎక్కువ బేస్ క్లాసులు ఉన్నాయి, అవి ఉత్పన్నమైన తరగతి నుండి తీసుకోబడ్డాయి. - 54. అందువల్ల ఈ బేస్ క్లాసుల కన్స్ట్రక్టర్లు అమలు చేసే క్రమాన్ని కూడా మనం అర్థం చేసుకోవాలి. - 55. కాబట్టి ఈ జాబితా మనం చూసే విధంగా ఉంటుంది మరియు అది విధ్వంసం యొక్క క్రమంలో వచ్చినప్పుడు మునుపటి తరగతి నాశనం చేయబడిందని మనం చూసిన అదే సూత్రం, అప్పుడు బేస్ క్లాస్ నాశనం అవుతుంది., చాలా బేస్ క్లాస్ వస్తువులు ఉన్నందున . - 56. కాబట్టి అవి మొదట నిర్మించిన రివర్స్ క్రమంలో నాశనం చేయబడతాయి. - 57. ఇది బహుళ వారసత్వం కోసం సెమాంటిక్స్ యొక్క సారాంశం. - 58. దీనికి ఉదాహరణల ద్వారా వెళ్ళేటప్పుడు మరికొన్ని వివరాలు ఉన్నాయి. - 59. మేము డేటా సభ్యుల నిర్దిష్ట సెమాంటిక్స్‌తో ప్రారంభిస్తాము. - 60. అందువల్ల ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా వారసత్వంగా పొందింది మరియు కొత్త డేటా సభ్యులను జోడించగలదు. - 61. ఇప్పుడు లేఅవుట్ సందర్భంలో, లేఅవుట్ గురించి మేము చర్చించాము, లేఅవుట్లోని బేస్ క్లాస్ నుండి వారసత్వంగా ఉత్పన్నమైన తరగతి కనుగొనబడితే అది బేస్ క్లాస్ యొక్క వస్తువుల ఉదాహరణను కలిగి ఉంటుంది. - 62. ఇప్పుడు, చాలా బేస్ క్లాసులు ఉన్నందున, ప్రతి బేస్ క్లాస్‌కు ఒక ఉదాహరణ ఉంటుంది. - 63. మళ్ళీ, సి ++ కొన్ని సింగిల్ వారసత్వం విషయంలో బేస్ క్లాస్ ఉదంతాల సాపేక్ష స్థానానికి హామీ ఇవ్వదు. - 64. అవి ఎలా అమర్చబడతాయి అనేది మొదటి బేస్ క్లాస్ ఆబ్జెక్ట్ అవుతుందా లేదా అప్పుడు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ సభ్యుడు అవుతుందా మరియు అదేవిధంగా, నిర్దిష్ట ఆర్డర్ ప్రామాణికం ద్వారా ఇవ్వబడదు. - 65. మేము ఉదాహరణలో చూస్తే, మీకు ఇద్దరు సభ్యులు i మరియు డేటా ఉన్న బేస్ క్లాస్ బి 1 ఉంది. - 66. నాకు ఇద్దరు సభ్యులతో మరో బేస్ క్లాస్ బి 2 ఉంది; J మరియు డేటా. - 67. మరియు నాకు బేస్ 1 మరియు బేస్ 2 నుండి ఉద్భవించిన ఉత్పన్న తరగతి ఉంది మరియు ఇది ఒక సభ్యుడిని జతచేస్తుంది. - 68. నేను బేస్ 1 రకం వస్తువును పరిశీలిస్తే, దానికి ఒక సభ్యుడు i మరియు ఒక సభ్యుల డేటా ఉంటుంది, నేను బేస్ 2 ఉత్పన్నమైన క్లాస్ క్లాస్ యొక్క వస్తువును పరిశీలిస్తే, దీనికి ఉదాహరణ ఏమిటంటే దీనికి ఒక సభ్యుడు j మరియు డేటా జరుగుతుంది . - 69. కాబట్టి మేము ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను నిర్మిస్తున్నప్పుడు బేస్ 1 ఆబ్జెక్ట్ యొక్క ఒక ఉదాహరణ ఉంటుంది, ఇది ఒక క్లాస్‌లో బేస్ 2 క్లాస్ యొక్క ఉదాహరణను కలిగి ఉంటుంది మరియు ఉత్పన్నంలో మన వద్ద ఉన్న డేటా సభ్యులు, పాస్ అవుతారు. - 70. కాబట్టి, ఇది మన వద్ద ఉన్న డేటా సభ్యుల సెమాంటిక్స్ యొక్క ప్రత్యక్ష పొడిగింపు లేదా వారసత్వ పరంగా మనకు ఉన్న లేఅవుట్ యొక్క సెమాంటిక్స్ అని మీరు స్పష్టంగా చూడవచ్చు. - 71. వాస్తవానికి, నేను చెప్పినట్లు కొన్ని ప్రతికూలతలు ఉండవచ్చు. - 72. ఉదాహరణకు, మీరు ఇక్కడ చూడగలిగినట్లుగా, బేస్ 1 సభ్యుల డేటాను ప్రకటించింది మరియు బేస్ 2 కూడా అదే పేరుతో సభ్యుడిని కలిగి ఉంది. - 73. బేస్ క్లాస్ ఉత్పన్నమైన తరగతి నుండి స్వతంత్రంగా ఉన్నందున, వారికి ఒకే పేరుతో సభ్యులు ఉండరని మీరు నియంత్రించలేరు. - 74. వారు ఒకే పేరుతో సభ్యులను కలిగి ఉన్నప్పుడు వస్తువు ఉద్భవించింది.ఈ వస్తువుకు ఒకే పేరుతో ఇద్దరు డేటా సభ్యులు ఉన్నారు. - 75. నా వస్తువు D నుండి ఉద్భవించిందని నేను చెబితే, నేను ఉత్పన్నమైన డేటాను వ్రాయాలనుకుంటున్నాను, ఎందుకంటే నేను ఇక్కడ వ్రాయడానికి అధికారం కలిగి ఉన్నాను ఎందుకంటే డేటా ఇక్కడ భద్రపరచబడింది మరియు ఇక్కడ రక్షించబడింది కాబట్టి ఉత్పన్న తరగతి వారికి ప్రాప్యత ఉంది. - 76. నేను వ్రాయడానికి ప్రయత్నిస్తే కంపైలర్ నేను అయోమయంలో ఉన్నానని చెప్తుంది, ఎందుకంటే ఒకే పేరుతో ఇద్దరు సభ్యులు ఉన్నారు. - 77. ఇది అస్పష్టతకు సంబంధించిన విషయం కాబట్టి రెండు బేస్ క్లాసులు రెండు మరియు బేస్ క్లాసులు ఒకే పేరుతో డేటా సభ్యులను కలిగి ఉంటే, ఆ అస్పష్టతను పరిష్కరించడానికి బాధ్యత ప్రోగ్రామర్ లేదా డెరైవ్డ్ క్లాస్ (క్లాస్) యొక్క డిజైనర్ మీద ఉంటుంది. - 78. తరగతి పేరు అర్హత ఉన్న సభ్యులను మీరు స్పష్టంగా సూచించాలి. - 79. ఇది కంపైలర్ చేత ఆమోదయోగ్యం కాదు, కానీ నేను d వ్రాయగలను. - 80. బేస్ 1 :: డేటా, నేను దీనిని వ్రాస్తే అది డేటా సభ్యుడు అవుతుందని అర్థం లేదా డేటా అది సభ్యుల వస్తువులో ఉంటే అది  - 81. నేను d.base2 :: డేటాను వ్రాస్తే, ఈ డేటా సభ్యుడు అని అర్ధం ఎందుకంటే రిజల్యూషన్ అదనంగా చేయవలసి ఉంది. - 82. ఇది బహుళ సంక్లిష్టత సందర్భంలో సంభవించే అదనపు సంక్లిష్టత. - 83. ఇప్పుడు, మేము సభ్యుల ఫంక్షన్లకు వెళ్తాము - ఓవర్రైడ్లు మరియు ఓవర్లోడ్లు. - 84. అన్ని సభ్యుల ఫంక్షన్లు అన్ని బేస్ క్లాసుల నుండి వారసత్వంగా వచ్చాయని నేను ఇప్పటికే చెప్పినట్లుగా మరియు మీరు బేస్ సభ్యుల నుండి సభ్యుల ఫంక్షన్ వరకు ఏదైనా సభ్యుల ఫంక్షన్‌ను భర్తీ చేయవచ్చు. ఓవర్‌లోడ్ చేయవచ్చు. - 85. మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లు మరియు ఫ్రంట్ ఫంక్షన్ల వంటి ఒకే వారసత్వంలో బేస్ క్లాస్ ద్వారా కూడా వారసత్వంగా కనిపించదు. - 86. మేము ఒక ఉదాహరణను పరిశీలిస్తే, ఒకే బేస్ క్లాసులను జాగ్రత్తగా చూడండి; బేస్ క్లాస్ బేస్ 1, క్లాస్ బేస్ 2 మరియు బేస్ డెరివేటివ్ బేస్ 1 మరియు బేస్ 2 లో ప్రత్యేకత. - 87. ఇక్కడ, నాకు రెండు సభ్యుల విధులు మరియు G ఉన్నాయి, మరియు ఇక్కడ బేస్ 2 లో నాకు సభ్యుల ఫంక్షన్ ఉంది. - 88. మరియు నేను చేసినది ఉత్పన్న తరగతిలో f. - 89. నేను అదే సంతకంతో సభ్యుల ఫంక్షన్‌ను చేర్చుకున్నాను అంటే అది అతిక్రమిస్తున్న సందర్భం. - 90. కాబట్టి, ఉత్పన్నమైన తరగతి f1 నుండి f సభ్యుల ఫంక్షన్‌కు భర్తీ చేస్తుంది. - 91. బేస్ 1 లో సభ్యుల ఫంక్షన్ G కూడా ఉంది మరియు ఉత్పన్నమైన తరగతికి G అనే పేరుతో ఏ సభ్యుల ఫంక్షన్ గురించి ప్రస్తావించబడలేదు, కాబట్టి ఈ G కేవలం వారసత్వంగా కనుగొనబడుతుంది మరియు దీనిని ఉపయోగించగలుగుతారు - 92. మరియు అది g ను ఉపయోగించినప్పుడు, ఇది బేస్ క్లాస్ యొక్క బేస్ 1 యొక్క g సభ్యుల పనితీరును సూచిస్తుంది. - 93. బేస్ క్లాస్ 2 లో సభ్యుల ఫంక్షన్ H ఉంది మరియు ఉత్పన్నమైన తరగతి వేరే సంతకంతో సభ్యుల ఫంక్షన్ H ను పరిచయం చేస్తుంది. - 94. ప్రభావం ఏమిటో మాకు తెలుసు, ఈ h పూర్ణాంకాన్ని తీసుకుంటున్న కొత్త h ఉత్పన్నం :: h, base2 :: h ని దాచిపెడుతుంది మరియు మీరు ఇప్పుడు స్ట్రింగ్ పరామితితో ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కోసం h ని కాల్ చేయగలరు. - 95. అందువల్ల ఇది ఓవర్‌లోడింగ్ కేసు. - 96. క్రొత్త సభ్యుల ఫంక్షన్ ఇ ను ఉత్పన్నమైన తరగతిలోని కిట్టికి చేర్చవచ్చు మరియు వాడవచ్చు. - 97. ఈ సందర్భంలో, మనకు సి డాట్ ఎఫ్ 1 చేస్తే మనకు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ ఉంటే, అప్పుడు బేస్ 1 :: ఎఫ్ ఓవర్రైడ్ (ఓవర్రైడ్) ఎందుకంటే ఉత్పన్నమైన క్లాస్ (క్లాస్) లోని ఎఫ్ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు. . - 98. మేము సి డాట్ గ్రా అని చెబితే అది బేస్ 1 యొక్క సభ్యుల ఫంక్షన్ అవుతుంది ఎందుకంటే ఇది వారసత్వంగా వారసత్వంగా వస్తుంది, మనం సి డాట్ హెచ్ అని పిలిస్తే, ఇక్కడ నాకు స్థిరమైన నాలుగు స్టార్ టైప్ పారామితులు ఉన్నాయి. ఇది ఉపయోగించబడుతుంది, ఇది స్వయంచాలకంగా చేర్చబడుతుంది. - 99. వైర్. - 100. అందువల్ల ఉత్పన్నంలో ఓవర్‌లోడ్ చేసిన H ఫంక్షన్ (ఫంక్షన్) ను బేస్ క్లాస్ ఫంక్షన్ (ఫంక్షన్) అని పిలవరు ఎందుకంటే ఇది దాగి ఉంది, మరియు నేను సి డాట్ ఇ అని అక్షరంతో చెబితే అది E సభ్యుల ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది. తరగతిలో పరిచయం చేయబడింది.] - 101. ఇది ఓవర్‌రైడింగ్ మరియు ఓవర్‌లోడింగ్ యొక్క మూలం కథ, ఇది ఖచ్చితంగా జరుగుతుంది మరియు ఖచ్చితంగా డేటా సభ్యుడిలాగా 2 బేస్ క్లాస్‌లకు ఒకే పేరు ఉన్న ఫంక్షన్ ఉందని మీ మనస్సులో జరుగుతోంది. - 102. 2 బేస్ తరగతుల సభ్యుల పనితీరుకు సాధారణ పేరు ఉంటే? - 103. కాబట్టి ఈ స్లైడ్‌లో, మళ్ళీ నాకు బేస్ 1, బేస్ 2 ఉందని స్పష్టం చేద్దాం, ఉత్పన్నమైన తరగతి అదే బేస్ క్లాసుల నుండి ఉద్భవించింది. - 104. చేయబడుతున్న వ్యత్యాసం ఏమిటంటే, నేను ఇక్కడ F ఉన్నాను మరియు నేను ఇక్కడ బేస్ 1 మరియు బేస్ 2 రెండింటిలో ఉన్నాను మరియు వారి సంతకాలు ఒకే విధంగా ఉన్నాయి. - 105. నేను ఇక్కడ బేస్ 1 లో నివసిస్తున్నాను, నేను ఇక్కడ బేస్ 2 లో నివసిస్తున్నాను. వారి సంతకాలు భిన్నంగా ఉంటాయి. - 106. తరువాతి క్షణంలో ఈ భాగాన్ని విస్మరించండి. - 107. ఈ భాగాన్ని విస్మరించడానికి మీకు సభ్యుల ఫంక్షన్ లేదని మేము ఉత్పన్న తరగతిలో చెప్పాము, మీరు ఇప్పుడు దానిని పరిగణించకూడదు. - 108. ఇప్పుడు, నేను సి డాట్ ఎఫ్ వ్రాయడానికి ప్రయత్నిస్తాను. సి డాట్ ఎఫ్ అంటే ఏమిటి? ఈ బేస్ 1 డాట్ ఎఫ్; బేస్ 1 :: ఎఫ్ లేదా ఇది బేస్ 2 కోలన్ కోలన్ ఎఫ్ మీకు తెలుసుకోవటానికి మార్గం లేదు ఎందుకంటే దీనికి ఎఫ్ యొక్క రెండు వెర్షన్లు వచ్చాయి. - 109. సి డాట్ గ్రా అంటే ఏమిటి? నేను పరామితి 5 ను ఆమోదించాను, కంపైలర్ దాని బేస్ 1 :: g అని పరిష్కరించగలదని ఆశిస్తున్నాను, ఎందుకంటే క్షమించండి ఎందుకంటే ఇక్కడ ఒక చిన్న రకం ఉంది, అది పూర్ణాంకంగా ఉండకూడదు, అది పూర్ణాంకంగా ఉండాలి. - 110. నేను సి డాట్ జి 5 అని చెబితే, బేస్ 2 :: జి అని పిలవాలని నేను ఆశిస్తున్నాను, కాని దురదృష్టవశాత్తు కంపైలర్ అలా చేయలేడు. - 111. ఇది చేయలేకపోవడానికి కారణం, సర్ఛార్జ్ ఒకే పేరు ఖాళీల మధ్య మాత్రమే పరిష్కరించబడుతుంది. - 112. మీకు రెండు వేర్వేరు నేమ్‌స్పేస్‌లు ఉంటే, కంపైలర్‌కు పేర్లు ఏమిటో ట్రాక్ లేదు. - 113. అందువల్ల, బేస్ 1 లోని జి ఫంక్షన్ (ఫంక్షన్) మరియు బేస్ 2 లోని జి ఫంక్షన్ (ఫంక్షన్) రెండు వేర్వేరు తరగతుల రెండు వేర్వేరు పేరు ఖాళీలలో ఉన్నాయి, కాబట్టి ఓవర్‌లోడ్ రిజల్యూషన్ ఇక్కడ కిక్ చేయదు. - 114. అందువల్ల, c.g (5) లేదా సి. G () పరామితి లేని రెండూ కూడా నిజంగా అస్పష్టంగా ఉంటాయి. - 115. సారాంశంలోని ఈ నాలుగు కాల్‌లు అస్పష్టంగా ఉంటాయి మరియు కంపైలర్ వాటి మధ్య పరిష్కరించలేవు. - 116. కాబట్టి, వారు ఆ అస్పష్టతను పరిష్కరించాలని మీరు కోరుకుంటే, మీరు బేస్ 1 మరియు బేస్ 2 నుండి వారసత్వంగా పొందినట్లుగా, ప్రాథమిక సమస్య ఇక్కడ ఉందని చెప్పడానికి మీకు సరళమైన మార్గం ఉంది, మీరు F ఫంక్షన్ యొక్క రెండు కాపీలను పొందుతారు. . - 117. తరగతి. - 118. ఇప్పుడు, అసలు తరగతి ఫంక్షన్ కోసం వాడకం గురించి మేము తెలుసుకున్నాము, కాబట్టి మీరు దీన్ని ఉపయోగించవచ్చు. - 119. బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగించి మీరు చెబుతున్నారని అనుకుందాం, నేను బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగిస్తున్నానని చెబితే అది ఏమిటి, ఈ ఫంక్షన్ (ఫంక్షన్) ఉత్పన్నంలో చేర్చబడుతుంది మరియు ఈ ఫంక్షన్ (ఫంక్షన్) చేర్చబడదు, ఇది ఫంక్షన్ (ఫంక్షన్) బేస్ రెండు దాచిన ఫంక్షన్ అవుతుంది. - 120. అదేవిధంగా నేను G ఫంక్షన్ కోసం చేయగలను, నేను బేస్ 2 కోలన్ G ని ఉపయోగిస్తున్నానని చెప్పండి, అంటే అది G ఫంక్షన్‌ను కలిగి ఉంటుంది, కానీ బేస్ G ఫంక్షన్ (ఫంక్షన్) దాచబడుతుంది - 121. ఈ సందర్భంలో, ఇప్పుడు నేను సి డాట్ ఎఫ్ అని పిలవాలనుకుంటే, అది బేస్ 1 కోలన్ కోలన్ ఎఫ్ అని చెబుతుంది ఎందుకంటే నేను దానిని ఉపయోగిస్తున్నాను. - 122. నేను సి. g (5) నేను బేస్ యొక్క g ఫంక్షన్‌ను ఉపయోగిస్తున్నందున దీనిని బేస్ 2 కోలన్ కోలన్ గ్రా అని పిలుస్తారు. - 123. ఇప్పుడు నేను కూడా కావాలనుకుంటే, కొన్ని సందర్భాల్లో నేను బేస్ యొక్క F ఫంక్షన్‌ను ఉపయోగించాలనుకుంటున్నాను. 2 అప్పుడు డేటా సభ్యుల విషయంలో నేను చేసినట్లుగా, నేను సి డాట్ బేస్ను స్పష్టంగా ఉపయోగించగలను. కొలోన్ కొలోన్ F3 ను వ్రాయగలదు, ఈ సందర్భంలో ఇది బేస్ రెండు క్లాస్ యొక్క F ఫంక్షన్ అని పిలుస్తుంది. - 124. అయితే, ఉత్పన్నమైన తరగతిలో, నేను బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగిస్తున్నానని చెప్పాను. - 125. వాస్తవానికి ఉపయోగం ఏమిటంటే, ప్రాథమికంగా ఉపయోగం నాకు బేస్ క్లాస్ పేరుతో సభ్యుల ఫంక్షన్ (ఫంక్షన్) పేరును అర్హత చేయవలసిన అవసరం లేదని తగ్గించడానికి అనుమతిస్తుంది మరియు నేను డిఫాల్ట్‌గా ఉపయోగిస్తాను నేను ఇక్కడ చేస్తున్నట్లుగా ఉపయోగించవచ్చు , కానీ నేను ఎల్లప్పుడూ చేసేది వాస్తవానికి సభ్యుల ఫంక్షన్ కోసం అర్హత కలిగిన పేరును అందించే అవకాశం ఉంది, నేను డేటా సభ్యుడి కోసం చేసినట్లు మరియు ఆ రూపంలో ఇతర సభ్యులను ఉపయోగించడం వంటిది చేయండి - 126. కాబట్టి, ఒకే వారసత్వంపై ఇది అవసరం, ఇది చాలా సాధారణం, ఎందుకంటే మీరు వారసత్వంగా వారసత్వంగా పొందుతున్న మూల తరగతులు ఒకటి లేదా అంతకంటే ఎక్కువ సభ్యుల విధులను ఒకదానితో ఒకటి అనుసంధానించే అవకాశం ఉంది. నేను అదే పేరుతో ఉండాలి. - 127. మేము చూసినట్లుగా, వారి సంతకం పరంగా వారు పట్టించుకోనిది అదే పేరు, మరియు వారికి ఒకే పేరు ఉంటే, అప్పుడు ఉత్పన్నమైన తరగతి ఎటువంటి యోగ్యత లేకుండా ఉంటుంది. ఉపయోగించలేరు. - 128. బేస్ యొక్క యాక్సెస్ సభ్యులను సంప్రదించడం ద్వారా రక్షిత ప్రాప్యత ఏదైనా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ బేస్ క్లాస్ యొక్క ఏదైనా బేస్ క్లాస్ యొక్క రక్షిత సభ్యులను యాక్సెస్ చేయడానికి అనుమతిస్తుంది, కొంతమంది దాచడం సహా. అనేక వారసత్వాలు కూడా ఉండవు. - 129. అందువల్ల, ఒకే వారసత్వం విషయంలో మనం నేర్చుకున్న ప్రతిదీ వర్తిస్తుంది కాబట్టి మేము ఈ అంశంపై మరింత చర్చను వదిలివేస్తాము. - 130. నన్ను కన్స్ట్రక్టర్, డిస్ట్రక్టర్ కి తరలించండి. - 131. ఉత్పన్నమైన తరగతి యొక్క కన్స్ట్రక్టర్ అన్ని విధ్వంసక బేస్ క్లాస్‌లో కన్స్ట్రక్టర్ కన్స్ట్రక్టర్లను వారసత్వంగా పొందుతాడు, కాని ఒకే వారసత్వం విషయంలో మనం చూసినట్లుగా వేరే సెమాంటిక్స్‌లో ఇది నేరుగా వారసత్వంగా (వారసత్వం). వారసత్వం) ఎందుకంటే దీనికి వేరే పేరు ఉంది, అది బేస్ క్లాస్‌కు పేరును జతచేస్తుంది మరియు మీరు కన్స్ట్రక్టర్, కన్స్ట్రక్టర్‌ను ఏ విధంగానైనా ఓవర్‌రైడ్ చేయలేరు లేదా ఓవర్‌లోడ్ చేయలేరు. - 132. కాబట్టి, మేము దానితో చూస్తే, బేస్ క్లాసులు ఉన్నాయని మనం చూడవచ్చు, ఇక్కడ ఒక కన్స్ట్రక్టర్ ఉంది. - 133. ఉత్పన్నమైన తరగతికి కన్స్ట్రక్టర్ ఉంది మరియు క్షమించండి, రెండవ బేస్ క్లాస్‌కు మరొక కన్స్ట్రక్టర్ ఉంది మరియు ఉత్పన్నమైన క్లాస్ ఉంది; ఇక్కడ ఆధార్ ఒకరి సృష్టికర్తను ఆహ్వానిస్తున్నారు. - 134. అప్పుడు ఏమి జరుగుతుంది? ఇప్పుడు, ఇది రెండు బేస్ క్లాస్ వస్తువులను నిర్మించాలి; బేస్ 1 ను ప్రారంభించడం అంటే బేస్ 1 కన్స్ట్రక్టర్ దాని ద్వారా ప్రారంభించబడుతుందని మరియు ఇది బేస్ 2 ను వదిలివేసినందున, బేస్ 2 లో డిఫాల్ట్ కన్స్ట్రక్టర్ ఉండాలి, అది ఆ తరువాత అమలు చేయబడుతుంది. - 135. కాబట్టి, నేను బేస్ 1 ను నిర్మించాను మరియు బేస్ 2 కి డిఫాల్ట్ కన్స్ట్రక్టర్ లేకపోతే, అప్పుడు నాకు సంకలన లోపం ఉంటుంది, ఎందుకంటే ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను నిర్మించగలిగేలా నాకు బేస్ 1 మరియు బేస్ 2 రెండూ అవసరం. రకం వస్తువులను తయారు చేయండి. - 136. కాబట్టి, మేము ఉదాహరణను పరిశీలిస్తే, ఇది టైప్ 1 యొక్క వస్తువు; ఇది మనం నిర్మించగల బేస్ 2 రకం వస్తువు. - 137. ఇక్కడ మీరు ఉత్పన్నమైన రకం వస్తువు యొక్క సృష్టిని చూడవచ్చు, ఇక్కడ బేస్ క్లాస్ (క్లాస్ 1) 5 5 ఉదాహరణను కలిగి ఉంటుంది, దాని ద్వారా సృష్టించబడుతుంది. - 138. బేస్ క్లాస్ 2 ఉదాహరణ అప్రమేయంగా ఉంటుంది, కాబట్టి దీనికి 0 0 సభ్యులు ఉన్నారు మరియు ఉత్పన్నమైన తరగతి యొక్క డేటా సభ్యుడు. - 139. తయారీ ప్రక్రియ యొక్క ప్రాథమిక డైనమిక్స్ ఇది. - 140. మీరు సందేశాన్ని బేస్ క్లాస్ కన్స్ట్రక్టర్ మరియు కన్స్ట్రక్టర్లలో మరియు ఉత్పన్నమైన క్లాస్ కన్స్ట్రక్టర్ కన్స్ట్రక్టర్ డిస్ట్రక్టర్లో ఉంచితే, మొదటి బేస్ క్లాస్ 1 సృష్టించబడిందని మీరు చూస్తారు ఎందుకంటే ఇది జాబితాలో మొదటిది, అప్పుడు బేస్ క్లాస్ 2 ఎందుకంటే ఇది జాబితాలో రెండవది, ఆపై ఉత్పన్నమైన తరగతి యొక్క సృష్టి మరియు విధ్వంసం సరిగ్గా రివర్స్ క్రమంలో జరుగుతుంది. - 141. ఇది వారసత్వం యొక్క ప్రాథమిక విధానం, ఇది ఒక నిర్దిష్ట ఉత్పన్న తరగతి సమస్యకు బేస్ క్లాస్ యొక్క అనేక కేసులను సూచిస్తుంది. - 142. + ప్రొగ్రామ్మింగ్  C ++ లో మాడ్యూల్ 35 కు స్వాగతం. + ఈ మాడ్యూల్ లో, మేము C ++ లో మల్టిపుల్ ఇన్హెరిటన్స్ గురించి మాట్లాడతాము. + మేము ఇప్పటికే లెన్త్(length) వద్ద C ++ లో ఇన్హెరిటన్స్ మెకానిజం గురించి చర్చించాము; మేము పాలిమార్ఫిక్ హైరర్కీల సందర్భంలో డైనమిక్ బైండింగ్ లేదా పాలిమార్ఫిజం గురించి చర్చించాము. + అందువల్ల, సి ++ యొక్క అనేక వారసత్వ అంశాలను ప్రత్యేకంగా ఇక్కడ పరిశీలించడానికి ప్రయత్నిస్తాము. + ఇది కొంతవరకు అభివృద్ధి చెందిన విషయం. + కాబట్టి మేము అనేక వారసత్వాలను ఉన్నత స్థాయిలో కవర్ చేస్తాము మరియు మీ అందరి కోసం మేము చివరి సమస్యలను ఉపయోగిస్తాము. + ఈ మాడ్యూల్ అవుట్‌లైన్ మరియు మీరు చూసే ప్రతి స్లయిడ్ యొక్క ఎడమ వైపున అందుబాటులో ఉంటుంది. + బహుళ వారసత్వం అనేది ఒక నిర్దిష్ట తరగతికి రెండు లేదా అంతకంటే ఎక్కువ బేస్ తరగతులను కలిగి ఉన్న ఒక నిర్దిష్ట వారసత్వం. + మేము వారసత్వ ప్రాతినిధ్యాన్ని చూశాము, కాబట్టి TA అనేది ఒక విద్యార్థి, దానిని ఎలా ప్రాతినిధ్యం వహించాలో మాకు తెలుసు, మనం చూస్తే, నన్ను క్షమించండి, ఈ భాగాన్ని పరిశీలిస్తే అది TA ఒక విద్యార్థి అని మాకు తెలుసు. + అదేవిధంగా TA ఒక ఉపాధ్యాయుడు, కాబట్టి దానిని ఇక్కడ సూచిస్తుంది. + ఇది ఒక TA లేదా టీచింగ్ అసిస్టెంట్ ఒక విద్యార్థి, ఆమె కోర్సులకు హాజరవుతుంది మరియు కొంతవరకు పూర్తి చేయడానికి ప్రయత్నిస్తుంది, అంతేకాకుండా ట్యుటోరియల్ సహాయం మరియు అసైన్‌మెంట్ మూల్యాంకనం వంటి కొన్ని కోర్సులు చేయడానికి ఆమె సహాయపడుతుంది. + కాబట్టి ఆమె ఉపాధ్యాయులకు సాధారణమైన అనేక ఆపరేషన్లు చేస్తుంది. + కాబట్టి దీనిని బట్టి, విద్యార్థులు మరియు ఉపాధ్యాయులు ఇద్దరూ TA యొక్క బేస్ క్లాస్ అని చెబుతాము. + ఇది జరిగినప్పుడు మనకు అనేక వారసత్వ పరిస్థితులు ఉన్నాయని చెబుతాము. + కాబట్టి, ఇక్కడ మేము అనేక మంది వారసుల యొక్క మరొక ఉదాహరణను చూపిస్తాము. + ఉద్యోగి అనేది ఒక సంస్థ యొక్క ఉద్యోగులందరూ ఉన్న రూట్ క్లాస్‌తో సమానమైన తరగతి, కాబట్టి మేనేజర్ ISA యొక్క ఉద్యోగి అని మేము చెప్పగలం. + ఈ మేనేజర్ ఒక ISA ఉద్యోగిని సూచిస్తుంది. + డైరెక్టర్ ISA ఉద్యోగులు అని కూడా మనం చెప్పగలం. + అందువల్ల, మేనేజర్ మేనేజ్మెంట్ డైరెక్టర్ కంపెనీ విధానాలను నిర్దేశిస్తుంది. + అప్పుడు మాకు మేనేజింగ్ డైరెక్టర్ ఉన్నారు, అతను మేనేజర్‌తో పాటు డైరెక్టర్ కూడా. + అందువల్ల, ఇక్కడ అనేక వారసత్వ పరిస్థితులు ఉన్నాయి. + ఒకటి కంటే ఎక్కువ వారసత్వం ఉన్నప్పుడు, రెండు విషయాలు ఉన్నాయి. ఒకటి, ప్రతి వ్యక్తి వారసత్వానికి పాల్పడటం. అనేక వారసత్వాలలో, మనం నేర్చుకున్న అన్ని నియమాలను వారసత్వం కోసం ఉపయోగించాల్సి ఉంటుంది. ఉన్నాయి, కానీ అదనంగా కొన్ని ఉండవచ్చు మేము చర్చించాల్సిన సమస్యలు. + అప్పుడు సాధారణంగా మనకు ఒకటి కంటే ఎక్కువ వారసత్వం ఉంటే, మనకు కొన్ని బేస్ క్లాస్ ఉండటం సాధారణం, ఇది వివిధ తరగతుల మధ్య సాధారణం, ఇవి బహుళ వారసత్వానికి ప్రాతిపదికగా పనిచేస్తాయి. + కాబట్టి, ఇక్కడ మనం ఒక రకమైన వజ్రాల నిర్మాణాన్ని చూస్తాము, ఇక్కడ మనకు ఉత్పన్నమైన తరగతి యొక్క చివరి ఆకు స్థాయి తరగతి ఉంది, మనకు ఇంటర్మీడియట్ బేస్ క్లాస్ ఉంది, ఇది ఆకు తరగతి. ఉత్పన్నమైన తరగతి వాస్తవానికి వారసత్వంగా కనుగొనబడుతుంది. + ప్రతిగా, ఈ ఇంటర్మీడియట్ తరగతులు కొన్ని కాంబినేటోరియల్ భావన ద్వారా ప్రత్యేకత కలిగి ఉంటాయి. + వాస్తవానికి మనం అనేక విధాలుగా వారసత్వంగా పొందుతున్నట్లయితే, ఈ మేనేజింగ్ డైరెక్టర్ ఖచ్చితంగా మేనేజింగ్ మరియు డైరెక్టర్ మానిఫోల్డ్ నుండి వారసత్వంగా పొందారు ఎందుకంటే ఈ రెండింటి మధ్య కొంత సారూప్యత ఉంది. + అందువల్ల మేనేజర్ మరియు డైరెక్టర్ స్వయంగా కొన్ని సాధారణ లక్షణాలను మరియు కొన్ని సాధారణ కార్యకలాపాలను కలిగి ఉంటారని భావిస్తున్నారు, ఇవి ఉద్యోగి సందర్భంలో ఇక్కడ ప్రదర్శించబడతాయి. + C ++ లో, బహుళ వారసత్వం లేదా బహుళ వారసత్వం యొక్క నిర్వచనం ప్రకారం ఒక సాధారణ బేస్ తరగతిని కలిగి ఉండటం తప్పనిసరి కాదు, కాని మనకు తరచుగా మొత్తం రాష్ట్రాన్ని సూచించే ఒక సాధారణ బేస్ క్లాస్ ఉంటుంది. + అందువల్ల, మేము అసలు వాక్యనిర్మాణ వివరణలోకి వెళ్తాము. + ఉత్పన్నం బేస్ 1 అని, ఉత్పన్నం బేస్ 2 అని, ఇది ఒక సాధారణ దృశ్యం అని మేము చెప్తాము. + మరియు అది క్లాస్ బేస్ 1 అని మనకు ఉన్నప్పుడు, అది క్లాస్ బేస్ 2, రెండు బేస్ క్లాసులు ఉన్నాయి. + మరియు మేము ఉత్పన్నమైన తరగతి లేదా గుణకారం వారసత్వంలో కనిపించే నిర్దిష్ట తరగతులను వ్రాస్తాము; పబ్లిక్ బేస్ 1, పబ్లిక్ బేస్ 2. + ఇంతకుముందు, మాకు ఒకే వారసత్వం ఉన్నప్పుడు, మీరు ఇక్కడ ఆపే ఒకే వారసత్వం ఉంటే, ఇక్కడ మేము కామాను ఉపయోగిస్తాము మరియు తదుపరి బేస్ క్లాస్ రాయడం కొనసాగిస్తాము, ఉత్పన్నం వారసత్వంలో కూడా కనుగొనబడుతుంది. + నేను 2 బేస్ క్లాసులు ఉన్న చోట ఉదాహరణలు చూపిస్తున్నప్పటికీ, అది 2 బేస్ క్లాసులకు మాత్రమే పరిమితం కానప్పటికీ, నేను చాలా లేదా రెండు లేదా అంతకంటే ఎక్కువ లేదా అంతకంటే ఎక్కువ బేస్ క్లాసులను కలిగి ఉంటాను. హుహ్. + C ++ లోని ప్రాథమిక వారసత్వ విధానం నా ఉద్దేశ్యం అని మనకు తెలిసినట్లుగా, ISA సంబంధం ప్రజా వారసత్వ పరంగా ప్రాతినిధ్యం వహిస్తుంది మరియు దాని అర్థం ఏమిటో మేము చాలాకాలంగా చర్చించాము. + అదే సమయంలో సి ++ లో ఇతర రకాల వారసత్వ సంపదలు ఉన్నాయని మనకు తెలుసు, ప్రత్యేకించి ప్రైవేట్ వారసత్వం అని పిలుస్తారు, ఇది బేస్ క్లాస్ సభ్యుల దృశ్యమానతను పెంచుతుంది. ప్రైవేట్ యాక్సెస్‌ను మాత్రమే పరిమితం చేయడం ద్వారా వాటిని ఉత్పన్న తరగతులుగా మారుస్తుంది. + IS యొక్క అర్థ రూపం వలె ఇది మనకు ఇస్తుందని మేము చూశాము, ఇది మేము ఒక అర్థశాస్త్రంగా వర్తింపజేస్తాము, ఇక్కడ మేము ఒక బేస్ క్లాస్ నుండి ఒక ప్రైవేట్ వారసత్వానికి (వారసత్వం) మారినట్లయితే, మేము ఈ బేస్ అని చెబుతున్నాము తరగతి వాస్తవానికి ఉత్పన్నమైన తరగతులకు వర్తిస్తుంది. + కాబట్టి మేము ఒకటి కంటే ఎక్కువ వారసత్వాలను చేసినప్పుడు, అవి పబ్లిక్‌గా ఉండటం అవసరం లేదు, అవి మిశ్రమంగా ఉంటాయి, మీరు నిజంగానే వాటిని అన్నింటినీ ప్రైవేట్‌గా కలిగి ఉండగలిగితే, అప్పుడు రెండు బేస్ క్లాసులు (క్లాస్) ఉత్పన్నమైన తరగతిలోని కొన్ని భాగాలను అమలు చేస్తున్నాయని అర్థం. , ఇది పబ్లిక్‌గా ఉంటుంది మరియు ఇది ప్రైవేట్‌గా ఉంటుంది కాబట్టి ఒకవేళ అలా అయితే, ఉత్పన్నం ప్రాథమికంగా బేస్ వన్ నుండి ISA సంబంధం అనే ప్రత్యేకత అని అర్ధం. + అయితే, క్లాస్ బేస్ రెండు అమలు చేస్తుంది లేదా ఉత్పన్నమైన తరగతిని అమలు చేయడంలో సహాయపడుతుంది, ఇది మన వద్ద ఉన్న ఒక ప్రాథమిక విధానం. + అందువల్ల, మేము సెమాంటిక్స్ చూడటానికి ప్రయత్నిస్తాము. + ఈ స్లైడ్‌ను మేము ఇంతకుముందు చేసిన వారసత్వ అర్థాలతో పోల్చాలని నేను సూచిస్తున్నాను. + మీరు ఒకే వారసత్వం నుండి బహుళ వారసత్వానికి మారినప్పుడు ప్రాథమిక లక్షణాలు ఒకే విధంగా ఉంటాయి. + అందువల్ల, ఉత్పన్నమైన తరగతి ఇప్పుడు వారసత్వంగా అన్ని బేస్ తరగతుల డేటా సభ్యులందరినీ వారసత్వంగా పొందుతుంది. + ఇది కేవలం బేస్ క్లాస్ మాత్రమే కాదు, ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా వారసత్వంగా పొందుతుంది మరియు ఇది కొత్త డేటా సభ్యులను జోడించగలదు. + ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని సభ్యుల ఫంక్షన్లను వారసత్వంగా తిరిగి ఇస్తుంది.మరియు అది ఏదైనా బేస్ క్లాస్ లేదా ఏదైనా బేస్ క్లాస్ యొక్క ఏదైనా సభ్యుల ఫంక్షన్ (ఫంక్షన్) ను భర్తీ చేయగలదు. K ఏదైనా ఫంక్షన్‌ను ఓవర్‌లోడ్ చేయగలదు. + ఇవన్నీ అంతకుముందు, చాలా బేస్ క్లాసులకు ఈ సూచన లేదు, కాబట్టి సెమాంటిక్స్‌కు ఇది లేదు, కానీ ఇప్పుడు చాలా బేస్ క్లాసులు ఉన్నందున, అవన్నీ సాధ్యమవుతాయి. + కాబట్టి, వారసత్వం అంటే ప్రతి బేస్ తరగతుల యొక్క అన్ని లక్షణాలు మరియు కార్యకలాపాలు వారసత్వంగా కనుగొనబడతాయి మరియు తగిన ఓవర్‌లోడ్ లేదా ఓవర్‌రైడ్ కావచ్చు. + యాక్సెస్ స్పెసిఫికేషన్ ప్రైవేట్, ప్రైవేట్, బేస్ క్లాస్‌కు పూర్తిగా పరిమితం చేయబడిన అదే అర్థాన్ని కలిగి ఉంటుంది. + అందువల్ల, ఉత్పన్నమైన తరగతి ఏ బేస్ క్లాస్ యొక్క ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయదు. + నేను బేస్ క్లాస్ యొక్క కొంతమంది డేటా సభ్యుల కోసం రక్షించబడితే, ఆ డేటా సభ్యులు ఉత్పన్నమైన తరగతి (తరగతి) లో అందుబాటులో ఉంటారు. + ష్టి మరియు విధ్వంసం యొక్క సందర్భంలో, సృష్టి యొక్క సందర్భంలో మనం చూస్తాము. + అన్ని బేస్ క్లాస్ వస్తువులు సృష్టించబడాలి, ఎందుకంటే అన్ని బేస్ క్లాస్ వస్తువులు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌లో భాగమవుతాయి. + ఇప్పుడు, మనకు రెండు లేదా అంతకంటే ఎక్కువ బేస్ క్లాసులు ఉన్నాయి, అవి ఉత్పన్నమైన తరగతి నుండి తీసుకోబడ్డాయి. + అందువల్ల ఈ బేస్ క్లాసుల కన్స్ట్రక్టర్లు అమలు చేసే క్రమాన్ని కూడా మనం అర్థం చేసుకోవాలి. + కాబట్టి ఈ జాబితా మనం చూసే విధంగా ఉంటుంది మరియు అది విధ్వంసం యొక్క క్రమంలో వచ్చినప్పుడు మునుపటి తరగతి నాశనం చేయబడిందని మనం చూసిన అదే సూత్రం, అప్పుడు బేస్ క్లాస్ నాశనం అవుతుంది., చాలా బేస్ క్లాస్ వస్తువులు ఉన్నందున . + కాబట్టి అవి మొదట నిర్మించిన రివర్స్ క్రమంలో నాశనం చేయబడతాయి. + ఇది బహుళ వారసత్వం కోసం సెమాంటిక్స్ యొక్క సారాంశం. + దీనికి ఉదాహరణల ద్వారా వెళ్ళేటప్పుడు మరికొన్ని వివరాలు ఉన్నాయి. + మేము డేటా సభ్యుల నిర్దిష్ట సెమాంటిక్స్‌తో ప్రారంభిస్తాము. + అందువల్ల ఇది అన్ని బేస్ క్లాసుల యొక్క అన్ని డేటా సభ్యులను వారసత్వంగా వారసత్వంగా పొందింది మరియు కొత్త డేటా సభ్యులను జోడించగలదు. + ఇప్పుడు లేఅవుట్ సందర్భంలో, లేఅవుట్ గురించి మేము చర్చించాము, లేఅవుట్లోని బేస్ క్లాస్ నుండి వారసత్వంగా ఉత్పన్నమైన తరగతి కనుగొనబడితే అది బేస్ క్లాస్ యొక్క వస్తువుల ఉదాహరణను కలిగి ఉంటుంది. + ఇప్పుడు, చాలా బేస్ క్లాసులు ఉన్నందున, ప్రతి బేస్ క్లాస్‌కు ఒక ఉదాహరణ ఉంటుంది. + మళ్ళీ, సి ++ కొన్ని సింగిల్ వారసత్వం విషయంలో బేస్ క్లాస్ ఉదంతాల సాపేక్ష స్థానానికి హామీ ఇవ్వదు. + అవి ఎలా అమర్చబడతాయి అనేది మొదటి బేస్ క్లాస్ ఆబ్జెక్ట్ అవుతుందా లేదా అప్పుడు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ సభ్యుడు అవుతుందా మరియు అదేవిధంగా, నిర్దిష్ట ఆర్డర్ ప్రామాణికం ద్వారా ఇవ్వబడదు. + మేము ఉదాహరణలో చూస్తే, మీకు ఇద్దరు సభ్యులు i మరియు డేటా ఉన్న బేస్ క్లాస్ బి 1 ఉంది. + నాకు ఇద్దరు సభ్యులతో మరో బేస్ క్లాస్ బి 2 ఉంది; J మరియు డేటా. + మరియు నాకు బేస్ 1 మరియు బేస్ 2 నుండి ఉద్భవించిన ఉత్పన్న తరగతి ఉంది మరియు ఇది ఒక సభ్యుడిని జతచేస్తుంది. + నేను బేస్ 1 రకం వస్తువును పరిశీలిస్తే, దానికి ఒక సభ్యుడు i మరియు ఒక సభ్యుల డేటా ఉంటుంది, నేను బేస్ 2 ఉత్పన్నమైన క్లాస్ క్లాస్ యొక్క వస్తువును పరిశీలిస్తే, దీనికి ఉదాహరణ ఏమిటంటే దీనికి ఒక సభ్యుడు j మరియు డేటా జరుగుతుంది . + కాబట్టి మేము ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను నిర్మిస్తున్నప్పుడు బేస్ 1 ఆబ్జెక్ట్ యొక్క ఒక ఉదాహరణ ఉంటుంది, ఇది ఒక క్లాస్‌లో బేస్ 2 క్లాస్ యొక్క ఉదాహరణను కలిగి ఉంటుంది మరియు ఉత్పన్నంలో మన వద్ద ఉన్న డేటా సభ్యులు, పాస్ అవుతారు. + కాబట్టి, ఇది మన వద్ద ఉన్న డేటా సభ్యుల సెమాంటిక్స్ యొక్క ప్రత్యక్ష పొడిగింపు లేదా వారసత్వ పరంగా మనకు ఉన్న లేఅవుట్ యొక్క సెమాంటిక్స్ అని మీరు స్పష్టంగా చూడవచ్చు. + వాస్తవానికి, నేను చెప్పినట్లు కొన్ని ప్రతికూలతలు ఉండవచ్చు. + ఉదాహరణకు, మీరు ఇక్కడ చూడగలిగినట్లుగా, బేస్ 1 సభ్యుల డేటాను ప్రకటించింది మరియు బేస్ 2 కూడా అదే పేరుతో సభ్యుడిని కలిగి ఉంది. + బేస్ క్లాస్ ఉత్పన్నమైన తరగతి నుండి స్వతంత్రంగా ఉన్నందున, వారికి ఒకే పేరుతో సభ్యులు ఉండరని మీరు నియంత్రించలేరు. + వారు ఒకే పేరుతో సభ్యులను కలిగి ఉన్నప్పుడు వస్తువు ఉద్భవించింది.ఈ వస్తువుకు ఒకే పేరుతో ఇద్దరు డేటా సభ్యులు ఉన్నారు. + నా వస్తువు D నుండి ఉద్భవించిందని నేను చెబితే, నేను ఉత్పన్నమైన డేటాను వ్రాయాలనుకుంటున్నాను, ఎందుకంటే నేను ఇక్కడ వ్రాయడానికి అధికారం కలిగి ఉన్నాను ఎందుకంటే డేటా ఇక్కడ భద్రపరచబడింది మరియు ఇక్కడ రక్షించబడింది కాబట్టి ఉత్పన్న తరగతి వారికి ప్రాప్యత ఉంది. + నేను వ్రాయడానికి ప్రయత్నిస్తే కంపైలర్ నేను అయోమయంలో ఉన్నానని చెప్తుంది, ఎందుకంటే ఒకే పేరుతో ఇద్దరు సభ్యులు ఉన్నారు. + ఇది అస్పష్టతకు సంబంధించిన విషయం కాబట్టి రెండు బేస్ క్లాసులు రెండు మరియు బేస్ క్లాసులు ఒకే పేరుతో డేటా సభ్యులను కలిగి ఉంటే, ఆ అస్పష్టతను పరిష్కరించడానికి బాధ్యత ప్రోగ్రామర్ లేదా డెరైవ్డ్ క్లాస్ (క్లాస్) యొక్క డిజైనర్ మీద ఉంటుంది. + తరగతి పేరు అర్హత ఉన్న సభ్యులను మీరు స్పష్టంగా సూచించాలి. + ఇది కంపైలర్ చేత ఆమోదయోగ్యం కాదు, కానీ నేను d వ్రాయగలను. + బేస్ 1 :: డేటా, నేను దీనిని వ్రాస్తే అది డేటా సభ్యుడు అవుతుందని అర్థం లేదా డేటా అది సభ్యుల వస్తువులో ఉంటే అది  + నేను d.base2 :: డేటాను వ్రాస్తే, ఈ డేటా సభ్యుడు అని అర్ధం ఎందుకంటే రిజల్యూషన్ అదనంగా చేయవలసి ఉంది. + ఇది బహుళ సంక్లిష్టత సందర్భంలో సంభవించే అదనపు సంక్లిష్టత. + ఇప్పుడు, మేము సభ్యుల ఫంక్షన్లకు వెళ్తాము - ఓవర్రైడ్లు మరియు ఓవర్లోడ్లు. + అన్ని సభ్యుల ఫంక్షన్లు అన్ని బేస్ క్లాసుల నుండి వారసత్వంగా వచ్చాయని నేను ఇప్పటికే చెప్పినట్లుగా మరియు మీరు బేస్ సభ్యుల నుండి సభ్యుల ఫంక్షన్ వరకు ఏదైనా సభ్యుల ఫంక్షన్‌ను భర్తీ చేయవచ్చు. ఓవర్‌లోడ్ చేయవచ్చు. + మరియు స్టాటిక్ మెంబర్ ఫంక్షన్లు మరియు ఫ్రంట్ ఫంక్షన్ల వంటి ఒకే వారసత్వంలో బేస్ క్లాస్ ద్వారా కూడా వారసత్వంగా కనిపించదు. + మేము ఒక ఉదాహరణను పరిశీలిస్తే, ఒకే బేస్ క్లాసులను జాగ్రత్తగా చూడండి; బేస్ క్లాస్ బేస్ 1, క్లాస్ బేస్ 2 మరియు బేస్ డెరివేటివ్ బేస్ 1 మరియు బేస్ 2 లో ప్రత్యేకత. + ఇక్కడ, నాకు రెండు సభ్యుల విధులు మరియు G ఉన్నాయి, మరియు ఇక్కడ బేస్ 2 లో నాకు సభ్యుల ఫంక్షన్ ఉంది. + మరియు నేను చేసినది ఉత్పన్న తరగతిలో f. + నేను అదే సంతకంతో సభ్యుల ఫంక్షన్‌ను చేర్చుకున్నాను అంటే అది అతిక్రమిస్తున్న సందర్భం. + కాబట్టి, ఉత్పన్నమైన తరగతి f1 నుండి f సభ్యుల ఫంక్షన్‌కు భర్తీ చేస్తుంది. + బేస్ 1 లో సభ్యుల ఫంక్షన్ G కూడా ఉంది మరియు ఉత్పన్నమైన తరగతికి G అనే పేరుతో ఏ సభ్యుల ఫంక్షన్ గురించి ప్రస్తావించబడలేదు, కాబట్టి ఈ G కేవలం వారసత్వంగా కనుగొనబడుతుంది మరియు దీనిని ఉపయోగించగలుగుతారు + మరియు అది g ను ఉపయోగించినప్పుడు, ఇది బేస్ క్లాస్ యొక్క బేస్ 1 యొక్క g సభ్యుల పనితీరును సూచిస్తుంది. + బేస్ క్లాస్ 2 లో సభ్యుల ఫంక్షన్ H ఉంది మరియు ఉత్పన్నమైన తరగతి వేరే సంతకంతో సభ్యుల ఫంక్షన్ H ను పరిచయం చేస్తుంది. + ప్రభావం ఏమిటో మాకు తెలుసు, ఈ h పూర్ణాంకాన్ని తీసుకుంటున్న కొత్త h ఉత్పన్నం :: h, base2 :: h ని దాచిపెడుతుంది మరియు మీరు ఇప్పుడు స్ట్రింగ్ పరామితితో ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కోసం h ని కాల్ చేయగలరు. + అందువల్ల ఇది ఓవర్‌లోడింగ్ కేసు. + క్రొత్త సభ్యుల ఫంక్షన్ ఇ ను ఉత్పన్నమైన తరగతిలోని కిట్టికి చేర్చవచ్చు మరియు వాడవచ్చు. + ఈ సందర్భంలో, మనకు సి డాట్ ఎఫ్ 1 చేస్తే మనకు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ ఉంటే, అప్పుడు బేస్ 1 :: ఎఫ్ ఓవర్రైడ్ (ఓవర్రైడ్) ఎందుకంటే ఉత్పన్నమైన క్లాస్ (క్లాస్) లోని ఎఫ్ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు. . + మేము సి డాట్ గ్రా అని చెబితే అది బేస్ 1 యొక్క సభ్యుల ఫంక్షన్ అవుతుంది ఎందుకంటే ఇది వారసత్వంగా వారసత్వంగా వస్తుంది, మనం సి డాట్ హెచ్ అని పిలిస్తే, ఇక్కడ నాకు స్థిరమైన నాలుగు స్టార్ టైప్ పారామితులు ఉన్నాయి. ఇది ఉపయోగించబడుతుంది, ఇది స్వయంచాలకంగా చేర్చబడుతుంది. + వైర్. + అందువల్ల ఉత్పన్నంలో ఓవర్‌లోడ్ చేసిన H ఫంక్షన్ (ఫంక్షన్) ను బేస్ క్లాస్ ఫంక్షన్ (ఫంక్షన్) అని పిలవరు ఎందుకంటే ఇది దాగి ఉంది, మరియు నేను సి డాట్ ఇ అని అక్షరంతో చెబితే అది E సభ్యుల ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది. తరగతిలో పరిచయం చేయబడింది.] + ఇది ఓవర్‌రైడింగ్ మరియు ఓవర్‌లోడింగ్ యొక్క మూలం కథ, ఇది ఖచ్చితంగా జరుగుతుంది మరియు ఖచ్చితంగా డేటా సభ్యుడిలాగా 2 బేస్ క్లాస్‌లకు ఒకే పేరు ఉన్న ఫంక్షన్ ఉందని మీ మనస్సులో జరుగుతోంది. + 2 బేస్ తరగతుల సభ్యుల పనితీరుకు సాధారణ పేరు ఉంటే? + కాబట్టి ఈ స్లైడ్‌లో, మళ్ళీ నాకు బేస్ 1, బేస్ 2 ఉందని స్పష్టం చేద్దాం, ఉత్పన్నమైన తరగతి అదే బేస్ క్లాసుల నుండి ఉద్భవించింది. + చేయబడుతున్న వ్యత్యాసం ఏమిటంటే, నేను ఇక్కడ F ఉన్నాను మరియు నేను ఇక్కడ బేస్ 1 మరియు బేస్ 2 రెండింటిలో ఉన్నాను మరియు వారి సంతకాలు ఒకే విధంగా ఉన్నాయి. + నేను ఇక్కడ బేస్ 1 లో నివసిస్తున్నాను, నేను ఇక్కడ బేస్ 2 లో నివసిస్తున్నాను. వారి సంతకాలు భిన్నంగా ఉంటాయి. + తరువాతి క్షణంలో ఈ భాగాన్ని విస్మరించండి. + ఈ భాగాన్ని విస్మరించడానికి మీకు సభ్యుల ఫంక్షన్ లేదని మేము ఉత్పన్న తరగతిలో చెప్పాము, మీరు ఇప్పుడు దానిని పరిగణించకూడదు. + ఇప్పుడు, నేను సి డాట్ ఎఫ్ వ్రాయడానికి ప్రయత్నిస్తాను. సి డాట్ ఎఫ్ అంటే ఏమిటి? ఈ బేస్ 1 డాట్ ఎఫ్; బేస్ 1 :: ఎఫ్ లేదా ఇది బేస్ 2 కోలన్ కోలన్ ఎఫ్ మీకు తెలుసుకోవటానికి మార్గం లేదు ఎందుకంటే దీనికి ఎఫ్ యొక్క రెండు వెర్షన్లు వచ్చాయి. + సి డాట్ గ్రా అంటే ఏమిటి? నేను పరామితి 5 ను ఆమోదించాను, కంపైలర్ దాని బేస్ 1 :: g అని పరిష్కరించగలదని ఆశిస్తున్నాను, ఎందుకంటే క్షమించండి ఎందుకంటే ఇక్కడ ఒక చిన్న రకం ఉంది, అది పూర్ణాంకంగా ఉండకూడదు, అది పూర్ణాంకంగా ఉండాలి. + నేను సి డాట్ జి 5 అని చెబితే, బేస్ 2 :: జి అని పిలవాలని నేను ఆశిస్తున్నాను, కాని దురదృష్టవశాత్తు కంపైలర్ అలా చేయలేడు. + ఇది చేయలేకపోవడానికి కారణం, సర్ఛార్జ్ ఒకే పేరు ఖాళీల మధ్య మాత్రమే పరిష్కరించబడుతుంది. + మీకు రెండు వేర్వేరు నేమ్‌స్పేస్‌లు ఉంటే, కంపైలర్‌కు పేర్లు ఏమిటో ట్రాక్ లేదు. + అందువల్ల, బేస్ 1 లోని జి ఫంక్షన్ (ఫంక్షన్) మరియు బేస్ 2 లోని జి ఫంక్షన్ (ఫంక్షన్) రెండు వేర్వేరు తరగతుల రెండు వేర్వేరు పేరు ఖాళీలలో ఉన్నాయి, కాబట్టి ఓవర్‌లోడ్ రిజల్యూషన్ ఇక్కడ కిక్ చేయదు. + అందువల్ల, c.g (5) లేదా సి. G () పరామితి లేని రెండూ కూడా నిజంగా అస్పష్టంగా ఉంటాయి. + సారాంశంలోని ఈ నాలుగు కాల్‌లు అస్పష్టంగా ఉంటాయి మరియు కంపైలర్ వాటి మధ్య పరిష్కరించలేవు. + కాబట్టి, వారు ఆ అస్పష్టతను పరిష్కరించాలని మీరు కోరుకుంటే, మీరు బేస్ 1 మరియు బేస్ 2 నుండి వారసత్వంగా పొందినట్లుగా, ప్రాథమిక సమస్య ఇక్కడ ఉందని చెప్పడానికి మీకు సరళమైన మార్గం ఉంది, మీరు F ఫంక్షన్ యొక్క రెండు కాపీలను పొందుతారు. . + తరగతి. + ఇప్పుడు, అసలు తరగతి ఫంక్షన్ కోసం వాడకం గురించి మేము తెలుసుకున్నాము, కాబట్టి మీరు దీన్ని ఉపయోగించవచ్చు. + బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగించి మీరు చెబుతున్నారని అనుకుందాం, నేను బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగిస్తున్నానని చెబితే అది ఏమిటి, ఈ ఫంక్షన్ (ఫంక్షన్) ఉత్పన్నంలో చేర్చబడుతుంది మరియు ఈ ఫంక్షన్ (ఫంక్షన్) చేర్చబడదు, ఇది ఫంక్షన్ (ఫంక్షన్) బేస్ రెండు దాచిన ఫంక్షన్ అవుతుంది. + అదేవిధంగా నేను G ఫంక్షన్ కోసం చేయగలను, నేను బేస్ 2 కోలన్ G ని ఉపయోగిస్తున్నానని చెప్పండి, అంటే అది G ఫంక్షన్‌ను కలిగి ఉంటుంది, కానీ బేస్ G ఫంక్షన్ (ఫంక్షన్) దాచబడుతుంది + ఈ సందర్భంలో, ఇప్పుడు నేను సి డాట్ ఎఫ్ అని పిలవాలనుకుంటే, అది బేస్ 1 కోలన్ కోలన్ ఎఫ్ అని చెబుతుంది ఎందుకంటే నేను దానిని ఉపయోగిస్తున్నాను. + నేను సి. g (5) నేను బేస్ యొక్క g ఫంక్షన్‌ను ఉపయోగిస్తున్నందున దీనిని బేస్ 2 కోలన్ కోలన్ గ్రా అని పిలుస్తారు. + ఇప్పుడు నేను కూడా కావాలనుకుంటే, కొన్ని సందర్భాల్లో నేను బేస్ యొక్క F ఫంక్షన్‌ను ఉపయోగించాలనుకుంటున్నాను. 2 అప్పుడు డేటా సభ్యుల విషయంలో నేను చేసినట్లుగా, నేను సి డాట్ బేస్ను స్పష్టంగా ఉపయోగించగలను. కొలోన్ కొలోన్ F3 ను వ్రాయగలదు, ఈ సందర్భంలో ఇది బేస్ రెండు క్లాస్ యొక్క F ఫంక్షన్ అని పిలుస్తుంది. + అయితే, ఉత్పన్నమైన తరగతిలో, నేను బేస్ 1 కోలన్ కోలన్ ఎఫ్ ఉపయోగిస్తున్నానని చెప్పాను. + వాస్తవానికి ఉపయోగం ఏమిటంటే, ప్రాథమికంగా ఉపయోగం నాకు బేస్ క్లాస్ పేరుతో సభ్యుల ఫంక్షన్ (ఫంక్షన్) పేరును అర్హత చేయవలసిన అవసరం లేదని తగ్గించడానికి అనుమతిస్తుంది మరియు నేను డిఫాల్ట్‌గా ఉపయోగిస్తాను నేను ఇక్కడ చేస్తున్నట్లుగా ఉపయోగించవచ్చు , కానీ నేను ఎల్లప్పుడూ చేసేది వాస్తవానికి సభ్యుల ఫంక్షన్ కోసం అర్హత కలిగిన పేరును అందించే అవకాశం ఉంది, నేను డేటా సభ్యుడి కోసం చేసినట్లు మరియు ఆ రూపంలో ఇతర సభ్యులను ఉపయోగించడం వంటిది చేయండి + కాబట్టి, ఒకే వారసత్వంపై ఇది అవసరం, ఇది చాలా సాధారణం, ఎందుకంటే మీరు వారసత్వంగా వారసత్వంగా పొందుతున్న మూల తరగతులు ఒకటి లేదా అంతకంటే ఎక్కువ సభ్యుల విధులను ఒకదానితో ఒకటి అనుసంధానించే అవకాశం ఉంది. నేను అదే పేరుతో ఉండాలి. + మేము చూసినట్లుగా, వారి సంతకం పరంగా వారు పట్టించుకోనిది అదే పేరు, మరియు వారికి ఒకే పేరు ఉంటే, అప్పుడు ఉత్పన్నమైన తరగతి ఎటువంటి యోగ్యత లేకుండా ఉంటుంది. ఉపయోగించలేరు. + బేస్ యొక్క యాక్సెస్ సభ్యులను సంప్రదించడం ద్వారా రక్షిత ప్రాప్యత ఏదైనా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ బేస్ క్లాస్ యొక్క ఏదైనా బేస్ క్లాస్ యొక్క రక్షిత సభ్యులను యాక్సెస్ చేయడానికి అనుమతిస్తుంది, కొంతమంది దాచడం సహా. అనేక వారసత్వాలు కూడా ఉండవు. + అందువల్ల, ఒకే వారసత్వం విషయంలో మనం నేర్చుకున్న ప్రతిదీ వర్తిస్తుంది కాబట్టి మేము ఈ అంశంపై మరింత చర్చను వదిలివేస్తాము. + నన్ను కన్స్ట్రక్టర్, డిస్ట్రక్టర్ కి తరలించండి. + ఉత్పన్నమైన తరగతి యొక్క కన్స్ట్రక్టర్ అన్ని విధ్వంసక బేస్ క్లాస్‌లో కన్స్ట్రక్టర్ కన్స్ట్రక్టర్లను వారసత్వంగా పొందుతాడు, కాని ఒకే వారసత్వం విషయంలో మనం చూసినట్లుగా వేరే సెమాంటిక్స్‌లో ఇది నేరుగా వారసత్వంగా (వారసత్వం). వారసత్వం) ఎందుకంటే దీనికి వేరే పేరు ఉంది, అది బేస్ క్లాస్‌కు పేరును జతచేస్తుంది మరియు మీరు కన్స్ట్రక్టర్, కన్స్ట్రక్టర్‌ను ఏ విధంగానైనా ఓవర్‌రైడ్ చేయలేరు లేదా ఓవర్‌లోడ్ చేయలేరు. + కాబట్టి, మేము దానితో చూస్తే, బేస్ క్లాసులు ఉన్నాయని మనం చూడవచ్చు, ఇక్కడ ఒక కన్స్ట్రక్టర్ ఉంది. + ఉత్పన్నమైన తరగతికి కన్స్ట్రక్టర్ ఉంది మరియు క్షమించండి, రెండవ బేస్ క్లాస్‌కు మరొక కన్స్ట్రక్టర్ ఉంది మరియు ఉత్పన్నమైన క్లాస్ ఉంది; ఇక్కడ ఆధార్ ఒకరి సృష్టికర్తను ఆహ్వానిస్తున్నారు. + అప్పుడు ఏమి జరుగుతుంది? ఇప్పుడు, ఇది రెండు బేస్ క్లాస్ వస్తువులను నిర్మించాలి; బేస్ 1 ను ప్రారంభించడం అంటే బేస్ 1 కన్స్ట్రక్టర్ దాని ద్వారా ప్రారంభించబడుతుందని మరియు ఇది బేస్ 2 ను వదిలివేసినందున, బేస్ 2 లో డిఫాల్ట్ కన్స్ట్రక్టర్ ఉండాలి, అది ఆ తరువాత అమలు చేయబడుతుంది. + కాబట్టి, నేను బేస్ 1 ను నిర్మించాను మరియు బేస్ 2 కి డిఫాల్ట్ కన్స్ట్రక్టర్ లేకపోతే, అప్పుడు నాకు సంకలన లోపం ఉంటుంది, ఎందుకంటే ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను నిర్మించగలిగేలా నాకు బేస్ 1 మరియు బేస్ 2 రెండూ అవసరం. రకం వస్తువులను తయారు చేయండి. + కాబట్టి, మేము ఉదాహరణను పరిశీలిస్తే, ఇది టైప్ 1 యొక్క వస్తువు; ఇది మనం నిర్మించగల బేస్ 2 రకం వస్తువు. + ఇక్కడ మీరు ఉత్పన్నమైన రకం వస్తువు యొక్క సృష్టిని చూడవచ్చు, ఇక్కడ బేస్ క్లాస్ (క్లాస్ 1) 5 5 ఉదాహరణను కలిగి ఉంటుంది, దాని ద్వారా సృష్టించబడుతుంది. + బేస్ క్లాస్ 2 ఉదాహరణ అప్రమేయంగా ఉంటుంది, కాబట్టి దీనికి 0 0 సభ్యులు ఉన్నారు మరియు ఉత్పన్నమైన తరగతి యొక్క డేటా సభ్యుడు. + తయారీ ప్రక్రియ యొక్క ప్రాథమిక డైనమిక్స్ ఇది. + మీరు సందేశాన్ని బేస్ క్లాస్ కన్స్ట్రక్టర్ మరియు కన్స్ట్రక్టర్లలో మరియు ఉత్పన్నమైన క్లాస్ కన్స్ట్రక్టర్ కన్స్ట్రక్టర్ డిస్ట్రక్టర్లో ఉంచితే, మొదటి బేస్ క్లాస్ 1 సృష్టించబడిందని మీరు చూస్తారు ఎందుకంటే ఇది జాబితాలో మొదటిది, అప్పుడు బేస్ క్లాస్ 2 ఎందుకంటే ఇది జాబితాలో రెండవది, ఆపై ఉత్పన్నమైన తరగతి యొక్క సృష్టి మరియు విధ్వంసం సరిగ్గా రివర్స్ క్రమంలో జరుగుతుంది. + ఇది వారసత్వం యొక్క ప్రాథమిక విధానం, ఇది ఒక నిర్దిష్ట ఉత్పన్న తరగతి సమస్యకు బేస్ క్లాస్ యొక్క అనేక కేసులను సూచిస్తుంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/43 ProgramminginCplusplus_Virtual Function Table (Lecture 46)-wwgGygjeBbo.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/43 ProgramminginCplusplus_Virtual Function Table (Lecture 46)-wwgGygjeBbo.txt index 6f0462b94b58cf01deb49164363553f7298c1061..46d723015fa03284289edf564ea1a3f8322be47b 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/43 ProgramminginCplusplus_Virtual Function Table (Lecture 46)-wwgGygjeBbo.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/43 ProgramminginCplusplus_Virtual Function Table (Lecture 46)-wwgGygjeBbo.txt @@ -1,169 +1,168 @@ - 1. - 2. C + + లో ప్రోగ్రామింగ్ మాడ్యూల్ 31 కు స్వాగతం. - 3. చివరి రెండు మాడ్యూల్స్లో మేము డైనమిక్ బైండింగ్ (dynamic binding), పాలిమార్ఫిజం ;(polymorphism) గురించి చర్చించాము, పాలిమార్ఫిక్ రకం (polymorphic type) మరియు ముఖ్యంగా మేము నేర్చుకున్న ప్రధాన కొత్త ఫీచర్స్(features) పాలిమార్ఫిక్ డిస్పాచ్ (polymorphic dispatch) గురించి చర్చించాము. - 4. ఇది ఒక యంత్రాంగం, దీని ద్వారా నేను పాలిమార్ఫిక్ సోపానక్రమానికి సంబంధించిన తరగతి యొక్క సభ్యుడు (సభ్యుడు) ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తాను. - 5. నేను పాయింటర్ (పాయింటర్) ద్వారా లేదా బేస్ క్లాస్ రకానికి సూచన ద్వారా పిలిచినప్పుడు, ఉపయోగించిన వాస్తవ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ (లేదా పాయింటర్) రకంపై ఆధారపడి ఉండదు, కానీ ఇది వాస్తవానికి ప్రస్తుత వస్తువుపై ఆధారపడి ఉంటుంది లేదా సూచించబడాలి . - 6. ఇది రన్‌టైమ్‌పై ఆధారపడి ఉంటుంది మరియు ఈ యంత్రాంగాన్ని పాలిమార్ఫిజం అంటారు లేదా ఈ బైండింగ్ పద్ధతిని మనం చూసినట్లుగా డైనమిక్ బైండింగ్ అంటారు, మరియు ఈ మొత్తం విషయాన్ని సి ++ లో పాలిమార్ఫిక్ డిస్పాచ్ అంటారు. - 7. మేము పాలిమార్ఫిక్ డిస్పాచ్ మెకానిజమ్‌ను పరిశీలించాము మరియు సిబ్బంది జీతం ప్రాసెసింగ్ కోసం పరిష్కారాలను సిద్ధం చేయడంలో మేము దీనిని విస్తృతంగా ఉపయోగించాము. - 8. మాడ్యూల్‌లో, ఈ పాలిమార్ఫిక్ ట్రాన్స్మిషన్ పరంగా కొంత అవగాహన కలిగి ఉండాలనుకునే వర్చువల్ టేబుల్ గురించి ఈ రోజు మనం చర్చిస్తాము; వాస్తవానికి కంపైలర్ చేత అమలు చేయబడింది. - 9. ఎందుకంటే మీరు కోడ్ ప్రాసెసింగ్ సమయంలో కంపైలర్ స్థిరమైన సమయంలో పనిచేస్తుందని గుర్తుంచుకోవాలి; అమలు జరగని సమయంలో మూలం ప్రాసెస్ చేయబడుతోంది. - 10. అందువల్ల, కంపైలర్‌కు రన్‌టైమ్‌లో ఇచ్చిన సూచికగా తెలుసుకోవటానికి మార్గం లేదు, ఇది వాస్తవానికి సూచించే వస్తువు రకం, కానీ అమలు సమయంలో డైనమిక్ అయిన కోడ్‌ను ఇంకా ఉత్పత్తి చేయాలి. రకం ప్రకారం పని చేస్తుంది. - 11. పాలీమెరిక్ ట్రాన్స్మిషన్కు ముఖ్యమైన వర్చువల్ ఫంక్షన్ టేబుల్ వాడకం ద్వారా ఇది జరుగుతుంది. - 12. ఇందుకోసం మేము చర్చిస్తున్న జీతం ప్రాసెసింగ్ అప్లికేషన్ యొక్క శీఘ్ర సవరణను తీసుకుంటాము. - 13. మేము సి లో క్రొత్త పరిష్కారాన్ని ప్రవేశపెడతాము మరియు పంపించటానికి వర్చువల్ ఫంక్షన్ పట్టికను అర్థం చేసుకోవడంలో మనకు ఎలా అవగాహన ఉంటుందో చూపిస్తాము. - 14. కాబట్టి ఇది సమస్య, జీతం అవసరమయ్యే వివిధ రకాల ఉద్యోగులు ఉన్నారని మరియు వారి జీతం ప్రాసెసింగ్ అల్గోరిథంలు భిన్నంగా ఉన్నాయని మేము అనుకున్నాము. - 15. మరియు డిజైన్ మొత్తం సహేతుకంగా ఉంటుంది, డిజైన్ సహేతుకంగా విస్తరించాల్సిన అవసరం ఉంది. - 16. మేము దీన్ని చేయాలనుకున్నప్పుడు, సోపానక్రమానికి కొత్త తరగతులను జోడించడం సాధ్యమవుతుంది. - 17. సి లో, మేము దీనిని పరిగణించాము మరియు మీరు ఎప్పుడైనా మునుపటి మాడ్యూళ్ళను సూచించవచ్చు, వాటిని అలాగే మాడ్యూల్ నంబర్‌ను చూడండి మరియు డిజైన్ పరిగణనలు ఏమిటి. - 18. ఇప్పుడు, మేము ఒక ఫంక్షన్ స్విచ్ యొక్క యంత్రాంగాన్ని ఉపయోగించిన పరిష్కారం గురించి చర్చించినప్పుడు, మేము ఆ రకాన్ని స్పష్టంగా నిర్వహిస్తాము మరియు ప్రతి ఉద్యోగి రికార్డును ప్రాసెస్ చేస్తున్నప్పుడు దీన్ని తనిఖీ చేస్తాము. సరైన పే ప్రాసెసింగ్ పని. - 19. ఇప్పుడు మనం ఫంక్షన్ పాయింటర్లను ఉపయోగించి కొద్దిగా భిన్నమైన అభిరుచులతో ఒకే పరిష్కారాన్ని చూడటానికి ప్రయత్నిస్తాము. - 20. ప్రధాన వ్యత్యాసం, నేను హైలైట్ చేస్తాను; రకం యొక్క స్పష్టమైన నిర్వహణ ఇప్పటికీ ఉంది. - 21. నేను మూడు రకాలు ఉన్నాయని uming హిస్తున్నాను; ఇంజనీర్, మేనేజర్ మరియు డైరెక్టర్. - 22. పే ప్రాసెసింగ్ దినచర్యను తనిఖీ చేయడానికి మీరు మునుపటి వీడియో లేదా ప్రెజెంటేషన్‌ను తెరవగలరని మీరు గుర్తుచేసుకునే ముందు, ఇంజనీర్‌కు పే ప్రాసెసింగ్ ఇంజనీర్‌కు సూచిక తీసుకుంటుందని చెప్పబడింది. - 23. మేనేజర్ (మేనేజర్) కోసం పే ప్రాసెసింగ్ మేనేజర్ (మేనేజర్) కోసం ఒక సూచికను తీసుకుంటుంది మరియు జీతం ప్రాసెసింగ్ డైరెక్టర్ (డైరెక్టర్) కోసం డైరెక్టర్. - 24. ఇప్పుడు నేను దానిని కొద్దిగా మార్చాను, ఇప్పుడు ప్రతి ఒక్కరూ శూన్య పాయింటర్ తీసుకుంటారు, ఎందుకంటే ఈ ఫంక్షన్లన్నీ ఒకే సంతకాన్ని కలిగి ఉండాలని నేను కోరుకుంటున్నాను. - 25. ఒకసారి మేము దీనిని సహజంగా శూన్య నక్షత్రంగా పొందిన తరువాత, శూన్య నక్షత్రం అది ఏ రకమైన వస్తువు అని నాకు చెప్పదు, కాని ఇంజనీర్ కోసం పే ప్రాసెసింగ్ అని పిలువబడిందని నాకు తెలుసు కాబట్టి, శూన్యమైన స్టార్ సూచిక వాస్తవానికి ఇంజనీర్ రికార్డును సూచిస్తుందని నాకు తెలుసు , కాబట్టి నేను దానిని ఇంజనీర్‌కు ఇచ్చాను. - 26. లేదా అది మేనేజర్ (మేనేజర్) ఫంక్షన్ (ఫంక్షన్) అయితే, నేను దానిని మేనేజర్ (మేనేజర్) లేదా ఇన్స్ట్రక్షనల్ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తాను, దానిని నేను డైరెక్టర్‌కు ఇచ్చాను మరియు తరువాత ప్రాసెసింగ్ చేయాలి. - 27. స్పష్టంగా భిన్నమైన పారామితి రకాలు లేకుండా నేను ఇప్పటికీ ఇక్కడ నిర్వహించగలను. - 28. కానీ ఈ ప్రక్రియలో ప్రయోజనం ఏమిటి; ఈ రచనలన్నీ ఇప్పుడు ఒకే సంతకాన్ని కలిగి ఉన్నాయి. - 29. వారు ఒకే సంతకాన్ని కలిగి ఉన్నందున, నేను వాటిని పిటిఆర్ అని చెప్పే సారూప్య ఫంక్షన్ (పాయింటర్) రకం సందర్భంలో వాటిని కలపడానికి ప్రయత్నించవచ్చు, ఇది ఒక ఫంక్షన్ పాయింటర్, ఇది శూన్యమైనది (శూన్యమైనది) తారాను తీసుకుంటుంది మరియు ఏమీ వ్రాయబడదు. - 30. ఇది ఫంక్షన్ పాయింటర్ అని గమనించండి, కాబట్టి ఇది ప్రాథమికంగా ఫంక్షన్ పాయింటర్ రకం. - 31. ఇది ఒక పని కాదు. - 32. మేము ఫంక్షన్ నిర్వచించాము. - 33. కాబట్టి, మేనేజర్ కోసం లేదా డైరెక్టర్ కోసం ఇంజనీర్ కోసం ఈ ఫంక్షన్లలో ఏదైనా వాస్తవానికి ఈ ఫంక్షన్ (పాయింటర్) రకంతో సరిపోతుంది. - 34. మిగతా డిజైన్ ఒకేలా ఉంటుంది, విభిన్న నిర్మాణాలు వివిధ రకాల వస్తువులను నిర్వచించటానికి మరియు అదే సమయంలో అప్లికేషన్‌లో మొత్తం విషయాన్ని వాస్తవంగా ఎలా మిళితం చేస్తామో చూద్దాం. - 35. అప్లికేషన్ పరంగా, మనం ఏమి చేస్తున్నామో, ఇప్పుడు మనం ఒక రికార్డును నిర్వహిస్తున్నాము, ఇది ప్రాథమికంగా నేను ఆ రకాన్ని ఎక్కడ ఉంచాను అనే సందేహం ఉంది, ఇది ఎర్ లేదా ఎంజిఆర్ మరియు ఇలాంటివి జరుగుతాయి. - 36. రెండవది శూన్యతకు పాయింటర్, ఇది ఒక రకమైన పాయింటర్. - 37. ఇప్పుడు మనం ఏమి చేయాలి? మేము ఫంక్షన్ పాయింటర్ యొక్క శ్రేణిని జనసాంద్రత చేస్తాము. - 38. కాబట్టి ఇది ఒక రకమైన ఫంక్షన్ పాయింటర్. - 39. నేను ఇప్పటికే ఫంక్షన్ పాయింటర్ రకాన్ని నిర్వచించాను. - 40. కాబట్టి ఈ ఫంక్షన్ 0, 1 మరియు 2 పాయింట్ల శ్రేణి, మరియు వీటిలో ప్రతిదానిలో మనం మూడు వేర్వేరు నిర్మాణ రకములకు వ్రాసిన మూడు వేర్వేరు ఫంక్షన్లను కేటాయిస్తాము. - 41. ఇవి వాస్తవానికి శ్రేణిలో నిర్ణయించిన మూడు వేర్వేరు ఫంక్షన్ పాయింటర్లు. - 42. అప్పుడు మీరు వస్తువుల సేకరణను జనసాంద్రత చేస్తారు, కాబట్టి వస్తువుల సేకరణ వస్తువు రకం మరియు వస్తువు ఉదాహరణ. - 43. ఈ వస్తువు ఉదాహరణకు ఒక సూచిక కాబట్టి అది ఇప్పుడు శూన్య నక్షత్రం స్థానంలో ఉంటుంది. - 44. నేను ఈ శ్రేణిని చూస్తే అది రెట్టింపు, కాబట్టి నాకు ఎర్ అప్పుడు ఎర్ ఆబ్జెక్ట్ ఉంది, నాకు ఎంజిఆర్ ఉంది, నాకు మేనేజర్ ఆబ్జెక్ట్ ఉంది. - 45. కాబట్టి మేము దానిని ఆ విధంగా కలిగి ఉంటాము, వాటిలో ఆరు భిన్నంగా ఉంటాయి. - 46. ఈ అంశం నా మొత్తం సేకరణ. - 47. ఇప్పుడు, నేను లూప్ పైన వెళ్తాను అని ప్రాసెస్ చేయాలనుకున్నప్పుడు మరియు నేను ఈ ఫంక్షన్ (పాయింటర్) శ్రేణిని ఉపయోగించడం మరియు i-th సిబ్బంది రకాన్ని ఉపయోగించడం ముఖ్యం. - 48. రకం ఎర్ అయినప్పుడు నేను 0 అయితే చెప్పండి. - 49. నేను ఈ ఫంక్షన్‌ను ఈ శ్రేణి అయిన పాయింటర్ అర్రే నుండి ఎంచుకుంటాను, నేను దానిని ఎర్ అని ఇండెక్స్ చేస్తాను అంటే 0 అని అర్ధం, ఆపై మనం ఆ ఫంక్షన్‌ను పిలుస్తాము. - 50. కాబట్టి, ఈ psArray నేను వేరే రంగును ఉపయోగిస్తే, అది ప్రత్యేకంగా ఫంక్షన్ పాయింటర్ (పాయింటర్) అని చెప్పండి, ఎందుకంటే psArray ఈ శ్రేణి. - 51. నేను దానిని డాట్ టైప్ స్టఫ్ తో ఇండెక్స్ చేసాను, ఈ సందర్భంలో అది ఎర్, పూర్వం ఇంజనీర్. - 52. కాబట్టి నాకు లభించేది ఫంక్షన్ పాయింటర్, ఇది ఫంక్షన్, ఇది ఫంక్షన్ రకం, ఇది శూన్యమైన నక్షత్రాన్ని తీసుకుంటుంది మరియు ఫంక్షన్ అంటారు. - 53. మరియు అది ప్రయాణిస్తున్నది ఇక్కడ రెండవ పరామితి సిబ్బంది [i] .p; వస్తువు యొక్క సూచిక. - 54. నేను ఎర్తో ఇక్కడకు పిలిచినప్పుడు, నాకు ఈ ఫంక్షన్ వచ్చింది, ఇది ప్రాసెస్ పే ఇంజనీర్, దీనిని ఇంజనీర్ రికార్డ్ ద్వారా పిలుస్తారు, అంటే దానిని ఆ ఇంజనీర్‌తో పిలుస్తారు. రోహిత్‌తో చేయబడుతుంది. - 55. నేను 1 అయినప్పుడు, నేను Mgr అని టైప్ చేసిన రెండవ రికార్డ్‌ను పొందుతాను మరియు అది 1, కాబట్టి నేను రెండవ ఫంక్షన్ పాయింటర్‌ను పొందుతాను మరియు నేను దానిని పాయింటర్‌తో చేస్తాను సంబంధిత మేనేజర్ (మేనేజర్) రికార్డ్ అయిన సంబంధిత ఉద్యోగికి పంపుతాను. - 56. ఈ విధంగా ఈ ఫంక్షన్లన్నీ ఒకదాని తరువాత ఒకటి తగిన ఉద్యోగి రికార్డుతో తగిన రకంతో పిలువబడతాయి మరియు ఒకసారి మేము రికార్డ్ లోపల ఉన్నప్పుడు ఇంజనీర్ ఫంక్షన్‌ను ఆహ్వానిస్తే ఫంక్షన్ పూర్తయిందని మరియు నాకు ఒక పాయింటర్ వచ్చింది ఇంజనీర్‌ను ఇక్కడ రికార్డ్ చేయండి, అందువల్ల నేను ప్రసారం చేస్తాను. - 57. ఇది చేసే ప్రాథమిక శైలి ఇది. - 58. మేము చేసిన మార్పు; మేము ఈ మొత్తం విషయాన్ని ఫంక్షన్ పాయింటర్ల శ్రేణిలో సృష్టించాము మరియు మేము వాటిని సాధారణ కోడ్ ద్వారా ప్రారంభిస్తున్నాము. - 59. మరియు మాకు ఎటువంటి స్విచ్‌లు అవసరం లేదు; ఈ ఫంక్షన్ పాయింటర్ శ్రేణిలో క్రమం చేయడం ద్వారా మేము చేస్తున్న షరతులతో కూడిన స్విచ్ అన్నింటినీ జాగ్రత్తగా చూసుకుంటుంది. - 60. ఇది సి లో మరొక పరిష్కారం కావచ్చు, ఇది సి లోని స్మార్ట్ సొల్యూషన్ చాలా ఉపయోగకరంగా ఉంటుంది. - 61. మేము దానిని త్వరగా పాలిమరిక్ సి ++ ద్రావణంతో పోల్చినట్లయితే, ఇది పరిష్కారానికి అసలు విధానం. - 62. మీరు దీనిని పరిశీలిస్తే, మాకు డిస్ట్రాయర్లు, కన్స్ట్రక్టర్లు, విభిన్న ఓవర్రైడ్ ప్రాసెస్ పే ఫంక్షన్లు మరియు అలాంటివన్నీ ఉన్నాయని మీరు చూస్తారు. - 63. దీనితో, మేము చూస్తే, మా కోడ్ ఈ కాల్‌తో ఉచ్చుల కోసం మాత్రమే. - 64. ప్రతి ఇంజనీర్ రకానికి ఇది సూచికగా ఉన్న చోట మరియు పాలిమర్ ట్రాన్స్మిషన్ ఆధారంగా ఇది తగిన ప్రాసెస్సాలరీ ఫంక్షన్ అని పిలుస్తుంది. - 65. మేము దానిని పక్కపక్కనే పోల్చి చూస్తే అది డిజైన్ లక్షణాలను పోల్చి చూస్తుంది. - 66. కానీ మేము దానిని పక్కపక్కనే పరిష్కారంతో పోల్చినట్లయితే, అది సి పరిష్కారం అని మీరు చూస్తారు, ఇది ఈ సి ++ తరగతికి చెందినది. - 67. కాబట్టి, మీరు దానిలో ఇంజనీర్‌ను కలిగి ఉన్నారు, మీకు ఇక్కడ కన్స్ట్రక్టర్ ఉన్నారు, మీకు ఈ ప్రత్యేక ప్రాసెసింగ్ ఫంక్షన్ (ఫంక్షన్) ఉంది, మీకు ఓవర్‌లోడ్ సభ్యుడు (సభ్యుడు) ఫంక్షన్ (ఫంక్షన్) ప్రకృతిలో ఉంది పాలిమార్ఫిక్. - 68. అదేవిధంగా, నాకు తదుపరి రకం దర్శకుడు ఉన్నారు మరియు ఇవి మనకు ఉన్న మూడు తరగతులు. - 69. ఇప్పుడు, మేము ప్రాసెసింగ్ భాగాన్ని పరిశీలిస్తే, ఈ రెండు ప్రాసెసింగ్ ఎలా ఉందో చూద్దాం. - 70. కాబట్టి ఇక్కడ నేను ఆ వస్తువుకు పాయింటర్‌ను తీసుకుంటాను మరియు డైనమిక్ రకం ఆధారంగా నేను దాని సంబంధిత రకం ఆధారంగా ఏదైనా ఫంక్షన్‌కు పంపుతాను. - 71. ఇక్కడ మేము అదే psArray ను ఉపయోగించి పని చేస్తాము, ఇది ఉపయోగించగల ఫంక్షన్ పాయింటర్ల శ్రేణి. - 72. ఒకే తేడా ఏమిటంటే, నేను ఉపయోగిస్తున్న రకం మరియు నిర్దిష్ట వస్తువు మధ్య రకం మరియు సంబంధాన్ని నేను స్పష్టంగా నిర్వహించాలి. - 73. కాబట్టి నేను ఎంచుకున్న ఫంక్షన్ రకాన్ని బట్టి, దాని యొక్క రెండవ భాగం ప్రత్యేకంగా ఆబ్జెక్ట్ పాయింటర్ ఏమిటో చెబుతుంది మరియు మేము ఆబ్జెక్ట్ పాయింటర్‌ను పాస్ చేస్తాము. - 74. కాబట్టి, ఇక్కడ నేను దీన్ని చేయనవసరం లేదు ఎందుకంటే మనం ప్రాథమికంగా సరైన రకాన్ని ఎన్నుకోవలసి ఉంటుందని మనందరికీ తెలుసు కాబట్టి, ఆబ్జెక్ట్ పాయింటర్ ఈ పాయింటర్‌గా ఉంటుంది మరియు ఇది పని చేస్తుంది. - 75. నేను ఈ ఉదాహరణను మీకు చూపించడానికి లేదా సి లో ఫంక్షన్ పాయింటర్ ఉపయోగించి మీకు చూపించడానికి కారణం, ఇది వాస్తవానికి సి ++ కంపైలర్ యొక్క వర్చువల్ ఫంక్షన్ (ఫంక్షన్) లేదా పాలిమార్ఫిక్ ఫంక్షన్‌ను జాగ్రత్తగా చూసుకుంటుంది. - 76. కాబట్టి దీన్ని నిజమైన వివరాలకు తీసుకురావడానికి, నాకు బేస్ క్లాస్ B ఉందని అనుకుందాం, కాబట్టి ఈ బేస్ క్లాస్ కోసం నాకు రెండు ఫంక్షన్లు ఉన్నాయి; F ఫంక్షన్ ఉంది మరియు ఈ ఫంక్షన్ g. - 77. ఏది; A అనేది పాలిమెరిక్ రకం, G అనేది పాలిమార్ఫిక్ రకం, F ఒక పాలిమార్ఫిక్ రకం, ఇది వర్చువల్ కాని ఫంక్షన్. - 78. మరియు ఈ బేస్ క్లాస్ ఆధారంగా, నా వద్ద పాలిమార్ఫిక్ కాని (పాలిమార్ఫిక్) ఫంక్షన్లతో పాటు పాలిమార్ఫిక్ ఫంక్షన్లను వ్రాసే ఉత్పన్న తరగతి ఉంది. - 79. ఇప్పుడు, ఈ సందర్భంలో మీరు ఏమి చేస్తారు; పాలిమార్ఫిక్ కాని ఫంక్షన్ కోసం, ప్రకృతిలో పాలిమార్ఫిక్ లేని ఫంక్షన్ గురించి మాత్రమే మాట్లాడితే, ఇన్వోక్ ఎలా ఉంటుంది? నేను వస్తువుతో నేరుగా యాక్సెస్ చేస్తున్న B. f () ను నమూనా చేస్తే అనుకుందాం. - 80. కాబట్టి, కంపైలర్ ఈ విషయాన్ని ఎలా చెబుతారు? కంపైలర్ ఒక క్లాస్ బి రకం వస్తువు అని కంపైలర్కు తెలుస్తుంది, ఇది కంపైలర్కు తెలిసిన ఫంక్షన్ (ఫంక్షన్) ఎఫ్. - 81. కాబట్టి, ఈ ఫంక్షన్ బి కోలన్-కొలోన్ ఎఫ్ అని పిలుస్తారు మరియు ఇది ఏమి అవసరం? దీనికి b యొక్క చిరునామా అయిన ఈ పాయింటర్ అవసరం, కాబట్టి ఇది b యొక్క చిరునామాలోకి ప్రవేశిస్తుంది మరియు ఇది పరామితిని చొప్పిస్తుంది. - 82. కాబట్టి, ఇది ఇక్కడ b యొక్క చిరునామాను మరియు పరామితిని ఉంచుతుంది మరియు దీనిని పిలుస్తారు. - 83. ఇది స్థిరమైన బంధం; ఇది సాధారణ స్టాటిక్ బాండ్. - 84. నేను పాయింటర్ ఉపయోగిస్తుంటే నేను పాయింటర్‌తో అదే పని చేయాలి. - 85. కాబట్టి, నేను దీనిని పిలుస్తుంటే, రకం B యొక్క పాయింటర్ రకం ద్వారా, ఇది మనం ఇంతకు ముందు చూసిన B తరగతిలో మరియు B తరగతిలో దాని పనితీరును చూడాలని తెలుసు. F ఇది వర్చువల్ కానిది, అప్పుడు అది నేరుగా ఆ ఫంక్షన్‌ను పిలవాలి. - 86. కాబట్టి, ఇది గణాంకపరంగా b :: f () పాయింటర్ విలువ మరియు పరామితిని దాటిపోతుంది. - 87. ఇవి ఖచ్చితంగా చక్కగా ఉండే స్టాటిక్ పద్ధతులు. - 88. ఇప్పుడు, నేను మూడవ కాల్‌ను కూడా పరిశీలిస్తాము, అక్కడ నేను ఆబ్జెక్ట్‌ను ఉపయోగిస్తున్నాను మరియు వర్చువల్-కాని ఫంక్షన్ g అని పిలుస్తాను. - 89. రీ కంపైలర్ అదే పని చేస్తుంది. - 90. మనం దానిని ఒక వస్తువుతో చెబితే అది క్లాస్ యొక్క ఫంక్షన్ అని పిలువబడుతుంది, కాబట్టి b :: g () అని మనం పిలుస్తాము. - 91. B యొక్క చిరునామా ఇక్కడ నుండి ఇవ్వబడింది మరియు పారామితి ఇక్కడ నుండి పంపబడుతుంది. - 92. కాబట్టి, ఇవన్నీ ప్రాథమికంగా ఈ మూడింటికీ స్థిరమైన బంధాలు. - 93. కాబట్టి, నేను b కి బదులుగా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కలిగి ఉంటే మరియు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కోసం నేను అదే చేయటానికి ప్రయత్నిస్తే, అప్పుడు నాకు అదే స్టాటిక్ బైండింగ్ కోడ్ ఉంటుంది, ఇక్కడ ఈ కంపైలర్లలో ప్రతి ఒక్కటి రకం d అని తెలుసు మరియు అది నేరుగా వస్తువు ద్వారా లేదా పాయింటర్ ద్వారా ఉంటుంది, కానీ ఫంక్షన్ వర్చువల్ కానిది కనుక ఇది స్టాటిక్ కాల్‌లను ప్రారంభిస్తుంది. - 94. నేను నిజంగా పాయింటర్ (జి) పాయింటర్ వంటిదాన్ని పిలవాలనుకున్నప్పుడు సమస్య తలెత్తుతుంది, అనగా నేను కాలింగ్ వర్చువల్ ఫంక్షన్ మరియు నేను పాయింటర్ ఉపయోగిస్తున్నాను.కాబట్టి నాకు డైనమిక్ బైండింగ్ అవసరం. - 95. నేను పాయింటర్‌కు పాయింటర్ చెబుతున్నాను, నేను పాయింటర్‌ను ఉపయోగిస్తున్నాను మరియు నేను వర్చువల్ ఫంక్షన్‌ను ఉపయోగిస్తున్నాను. - 96. ఈ సందర్భంలో p అనేది వస్తువును తగ్గించడానికి ఒక పాయింటర్, ఈ సందర్భంలో కుడి వైపు B అనేది D వస్తువుకు పాయింటర్. - 97. కాబట్టి, నేను ఇక్కడ ఏమి కోరుకుంటున్నాను? ఈ కాల్ వాస్తవానికి ఈ ఫంక్షన్‌ను పరిష్కరిస్తుందని నాకు ఇక్కడ అవసరం. - 98. ఈ సందర్భంలో ఈ కాల్ ఈ ఫంక్షన్‌ను పరిష్కరిస్తుందని నాకు అవసరం. - 99. ఈ రెండు కాల్‌లు కాల్ సైట్‌లో ఒకేలా కనిపిస్తున్నప్పటికీ. - 100. నేను ఎలా చేయగలను? నేను ఆ మార్పును ఎలా చేయగలను? కాబట్టి నేను చేసే ప్రతిదీ చాలా సులభం. - 101. వస్తువు యొక్క లేఅవుట్ గురించి ఆలోచించండి, వస్తువుకు డేటా సభ్యుడు i ఉన్నారు, కాబట్టి నాకు డేటా సభ్యుడు i ఉన్నారు. ఇది వందతో సృష్టించబడింది. - 102. అందువల్ల, నాకు డేటా సభ్యుడు i, b :: i ఇక్కడ ఉన్న ప్రాంతం. - 103. అదేవిధంగా, నేను ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను చూస్తే, దానికి ఒక డేటా సభ్యుడు (సభ్యుడు) j జతచేయబడుతుంది, కాబట్టి దీనికి బేస్ క్లాస్ భాగం 200 ఉంటుంది మరియు 500 అదనపు డేటా సభ్యుడు (సభ్యుడు) జోడించబడతారు. - 104. కాబట్టి ఇవి బాగున్నాయి. - 105. ఇప్పుడు మనం చేసేది మనం మరొక ఫీల్డ్‌ను జతచేయడం, అది వస్తువులో దాఖలు చేసిన మరొకదాన్ని జోడించడం అదృశ్య క్షేత్రం. - 106. ఈ ఫీల్డ్ ఒక పాయింటర్ మరియు అది సూచించేది, ఇది ఫంక్షన్ పాయింటర్ల పట్టికను సూచిస్తుంది మరియు ఈ పట్టికను VFT లేదా వర్చువల్ టేబుల్ అంటారు. - 107. నేను క్లాస్ బిలో ఉన్నాను మరియు నేను కోడ్‌ను చూడటానికి ప్రయత్నిస్తున్నప్పుడు, నాకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది మరియు నాకు వర్చువల్ ఈజ్ ఫంక్షన్ ఉంది. - 108. కాబట్టి నేను ఈ పట్టికలో ఈ పాయింటర్‌ను ఉంచిన వర్చువల్ ఫంక్షన్‌ను ఈ పట్టికలో ఉంచాను. - 109. మరియు ఈ ఫంక్షన్ కోసం నాకు కాల్ వచ్చినప్పుడు, ఈ వర్చువల్ పాయింటర్ ద్వారా, నేను ఇలాంటి కోడ్‌ను ఉత్పత్తి చేయను, నేను ఈ స్టాటిక్ కోడ్‌ను ఉత్పత్తి చేయను. బదులుగా నేను ఈ విధంగా ఒక కోడ్‌ను ఉత్పత్తి చేస్తాను. - 110. ఈ వాక్యనిర్మాణంతో గందరగోళం చెందకండి, ఏమి చెప్పబడుతోంది? పి ఒక పాయింటర్. - 111. కాబట్టి p ఒక పాయింటర్, కాబట్టి p ఇక్కడ సూచిస్తుంది. - 112. పాయింటర్ VFT అంటే ఏమిటి? ఈ పట్టిక కోసం పాయింటర్ VFT వివరించబడింది. - 113. మరియు పాయింటర్ (పాయింటర్) VFT ఈ పట్టికకు సూచించబడితే, అప్పుడు పాయింటర్ (పాయింటర్) VFT 0 ఈ పట్టిక యొక్క 0 వ ప్రవేశం, మరియు ఆ ప్రవేశం ఏమిటి? ఆ ఎంట్రీ ఫంక్షన్ పాయింటర్. - 114. కాబట్టి, p పాయింటర్ VFT 0 పట్టికలో 0 వ ఫంక్షన్ పాయింటర్. - 115. కాబట్టి, మీరు పాయింటర్ గ్రా పొందినప్పుడల్లా, ఈ స్థలంలో ఏ ఫంక్షన్ అయినా మీరు నిజంగా పిలుస్తారు. - 116. కాబట్టి మీరు ఈ ఫంక్షన్‌ను ఎంచుకుని, పారామితులతో కాల్ చేయండి, ఈ పాయింటర్ యొక్క పారామితులు p మరియు అసలు పారామితి విలువ 45. - 117. కంపైలర్ స్టాటిక్ టైమ్ కోడ్‌ను ఉత్పత్తి చేయదు, ఇది వర్చువల్ ఫంక్షన్ అని తెలుసుకోవడం మరియు అది పాయింటర్ ద్వారా ఆరంభించబడిందని తెలుసుకోవడం, పని చేయడం కష్టం వంటివి కోడ్ చేస్తుంది, కానీ కాల్‌ను వర్చువల్ ఫంక్షన్ టేబుల్ ద్వారా ఉంచుతుంది. - 118. అది ఎలా సహాయపడుతుంది? ఇది సహాయపడే మార్గం మీరు ఇప్పుడు దిశలో ఒక స్థాయిని కలిగి ఉన్నారు. - 119. కాబట్టి మీరు ఈ క్లాస్ (క్లాస్ బి) ను క్లాస్ డిగా స్పెషలైజ్ చేసినప్పుడు ఏమి జరుగుతుంది మరియు మీరు ఆ వస్తువు కోసం ఒక వస్తువును నిర్మిస్తారు, ఇందులో వర్చువల్ టేబుల్ ఫంక్షన్ పాయింటర్ కూడా ఉంటుంది. - 120. వర్చువల్ ఫంక్షన్ పట్టికను సూచిస్తూ, ఈ పట్టిక ఇప్పుడు క్లాస్ డికి చెందినది, ఈ పట్టిక క్లాస్ బి. - 121. ఇప్పుడు నేను d తరగతిలో ఏమి చేసాను? క్లాస్ d లో ఈ ఫంక్షన్ (వర్చువల్) ఫంక్షన్ g ఓవర్రైడ్ చేయబడింది, కొత్త నిర్వచనం ఇవ్వబడింది, అది ఇప్పుడు d :: g గా మారింది. - 122. కాబట్టి, మేము స్పెషలైజేషన్‌ను అనుసరించినప్పుడు, ఈ ఫంక్షన్‌ను బి యొక్క వర్చువల్ టేబుల్ నుండి తొలగిస్తాము మరియు ఓవర్రైడింగ్ ద్వారా మనం వ్రాసిన ఫంక్షన్‌ను ఇన్సర్ట్ చేస్తాము అంటే వర్చువల్ ఫంక్షన్ టేబుల్‌లో డి, డి-కొలోన్-కొలోన్ జి కొరకు ఒక ఫంక్షన్ ఉంది. - 123. మరియు ఈ కాల్ కోసం, కంపైలర్ అదే పరోక్ష కోడ్‌ను ఉత్పత్తి చేస్తుంది. - 124. ఇప్పుడు ఏమి జరుగుతుంది? ఇప్పుడే ఆలోచించడం మానేయండి. - 125. ఇది కాల్ మరియు ఇది కంపైలర్ ఉత్పత్తి చేయబడిన ఫంక్షన్. - 126. ఇవి సృష్టించబడుతున్న కాల్‌లు, ఇది స్థిరమైన సమయానికి కారణమవుతుంది. - 127. ఇప్పుడు ఏమి జరుగుతుందంటే, P వాస్తవానికి అబ్ వస్తువుకు సూచించే రెండు దృశ్యాలు ఉన్నాయి. - 128. ఇది ab ఆబ్జెక్ట్‌కు సూచించినట్లయితే, దానికి వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది, అది b యొక్క ఈ వర్చువల్ ఫంక్షన్ టేబుల్‌కు వెళుతుంది. - 129. ఈ ఫంక్షన్ 0 యొక్క 0 వ ఫంక్షన్‌ను ఎంచుకుంటుంది మరియు పిలుస్తుంది, కాబట్టి దీనిని b :: g అంటారు. - 130. P ఇక్కడ ప్రకటన వస్తువును సూచిస్తుంటే, దానికి ప్రత్యేక ఫంక్షన్ పాయింటర్, వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది. - 131. ఆ పాయింటర్ VP పాయింటర్ VFT ను గుర్తించినప్పుడు, ఇది వాస్తవానికి d యొక్క వర్చువల్ ఫంక్షన్ పట్టికను పొందుతుంది. - 132. ఇది ఫంక్షన్ అయిన 0 వ ఫంక్షన్‌ను ఎన్నుకుంటుంది, ఇది ఇప్పుడు d :: g తో జరుగుతుంది ఎందుకంటే ఇది వాస్తవానికి యాడ్ ఆబ్జెక్ట్‌కు సూచిస్తుంది కాబట్టి ఈ పట్టిక భిన్నంగా ఉంటుంది. - 133. అప్పుడు అది పారామితులను దాటి సహజంగా D :: G ని పిలుస్తుంది a. - 134. దీనితో, ఫంక్షన్ పాయింటర్ యొక్క పట్టిక యొక్క సరళమైన విధానం, కాబట్టి దీని నుండి మనం నేర్చుకునేది ఏమిటంటే, ఒక తరగతి పాలిమార్ఫిక్ అయితే ఒక రకం పాలిమార్ఫిక్ అయితే కనీసం ఒక వర్చువల్ (వర్చువల్) ఉంటే అది ఒక ఫంక్షన్, అప్పుడు a ఆ తరగతి కోసం వర్చువల్ (ఫంక్షన్) పట్టిక, ఇది అన్ని వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, అవి ఆ క్రమంలో పట్టికలో ఒకదాని తరువాత ఒకటి జాబితా చేయబడతాయి.ఇవి నిర్వచించబడ్డాయి. - 135. ఇక్కడ మనకు ఒకే ఎంట్రీ ఉంది ఎందుకంటే మనకు ఒకే వర్చువల్ ఫంక్షన్ ఉంది. - 136. ఇంకా ఎక్కువ ఉంటే, ఎక్కువ ఎంట్రీలు ఉంటాయి మరియు క్లాస్ ప్రత్యేకమైనందున కంపైలర్ వర్చువల్ (వర్చువల్) ఫంక్షన్ (ఫంక్షన్) ను క్లాస్ పునర్నిర్వచించటానికి తనిఖీ చేస్తుంది.) అలా చేస్తే ఫంక్షన్ టేబుల్‌లోని సంబంధిత ఎంట్రీని వెర్షన్‌తో భర్తీ చేస్తుంది అది భర్తీ చేస్తుంది. - 137. ఆపై ఎప్పుడూ ప్రత్యక్ష కాల్‌కు బదులుగా కాల్ చేస్తుంది, ఇది ఒక స్టాటిక్ టైప్ కాల్‌గా ఉంటుంది, ఇక్కడ ఇది ఫంక్షన్ ఏమిటో స్పష్టంగా చెబుతుంది, ఇది రన్‌టైమ్‌లో ఫంక్షన్ గురించి నాకు చెబుతుంది. టేబుల్ 0 వ ఫంక్షన్ కాదా అని నాకు తెలియదు మరియు ఏదైనా ఫంక్షన్ (పాయింటర్) మీ ఫంక్షన్. - 138. అందువల్ల, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) పట్టిక వస్తువు యొక్క రకాన్ని బట్టి మారుతుంది, కానీ అదే యంత్రాంగం ద్వారా 0 వ స్థానంలో ఈ ఫంక్షన్ (ఫంక్షన్) కోసం రన్‌టైమ్ ఎంట్రీ తగిన విధంగా ఆధారపడి ఉంటుంది. ఒక ఫంక్షన్ కోసం ఒక పాయింట్ పిలువబడుతుంది తరగతి లేదా ఫంక్షన్‌లో. - 139. ఉత్పన్నమైన తరగతి నేను ఏ రకమైన వస్తువును కలిగి ఉన్నానో దానిపై ఆధారపడి ఉంటుంది మరియు అందువల్ల నేను ఏ రకమైన వర్చువల్ ఫంక్షన్ (టేబుల్) ను సూచిస్తున్నాను. - 140. ప్రాథమిక వర్చువల్ ఫంక్షన్ ఒక పాయింటర్ టేబుల్ సిస్టమ్, దీని ద్వారా మనం పనులు చేయవచ్చు. - 141. ఒక తరగతి వర్చువల్ ఫంక్షన్‌ను నిర్వచించినప్పుడల్లా నేను చెప్పినట్లుగా, ఇక్కడ సూచించే తరగతికి దాచిన సభ్యుల వేరియబుల్ జోడించబడుతుంది. - 142. మరియు రన్‌టైమ్ సమయంలో, దాని ద్వారా పరోక్షంగా ఆహ్వానం సంభవిస్తుంది మరియు దీనిని RTTI అంటారు. - 143. మొత్తం పాలిమార్ఫిక్ సిస్టమ్ యొక్క రన్-టైమ్ రకం సమాచారం అయిన RTTI గురించి మేము మరింత మాట్లాడతాము. - 144. ఇది మరొక ఉదాహరణ, మేము కంపల్సివ్ ప్రాక్టీస్‌గా పరిష్కరించిన ఉదాహరణ కాబట్టి ఇది మీ తదుపరి ఉదాహరణ కోసం అని మీరు ఇక్కడ చూడవచ్చు. - 145. ఇది ప్రధానంగా మీ స్వంత పని చేయడం కోసం, కానీ మాకు క్లాస్ ఎ ఉంది మరియు మనకు క్లాస్ సి ఉందని నిర్దేశించిన దానికంటే క్లాస్ బి కలిగి ఉండటం చాలా నిర్దిష్టంగా ఉంది. - 146. మరియు తరగతి A కి పాలిమార్ఫిక్ ఫంక్షన్ ఉంది, ఇది వర్చువల్ ఫంక్షన్, కాబట్టి సహజంగా మొత్తం సోపానక్రమం పాలిమార్ఫిక్ మరియు అందువల్ల, ఈ సోపానక్రమంలో ఏదైనా తరగతి తరగతిలోని అన్ని వస్తువులపై వర్చువల్ టేబుల్ పాయింటర్ ఉంటుంది. - 147. నేను ఆబ్జెక్ట్ A కలిగి ఉంటే, ఆబ్జెక్ట్ A అని చెప్పండి, అప్పుడు డేటా సభ్యులు (సభ్యులు) ఆసక్తికరంగా ఉండరు కాబట్టి మేము వాటిని జాబితా చేయలేదు, కానీ దీనికి వర్చువల్ ఫంక్షన్ ఉంది (ఫంక్షన్) పట్టిక సూచించే పాయింటర్ అవుతుంది తరగతి A యొక్క VFT మరియు ఎన్ని ఎంట్రీలు ఉంటాయి? వర్చువల్ ఫంక్షన్ f మరియు వర్చువల్ ఫంక్షన్ g ఉంది. - 148. కాబట్టి వర్చువల్ ఫంక్షన్ ఉంది వర్చువల్ ఫంక్షన్ g. - 149. కానీ అది B లో నైపుణ్యం పొందినప్పుడు మీరు H కి వర్చువల్ టాస్క్ కూడా చేసారు. - 150. అప్పుడు ఏమి జరుగుతుంది? స్థానం రెండవ స్థానానికి మూడవ ఫంక్షన్ (ఫంక్షన్) జోడించబడుతుంది. - 151. మరియు 0 మరియు 1 కి ఏమి జరుగుతుంది? F ను A గా నిర్వచించారు మరియు ఇది B పైన ఉన్న తల పేరు. - 152. కాబట్టి, f కొరకు 0 వ ఎంట్రీ దాచబడింది. - 153. ఇప్పుడు, పెద్దప్రేగు-పెద్దప్రేగు f కి బదులుగా మీకు b :: f ఉంది. - 154. G కూడా వర్చువల్ ఫంక్షన్‌గా నిర్వచించబడింది, ఎందుకంటే ఇది స్థానం A లో నివసిస్తుంది, కాని క్లాస్ B G ని ఓవర్రైట్ చేయదు. - 155. అందువల్ల, మీరు వారసత్వంగా పొందినప్పుడు, మీరు ఫంక్షన్ నంబర్ వన్ వలె అదే :: g ను పొందుతారు. - 156. మరియు h మీరు దీన్ని వర్చువల్ ఫంక్షన్ చేసారు, కాబట్టి వర్చువల్ ఫంక్షన్ టేబుల్ అదనపు ఫంక్షన్ పాయింటర్‌తో కలుస్తుంది. - 157. మీరు చేసిన సి ఆబ్జెక్ట్‌కు వచ్చినప్పుడు మీరు జి. - 158. కాబట్టి, మీకు లభించేది, మీరు F తో ఏమీ చేయలేదు, కాబట్టి F కేవలం వారసత్వంగా వచ్చింది. - 159. కాబట్టి మీకు 0 వ ఎంట్రీలో బి :: ఎఫ్ వచ్చింది, ఇది బి-కొలోన్-కొలోన్ ఎఫ్. - 160. కానీ ఈ ఎంట్రీ సంఖ్య ఒక :: g, కానీ ఇప్పుడు మీరు వ్రాశారు, కాబట్టి ఇది సి-కోలన్-కోలన్ గ్రాతో వ్రాయబడింది. - 161. ప్రవేశ సంఖ్య రెండు B ::. - 162. క్లాస్ B లో, ఇక్కడ వ్రాయబడిన H ఫంక్షన్, కాబట్టి మీరు C :: H ను పొందుతారు, ఇది వర్చువల్ టేబుల్ ఎలా పెరుగుతుంది మరియు ఇది ప్రాథమికంగా మీకు తెలియజేస్తుంది ఈ సోపానక్రమం వర్చువల్ అయిన తర్వాత, వర్చువల్ అలాగే ఉండాలి ఎందుకంటే ఒకసారి కంపైలర్ సృష్టించాలని నిర్ణయించుకున్నప్పుడు మరియు ఈ కోడ్ యొక్క సంకలన సంస్కరణ ఏమిటో ఇక్కడ చూపించాను - 163. కాబట్టి ఇది వర్చువల్ ఫంక్షన్ టేబుల్ ఎంట్రీ 0 కి వెళుతుందని మీరు చెప్పవచ్చు, కానీ టేబుల్ ఎంట్రీ 1 కి వెళుతుంది, కాని నేను స్టాటిక్ బైండింగ్ కలిగి ఉంటే నేను పాయింటర్ చేస్తాను, స్పష్టమైన ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది ఎందుకంటే ఈ ఫంక్షన్ (ఫంక్షన్) వర్చువల్ కానిది . - 164. నేను పిబితో దీన్ని చేసినప్పుడు, అది క్లాస్ బి రకానికి చూపబడుతుంది, అప్పుడు వారు దానిని వర్చువల్ ఫంక్షన్ టేబుల్ ద్వారా బయటకు తీసుకువస్తారు ఎందుకంటే ఇక్కడ క్లాస్ బి లో వర్చువల్) ఫంక్షన్ జరుగుతుంది. - 165. కాబట్టి దయచేసి దానిపై పని చేయండి, దయచేసి ఈ నిర్మాణాన్ని చాలా జాగ్రత్తగా అర్థం చేసుకోవడానికి ప్రయత్నించండి మరియు ఈ మూల వ్యక్తీకరణ ద్వారా మరియు మీరు ఎక్కడ స్టాటిక్ బైండింగ్ మరియు మీకు డైనమిక్ బైండింగ్ ఉన్న సంకలనం చేసిన వ్యక్తీకరణకు వ్యతిరేకంగా పని చేయండి, తద్వారా మీరు కూడా అర్థం చేసుకుంటారు. - 166. సి లో ఫంక్షన్ పాయింటర్లను ఉపయోగించే ఉద్యోగుల జీతం అనువర్తనాల కోసం దాని ప్రయోజనాలు మరియు వినూత్న పరిష్కారాలను సంగ్రహించడానికి, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ పట్టికలను ఉపయోగించి వర్చువల్ ఫంక్షన్లు ఎలా అమలు చేయబడుతున్నాయో చెప్పడానికి మేము పునాది వేసాము. - 167. దయచేసి దీన్ని మరింత స్పష్టంగా అర్థం చేసుకోవడానికి ప్రయత్నించండి, తద్వారా డైనమిక్ ట్రాన్స్మిషన్ గురించి ఏదైనా గందరగోళం మీ మనస్సులో స్పష్టంగా కనిపిస్తుంది. - 168. + C + + లో ప్రోగ్రామింగ్ మాడ్యూల్ 31 కు స్వాగతం. + చివరి రెండు మాడ్యూల్స్లో మేము డైనమిక్ బైండింగ్ (dynamic binding), పాలిమార్ఫిజం ;(polymorphism) గురించి చర్చించాము, పాలిమార్ఫిక్ రకం (polymorphic type) మరియు ముఖ్యంగా మేము నేర్చుకున్న ప్రధాన కొత్త ఫీచర్స్(features) పాలిమార్ఫిక్ డిస్పాచ్ (polymorphic dispatch) గురించి చర్చించాము. + ఇది ఒక యంత్రాంగం, దీని ద్వారా నేను పాలిమార్ఫిక్ సోపానక్రమానికి సంబంధించిన తరగతి యొక్క సభ్యుడు (సభ్యుడు) ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తాను. + నేను పాయింటర్ (పాయింటర్) ద్వారా లేదా బేస్ క్లాస్ రకానికి సూచన ద్వారా పిలిచినప్పుడు, ఉపయోగించిన వాస్తవ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ (లేదా పాయింటర్) రకంపై ఆధారపడి ఉండదు, కానీ ఇది వాస్తవానికి ప్రస్తుత వస్తువుపై ఆధారపడి ఉంటుంది లేదా సూచించబడాలి . + ఇది రన్‌టైమ్‌పై ఆధారపడి ఉంటుంది మరియు ఈ యంత్రాంగాన్ని పాలిమార్ఫిజం అంటారు లేదా ఈ బైండింగ్ పద్ధతిని మనం చూసినట్లుగా డైనమిక్ బైండింగ్ అంటారు, మరియు ఈ మొత్తం విషయాన్ని సి ++ లో పాలిమార్ఫిక్ డిస్పాచ్ అంటారు. + మేము పాలిమార్ఫిక్ డిస్పాచ్ మెకానిజమ్‌ను పరిశీలించాము మరియు సిబ్బంది జీతం ప్రాసెసింగ్ కోసం పరిష్కారాలను సిద్ధం చేయడంలో మేము దీనిని విస్తృతంగా ఉపయోగించాము. + మాడ్యూల్‌లో, ఈ పాలిమార్ఫిక్ ట్రాన్స్మిషన్ పరంగా కొంత అవగాహన కలిగి ఉండాలనుకునే వర్చువల్ టేబుల్ గురించి ఈ రోజు మనం చర్చిస్తాము; వాస్తవానికి కంపైలర్ చేత అమలు చేయబడింది. + ఎందుకంటే మీరు కోడ్ ప్రాసెసింగ్ సమయంలో కంపైలర్ స్థిరమైన సమయంలో పనిచేస్తుందని గుర్తుంచుకోవాలి; అమలు జరగని సమయంలో మూలం ప్రాసెస్ చేయబడుతోంది. + అందువల్ల, కంపైలర్‌కు రన్‌టైమ్‌లో ఇచ్చిన సూచికగా తెలుసుకోవటానికి మార్గం లేదు, ఇది వాస్తవానికి సూచించే వస్తువు రకం, కానీ అమలు సమయంలో డైనమిక్ అయిన కోడ్‌ను ఇంకా ఉత్పత్తి చేయాలి. రకం ప్రకారం పని చేస్తుంది. + పాలీమెరిక్ ట్రాన్స్మిషన్కు ముఖ్యమైన వర్చువల్ ఫంక్షన్ టేబుల్ వాడకం ద్వారా ఇది జరుగుతుంది. + ఇందుకోసం మేము చర్చిస్తున్న జీతం ప్రాసెసింగ్ అప్లికేషన్ యొక్క శీఘ్ర సవరణను తీసుకుంటాము. + మేము సి లో క్రొత్త పరిష్కారాన్ని ప్రవేశపెడతాము మరియు పంపించటానికి వర్చువల్ ఫంక్షన్ పట్టికను అర్థం చేసుకోవడంలో మనకు ఎలా అవగాహన ఉంటుందో చూపిస్తాము. + కాబట్టి ఇది సమస్య, జీతం అవసరమయ్యే వివిధ రకాల ఉద్యోగులు ఉన్నారని మరియు వారి జీతం ప్రాసెసింగ్ అల్గోరిథంలు భిన్నంగా ఉన్నాయని మేము అనుకున్నాము. + మరియు డిజైన్ మొత్తం సహేతుకంగా ఉంటుంది, డిజైన్ సహేతుకంగా విస్తరించాల్సిన అవసరం ఉంది. + మేము దీన్ని చేయాలనుకున్నప్పుడు, సోపానక్రమానికి కొత్త తరగతులను జోడించడం సాధ్యమవుతుంది. + సి లో, మేము దీనిని పరిగణించాము మరియు మీరు ఎప్పుడైనా మునుపటి మాడ్యూళ్ళను సూచించవచ్చు, వాటిని అలాగే మాడ్యూల్ నంబర్‌ను చూడండి మరియు డిజైన్ పరిగణనలు ఏమిటి. + ఇప్పుడు, మేము ఒక ఫంక్షన్ స్విచ్ యొక్క యంత్రాంగాన్ని ఉపయోగించిన పరిష్కారం గురించి చర్చించినప్పుడు, మేము ఆ రకాన్ని స్పష్టంగా నిర్వహిస్తాము మరియు ప్రతి ఉద్యోగి రికార్డును ప్రాసెస్ చేస్తున్నప్పుడు దీన్ని తనిఖీ చేస్తాము. సరైన పే ప్రాసెసింగ్ పని. + ఇప్పుడు మనం ఫంక్షన్ పాయింటర్లను ఉపయోగించి కొద్దిగా భిన్నమైన అభిరుచులతో ఒకే పరిష్కారాన్ని చూడటానికి ప్రయత్నిస్తాము. + ప్రధాన వ్యత్యాసం, నేను హైలైట్ చేస్తాను; రకం యొక్క స్పష్టమైన నిర్వహణ ఇప్పటికీ ఉంది. + నేను మూడు రకాలు ఉన్నాయని uming హిస్తున్నాను; ఇంజనీర్, మేనేజర్ మరియు డైరెక్టర్. + పే ప్రాసెసింగ్ దినచర్యను తనిఖీ చేయడానికి మీరు మునుపటి వీడియో లేదా ప్రెజెంటేషన్‌ను తెరవగలరని మీరు గుర్తుచేసుకునే ముందు, ఇంజనీర్‌కు పే ప్రాసెసింగ్ ఇంజనీర్‌కు సూచిక తీసుకుంటుందని చెప్పబడింది. + మేనేజర్ (మేనేజర్) కోసం పే ప్రాసెసింగ్ మేనేజర్ (మేనేజర్) కోసం ఒక సూచికను తీసుకుంటుంది మరియు జీతం ప్రాసెసింగ్ డైరెక్టర్ (డైరెక్టర్) కోసం డైరెక్టర్. + ఇప్పుడు నేను దానిని కొద్దిగా మార్చాను, ఇప్పుడు ప్రతి ఒక్కరూ శూన్య పాయింటర్ తీసుకుంటారు, ఎందుకంటే ఈ ఫంక్షన్లన్నీ ఒకే సంతకాన్ని కలిగి ఉండాలని నేను కోరుకుంటున్నాను. + ఒకసారి మేము దీనిని సహజంగా శూన్య నక్షత్రంగా పొందిన తరువాత, శూన్య నక్షత్రం అది ఏ రకమైన వస్తువు అని నాకు చెప్పదు, కాని ఇంజనీర్ కోసం పే ప్రాసెసింగ్ అని పిలువబడిందని నాకు తెలుసు కాబట్టి, శూన్యమైన స్టార్ సూచిక వాస్తవానికి ఇంజనీర్ రికార్డును సూచిస్తుందని నాకు తెలుసు , కాబట్టి నేను దానిని ఇంజనీర్‌కు ఇచ్చాను. + లేదా అది మేనేజర్ (మేనేజర్) ఫంక్షన్ (ఫంక్షన్) అయితే, నేను దానిని మేనేజర్ (మేనేజర్) లేదా ఇన్స్ట్రక్షనల్ ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తాను, దానిని నేను డైరెక్టర్‌కు ఇచ్చాను మరియు తరువాత ప్రాసెసింగ్ చేయాలి. + స్పష్టంగా భిన్నమైన పారామితి రకాలు లేకుండా నేను ఇప్పటికీ ఇక్కడ నిర్వహించగలను. + కానీ ఈ ప్రక్రియలో ప్రయోజనం ఏమిటి; ఈ రచనలన్నీ ఇప్పుడు ఒకే సంతకాన్ని కలిగి ఉన్నాయి. + వారు ఒకే సంతకాన్ని కలిగి ఉన్నందున, నేను వాటిని పిటిఆర్ అని చెప్పే సారూప్య ఫంక్షన్ (పాయింటర్) రకం సందర్భంలో వాటిని కలపడానికి ప్రయత్నించవచ్చు, ఇది ఒక ఫంక్షన్ పాయింటర్, ఇది శూన్యమైనది (శూన్యమైనది) తారాను తీసుకుంటుంది మరియు ఏమీ వ్రాయబడదు. + ఇది ఫంక్షన్ పాయింటర్ అని గమనించండి, కాబట్టి ఇది ప్రాథమికంగా ఫంక్షన్ పాయింటర్ రకం. + ఇది ఒక పని కాదు. + మేము ఫంక్షన్ నిర్వచించాము. + కాబట్టి, మేనేజర్ కోసం లేదా డైరెక్టర్ కోసం ఇంజనీర్ కోసం ఈ ఫంక్షన్లలో ఏదైనా వాస్తవానికి ఈ ఫంక్షన్ (పాయింటర్) రకంతో సరిపోతుంది. + మిగతా డిజైన్ ఒకేలా ఉంటుంది, విభిన్న నిర్మాణాలు వివిధ రకాల వస్తువులను నిర్వచించటానికి మరియు అదే సమయంలో అప్లికేషన్‌లో మొత్తం విషయాన్ని వాస్తవంగా ఎలా మిళితం చేస్తామో చూద్దాం. + అప్లికేషన్ పరంగా, మనం ఏమి చేస్తున్నామో, ఇప్పుడు మనం ఒక రికార్డును నిర్వహిస్తున్నాము, ఇది ప్రాథమికంగా నేను ఆ రకాన్ని ఎక్కడ ఉంచాను అనే సందేహం ఉంది, ఇది ఎర్ లేదా ఎంజిఆర్ మరియు ఇలాంటివి జరుగుతాయి. + రెండవది శూన్యతకు పాయింటర్, ఇది ఒక రకమైన పాయింటర్. + ఇప్పుడు మనం ఏమి చేయాలి? మేము ఫంక్షన్ పాయింటర్ యొక్క శ్రేణిని జనసాంద్రత చేస్తాము. + కాబట్టి ఇది ఒక రకమైన ఫంక్షన్ పాయింటర్. + నేను ఇప్పటికే ఫంక్షన్ పాయింటర్ రకాన్ని నిర్వచించాను. + కాబట్టి ఈ ఫంక్షన్ 0, 1 మరియు 2 పాయింట్ల శ్రేణి, మరియు వీటిలో ప్రతిదానిలో మనం మూడు వేర్వేరు నిర్మాణ రకములకు వ్రాసిన మూడు వేర్వేరు ఫంక్షన్లను కేటాయిస్తాము. + ఇవి వాస్తవానికి శ్రేణిలో నిర్ణయించిన మూడు వేర్వేరు ఫంక్షన్ పాయింటర్లు. + అప్పుడు మీరు వస్తువుల సేకరణను జనసాంద్రత చేస్తారు, కాబట్టి వస్తువుల సేకరణ వస్తువు రకం మరియు వస్తువు ఉదాహరణ. + ఈ వస్తువు ఉదాహరణకు ఒక సూచిక కాబట్టి అది ఇప్పుడు శూన్య నక్షత్రం స్థానంలో ఉంటుంది. + నేను ఈ శ్రేణిని చూస్తే అది రెట్టింపు, కాబట్టి నాకు ఎర్ అప్పుడు ఎర్ ఆబ్జెక్ట్ ఉంది, నాకు ఎంజిఆర్ ఉంది, నాకు మేనేజర్ ఆబ్జెక్ట్ ఉంది. + కాబట్టి మేము దానిని ఆ విధంగా కలిగి ఉంటాము, వాటిలో ఆరు భిన్నంగా ఉంటాయి. + ఈ అంశం నా మొత్తం సేకరణ. + ఇప్పుడు, నేను లూప్ పైన వెళ్తాను అని ప్రాసెస్ చేయాలనుకున్నప్పుడు మరియు నేను ఈ ఫంక్షన్ (పాయింటర్) శ్రేణిని ఉపయోగించడం మరియు i-th సిబ్బంది రకాన్ని ఉపయోగించడం ముఖ్యం. + రకం ఎర్ అయినప్పుడు నేను 0 అయితే చెప్పండి. + నేను ఈ ఫంక్షన్‌ను ఈ శ్రేణి అయిన పాయింటర్ అర్రే నుండి ఎంచుకుంటాను, నేను దానిని ఎర్ అని ఇండెక్స్ చేస్తాను అంటే 0 అని అర్ధం, ఆపై మనం ఆ ఫంక్షన్‌ను పిలుస్తాము. + కాబట్టి, ఈ psArray నేను వేరే రంగును ఉపయోగిస్తే, అది ప్రత్యేకంగా ఫంక్షన్ పాయింటర్ (పాయింటర్) అని చెప్పండి, ఎందుకంటే psArray ఈ శ్రేణి. + నేను దానిని డాట్ టైప్ స్టఫ్ తో ఇండెక్స్ చేసాను, ఈ సందర్భంలో అది ఎర్, పూర్వం ఇంజనీర్. + కాబట్టి నాకు లభించేది ఫంక్షన్ పాయింటర్, ఇది ఫంక్షన్, ఇది ఫంక్షన్ రకం, ఇది శూన్యమైన నక్షత్రాన్ని తీసుకుంటుంది మరియు ఫంక్షన్ అంటారు. + మరియు అది ప్రయాణిస్తున్నది ఇక్కడ రెండవ పరామితి సిబ్బంది [i] .p; వస్తువు యొక్క సూచిక. + నేను ఎర్తో ఇక్కడకు పిలిచినప్పుడు, నాకు ఈ ఫంక్షన్ వచ్చింది, ఇది ప్రాసెస్ పే ఇంజనీర్, దీనిని ఇంజనీర్ రికార్డ్ ద్వారా పిలుస్తారు, అంటే దానిని ఆ ఇంజనీర్‌తో పిలుస్తారు. రోహిత్‌తో చేయబడుతుంది. + నేను 1 అయినప్పుడు, నేను Mgr అని టైప్ చేసిన రెండవ రికార్డ్‌ను పొందుతాను మరియు అది 1, కాబట్టి నేను రెండవ ఫంక్షన్ పాయింటర్‌ను పొందుతాను మరియు నేను దానిని పాయింటర్‌తో చేస్తాను సంబంధిత మేనేజర్ (మేనేజర్) రికార్డ్ అయిన సంబంధిత ఉద్యోగికి పంపుతాను. + ఈ విధంగా ఈ ఫంక్షన్లన్నీ ఒకదాని తరువాత ఒకటి తగిన ఉద్యోగి రికార్డుతో తగిన రకంతో పిలువబడతాయి మరియు ఒకసారి మేము రికార్డ్ లోపల ఉన్నప్పుడు ఇంజనీర్ ఫంక్షన్‌ను ఆహ్వానిస్తే ఫంక్షన్ పూర్తయిందని మరియు నాకు ఒక పాయింటర్ వచ్చింది ఇంజనీర్‌ను ఇక్కడ రికార్డ్ చేయండి, అందువల్ల నేను ప్రసారం చేస్తాను. + ఇది చేసే ప్రాథమిక శైలి ఇది. + మేము చేసిన మార్పు; మేము ఈ మొత్తం విషయాన్ని ఫంక్షన్ పాయింటర్ల శ్రేణిలో సృష్టించాము మరియు మేము వాటిని సాధారణ కోడ్ ద్వారా ప్రారంభిస్తున్నాము. + మరియు మాకు ఎటువంటి స్విచ్‌లు అవసరం లేదు; ఈ ఫంక్షన్ పాయింటర్ శ్రేణిలో క్రమం చేయడం ద్వారా మేము చేస్తున్న షరతులతో కూడిన స్విచ్ అన్నింటినీ జాగ్రత్తగా చూసుకుంటుంది. + ఇది సి లో మరొక పరిష్కారం కావచ్చు, ఇది సి లోని స్మార్ట్ సొల్యూషన్ చాలా ఉపయోగకరంగా ఉంటుంది. + మేము దానిని త్వరగా పాలిమరిక్ సి ++ ద్రావణంతో పోల్చినట్లయితే, ఇది పరిష్కారానికి అసలు విధానం. + మీరు దీనిని పరిశీలిస్తే, మాకు డిస్ట్రాయర్లు, కన్స్ట్రక్టర్లు, విభిన్న ఓవర్రైడ్ ప్రాసెస్ పే ఫంక్షన్లు మరియు అలాంటివన్నీ ఉన్నాయని మీరు చూస్తారు. + దీనితో, మేము చూస్తే, మా కోడ్ ఈ కాల్‌తో ఉచ్చుల కోసం మాత్రమే. + ప్రతి ఇంజనీర్ రకానికి ఇది సూచికగా ఉన్న చోట మరియు పాలిమర్ ట్రాన్స్మిషన్ ఆధారంగా ఇది తగిన ప్రాసెస్సాలరీ ఫంక్షన్ అని పిలుస్తుంది. + మేము దానిని పక్కపక్కనే పోల్చి చూస్తే అది డిజైన్ లక్షణాలను పోల్చి చూస్తుంది. + కానీ మేము దానిని పక్కపక్కనే పరిష్కారంతో పోల్చినట్లయితే, అది సి పరిష్కారం అని మీరు చూస్తారు, ఇది ఈ సి ++ తరగతికి చెందినది. + కాబట్టి, మీరు దానిలో ఇంజనీర్‌ను కలిగి ఉన్నారు, మీకు ఇక్కడ కన్స్ట్రక్టర్ ఉన్నారు, మీకు ఈ ప్రత్యేక ప్రాసెసింగ్ ఫంక్షన్ (ఫంక్షన్) ఉంది, మీకు ఓవర్‌లోడ్ సభ్యుడు (సభ్యుడు) ఫంక్షన్ (ఫంక్షన్) ప్రకృతిలో ఉంది పాలిమార్ఫిక్. + అదేవిధంగా, నాకు తదుపరి రకం దర్శకుడు ఉన్నారు మరియు ఇవి మనకు ఉన్న మూడు తరగతులు. + ఇప్పుడు, మేము ప్రాసెసింగ్ భాగాన్ని పరిశీలిస్తే, ఈ రెండు ప్రాసెసింగ్ ఎలా ఉందో చూద్దాం. + కాబట్టి ఇక్కడ నేను ఆ వస్తువుకు పాయింటర్‌ను తీసుకుంటాను మరియు డైనమిక్ రకం ఆధారంగా నేను దాని సంబంధిత రకం ఆధారంగా ఏదైనా ఫంక్షన్‌కు పంపుతాను. + ఇక్కడ మేము అదే psArray ను ఉపయోగించి పని చేస్తాము, ఇది ఉపయోగించగల ఫంక్షన్ పాయింటర్ల శ్రేణి. + ఒకే తేడా ఏమిటంటే, నేను ఉపయోగిస్తున్న రకం మరియు నిర్దిష్ట వస్తువు మధ్య రకం మరియు సంబంధాన్ని నేను స్పష్టంగా నిర్వహించాలి. + కాబట్టి నేను ఎంచుకున్న ఫంక్షన్ రకాన్ని బట్టి, దాని యొక్క రెండవ భాగం ప్రత్యేకంగా ఆబ్జెక్ట్ పాయింటర్ ఏమిటో చెబుతుంది మరియు మేము ఆబ్జెక్ట్ పాయింటర్‌ను పాస్ చేస్తాము. + కాబట్టి, ఇక్కడ నేను దీన్ని చేయనవసరం లేదు ఎందుకంటే మనం ప్రాథమికంగా సరైన రకాన్ని ఎన్నుకోవలసి ఉంటుందని మనందరికీ తెలుసు కాబట్టి, ఆబ్జెక్ట్ పాయింటర్ ఈ పాయింటర్‌గా ఉంటుంది మరియు ఇది పని చేస్తుంది. + నేను ఈ ఉదాహరణను మీకు చూపించడానికి లేదా సి లో ఫంక్షన్ పాయింటర్ ఉపయోగించి మీకు చూపించడానికి కారణం, ఇది వాస్తవానికి సి ++ కంపైలర్ యొక్క వర్చువల్ ఫంక్షన్ (ఫంక్షన్) లేదా పాలిమార్ఫిక్ ఫంక్షన్‌ను జాగ్రత్తగా చూసుకుంటుంది. + కాబట్టి దీన్ని నిజమైన వివరాలకు తీసుకురావడానికి, నాకు బేస్ క్లాస్ B ఉందని అనుకుందాం, కాబట్టి ఈ బేస్ క్లాస్ కోసం నాకు రెండు ఫంక్షన్లు ఉన్నాయి; F ఫంక్షన్ ఉంది మరియు ఈ ఫంక్షన్ g. + ఏది; A అనేది పాలిమెరిక్ రకం, G అనేది పాలిమార్ఫిక్ రకం, F ఒక పాలిమార్ఫిక్ రకం, ఇది వర్చువల్ కాని ఫంక్షన్. + మరియు ఈ బేస్ క్లాస్ ఆధారంగా, నా వద్ద పాలిమార్ఫిక్ కాని (పాలిమార్ఫిక్) ఫంక్షన్లతో పాటు పాలిమార్ఫిక్ ఫంక్షన్లను వ్రాసే ఉత్పన్న తరగతి ఉంది. + ఇప్పుడు, ఈ సందర్భంలో మీరు ఏమి చేస్తారు; పాలిమార్ఫిక్ కాని ఫంక్షన్ కోసం, ప్రకృతిలో పాలిమార్ఫిక్ లేని ఫంక్షన్ గురించి మాత్రమే మాట్లాడితే, ఇన్వోక్ ఎలా ఉంటుంది? నేను వస్తువుతో నేరుగా యాక్సెస్ చేస్తున్న B. f () ను నమూనా చేస్తే అనుకుందాం. + కాబట్టి, కంపైలర్ ఈ విషయాన్ని ఎలా చెబుతారు? కంపైలర్ ఒక క్లాస్ బి రకం వస్తువు అని కంపైలర్కు తెలుస్తుంది, ఇది కంపైలర్కు తెలిసిన ఫంక్షన్ (ఫంక్షన్) ఎఫ్. + కాబట్టి, ఈ ఫంక్షన్ బి కోలన్-కొలోన్ ఎఫ్ అని పిలుస్తారు మరియు ఇది ఏమి అవసరం? దీనికి b యొక్క చిరునామా అయిన ఈ పాయింటర్ అవసరం, కాబట్టి ఇది b యొక్క చిరునామాలోకి ప్రవేశిస్తుంది మరియు ఇది పరామితిని చొప్పిస్తుంది. + కాబట్టి, ఇది ఇక్కడ b యొక్క చిరునామాను మరియు పరామితిని ఉంచుతుంది మరియు దీనిని పిలుస్తారు. + ఇది స్థిరమైన బంధం; ఇది సాధారణ స్టాటిక్ బాండ్. + నేను పాయింటర్ ఉపయోగిస్తుంటే నేను పాయింటర్‌తో అదే పని చేయాలి. + కాబట్టి, నేను దీనిని పిలుస్తుంటే, రకం B యొక్క పాయింటర్ రకం ద్వారా, ఇది మనం ఇంతకు ముందు చూసిన B తరగతిలో మరియు B తరగతిలో దాని పనితీరును చూడాలని తెలుసు. F ఇది వర్చువల్ కానిది, అప్పుడు అది నేరుగా ఆ ఫంక్షన్‌ను పిలవాలి. + కాబట్టి, ఇది గణాంకపరంగా b :: f () పాయింటర్ విలువ మరియు పరామితిని దాటిపోతుంది. + ఇవి ఖచ్చితంగా చక్కగా ఉండే స్టాటిక్ పద్ధతులు. + ఇప్పుడు, నేను మూడవ కాల్‌ను కూడా పరిశీలిస్తాము, అక్కడ నేను ఆబ్జెక్ట్‌ను ఉపయోగిస్తున్నాను మరియు వర్చువల్-కాని ఫంక్షన్ g అని పిలుస్తాను. + రీ కంపైలర్ అదే పని చేస్తుంది. + మనం దానిని ఒక వస్తువుతో చెబితే అది క్లాస్ యొక్క ఫంక్షన్ అని పిలువబడుతుంది, కాబట్టి b :: g () అని మనం పిలుస్తాము. + B యొక్క చిరునామా ఇక్కడ నుండి ఇవ్వబడింది మరియు పారామితి ఇక్కడ నుండి పంపబడుతుంది. + కాబట్టి, ఇవన్నీ ప్రాథమికంగా ఈ మూడింటికీ స్థిరమైన బంధాలు. + కాబట్టి, నేను b కి బదులుగా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కలిగి ఉంటే మరియు ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కోసం నేను అదే చేయటానికి ప్రయత్నిస్తే, అప్పుడు నాకు అదే స్టాటిక్ బైండింగ్ కోడ్ ఉంటుంది, ఇక్కడ ఈ కంపైలర్లలో ప్రతి ఒక్కటి రకం d అని తెలుసు మరియు అది నేరుగా వస్తువు ద్వారా లేదా పాయింటర్ ద్వారా ఉంటుంది, కానీ ఫంక్షన్ వర్చువల్ కానిది కనుక ఇది స్టాటిక్ కాల్‌లను ప్రారంభిస్తుంది. + నేను నిజంగా పాయింటర్ (జి) పాయింటర్ వంటిదాన్ని పిలవాలనుకున్నప్పుడు సమస్య తలెత్తుతుంది, అనగా నేను కాలింగ్ వర్చువల్ ఫంక్షన్ మరియు నేను పాయింటర్ ఉపయోగిస్తున్నాను.కాబట్టి నాకు డైనమిక్ బైండింగ్ అవసరం. + నేను పాయింటర్‌కు పాయింటర్ చెబుతున్నాను, నేను పాయింటర్‌ను ఉపయోగిస్తున్నాను మరియు నేను వర్చువల్ ఫంక్షన్‌ను ఉపయోగిస్తున్నాను. + ఈ సందర్భంలో p అనేది వస్తువును తగ్గించడానికి ఒక పాయింటర్, ఈ సందర్భంలో కుడి వైపు B అనేది D వస్తువుకు పాయింటర్. + కాబట్టి, నేను ఇక్కడ ఏమి కోరుకుంటున్నాను? ఈ కాల్ వాస్తవానికి ఈ ఫంక్షన్‌ను పరిష్కరిస్తుందని నాకు ఇక్కడ అవసరం. + ఈ సందర్భంలో ఈ కాల్ ఈ ఫంక్షన్‌ను పరిష్కరిస్తుందని నాకు అవసరం. + ఈ రెండు కాల్‌లు కాల్ సైట్‌లో ఒకేలా కనిపిస్తున్నప్పటికీ. + నేను ఎలా చేయగలను? నేను ఆ మార్పును ఎలా చేయగలను? కాబట్టి నేను చేసే ప్రతిదీ చాలా సులభం. + వస్తువు యొక్క లేఅవుట్ గురించి ఆలోచించండి, వస్తువుకు డేటా సభ్యుడు i ఉన్నారు, కాబట్టి నాకు డేటా సభ్యుడు i ఉన్నారు. ఇది వందతో సృష్టించబడింది. + అందువల్ల, నాకు డేటా సభ్యుడు i, b :: i ఇక్కడ ఉన్న ప్రాంతం. + అదేవిధంగా, నేను ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను చూస్తే, దానికి ఒక డేటా సభ్యుడు (సభ్యుడు) j జతచేయబడుతుంది, కాబట్టి దీనికి బేస్ క్లాస్ భాగం 200 ఉంటుంది మరియు 500 అదనపు డేటా సభ్యుడు (సభ్యుడు) జోడించబడతారు. + కాబట్టి ఇవి బాగున్నాయి. + ఇప్పుడు మనం చేసేది మనం మరొక ఫీల్డ్‌ను జతచేయడం, అది వస్తువులో దాఖలు చేసిన మరొకదాన్ని జోడించడం అదృశ్య క్షేత్రం. + ఈ ఫీల్డ్ ఒక పాయింటర్ మరియు అది సూచించేది, ఇది ఫంక్షన్ పాయింటర్ల పట్టికను సూచిస్తుంది మరియు ఈ పట్టికను VFT లేదా వర్చువల్ టేబుల్ అంటారు. + నేను క్లాస్ బిలో ఉన్నాను మరియు నేను కోడ్‌ను చూడటానికి ప్రయత్నిస్తున్నప్పుడు, నాకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది మరియు నాకు వర్చువల్ ఈజ్ ఫంక్షన్ ఉంది. + కాబట్టి నేను ఈ పట్టికలో ఈ పాయింటర్‌ను ఉంచిన వర్చువల్ ఫంక్షన్‌ను ఈ పట్టికలో ఉంచాను. + మరియు ఈ ఫంక్షన్ కోసం నాకు కాల్ వచ్చినప్పుడు, ఈ వర్చువల్ పాయింటర్ ద్వారా, నేను ఇలాంటి కోడ్‌ను ఉత్పత్తి చేయను, నేను ఈ స్టాటిక్ కోడ్‌ను ఉత్పత్తి చేయను. బదులుగా నేను ఈ విధంగా ఒక కోడ్‌ను ఉత్పత్తి చేస్తాను. + ఈ వాక్యనిర్మాణంతో గందరగోళం చెందకండి, ఏమి చెప్పబడుతోంది? పి ఒక పాయింటర్. + కాబట్టి p ఒక పాయింటర్, కాబట్టి p ఇక్కడ సూచిస్తుంది. + పాయింటర్ VFT అంటే ఏమిటి? ఈ పట్టిక కోసం పాయింటర్ VFT వివరించబడింది. + మరియు పాయింటర్ (పాయింటర్) VFT ఈ పట్టికకు సూచించబడితే, అప్పుడు పాయింటర్ (పాయింటర్) VFT 0 ఈ పట్టిక యొక్క 0 వ ప్రవేశం, మరియు ఆ ప్రవేశం ఏమిటి? ఆ ఎంట్రీ ఫంక్షన్ పాయింటర్. + కాబట్టి, p పాయింటర్ VFT 0 పట్టికలో 0 వ ఫంక్షన్ పాయింటర్. + కాబట్టి, మీరు పాయింటర్ గ్రా పొందినప్పుడల్లా, ఈ స్థలంలో ఏ ఫంక్షన్ అయినా మీరు నిజంగా పిలుస్తారు. + కాబట్టి మీరు ఈ ఫంక్షన్‌ను ఎంచుకుని, పారామితులతో కాల్ చేయండి, ఈ పాయింటర్ యొక్క పారామితులు p మరియు అసలు పారామితి విలువ 45. + కంపైలర్ స్టాటిక్ టైమ్ కోడ్‌ను ఉత్పత్తి చేయదు, ఇది వర్చువల్ ఫంక్షన్ అని తెలుసుకోవడం మరియు అది పాయింటర్ ద్వారా ఆరంభించబడిందని తెలుసుకోవడం, పని చేయడం కష్టం వంటివి కోడ్ చేస్తుంది, కానీ కాల్‌ను వర్చువల్ ఫంక్షన్ టేబుల్ ద్వారా ఉంచుతుంది. + అది ఎలా సహాయపడుతుంది? ఇది సహాయపడే మార్గం మీరు ఇప్పుడు దిశలో ఒక స్థాయిని కలిగి ఉన్నారు. + కాబట్టి మీరు ఈ క్లాస్ (క్లాస్ బి) ను క్లాస్ డిగా స్పెషలైజ్ చేసినప్పుడు ఏమి జరుగుతుంది మరియు మీరు ఆ వస్తువు కోసం ఒక వస్తువును నిర్మిస్తారు, ఇందులో వర్చువల్ టేబుల్ ఫంక్షన్ పాయింటర్ కూడా ఉంటుంది. + వర్చువల్ ఫంక్షన్ పట్టికను సూచిస్తూ, ఈ పట్టిక ఇప్పుడు క్లాస్ డికి చెందినది, ఈ పట్టిక క్లాస్ బి. + ఇప్పుడు నేను d తరగతిలో ఏమి చేసాను? క్లాస్ d లో ఈ ఫంక్షన్ (వర్చువల్) ఫంక్షన్ g ఓవర్రైడ్ చేయబడింది, కొత్త నిర్వచనం ఇవ్వబడింది, అది ఇప్పుడు d :: g గా మారింది. + కాబట్టి, మేము స్పెషలైజేషన్‌ను అనుసరించినప్పుడు, ఈ ఫంక్షన్‌ను బి యొక్క వర్చువల్ టేబుల్ నుండి తొలగిస్తాము మరియు ఓవర్రైడింగ్ ద్వారా మనం వ్రాసిన ఫంక్షన్‌ను ఇన్సర్ట్ చేస్తాము అంటే వర్చువల్ ఫంక్షన్ టేబుల్‌లో డి, డి-కొలోన్-కొలోన్ జి కొరకు ఒక ఫంక్షన్ ఉంది. + మరియు ఈ కాల్ కోసం, కంపైలర్ అదే పరోక్ష కోడ్‌ను ఉత్పత్తి చేస్తుంది. + ఇప్పుడు ఏమి జరుగుతుంది? ఇప్పుడే ఆలోచించడం మానేయండి. + ఇది కాల్ మరియు ఇది కంపైలర్ ఉత్పత్తి చేయబడిన ఫంక్షన్. + ఇవి సృష్టించబడుతున్న కాల్‌లు, ఇది స్థిరమైన సమయానికి కారణమవుతుంది. + ఇప్పుడు ఏమి జరుగుతుందంటే, P వాస్తవానికి అబ్ వస్తువుకు సూచించే రెండు దృశ్యాలు ఉన్నాయి. + ఇది ab ఆబ్జెక్ట్‌కు సూచించినట్లయితే, దానికి వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది, అది b యొక్క ఈ వర్చువల్ ఫంక్షన్ టేబుల్‌కు వెళుతుంది. + ఈ ఫంక్షన్ 0 యొక్క 0 వ ఫంక్షన్‌ను ఎంచుకుంటుంది మరియు పిలుస్తుంది, కాబట్టి దీనిని b :: g అంటారు. + P ఇక్కడ ప్రకటన వస్తువును సూచిస్తుంటే, దానికి ప్రత్యేక ఫంక్షన్ పాయింటర్, వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది. + ఆ పాయింటర్ VP పాయింటర్ VFT ను గుర్తించినప్పుడు, ఇది వాస్తవానికి d యొక్క వర్చువల్ ఫంక్షన్ పట్టికను పొందుతుంది. + ఇది ఫంక్షన్ అయిన 0 వ ఫంక్షన్‌ను ఎన్నుకుంటుంది, ఇది ఇప్పుడు d :: g తో జరుగుతుంది ఎందుకంటే ఇది వాస్తవానికి యాడ్ ఆబ్జెక్ట్‌కు సూచిస్తుంది కాబట్టి ఈ పట్టిక భిన్నంగా ఉంటుంది. + అప్పుడు అది పారామితులను దాటి సహజంగా D :: G ని పిలుస్తుంది a. + దీనితో, ఫంక్షన్ పాయింటర్ యొక్క పట్టిక యొక్క సరళమైన విధానం, కాబట్టి దీని నుండి మనం నేర్చుకునేది ఏమిటంటే, ఒక తరగతి పాలిమార్ఫిక్ అయితే ఒక రకం పాలిమార్ఫిక్ అయితే కనీసం ఒక వర్చువల్ (వర్చువల్) ఉంటే అది ఒక ఫంక్షన్, అప్పుడు a ఆ తరగతి కోసం వర్చువల్ (ఫంక్షన్) పట్టిక, ఇది అన్ని వర్చువల్ ఫంక్షన్లను కలిగి ఉంటుంది, అవి ఆ క్రమంలో పట్టికలో ఒకదాని తరువాత ఒకటి జాబితా చేయబడతాయి.ఇవి నిర్వచించబడ్డాయి. + ఇక్కడ మనకు ఒకే ఎంట్రీ ఉంది ఎందుకంటే మనకు ఒకే వర్చువల్ ఫంక్షన్ ఉంది. + ఇంకా ఎక్కువ ఉంటే, ఎక్కువ ఎంట్రీలు ఉంటాయి మరియు క్లాస్ ప్రత్యేకమైనందున కంపైలర్ వర్చువల్ (వర్చువల్) ఫంక్షన్ (ఫంక్షన్) ను క్లాస్ పునర్నిర్వచించటానికి తనిఖీ చేస్తుంది.) అలా చేస్తే ఫంక్షన్ టేబుల్‌లోని సంబంధిత ఎంట్రీని వెర్షన్‌తో భర్తీ చేస్తుంది అది భర్తీ చేస్తుంది. + ఆపై ఎప్పుడూ ప్రత్యక్ష కాల్‌కు బదులుగా కాల్ చేస్తుంది, ఇది ఒక స్టాటిక్ టైప్ కాల్‌గా ఉంటుంది, ఇక్కడ ఇది ఫంక్షన్ ఏమిటో స్పష్టంగా చెబుతుంది, ఇది రన్‌టైమ్‌లో ఫంక్షన్ గురించి నాకు చెబుతుంది. టేబుల్ 0 వ ఫంక్షన్ కాదా అని నాకు తెలియదు మరియు ఏదైనా ఫంక్షన్ (పాయింటర్) మీ ఫంక్షన్. + అందువల్ల, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) పట్టిక వస్తువు యొక్క రకాన్ని బట్టి మారుతుంది, కానీ అదే యంత్రాంగం ద్వారా 0 వ స్థానంలో ఈ ఫంక్షన్ (ఫంక్షన్) కోసం రన్‌టైమ్ ఎంట్రీ తగిన విధంగా ఆధారపడి ఉంటుంది. ఒక ఫంక్షన్ కోసం ఒక పాయింట్ పిలువబడుతుంది తరగతి లేదా ఫంక్షన్‌లో. + ఉత్పన్నమైన తరగతి నేను ఏ రకమైన వస్తువును కలిగి ఉన్నానో దానిపై ఆధారపడి ఉంటుంది మరియు అందువల్ల నేను ఏ రకమైన వర్చువల్ ఫంక్షన్ (టేబుల్) ను సూచిస్తున్నాను. + ప్రాథమిక వర్చువల్ ఫంక్షన్ ఒక పాయింటర్ టేబుల్ సిస్టమ్, దీని ద్వారా మనం పనులు చేయవచ్చు. + ఒక తరగతి వర్చువల్ ఫంక్షన్‌ను నిర్వచించినప్పుడల్లా నేను చెప్పినట్లుగా, ఇక్కడ సూచించే తరగతికి దాచిన సభ్యుల వేరియబుల్ జోడించబడుతుంది. + మరియు రన్‌టైమ్ సమయంలో, దాని ద్వారా పరోక్షంగా ఆహ్వానం సంభవిస్తుంది మరియు దీనిని RTTI అంటారు. + మొత్తం పాలిమార్ఫిక్ సిస్టమ్ యొక్క రన్-టైమ్ రకం సమాచారం అయిన RTTI గురించి మేము మరింత మాట్లాడతాము. + ఇది మరొక ఉదాహరణ, మేము కంపల్సివ్ ప్రాక్టీస్‌గా పరిష్కరించిన ఉదాహరణ కాబట్టి ఇది మీ తదుపరి ఉదాహరణ కోసం అని మీరు ఇక్కడ చూడవచ్చు. + ఇది ప్రధానంగా మీ స్వంత పని చేయడం కోసం, కానీ మాకు క్లాస్ ఎ ఉంది మరియు మనకు క్లాస్ సి ఉందని నిర్దేశించిన దానికంటే క్లాస్ బి కలిగి ఉండటం చాలా నిర్దిష్టంగా ఉంది. + మరియు తరగతి A కి పాలిమార్ఫిక్ ఫంక్షన్ ఉంది, ఇది వర్చువల్ ఫంక్షన్, కాబట్టి సహజంగా మొత్తం సోపానక్రమం పాలిమార్ఫిక్ మరియు అందువల్ల, ఈ సోపానక్రమంలో ఏదైనా తరగతి తరగతిలోని అన్ని వస్తువులపై వర్చువల్ టేబుల్ పాయింటర్ ఉంటుంది. + నేను ఆబ్జెక్ట్ A కలిగి ఉంటే, ఆబ్జెక్ట్ A అని చెప్పండి, అప్పుడు డేటా సభ్యులు (సభ్యులు) ఆసక్తికరంగా ఉండరు కాబట్టి మేము వాటిని జాబితా చేయలేదు, కానీ దీనికి వర్చువల్ ఫంక్షన్ ఉంది (ఫంక్షన్) పట్టిక సూచించే పాయింటర్ అవుతుంది తరగతి A యొక్క VFT మరియు ఎన్ని ఎంట్రీలు ఉంటాయి? వర్చువల్ ఫంక్షన్ f మరియు వర్చువల్ ఫంక్షన్ g ఉంది. + కాబట్టి వర్చువల్ ఫంక్షన్ ఉంది వర్చువల్ ఫంక్షన్ g. + కానీ అది B లో నైపుణ్యం పొందినప్పుడు మీరు H కి వర్చువల్ టాస్క్ కూడా చేసారు. + అప్పుడు ఏమి జరుగుతుంది? స్థానం రెండవ స్థానానికి మూడవ ఫంక్షన్ (ఫంక్షన్) జోడించబడుతుంది. + మరియు 0 మరియు 1 కి ఏమి జరుగుతుంది? F ను A గా నిర్వచించారు మరియు ఇది B పైన ఉన్న తల పేరు. + కాబట్టి, f కొరకు 0 వ ఎంట్రీ దాచబడింది. + ఇప్పుడు, పెద్దప్రేగు-పెద్దప్రేగు f కి బదులుగా మీకు b :: f ఉంది. + G కూడా వర్చువల్ ఫంక్షన్‌గా నిర్వచించబడింది, ఎందుకంటే ఇది స్థానం A లో నివసిస్తుంది, కాని క్లాస్ B G ని ఓవర్రైట్ చేయదు. + అందువల్ల, మీరు వారసత్వంగా పొందినప్పుడు, మీరు ఫంక్షన్ నంబర్ వన్ వలె అదే :: g ను పొందుతారు. + మరియు h మీరు దీన్ని వర్చువల్ ఫంక్షన్ చేసారు, కాబట్టి వర్చువల్ ఫంక్షన్ టేబుల్ అదనపు ఫంక్షన్ పాయింటర్‌తో కలుస్తుంది. + మీరు చేసిన సి ఆబ్జెక్ట్‌కు వచ్చినప్పుడు మీరు జి. + కాబట్టి, మీకు లభించేది, మీరు F తో ఏమీ చేయలేదు, కాబట్టి F కేవలం వారసత్వంగా వచ్చింది. + కాబట్టి మీకు 0 వ ఎంట్రీలో బి :: ఎఫ్ వచ్చింది, ఇది బి-కొలోన్-కొలోన్ ఎఫ్. + కానీ ఈ ఎంట్రీ సంఖ్య ఒక :: g, కానీ ఇప్పుడు మీరు వ్రాశారు, కాబట్టి ఇది సి-కోలన్-కోలన్ గ్రాతో వ్రాయబడింది. + ప్రవేశ సంఖ్య రెండు B ::. + క్లాస్ B లో, ఇక్కడ వ్రాయబడిన H ఫంక్షన్, కాబట్టి మీరు C :: H ను పొందుతారు, ఇది వర్చువల్ టేబుల్ ఎలా పెరుగుతుంది మరియు ఇది ప్రాథమికంగా మీకు తెలియజేస్తుంది ఈ సోపానక్రమం వర్చువల్ అయిన తర్వాత, వర్చువల్ అలాగే ఉండాలి ఎందుకంటే ఒకసారి కంపైలర్ సృష్టించాలని నిర్ణయించుకున్నప్పుడు మరియు ఈ కోడ్ యొక్క సంకలన సంస్కరణ ఏమిటో ఇక్కడ చూపించాను + కాబట్టి ఇది వర్చువల్ ఫంక్షన్ టేబుల్ ఎంట్రీ 0 కి వెళుతుందని మీరు చెప్పవచ్చు, కానీ టేబుల్ ఎంట్రీ 1 కి వెళుతుంది, కాని నేను స్టాటిక్ బైండింగ్ కలిగి ఉంటే నేను పాయింటర్ చేస్తాను, స్పష్టమైన ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తుంది ఎందుకంటే ఈ ఫంక్షన్ (ఫంక్షన్) వర్చువల్ కానిది . + నేను పిబితో దీన్ని చేసినప్పుడు, అది క్లాస్ బి రకానికి చూపబడుతుంది, అప్పుడు వారు దానిని వర్చువల్ ఫంక్షన్ టేబుల్ ద్వారా బయటకు తీసుకువస్తారు ఎందుకంటే ఇక్కడ క్లాస్ బి లో వర్చువల్) ఫంక్షన్ జరుగుతుంది. + కాబట్టి దయచేసి దానిపై పని చేయండి, దయచేసి ఈ నిర్మాణాన్ని చాలా జాగ్రత్తగా అర్థం చేసుకోవడానికి ప్రయత్నించండి మరియు ఈ మూల వ్యక్తీకరణ ద్వారా మరియు మీరు ఎక్కడ స్టాటిక్ బైండింగ్ మరియు మీకు డైనమిక్ బైండింగ్ ఉన్న సంకలనం చేసిన వ్యక్తీకరణకు వ్యతిరేకంగా పని చేయండి, తద్వారా మీరు కూడా అర్థం చేసుకుంటారు. + సి లో ఫంక్షన్ పాయింటర్లను ఉపయోగించే ఉద్యోగుల జీతం అనువర్తనాల కోసం దాని ప్రయోజనాలు మరియు వినూత్న పరిష్కారాలను సంగ్రహించడానికి, వర్చువల్ ఫంక్షన్ (ఫంక్షన్) పాయింటర్ పట్టికలను ఉపయోగించి వర్చువల్ ఫంక్షన్లు ఎలా అమలు చేయబడుతున్నాయో చెప్పడానికి మేము పునాది వేసాము. + దయచేసి దీన్ని మరింత స్పష్టంగా అర్థం చేసుకోవడానికి ప్రయత్నించండి, తద్వారా డైనమిక్ ట్రాన్స్మిషన్ గురించి ఏదైనా గందరగోళం మీ మనస్సులో స్పష్టంగా కనిపిస్తుంది. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/44. ProgramminginCplusplus_Const-ness (Contd.) (Lecture 30)-_8-su7gHFvo.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/44. ProgramminginCplusplus_Const-ness (Contd.) (Lecture 30)-_8-su7gHFvo.txt index d53e6b8e6d7e736832c213205602e8f991c11a6a..782f9522aaf9db59893395d23d83ebd2a69ce5be 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/44. ProgramminginCplusplus_Const-ness (Contd.) (Lecture 30)-_8-su7gHFvo.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/44. ProgramminginCplusplus_Const-ness (Contd.) (Lecture 30)-_8-su7gHFvo.txt @@ -1,71 +1,71 @@ - 1. C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 15 కు స్వాగతం. - 2. మేము కాన్స్ట్-నెస్ గురించి చర్చిస్తున్నాము, మేము నిరంతర వస్తువులను ప్రవేశపెట్టాము; స్టాటిక్ ఆబ్జెక్ట్ యొక్క ఈ పాయింటర్ దాని రకానికి ఎలా మారుతుందో మేము చూశాము ఎందుకంటే ఇది ఇప్పుడు స్థిరమైన వస్తువును సూచించే నిరంతర పాయింటర్ అవుతుంది. - 3. మేము ఒక సాధారణ లేదా స్థిర-కాని సభ్యుల ఫంక్షన్‌ను ప్రారంభించలేమని ఒక స్టాటిక్ ఆబ్జెక్ట్‌తో చూశాము మరియు నిరంతర సభ్యుల ఫంక్షన్ యొక్క భావనను ప్రవేశపెట్టాము, దీనిలో ఈ రకమైన పాయింటర్ (పాయింటర్)), ఇది స్టాటిక్ కు స్థిరమైన పాయింటర్ ఆబ్జెక్ట్ మరియు స్థిరమైన సభ్యుల ఫంక్షన్‌ను ఉపయోగించి మనం చూశాము, స్థిరమైన వస్తువును ఎలా రక్షించగలం మరియు ఇప్పటికీ డేటా (డేటా) సభ్యుల విలువను చదవడానికి లేదా యాక్సెస్ చేయడానికి సభ్యుల ఫంక్షన్‌ను ఆహ్వానించగలదు మరియు ఒక తరగతిలో ఉన్నప్పుడు, సభ్యుల ఫంక్షన్ ఏ వస్తువును మార్చడం లేదు, కనుక ఇది స్థిరంగా ఉండాలి. - 4. వాస్తవానికి, ఒక సభ్యుడు ఫంక్షన్ యొక్క కొంత భాగాన్ని మార్చాలనుకుంటే, అప్పుడు డేటా సభ్యులలో ఎవరూ అది కాన్స్ట్ మెంబర్ ఫంక్షన్ కాకూడదు మరియు తప్పనిసరిగా మీకు లోపం ఇస్తుంది; సహజంగానే, ఆ సభ్యుల విధులు const వస్తువులతో ప్రారంభించబడవు. - 5. స్థిరమైన డేటా సభ్యుడిని ఉపయోగించి వస్తువు యొక్క భాగాన్ని ఎంపిక చేసుకోవచ్చని కూడా మేము చూశాము మరియు కాన్స్ట్ డేటా సభ్యులను ఏ సభ్యుల ఫంక్షన్ ద్వారా భర్తీ చేయలేమని మరియు వాటిని ప్రారంభించాల్సిన అవసరం ఉందని మేము చూశాము, వారు ఆ సమయంలో ప్రారంభించాలి క్రెడిట్ కార్డ్ యొక్క సృష్టి మరియు ఉదాహరణ, క్లాస్ ఎడిషన్‌ను రూపొందించడానికి కాన్స్ట్ (కాన్స్ట్) డేటా సభ్యులను ఎలా ఉపయోగించవచ్చో మేము చూపించాము, ఇక్కడ తెలిసిన సవరించగలిగే డేటా, వారు సాధారణ డేటా లేదా సూచించిన రకం డేటా అయినా ఉపయోగించవచ్చు. అప్లికేషన్ ఏదైనా నుండి రక్షించబడుతుంది మార్పులు. - 6. ఇప్పుడు మనం ముందుకు వెళ్లి మరొక ఫీచర్ గురించి మాట్లాడుతాము, ఇది మ్యూటబుల్ డేటా మెంబర్ అని పిలువబడే మరొక సెలెక్టివ్ కాన్-నెస్ ఫీచర్. - 7. మ్యూటబుల్ - మ్యూటబుల్ అనే భావన కాన్-నెస్ అనే భావనతో దగ్గరి సంబంధం కలిగి ఉంటుంది. - 8. నిరంతర డేటా సభ్యుడు వేరియబుల్ కాదని మనకు తెలుసు, వస్తువు స్థిరంగా లేనప్పుడు కూడా ఇది మేము నేర్చుకున్నాము. - 9. మరోవైపు, స్థూల డేటా సభ్యుడు వేరియబుల్ వస్తువు. - 10. కాబట్టి, వేరియబుల్ కాని స్టాటిక్ ఆబ్జెక్ట్ ఆ స్థిరమైన వస్తువులో ఏమీ మార్చబడదు, కాని నేను క్లాస్ యొక్క డేటా సభ్యుడిని వేరియబుల్ గా నిర్వచించినట్లయితే, ఆ తరగతి యొక్క వస్తువు స్థిరంగా ఉండాలని నిర్వచించినప్పుడు కూడా నిర్దిష్ట డేటా సభ్యుడిని మార్చవచ్చు మరియు పేరు మ్యుటేషన్ యొక్క మూలం. మీకు తెలిసినట్లుగా మ్యుటేషన్ అంటే మార్పు, కాబట్టి వేరియబుల్ అంటే వేరియబుల్ డేటా (డేటా) ఒక సభ్యుడు. - 11. ఇప్పుడు, పరస్పర డేటా సభ్యులు ఎందుకు ఉన్నారనే దానిపై ఒక ముఖ్యమైన కారణం మరియు నిర్దిష్ట ఉద్దేశ్యం ఉంది. - 12. ఒక మ్యూటబుల్ కీ పదం అందించబడింది లేదా సి ++ యొక్క బిట్‌వైస్ కాన్-నెస్‌కు వ్యతిరేకంగా తార్కిక కాన్-నెస్‌కు మద్దతు ఇవ్వడానికి మ్యూట్ ఫీచర్ అందించబడుతుంది, అంటే నేను వస్తువును కాన్స్టాంట్‌గా ప్రకటిస్తున్నాను; ఈ వస్తువు స్థిరంగా ఉంటే నేను దానిలో ఏమీ మార్చలేనని చెప్తున్నాను. - 13. అందులో ఏమీ మార్చలేకపోతే; దీని అర్థం, ప్రారంభించిన సమయంలో ఒక నిర్దిష్ట వస్తువుకు ఏ నమూనా లభించినా, ఆ బిట్ నమూనాలో ఎటువంటి మార్పు ఎప్పుడూ సాధ్యం కాదు, కానీ తరచూ దానితో పనిచేయడం కొంచెం కష్టమవుతుంది, నాకు ఒక భావన ఉంది నిరంతరాయంగా , కానీ దాని అమలుకు అదనపు ఫీల్డ్‌లు, అదనపు పారామితులు, నిజంగా స్థిరంగా లేని అదనపు డేటా సభ్యులు అవసరం కావచ్చు, కాబట్టి మేము దానిని పరిశీలిస్తాము. - 14. ఈ సమయంలో, డేటా సభ్యుల విషయంలో మాత్రమే పరివర్తనం చెందుతుందని మీరు గమనించవచ్చు, మీకు మరొక సాధారణ వేరియబుల్ ఉంటే, మీరు దానిని వేరియబుల్ గా ప్రకటించలేరు మరియు ఏదైనా రిఫరెన్స్ డేటా (డేటా) స్టాటిక్. డేటా సభ్యుడు వాస్తవానికి మీరు ఇంకా స్టాటిక్ చేయలేదు డేటా సభ్యుడు, మేము తదుపరి మాడ్యూల్ గురించి మాట్లాడుతాము లేదా స్థిరమైన డేటా సభ్యులను పరివర్తనం చెందినట్లు ప్రకటించవచ్చు. - 15. అతి ముఖ్యమైన భాగం ఏమిటంటే, డేటా సభ్యుడు పరివర్తన చెందినట్లు ప్రకటించబడితే, దానిని నిరంతర సభ్యుల ఫంక్షన్‌గా మార్చడం చట్టబద్ధం. - 16. స్థిరమైన సభ్యుల ఫంక్షన్ ఏ డేటా సభ్యుడిని మార్చలేమని మేము చూశాము, కాని డేటా సభ్యుడు వేరియబుల్ అయితే, అది ఇప్పటికీ దానిని మార్చగలదు, ఎందుకంటే మీరు చెబుతున్నది వేరియబుల్ అంటే విషయాలు స్థిరంగా ఉన్నప్పుడు కూడా మార్చవచ్చు. - 17. కాబట్టి, ఒక ఉదాహరణ చూద్దాం. - 18. కాబట్టి, ఇక్కడ నేను ఒక డేటా సభ్యుడిని పరిచయం చేసాను, ఇది వేరియబుల్, కాబట్టి మీరు మాక్రోను వ్రాస్తున్నట్లుగా వాక్యనిర్మాణాన్ని పోలి ఉండేలా వ్రాస్తారు మరియు అప్పుడు మనకు స్థిరమైన వస్తువు (ఆబ్జెక్ట్) ఉంది) ప్రకటించింది, ఇప్పుడు మనకు ఒక పద్ధతి ఉంది, మనకు ఉంది నిర్వచించిన పద్ధతి. - 19. ఇప్పుడు మేము నాన్ మ్యూటబుల్ కు సెట్టింగ్ భిన్నంగా ఉంటుంది, గేట్ ఒక కాన్స్ట్ మెంబర్ ఫంక్షన్, సెట్ ఒక కాని కాన్స్ట్ మెంబర్ ఫంక్షన్. - 20. కాబట్టి, దీని అర్థం ఏమిటంటే, నా కాన్స్ట్ ఆబ్జెక్ట్ ఉంటే, నేను దాన్ని పొందగలను, నేను దానిని సెట్ చేయలేను ఎందుకంటే స్థిరమైన వస్తువు నాన్-స్టాటిక్ సభ్యుడిని ప్రారంభించదు. - 21. ఇప్పుడు మార్చగల భాగాన్ని చూడండి, ఇక్కడ ఈ రెండు సభ్యుల విధులు కాన్స్టాంట్‌గా ప్రకటించబడ్డాయి, కాబట్టి ఈ రెండింటినీ స్టాటిక్ ఆబ్జెక్ట్ ద్వారా ప్రారంభించవచ్చు. - 22. ఇప్పుడు ఈ ఫంక్షన్; సెట్ ఫంక్షన్ సభ్యుడిని మార్చడానికి ప్రయత్నిస్తుంది, ఈ ప్రత్యేక సభ్యుడు మ్యుటబుల్ కాకపోతే, ఇది సంకలన లోపం, అది సాధ్యం కాదు, కానీ ఈ సభ్యుడు, డేటా సభ్యుడు వేరియబుల్ కాబట్టి, మార్పు అవసరం . - 23. అందువల్ల, ఇది కాన్స్ట్ మెంబర్ ఫంక్షన్ అయినప్పటికీ, ఇది డేటా సభ్యుడిని సవరించగలదు, ఇది మ్యూటబుల్ డేటా సభ్యునిగా ఉండటానికి ప్రాథమిక ఫలితం, కాబట్టి ఇది లక్షణం యొక్క ప్రాథమిక ప్రవర్తన. - 24. ఇప్పుడు దానిని ఎలా ఉపయోగించాలో, ఎలా ఉపయోగించాలో ఉపయోగించడానికి ప్రయత్నించండి. - 25. కాబట్టి, స్థిరమైన వస్తువు యొక్క బిట్‌లను ఏమీ మార్చలేమని నేను సి ++ మోడల్‌లో సున్నితమైన బిట్ స్థిరాంకానికి చెబుతున్నప్పుడు, కానీ చాలా ముఖ్యమైనది ఏమిటంటే నాకు ఒక కాన్సెప్ట్ ఉంది. ఇది తార్కికంగా స్థిరంగా ఉంది, నేను మోడల్ చేయడానికి ప్రయత్నిస్తున్నాను కొన్ని స్థిర, భావన. - 26. అందువల్ల, ఇది కొంతమంది డేటా సభ్యుల పరంగా వివరించబడింది, కానీ నేను కొన్ని లెక్కలు చేయాలనుకున్నప్పుడు; అదే తరగతిలో నాకు మరికొన్ని డేటా సభ్యులు కావాలి, నేను లెక్కకు మద్దతు ఇస్తున్నాను. - 27. ఇప్పుడు నేను వస్తువును స్థిరంగా చేస్తే, అన్ని బిట్స్ నిరంతరంగా ఉన్నందున అవి ఖచ్చితంగా అన్నింటినీ మార్చలేవు, అంటే కేవలం గణనకు మద్దతు ఇస్తున్న వేరియబుల్ సర్రోగేట్ డేటా సభ్యులు అని పిలవబడేవారు కూడా కాదు కాబట్టి నేను వ్రాయలేను కోడ్. - 28. ఈ సమస్య చుట్టూ పనిచేయడానికి మ్యూటబుల్ అందించబడింది, కాబట్టి మ్యూటబుల్‌ను ఉపయోగించడం లేదా సమర్థవంతంగా ఉపయోగించడం, మేము ప్రాథమికంగా ఉపయోగిస్తాము; దయచేసి ఈ రెండు అంశాలను గుర్తుంచుకోవడానికి ప్రయత్నించండి, మేము ఉపయోగించడానికి ప్రయత్నిస్తాము; తార్కికంగా స్థిరమైన భావన కోసం చూడండి, ఇది ప్రోగ్రామింగ్ ముగింపు కోసం మాత్రమే కాదు. తార్కికంగా స్థిరంగా ఉండే ఒక భావన ఉండాలి మరియు ఆ భావనను అమలు చేయడానికి, మాకు కొంతమంది డేటా సభ్యులు కావాలి. ఆ భావనకు దూరంగా ఉండాలి, మాత్రమే వ్రాయబడుతుంది అవసరమైన గణన, ఇది చాలా స్పష్టంగా అనిపించదని నేను ఖచ్చితంగా అనుకుంటున్నాను, కాబట్టి నేను ఒక ఉదాహరణ తీసుకోవాలి. - 29. మేము తరువాత టాప్ నోట్స్ చదువుతాము; మొదట మనం ఏమి చేస్తున్నామో అర్థం చేసుకుందాం. - 30. మేము తరగతి గణిత వస్తువును నిర్వచిస్తున్నాము మరియు అలా చేయాలనేది నా ఉద్దేశం. - 31. ఈ నమూనా విషయంలో, నా ఉద్దేశ్యం మఠం వస్తువు, నేను స్టాటిక్ ఆబ్జెక్ట్ ఇవ్వాలి, ఇది పై, మనందరికీ పై 3.14159 తెలుసు. - 32. కాబట్టి, నాకు కావలసినది ఏమిటంటే, నేను ఒక వస్తువును సృష్టించినప్పుడల్లా నేను ఈ తరగతి యొక్క స్టాటిక్ ఆబ్జెక్ట్‌ని సృష్టిస్తాను, నేను స్టాటిక్ కాని వస్తువును సృష్టించను. - 33. అందువల్ల, నేను దానిని నిర్మిస్తాను మరియు నేను ఈ పద్ధతిని పై (పై) ను వర్తింపజేస్తే, అది నాకు పై (పై) విలువను ఇవ్వాలి. - 34. ఇప్పుడు మనం పై విలువను ఎందుకు పొందాలి, పై (పై) ఒక అతీంద్రియ సంఖ్య అని మీకు తెలిసిన అల్గోరిథం, కాబట్టి నేను దానిని అణిచివేయలేను, ఇది ఉజ్జాయింపు. పొడవైన గొలుసు, పొడవాటి తోక ఉంది ఉజ్జాయింపు. - 35. కాబట్టి, ఒక అల్గోరిథం వలె, PI ను లెక్కించడానికి మంచి అల్గోరిథంలు ఉన్నాయని నేను నిరూపించాను, కానీ ఇది చాలా నెమ్మదిగా అల్గోరిథంతో జరుగుతుంది. - 36. అందువల్ల, నేను ఈ మో డాట్ పిని ప్రారంభిస్తే; మో అనేది ఒక వస్తువు, కాబట్టి నేను మో డాట్ పై (పై) చేస్తే దాన్ని స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలుస్తారు. దీనిని స్టాటిక్ ఆబ్జెక్ట్ అని పిలుస్తారు, ఈ అల్గోరిథం అమలు చేస్తుంది మరియు నాకు పై విలువను ఇస్తుంది. - 37. ఇప్పుడు, ఇది చాలా నెమ్మదిగా ఉన్నందున, ఇది చాలా నెమ్మదిగా ఉంటుంది, నేను కొన్ని కాషింగ్ చేయాలనుకుంటున్నాను, అంటే పై (పై) స్థిరంగా ఉందని నాకు తెలుసు; భావన స్థిరంగా ఉంటుంది. - 38. కాబట్టి, నేను ఒకసారి లెక్కించినట్లయితే, రెండవసారి నేను లెక్కించినప్పుడు నాకు అదే విలువ లభిస్తుంది, అందుకే నేను మళ్ళీ ఎందుకు లెక్కించాలి, కాబట్టి నేను దానిని లెక్కించాను లేదా నేను లెక్కించలేదా అని గుర్తుంచుకోవాలి. - 39. అందువల్ల, నేను దానిని మొదటిసారి లెక్కించినప్పుడు, తదుపరిసారి నేను అదే లెక్కించిన విలువను ఉపయోగించాలి, కాబట్టి నేను అందులో ఇద్దరు డేటా సభ్యులను ఉపయోగిస్తాను, ఒకటి పై (పై) విలువ; ప్రారంభంలో నాకు తెలియని విలువ, నేను దానిని కన్స్ట్రక్టర్‌లో ఉంచలేను ఎందుకంటే విలువ ఏమిటో నాకు తెలియదు, దానిని లెక్కించాలి. - 40. ఎవరైనా పై (పై) విలువను ఉపయోగించాలనుకుంటే తప్ప నేను ఆ గణన చేయను ఎందుకంటే నేను చెప్పినట్లుగా చాలా సమయం పడుతుంది మరియు పై (పి) ను మొదటిసారి ఉపయోగించినప్పుడు ఈ సభ్యుల ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు. - 41. ఇప్పుడు, నేను మరొక డేటా సభ్యుడు పై కాష్‌ను నిర్వహిస్తున్నాను, ఇది బూల్ ఫ్లాగ్, ఇది పై (పై) లెక్కించబడిందా లేదా లెక్కించబడలేదా అని గుర్తుంచుకుంటుంది. - 42. అందువల్ల, ఆ జెండా మొదట్లో వస్తువు యొక్క కన్స్ట్రక్టర్‌లో తప్పుగా సెట్ చేయబడింది, కనుక ఇది లెక్కించబడలేదని చెబుతుంది. - 43. కాబట్టి, ఇప్పుడు నేను పై (పై) అని పిలిస్తే, ఈ చెక్ పై (పై) లెక్కించబడదని చెబుతుంది, ఇది పూర్తి గణన అవుతుంది, డేటా (డేటా) సభ్యుడు పై (పై) లో విలువ నవీకరించబడుతుంది మరియు వెంటనే నేను పునరావృతం పూర్తి చేస్తాను, నేను బయటకు వచ్చి p కాష్‌ను నిజం అని జోడిస్తాను. - 44. అందువల్ల, భవిష్యత్తులో ఎప్పుడు అది డేటా సభ్యుడు పి; సభ్యుల ఫంక్షన్ (పై) ను మళ్ళీ పిలిచినప్పుడు, అది నిజం అవుతుంది.అందువల్ల, ఇది పూర్తిగా దాటవేయబడుతుంది మరియు నేను చేయగలను; ఇది అవుతుంది, ఇది అందుకున్న ఫంక్షన్ లాగా ప్రవర్తిస్తుంది, ఇది కేవలం పై అవుతుంది, కాబట్టి ఇది ఒక్కసారి మాత్రమే అమలు చేయబడిందని మరియు అనేకసార్లు ఉపయోగించబడుతుందని నిర్ధారిస్తుంది. - 45. కాబట్టి మీరు దీన్ని ఎలా చేయగలరో చూద్దాం, మనకు అవసరమైన మొదటి విషయం ఏమిటంటే, ఈ వస్తువు స్థిరంగా ఉండాలి అని చెప్పాలి ఎందుకంటే పై (పై) స్థిరంగా ఉండకూడదు. - 46. కాబట్టి నిరంతర భావన పై, కాబట్టి అది నా ప్రాథమిక అవసరం, ఇది నిరంతరంగా ఉండాలి. - 47. ఇప్పుడు అది స్థిరంగా ఉంటే, ఈ ఇద్దరు డేటా సభ్యుల నుండి ఈ డేటా సభ్యులను మార్చలేరు; ఉదాహరణకు, కాష్ చేసిన డేటా సభ్యుడు కాష్ చేసిన డేటా సభ్యుల భావనలో భాగం కాదని ఈ డేటా సభ్యులు పేర్కొన్నారు. - 48. పై యొక్క విలువను గుర్తించడం నిరంతర భావన కాదు. భావన యొక్క కొనసాగింపు పై (పై) విలువలో ఉంటుంది. - 49. కాబట్టి, పై (పై) కాష్ అవసరం ఎందుకంటే నేను లెక్కించాలనుకుంటున్నాను, ఇది పై (పై); విలువను సవరించాల్సిన అవసరం ఉంది, ఎందుకంటే నేను ప్రారంభించేటప్పుడు ఆ విలువ ఏమిటో నాకు తెలియదు. - 50. కాబట్టి, ఈ డేటా సభ్యులు ప్రాథమికంగా భావన అమలుకు మద్దతు ఇస్తున్నారు, కాబట్టి మీరు తీసుకుంటే; నాకు స్థిరమైన వస్తువు ఉంటుంది అప్పుడు మో; మో తప్పు అవుతుంది మరియు తక్కువ తెలివితేటలు స్థిరంగా మారినవి ఏమీ మార్చబడవు, కాబట్టి ఈ మొత్తం వ్యూహం పనిచేయదు. - 51. అందువల్ల, నేను ఈ ఇద్దరు డేటా సభ్యులను మార్చాను (సమయం చూడండి: 14:12). వస్తువు స్థిరంగా ఉన్నప్పటికీ, భావన స్థిరంగా ఉంటుంది, కానీ అమలులో నాకు కొంతమంది డేటా సభ్యులు కావాలి, అవి నిరంతరం ఉండవలసిన అవసరం లేదు మరియు ఇది కలిగి ఉండాలి కాన్స్టెన్స్ యొక్క భావాన్ని లాజికల్ కాన్-నెస్ అంటారు. - 52. కాబట్టి, మీరు బిట్ నమూనాను చూస్తే; బిట్ సరళి మారుతోంది, కానీ మీరు ప్రాతినిధ్యం వహించాలనుకున్నది పై యొక్క ప్రాథమిక భావన, ఇది స్థిరంగా సంరక్షించబడుతుంది. - 53. కాబట్టి, ఈ పద్ధతిలో మ్యుటేషన్ చాలా నిర్దిష్టమైన ఉద్దేశ్యాన్ని కలిగి ఉంది మరియు నా జ్ఞానం మేరకు ఒక నిర్దిష్ట కేసు, బహుశా పరివర్తన చెందిన ఏకైక సందర్భం. - 54. కాబట్టి, ఇప్పుడు, మీరు ప్రారంభ వ్యాఖ్యలను చదవవచ్చు, ఇది ఒక తరగతి స్థిరమైన భావనను సూచించినప్పుడు సాధారణంగా ఉపయోగించబడుతుంది మరియు ఇది మొదట విలువను లెక్కిస్తుంది మరియు భవిష్యత్తు ఉపయోగం కోసం ఫలితాన్ని క్యాష్ చేస్తుంది. - 55. కాబట్టి, వేరియబుల్‌పై చర్చను పూర్తి చేయడానికి, ఎప్పుడు మ్యూటబుల్ ఉపయోగించకూడదో నేను ఒక ఉదాహరణను ప్రదర్శించాలనుకుంటున్నాను, ఎందుకంటే ఇది చాలా సుష్ట భావన అని మీకు తెలుసు. - 56. నేను స్థిరమైన వస్తువులో డేటా సభ్యులను స్థిరంగా చేయగలను మరియు చాలా సుష్ట భావన అయిన స్టాటిక్ ఆబ్జెక్ట్‌లో డేటా సభ్యులను స్థిరంగా చేయగలను. - 57. అందువల్ల, విద్యార్థులు వాటిని పరిపూరకరమైన భావనకు సమానంగా ఉపయోగించడంలో తప్పు చేస్తున్నారని నేను తరచుగా గమనించాను, కాని ఇది నిజం కాదు. - 58. అందువల్ల, నేను ఉద్యోగి తరగతి, ఉద్యోగి పేరు, ఐడి మరియు జీతం యొక్క ఉదాహరణను చూపించవలసి ఉంది. - 59. కాబట్టి, నేను సరే అని చెప్తున్నాను, ఉద్యోగులు ఒకసారి సృష్టించారు. ఇది ఉద్యోగుల మార్పు సాధ్యం కాని సంస్థ అని చెప్పండి, కాబట్టి ఒకసారి ఉద్యోగులు స్థిరమైన వస్తువుగా ఉంటే, వారు మారరు. వెళ్ళవచ్చు. - 60. అందువల్ల, మేము ఉద్యోగిని వ్రాసే అప్లికేషన్ స్థిరంగా ఉంటుంది, కానీ ఉద్యోగుల జీతం మారుతుంది, ఉద్యోగులకు పదోన్నతి అవసరం, వారికి పదోన్నతి అవసరం, అప్పుడు వారికి మంచి జీతం లభిస్తుంది మరియు ఉద్యోగి నిరంతరాయంగా ఉంటే, అది కాదు జాన్ నిరంతరాయంగా ఉంటే సాధ్యమవుతుంది, కాబట్టి నేను దానిని నిరంతర సభ్యుల పనిగా చేస్తాను. - 61. ఇది నిరంతర సభ్యుల ఫంక్షన్ అయితే, అది కూడా లోపం ఎందుకంటే నిరంతర సభ్యుల ఫంక్షన్ డేటా సభ్యుడిని మార్చదు; కాబట్టి పని చేయడానికి నేను మ్యూటబుల్ ఉంచుతాను, ఈ కోడ్ కంపైల్ చేయబడుతుంది, ఈ కోడ్ రన్ అవుతుంది, ఈ కోడ్ ఫలితాలను ఇస్తుంది, సి ++ (సింటాక్స్) యొక్క వాక్యనిర్మాణానికి సంబంధించినంతవరకు ఏమీ తప్పు లేదు, కానీ ఇప్పటివరకు డిజైన్, కాన్సెప్ట్ చేర్చబడింది లేదా ఇతరులు ఇప్పటివరకు ఆ కోడ్ నుండి ఏమి అర్థం చేసుకుంటారు, ఇది ఒక విపత్తు. - 62. ఇది నిరంతర భావనలను ప్రత్యేకంగా మోడల్ చేయడానికి పరిచయం చేయబడినందున ఇది విపత్తు, ఉద్యోగులు నిరంతర భావనలు కాకూడదు, అవి నిరంతర భావనలు అయితే వారి జీతం కూడా నిరంతరంగా ఉంటుంది, జీతం కూడా ఉంటుంది. వేరియబుల్ కాకూడదు ఎందుకంటే ఇది ఒక భాగం మరియు భాగం ఉద్యోగి. - 63. అందువల్ల, ఉద్యోగులు నిరంతరాయంగా ఉండనవసరం లేనందున వాటిని స్థిరంగా లేనివిగా చేస్తారని మేము ఇంతకుముందు చూపించినట్లుగా దీనిని మోడల్ చేయాలి; అవి సంభావితంగా స్థిరంగా ఉండవు, కానీ పేరు మరియు ఐడి అయిన ఉద్యోగి కోసం మార్చలేని డేటా సభ్యులను స్థిరంగా చేయండి మరియు వేరియబుల్ డేటా సభ్యుడు స్టాటిక్ కాని డేటా సభ్యుడు. మీరు దీన్ని సాధారణంగా ప్రోత్సహించే విధంగా సృష్టించండి, బూస్ట్ ఇకపై నిరంతర సభ్యుల పని కాదు మరియు అందువల్ల అవసరమైన విధంగా జీతం మార్పులు చేయవచ్చు. - 64. అందువల్ల, మీరు ఈ రెండు భాగాల రూపకల్పనను జాగ్రత్తగా అధ్యయనం చేస్తే; సంబంధిత భాగాలు మరియు సంబంధిత ఉపయోగం రెండూ కోడ్ వారీగా పని చేస్తాయి, కాని కాన్సెప్ట్ వారీగా ఇది సరికాని డిజైన్, ఇది చేయకూడదు మరియు సాధారణ తరగతిని రూపొందించడానికి ఇది సరైన మార్గం, మీకు నిరంతర భావనలు ఉంటే మాత్రమే. మీరు చూపించాలనుకుంటే ఇది సహజ స్థిరాంకం లేదా ఇతర రకాల నిరంతర భావనలు అయినా, మీరు వాటిని సవరించగలిగేలా చేయడానికి మీ అమలు రకం డేటా సభ్యులలో ఒకదాన్ని ఉపయోగించాలి. - 65. కాబట్టి, దీనితో మనం ప్రస్తుత మాడ్యూల్ చివరికి వస్తాము. - 66. ఇక్కడ మేము C ++ లో Const-ness ను అధ్యయనం చేసాము, C ++ లో మేము Const-ness యొక్క మూడు రూపాలను చూశాము, ఆబ్జెక్ట్ పూర్తిగా స్థిరంగా ఉంటుంది మరియు వస్తువు స్థిరంగా ఉంటే, అది నిరంతర సభ్యుల విధులను మాత్రమే అమలు చేయగలదు. - 67. అందువల్ల, స్థిరమైన సభ్యుల ఫంక్షన్లు వస్తువును మార్చలేవని మేము చూశాము, కాని స్థిరమైన వస్తువు (ఆబ్జెక్ట్) కూడా స్థిరమైన సభ్యుల ఫంక్షన్లను ప్రారంభించగలదు మరియు మేము ఉద్యోగి యొక్క ID వంటి వస్తువును ఎంచుకుంటే మీరు చేయాలనుకుంటే, అతను ఒక విద్యార్థి యొక్క రోల్ సంఖ్య. - 68. ; అప్పుడు మేము సంబంధిత డేటా సభ్యుని సభ్యుడిని స్థిరంగా చేయవచ్చు, తరువాత నిరంతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) లేదా నాన్-స్టేషనరీ మెంబర్ ఫంక్షన్ (ఫంక్షన్), వాటిలో ఏవీ స్థిరమైన డేటా సభ్యుడిని మార్చలేవు. - 69. సి ++ డిఫాల్ట్‌గా కాస్ట్ వాడకంలో బిట్ వారీగా ఉండే కాన్-నెస్‌కు మద్దతు ఇస్తుందని మేము చూశాము, కాని తార్కిక కాన్-నెస్ సాధించడానికి ఒక పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించడం సాధ్యమవుతుంది, ఇది మనకు తార్కికంగా స్థిరమైన కాన్-నెస్ భావనను కలిగి ఉంటుంది మేము C ++ లోని పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించి కోడ్ చేయవచ్చు. - 70. + C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 15 కు స్వాగతం. + మేము కాన్స్ట్-నెస్ గురించి చర్చిస్తున్నాము, మేము నిరంతర వస్తువులను ప్రవేశపెట్టాము; స్టాటిక్ ఆబ్జెక్ట్ యొక్క ఈ పాయింటర్ దాని రకానికి ఎలా మారుతుందో మేము చూశాము ఎందుకంటే ఇది ఇప్పుడు స్థిరమైన వస్తువును సూచించే నిరంతర పాయింటర్ అవుతుంది. + మేము ఒక సాధారణ లేదా స్థిర-కాని సభ్యుల ఫంక్షన్‌ను ప్రారంభించలేమని ఒక స్టాటిక్ ఆబ్జెక్ట్‌తో చూశాము మరియు నిరంతర సభ్యుల ఫంక్షన్ యొక్క భావనను ప్రవేశపెట్టాము, దీనిలో ఈ రకమైన పాయింటర్ (పాయింటర్)), ఇది స్టాటిక్ కు స్థిరమైన పాయింటర్ ఆబ్జెక్ట్ మరియు స్థిరమైన సభ్యుల ఫంక్షన్‌ను ఉపయోగించి మనం చూశాము, స్థిరమైన వస్తువును ఎలా రక్షించగలం మరియు ఇప్పటికీ డేటా (డేటా) సభ్యుల విలువను చదవడానికి లేదా యాక్సెస్ చేయడానికి సభ్యుల ఫంక్షన్‌ను ఆహ్వానించగలదు మరియు ఒక తరగతిలో ఉన్నప్పుడు, సభ్యుల ఫంక్షన్ ఏ వస్తువును మార్చడం లేదు, కనుక ఇది స్థిరంగా ఉండాలి. + వాస్తవానికి, ఒక సభ్యుడు ఫంక్షన్ యొక్క కొంత భాగాన్ని మార్చాలనుకుంటే, అప్పుడు డేటా సభ్యులలో ఎవరూ అది కాన్స్ట్ మెంబర్ ఫంక్షన్ కాకూడదు మరియు తప్పనిసరిగా మీకు లోపం ఇస్తుంది; సహజంగానే, ఆ సభ్యుల విధులు const వస్తువులతో ప్రారంభించబడవు. + స్థిరమైన డేటా సభ్యుడిని ఉపయోగించి వస్తువు యొక్క భాగాన్ని ఎంపిక చేసుకోవచ్చని కూడా మేము చూశాము మరియు కాన్స్ట్ డేటా సభ్యులను ఏ సభ్యుల ఫంక్షన్ ద్వారా భర్తీ చేయలేమని మరియు వాటిని ప్రారంభించాల్సిన అవసరం ఉందని మేము చూశాము, వారు ఆ సమయంలో ప్రారంభించాలి క్రెడిట్ కార్డ్ యొక్క సృష్టి మరియు ఉదాహరణ, క్లాస్ ఎడిషన్‌ను రూపొందించడానికి కాన్స్ట్ (కాన్స్ట్) డేటా సభ్యులను ఎలా ఉపయోగించవచ్చో మేము చూపించాము, ఇక్కడ తెలిసిన సవరించగలిగే డేటా, వారు సాధారణ డేటా లేదా సూచించిన రకం డేటా అయినా ఉపయోగించవచ్చు. అప్లికేషన్ ఏదైనా నుండి రక్షించబడుతుంది మార్పులు. + ఇప్పుడు మనం ముందుకు వెళ్లి మరొక ఫీచర్ గురించి మాట్లాడుతాము, ఇది మ్యూటబుల్ డేటా మెంబర్ అని పిలువబడే మరొక సెలెక్టివ్ కాన్-నెస్ ఫీచర్. + మ్యూటబుల్ - మ్యూటబుల్ అనే భావన కాన్-నెస్ అనే భావనతో దగ్గరి సంబంధం కలిగి ఉంటుంది. + నిరంతర డేటా సభ్యుడు వేరియబుల్ కాదని మనకు తెలుసు, వస్తువు స్థిరంగా లేనప్పుడు కూడా ఇది మేము నేర్చుకున్నాము. + మరోవైపు, స్థూల డేటా సభ్యుడు వేరియబుల్ వస్తువు. + కాబట్టి, వేరియబుల్ కాని స్టాటిక్ ఆబ్జెక్ట్ ఆ స్థిరమైన వస్తువులో ఏమీ మార్చబడదు, కాని నేను క్లాస్ యొక్క డేటా సభ్యుడిని వేరియబుల్ గా నిర్వచించినట్లయితే, ఆ తరగతి యొక్క వస్తువు స్థిరంగా ఉండాలని నిర్వచించినప్పుడు కూడా నిర్దిష్ట డేటా సభ్యుడిని మార్చవచ్చు మరియు పేరు మ్యుటేషన్ యొక్క మూలం. మీకు తెలిసినట్లుగా మ్యుటేషన్ అంటే మార్పు, కాబట్టి వేరియబుల్ అంటే వేరియబుల్ డేటా (డేటా) ఒక సభ్యుడు. + ఇప్పుడు, పరస్పర డేటా సభ్యులు ఎందుకు ఉన్నారనే దానిపై ఒక ముఖ్యమైన కారణం మరియు నిర్దిష్ట ఉద్దేశ్యం ఉంది. + ఒక మ్యూటబుల్ కీ పదం అందించబడింది లేదా సి ++ యొక్క బిట్‌వైస్ కాన్-నెస్‌కు వ్యతిరేకంగా తార్కిక కాన్-నెస్‌కు మద్దతు ఇవ్వడానికి మ్యూట్ ఫీచర్ అందించబడుతుంది, అంటే నేను వస్తువును కాన్స్టాంట్‌గా ప్రకటిస్తున్నాను; ఈ వస్తువు స్థిరంగా ఉంటే నేను దానిలో ఏమీ మార్చలేనని చెప్తున్నాను. + అందులో ఏమీ మార్చలేకపోతే; దీని అర్థం, ప్రారంభించిన సమయంలో ఒక నిర్దిష్ట వస్తువుకు ఏ నమూనా లభించినా, ఆ బిట్ నమూనాలో ఎటువంటి మార్పు ఎప్పుడూ సాధ్యం కాదు, కానీ తరచూ దానితో పనిచేయడం కొంచెం కష్టమవుతుంది, నాకు ఒక భావన ఉంది నిరంతరాయంగా , కానీ దాని అమలుకు అదనపు ఫీల్డ్‌లు, అదనపు పారామితులు, నిజంగా స్థిరంగా లేని అదనపు డేటా సభ్యులు అవసరం కావచ్చు, కాబట్టి మేము దానిని పరిశీలిస్తాము. + ఈ సమయంలో, డేటా సభ్యుల విషయంలో మాత్రమే పరివర్తనం చెందుతుందని మీరు గమనించవచ్చు, మీకు మరొక సాధారణ వేరియబుల్ ఉంటే, మీరు దానిని వేరియబుల్ గా ప్రకటించలేరు మరియు ఏదైనా రిఫరెన్స్ డేటా (డేటా) స్టాటిక్. డేటా సభ్యుడు వాస్తవానికి మీరు ఇంకా స్టాటిక్ చేయలేదు డేటా సభ్యుడు, మేము తదుపరి మాడ్యూల్ గురించి మాట్లాడుతాము లేదా స్థిరమైన డేటా సభ్యులను పరివర్తనం చెందినట్లు ప్రకటించవచ్చు. + అతి ముఖ్యమైన భాగం ఏమిటంటే, డేటా సభ్యుడు పరివర్తన చెందినట్లు ప్రకటించబడితే, దానిని నిరంతర సభ్యుల ఫంక్షన్‌గా మార్చడం చట్టబద్ధం. + స్థిరమైన సభ్యుల ఫంక్షన్ ఏ డేటా సభ్యుడిని మార్చలేమని మేము చూశాము, కాని డేటా సభ్యుడు వేరియబుల్ అయితే, అది ఇప్పటికీ దానిని మార్చగలదు, ఎందుకంటే మీరు చెబుతున్నది వేరియబుల్ అంటే విషయాలు స్థిరంగా ఉన్నప్పుడు కూడా మార్చవచ్చు. + కాబట్టి, ఒక ఉదాహరణ చూద్దాం. + కాబట్టి, ఇక్కడ నేను ఒక డేటా సభ్యుడిని పరిచయం చేసాను, ఇది వేరియబుల్, కాబట్టి మీరు మాక్రోను వ్రాస్తున్నట్లుగా వాక్యనిర్మాణాన్ని పోలి ఉండేలా వ్రాస్తారు మరియు అప్పుడు మనకు స్థిరమైన వస్తువు (ఆబ్జెక్ట్) ఉంది) ప్రకటించింది, ఇప్పుడు మనకు ఒక పద్ధతి ఉంది, మనకు ఉంది నిర్వచించిన పద్ధతి. + ఇప్పుడు మేము నాన్ మ్యూటబుల్ కు సెట్టింగ్ భిన్నంగా ఉంటుంది, గేట్ ఒక కాన్స్ట్ మెంబర్ ఫంక్షన్, సెట్ ఒక కాని కాన్స్ట్ మెంబర్ ఫంక్షన్. + కాబట్టి, దీని అర్థం ఏమిటంటే, నా కాన్స్ట్ ఆబ్జెక్ట్ ఉంటే, నేను దాన్ని పొందగలను, నేను దానిని సెట్ చేయలేను ఎందుకంటే స్థిరమైన వస్తువు నాన్-స్టాటిక్ సభ్యుడిని ప్రారంభించదు. + ఇప్పుడు మార్చగల భాగాన్ని చూడండి, ఇక్కడ ఈ రెండు సభ్యుల విధులు కాన్స్టాంట్‌గా ప్రకటించబడ్డాయి, కాబట్టి ఈ రెండింటినీ స్టాటిక్ ఆబ్జెక్ట్ ద్వారా ప్రారంభించవచ్చు. + ఇప్పుడు ఈ ఫంక్షన్; సెట్ ఫంక్షన్ సభ్యుడిని మార్చడానికి ప్రయత్నిస్తుంది, ఈ ప్రత్యేక సభ్యుడు మ్యుటబుల్ కాకపోతే, ఇది సంకలన లోపం, అది సాధ్యం కాదు, కానీ ఈ సభ్యుడు, డేటా సభ్యుడు వేరియబుల్ కాబట్టి, మార్పు అవసరం . + అందువల్ల, ఇది కాన్స్ట్ మెంబర్ ఫంక్షన్ అయినప్పటికీ, ఇది డేటా సభ్యుడిని సవరించగలదు, ఇది మ్యూటబుల్ డేటా సభ్యునిగా ఉండటానికి ప్రాథమిక ఫలితం, కాబట్టి ఇది లక్షణం యొక్క ప్రాథమిక ప్రవర్తన. + ఇప్పుడు దానిని ఎలా ఉపయోగించాలో, ఎలా ఉపయోగించాలో ఉపయోగించడానికి ప్రయత్నించండి. + కాబట్టి, స్థిరమైన వస్తువు యొక్క బిట్‌లను ఏమీ మార్చలేమని నేను సి ++ మోడల్‌లో సున్నితమైన బిట్ స్థిరాంకానికి చెబుతున్నప్పుడు, కానీ చాలా ముఖ్యమైనది ఏమిటంటే నాకు ఒక కాన్సెప్ట్ ఉంది. ఇది తార్కికంగా స్థిరంగా ఉంది, నేను మోడల్ చేయడానికి ప్రయత్నిస్తున్నాను కొన్ని స్థిర, భావన. + అందువల్ల, ఇది కొంతమంది డేటా సభ్యుల పరంగా వివరించబడింది, కానీ నేను కొన్ని లెక్కలు చేయాలనుకున్నప్పుడు; అదే తరగతిలో నాకు మరికొన్ని డేటా సభ్యులు కావాలి, నేను లెక్కకు మద్దతు ఇస్తున్నాను. + ఇప్పుడు నేను వస్తువును స్థిరంగా చేస్తే, అన్ని బిట్స్ నిరంతరంగా ఉన్నందున అవి ఖచ్చితంగా అన్నింటినీ మార్చలేవు, అంటే కేవలం గణనకు మద్దతు ఇస్తున్న వేరియబుల్ సర్రోగేట్ డేటా సభ్యులు అని పిలవబడేవారు కూడా కాదు కాబట్టి నేను వ్రాయలేను కోడ్. + ఈ సమస్య చుట్టూ పనిచేయడానికి మ్యూటబుల్ అందించబడింది, కాబట్టి మ్యూటబుల్‌ను ఉపయోగించడం లేదా సమర్థవంతంగా ఉపయోగించడం, మేము ప్రాథమికంగా ఉపయోగిస్తాము; దయచేసి ఈ రెండు అంశాలను గుర్తుంచుకోవడానికి ప్రయత్నించండి, మేము ఉపయోగించడానికి ప్రయత్నిస్తాము; తార్కికంగా స్థిరమైన భావన కోసం చూడండి, ఇది ప్రోగ్రామింగ్ ముగింపు కోసం మాత్రమే కాదు. తార్కికంగా స్థిరంగా ఉండే ఒక భావన ఉండాలి మరియు ఆ భావనను అమలు చేయడానికి, మాకు కొంతమంది డేటా సభ్యులు కావాలి. ఆ భావనకు దూరంగా ఉండాలి, మాత్రమే వ్రాయబడుతుంది అవసరమైన గణన, ఇది చాలా స్పష్టంగా అనిపించదని నేను ఖచ్చితంగా అనుకుంటున్నాను, కాబట్టి నేను ఒక ఉదాహరణ తీసుకోవాలి. + మేము తరువాత టాప్ నోట్స్ చదువుతాము; మొదట మనం ఏమి చేస్తున్నామో అర్థం చేసుకుందాం. + మేము తరగతి గణిత వస్తువును నిర్వచిస్తున్నాము మరియు అలా చేయాలనేది నా ఉద్దేశం. + ఈ నమూనా విషయంలో, నా ఉద్దేశ్యం మఠం వస్తువు, నేను స్టాటిక్ ఆబ్జెక్ట్ ఇవ్వాలి, ఇది పై, మనందరికీ పై 3.14159 తెలుసు. + కాబట్టి, నాకు కావలసినది ఏమిటంటే, నేను ఒక వస్తువును సృష్టించినప్పుడల్లా నేను ఈ తరగతి యొక్క స్టాటిక్ ఆబ్జెక్ట్‌ని సృష్టిస్తాను, నేను స్టాటిక్ కాని వస్తువును సృష్టించను. + అందువల్ల, నేను దానిని నిర్మిస్తాను మరియు నేను ఈ పద్ధతిని పై (పై) ను వర్తింపజేస్తే, అది నాకు పై (పై) విలువను ఇవ్వాలి. + ఇప్పుడు మనం పై విలువను ఎందుకు పొందాలి, పై (పై) ఒక అతీంద్రియ సంఖ్య అని మీకు తెలిసిన అల్గోరిథం, కాబట్టి నేను దానిని అణిచివేయలేను, ఇది ఉజ్జాయింపు. పొడవైన గొలుసు, పొడవాటి తోక ఉంది ఉజ్జాయింపు. + కాబట్టి, ఒక అల్గోరిథం వలె, PI ను లెక్కించడానికి మంచి అల్గోరిథంలు ఉన్నాయని నేను నిరూపించాను, కానీ ఇది చాలా నెమ్మదిగా అల్గోరిథంతో జరుగుతుంది. + అందువల్ల, నేను ఈ మో డాట్ పిని ప్రారంభిస్తే; మో అనేది ఒక వస్తువు, కాబట్టి నేను మో డాట్ పై (పై) చేస్తే దాన్ని స్టాటిక్ మెంబర్ ఫంక్షన్ అని పిలుస్తారు. దీనిని స్టాటిక్ ఆబ్జెక్ట్ అని పిలుస్తారు, ఈ అల్గోరిథం అమలు చేస్తుంది మరియు నాకు పై విలువను ఇస్తుంది. + ఇప్పుడు, ఇది చాలా నెమ్మదిగా ఉన్నందున, ఇది చాలా నెమ్మదిగా ఉంటుంది, నేను కొన్ని కాషింగ్ చేయాలనుకుంటున్నాను, అంటే పై (పై) స్థిరంగా ఉందని నాకు తెలుసు; భావన స్థిరంగా ఉంటుంది. + కాబట్టి, నేను ఒకసారి లెక్కించినట్లయితే, రెండవసారి నేను లెక్కించినప్పుడు నాకు అదే విలువ లభిస్తుంది, అందుకే నేను మళ్ళీ ఎందుకు లెక్కించాలి, కాబట్టి నేను దానిని లెక్కించాను లేదా నేను లెక్కించలేదా అని గుర్తుంచుకోవాలి. + అందువల్ల, నేను దానిని మొదటిసారి లెక్కించినప్పుడు, తదుపరిసారి నేను అదే లెక్కించిన విలువను ఉపయోగించాలి, కాబట్టి నేను అందులో ఇద్దరు డేటా సభ్యులను ఉపయోగిస్తాను, ఒకటి పై (పై) విలువ; ప్రారంభంలో నాకు తెలియని విలువ, నేను దానిని కన్స్ట్రక్టర్‌లో ఉంచలేను ఎందుకంటే విలువ ఏమిటో నాకు తెలియదు, దానిని లెక్కించాలి. + ఎవరైనా పై (పై) విలువను ఉపయోగించాలనుకుంటే తప్ప నేను ఆ గణన చేయను ఎందుకంటే నేను చెప్పినట్లుగా చాలా సమయం పడుతుంది మరియు పై (పి) ను మొదటిసారి ఉపయోగించినప్పుడు ఈ సభ్యుల ఫంక్షన్ (ఫంక్షన్) అని పిలుస్తారు. + ఇప్పుడు, నేను మరొక డేటా సభ్యుడు పై కాష్‌ను నిర్వహిస్తున్నాను, ఇది బూల్ ఫ్లాగ్, ఇది పై (పై) లెక్కించబడిందా లేదా లెక్కించబడలేదా అని గుర్తుంచుకుంటుంది. + అందువల్ల, ఆ జెండా మొదట్లో వస్తువు యొక్క కన్స్ట్రక్టర్‌లో తప్పుగా సెట్ చేయబడింది, కనుక ఇది లెక్కించబడలేదని చెబుతుంది. + కాబట్టి, ఇప్పుడు నేను పై (పై) అని పిలిస్తే, ఈ చెక్ పై (పై) లెక్కించబడదని చెబుతుంది, ఇది పూర్తి గణన అవుతుంది, డేటా (డేటా) సభ్యుడు పై (పై) లో విలువ నవీకరించబడుతుంది మరియు వెంటనే నేను పునరావృతం పూర్తి చేస్తాను, నేను బయటకు వచ్చి p కాష్‌ను నిజం అని జోడిస్తాను. + అందువల్ల, భవిష్యత్తులో ఎప్పుడు అది డేటా సభ్యుడు పి; సభ్యుల ఫంక్షన్ (పై) ను మళ్ళీ పిలిచినప్పుడు, అది నిజం అవుతుంది.అందువల్ల, ఇది పూర్తిగా దాటవేయబడుతుంది మరియు నేను చేయగలను; ఇది అవుతుంది, ఇది అందుకున్న ఫంక్షన్ లాగా ప్రవర్తిస్తుంది, ఇది కేవలం పై అవుతుంది, కాబట్టి ఇది ఒక్కసారి మాత్రమే అమలు చేయబడిందని మరియు అనేకసార్లు ఉపయోగించబడుతుందని నిర్ధారిస్తుంది. + కాబట్టి మీరు దీన్ని ఎలా చేయగలరో చూద్దాం, మనకు అవసరమైన మొదటి విషయం ఏమిటంటే, ఈ వస్తువు స్థిరంగా ఉండాలి అని చెప్పాలి ఎందుకంటే పై (పై) స్థిరంగా ఉండకూడదు. + కాబట్టి నిరంతర భావన పై, కాబట్టి అది నా ప్రాథమిక అవసరం, ఇది నిరంతరంగా ఉండాలి. + ఇప్పుడు అది స్థిరంగా ఉంటే, ఈ ఇద్దరు డేటా సభ్యుల నుండి ఈ డేటా సభ్యులను మార్చలేరు; ఉదాహరణకు, కాష్ చేసిన డేటా సభ్యుడు కాష్ చేసిన డేటా సభ్యుల భావనలో భాగం కాదని ఈ డేటా సభ్యులు పేర్కొన్నారు. + పై యొక్క విలువను గుర్తించడం నిరంతర భావన కాదు. భావన యొక్క కొనసాగింపు పై (పై) విలువలో ఉంటుంది. + కాబట్టి, పై (పై) కాష్ అవసరం ఎందుకంటే నేను లెక్కించాలనుకుంటున్నాను, ఇది పై (పై); విలువను సవరించాల్సిన అవసరం ఉంది, ఎందుకంటే నేను ప్రారంభించేటప్పుడు ఆ విలువ ఏమిటో నాకు తెలియదు. + కాబట్టి, ఈ డేటా సభ్యులు ప్రాథమికంగా భావన అమలుకు మద్దతు ఇస్తున్నారు, కాబట్టి మీరు తీసుకుంటే; నాకు స్థిరమైన వస్తువు ఉంటుంది అప్పుడు మో; మో తప్పు అవుతుంది మరియు తక్కువ తెలివితేటలు స్థిరంగా మారినవి ఏమీ మార్చబడవు, కాబట్టి ఈ మొత్తం వ్యూహం పనిచేయదు. + అందువల్ల, నేను ఈ ఇద్దరు డేటా సభ్యులను మార్చాను (సమయం చూడండి: 14:12). వస్తువు స్థిరంగా ఉన్నప్పటికీ, భావన స్థిరంగా ఉంటుంది, కానీ అమలులో నాకు కొంతమంది డేటా సభ్యులు కావాలి, అవి నిరంతరం ఉండవలసిన అవసరం లేదు మరియు ఇది కలిగి ఉండాలి కాన్స్టెన్స్ యొక్క భావాన్ని లాజికల్ కాన్-నెస్ అంటారు. + కాబట్టి, మీరు బిట్ నమూనాను చూస్తే; బిట్ సరళి మారుతోంది, కానీ మీరు ప్రాతినిధ్యం వహించాలనుకున్నది పై యొక్క ప్రాథమిక భావన, ఇది స్థిరంగా సంరక్షించబడుతుంది. + కాబట్టి, ఈ పద్ధతిలో మ్యుటేషన్ చాలా నిర్దిష్టమైన ఉద్దేశ్యాన్ని కలిగి ఉంది మరియు నా జ్ఞానం మేరకు ఒక నిర్దిష్ట కేసు, బహుశా పరివర్తన చెందిన ఏకైక సందర్భం. + కాబట్టి, ఇప్పుడు, మీరు ప్రారంభ వ్యాఖ్యలను చదవవచ్చు, ఇది ఒక తరగతి స్థిరమైన భావనను సూచించినప్పుడు సాధారణంగా ఉపయోగించబడుతుంది మరియు ఇది మొదట విలువను లెక్కిస్తుంది మరియు భవిష్యత్తు ఉపయోగం కోసం ఫలితాన్ని క్యాష్ చేస్తుంది. + కాబట్టి, వేరియబుల్‌పై చర్చను పూర్తి చేయడానికి, ఎప్పుడు మ్యూటబుల్ ఉపయోగించకూడదో నేను ఒక ఉదాహరణను ప్రదర్శించాలనుకుంటున్నాను, ఎందుకంటే ఇది చాలా సుష్ట భావన అని మీకు తెలుసు. + నేను స్థిరమైన వస్తువులో డేటా సభ్యులను స్థిరంగా చేయగలను మరియు చాలా సుష్ట భావన అయిన స్టాటిక్ ఆబ్జెక్ట్‌లో డేటా సభ్యులను స్థిరంగా చేయగలను. + అందువల్ల, విద్యార్థులు వాటిని పరిపూరకరమైన భావనకు సమానంగా ఉపయోగించడంలో తప్పు చేస్తున్నారని నేను తరచుగా గమనించాను, కాని ఇది నిజం కాదు. + అందువల్ల, నేను ఉద్యోగి తరగతి, ఉద్యోగి పేరు, ఐడి మరియు జీతం యొక్క ఉదాహరణను చూపించవలసి ఉంది. + కాబట్టి, నేను సరే అని చెప్తున్నాను, ఉద్యోగులు ఒకసారి సృష్టించారు. ఇది ఉద్యోగుల మార్పు సాధ్యం కాని సంస్థ అని చెప్పండి, కాబట్టి ఒకసారి ఉద్యోగులు స్థిరమైన వస్తువుగా ఉంటే, వారు మారరు. వెళ్ళవచ్చు. + అందువల్ల, మేము ఉద్యోగిని వ్రాసే అప్లికేషన్ స్థిరంగా ఉంటుంది, కానీ ఉద్యోగుల జీతం మారుతుంది, ఉద్యోగులకు పదోన్నతి అవసరం, వారికి పదోన్నతి అవసరం, అప్పుడు వారికి మంచి జీతం లభిస్తుంది మరియు ఉద్యోగి నిరంతరాయంగా ఉంటే, అది కాదు జాన్ నిరంతరాయంగా ఉంటే సాధ్యమవుతుంది, కాబట్టి నేను దానిని నిరంతర సభ్యుల పనిగా చేస్తాను. + ఇది నిరంతర సభ్యుల ఫంక్షన్ అయితే, అది కూడా లోపం ఎందుకంటే నిరంతర సభ్యుల ఫంక్షన్ డేటా సభ్యుడిని మార్చదు; కాబట్టి పని చేయడానికి నేను మ్యూటబుల్ ఉంచుతాను, ఈ కోడ్ కంపైల్ చేయబడుతుంది, ఈ కోడ్ రన్ అవుతుంది, ఈ కోడ్ ఫలితాలను ఇస్తుంది, సి ++ (సింటాక్స్) యొక్క వాక్యనిర్మాణానికి సంబంధించినంతవరకు ఏమీ తప్పు లేదు, కానీ ఇప్పటివరకు డిజైన్, కాన్సెప్ట్ చేర్చబడింది లేదా ఇతరులు ఇప్పటివరకు ఆ కోడ్ నుండి ఏమి అర్థం చేసుకుంటారు, ఇది ఒక విపత్తు. + ఇది నిరంతర భావనలను ప్రత్యేకంగా మోడల్ చేయడానికి పరిచయం చేయబడినందున ఇది విపత్తు, ఉద్యోగులు నిరంతర భావనలు కాకూడదు, అవి నిరంతర భావనలు అయితే వారి జీతం కూడా నిరంతరంగా ఉంటుంది, జీతం కూడా ఉంటుంది. వేరియబుల్ కాకూడదు ఎందుకంటే ఇది ఒక భాగం మరియు భాగం ఉద్యోగి. + అందువల్ల, ఉద్యోగులు నిరంతరాయంగా ఉండనవసరం లేనందున వాటిని స్థిరంగా లేనివిగా చేస్తారని మేము ఇంతకుముందు చూపించినట్లుగా దీనిని మోడల్ చేయాలి; అవి సంభావితంగా స్థిరంగా ఉండవు, కానీ పేరు మరియు ఐడి అయిన ఉద్యోగి కోసం మార్చలేని డేటా సభ్యులను స్థిరంగా చేయండి మరియు వేరియబుల్ డేటా సభ్యుడు స్టాటిక్ కాని డేటా సభ్యుడు. మీరు దీన్ని సాధారణంగా ప్రోత్సహించే విధంగా సృష్టించండి, బూస్ట్ ఇకపై నిరంతర సభ్యుల పని కాదు మరియు అందువల్ల అవసరమైన విధంగా జీతం మార్పులు చేయవచ్చు. + అందువల్ల, మీరు ఈ రెండు భాగాల రూపకల్పనను జాగ్రత్తగా అధ్యయనం చేస్తే; సంబంధిత భాగాలు మరియు సంబంధిత ఉపయోగం రెండూ కోడ్ వారీగా పని చేస్తాయి, కాని కాన్సెప్ట్ వారీగా ఇది సరికాని డిజైన్, ఇది చేయకూడదు మరియు సాధారణ తరగతిని రూపొందించడానికి ఇది సరైన మార్గం, మీకు నిరంతర భావనలు ఉంటే మాత్రమే. మీరు చూపించాలనుకుంటే ఇది సహజ స్థిరాంకం లేదా ఇతర రకాల నిరంతర భావనలు అయినా, మీరు వాటిని సవరించగలిగేలా చేయడానికి మీ అమలు రకం డేటా సభ్యులలో ఒకదాన్ని ఉపయోగించాలి. + కాబట్టి, దీనితో మనం ప్రస్తుత మాడ్యూల్ చివరికి వస్తాము. + ఇక్కడ మేము C ++ లో Const-ness ను అధ్యయనం చేసాము, C ++ లో మేము Const-ness యొక్క మూడు రూపాలను చూశాము, ఆబ్జెక్ట్ పూర్తిగా స్థిరంగా ఉంటుంది మరియు వస్తువు స్థిరంగా ఉంటే, అది నిరంతర సభ్యుల విధులను మాత్రమే అమలు చేయగలదు. + అందువల్ల, స్థిరమైన సభ్యుల ఫంక్షన్లు వస్తువును మార్చలేవని మేము చూశాము, కాని స్థిరమైన వస్తువు (ఆబ్జెక్ట్) కూడా స్థిరమైన సభ్యుల ఫంక్షన్లను ప్రారంభించగలదు మరియు మేము ఉద్యోగి యొక్క ID వంటి వస్తువును ఎంచుకుంటే మీరు చేయాలనుకుంటే, అతను ఒక విద్యార్థి యొక్క రోల్ సంఖ్య. + ; అప్పుడు మేము సంబంధిత డేటా సభ్యుని సభ్యుడిని స్థిరంగా చేయవచ్చు, తరువాత నిరంతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) లేదా నాన్-స్టేషనరీ మెంబర్ ఫంక్షన్ (ఫంక్షన్), వాటిలో ఏవీ స్థిరమైన డేటా సభ్యుడిని మార్చలేవు. + సి ++ డిఫాల్ట్‌గా కాస్ట్ వాడకంలో బిట్ వారీగా ఉండే కాన్-నెస్‌కు మద్దతు ఇస్తుందని మేము చూశాము, కాని తార్కిక కాన్-నెస్ సాధించడానికి ఒక పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించడం సాధ్యమవుతుంది, ఇది మనకు తార్కికంగా స్థిరమైన కాన్-నెస్ భావనను కలిగి ఉంటుంది మేము C ++ లోని పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించి కోడ్ చేయవచ్చు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/45 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - I (Lecture 33)-Z30jsw8r7bY.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/45 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - I (Lecture 33)-Z30jsw8r7bY.txt index 645a202e69280903be108845476be9ffbf8b7e62..91aea543d2dab567b72c7ff6650710ce5de6567c 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/45 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - I (Lecture 33)-Z30jsw8r7bY.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/45 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - I (Lecture 33)-Z30jsw8r7bY.txt @@ -1,141 +1,140 @@ - 1. - 2. ప్రోగ్రామింగ్ ఇన్ సి ++ మోడ్యూల్ 18 కు స్వాగతం. - 3. ముందుగా ఆపరేటర్లు ఓవర్లోడింగ్ గురించి మాట్లాడ్దాము. - 4. C ++ లోని ఆపరేటర్లు, వాటిలో ఎక్కువ భాగం యూజర్ ఓవర్‌లోడ్ చేయగల సంబంధిత ఆపరేటర్ ఫంక్షన్లతో సంబంధం కలిగి ఉండవచ్చని మేము చర్చించాము. - 5. ఈ మాడ్యూల్‌లో మరియు తరువాతి వాటిలో, వినియోగదారు నిర్వచించిన రకాలు కోసం ఆపరేటర్ ఓవర్‌లోడ్‌ను లోతుగా పరిశీలిస్తాము.ఇది లింక్డ్ డిస్కషన్. - 6. కాబట్టి, ఇది ఈ చర్చలో పార్ట్ -1 అవుతుంది. - 7. వినియోగదారు నిర్వచించిన రకాల కోసం ఆపరేటర్లను ఓవర్లోడ్ ఎలా చేయాలో అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము. - 8. మరియు ఈ మాడ్యూల్‌లో గ్లోబల్ ఫంక్షన్లు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి ఓవర్‌లోడింగ్ యొక్క అంశాలను మేము అన్వేషిస్తాము. - 9. ఎప్పటిలాగే మీ స్క్రీన్ యొక్క ఎడమ వైపున అవుట్లైన్ అందుబాటులో ఉంటుంది. - 10. ఇప్పుడు, ఆపరేటర్ ఓవర్‌లోడింగ్ గురించి చర్చించటానికి ముందు, ఆపరేటర్‌ను ఎందుకు ఓవర్‌లోడ్ చేయాలనుకుంటున్నామో త్వరగా క్లుప్తీకరిస్తాను. - 11. నేను మొదటి రెండు మాడ్యూళ్ళను సూచించాలనుకుంటున్నాను; మాడ్యూల్ 9, ఇక్కడ నిర్మాణాత్మక రకాల కోసం ఓవర్‌లోడింగ్ ఆపరేటర్ + గురించి చర్చించాము, స్ట్రింగ్ స్ట్రక్చర్ కోసం ఆపరేటర్ + ఓవర్‌లోడ్ అయిందని చూపించడానికి లెక్కించిన రకాలు, అంటే నక్షత్రాల సంగ్రహణ. - 12. అదేవిధంగా, మేము ఎనుమ్ రకాల కోసం నిర్దిష్ట ఓవర్‌లోడ్‌లను గమనించాము. - 13. తరువాత మాడ్యూల్ 14 లో, మేము ఆ ఆపరేటర్ గురించి మాట్లాడాము, అసైన్‌మెంట్ ఆపరేటర్ కోసం ఓవర్‌లోడింగ్‌ను కాపీ చేయడానికి సరైన సెమాంటిక్స్ను నిర్వచించాము, ముఖ్యంగా లోతైన మరియు నిస్సారమైన కాపీయింగ్ సందర్భంలో. ముఖ్యమైనవి. - 14. సాధారణంగా, అదే ప్రయోజనం యొక్క ఆపరేటర్లు మరియు విధులు మనకు తెలిసినట్లుగా, వ్యత్యాసం ఏమిటంటే ఆపరేటర్‌కు చాలా కాంపాక్ట్ సంజ్ఞామానం ఉంటుంది, ఇది సాధారణంగా ఇన్ఫిక్స్. - 15. అందువల్ల, కాంపాక్ట్ వ్యక్తీకరణ సందర్భంలో చాలా విభిన్నమైన సంక్లిష్ట ఫంక్షన్ల కలయికను వ్రాయడం సాధ్యమవుతుంది; సరైన కార్యాచరణ కోసం తగిన ఆపరేటర్‌ను నేను నిర్వచించగలిగితే మనం చేయాలనుకుంటున్నాము. - 16. అందువల్ల, అంతర్నిర్మిత రకాలు కోసం అవి అప్రమేయంగా లభిస్తాయి, కొన్ని ఆపరేటర్లు పాయింటర్ రకాలు కోసం కూడా అందుబాటులో ఉన్నాయి. - 17. కాబట్టి, నేను నిర్వచించబోయే రకం కోసం ఆపరేటర్లను ఓవర్‌లోడ్ చేయగలిగితే; ఇది వినియోగదారు నిర్వచించిన రకం; ఆపరేటర్లను రకాలుగా నిర్మించటానికి నిర్వచించబడిన విధంగా. - 18. వినియోగదారు నిర్వచించిన రకం కోసం, మేము వ్యక్తీకరణను కూడా వ్రాయగలము, వాస్తవానికి మనం నిర్మిస్తున్న నిర్దిష్ట వినియోగదారు-నిర్వచించిన రకం లేదా UDT ఆధారంగా పూర్తి బీజగణితాన్ని నిర్మించవచ్చు. - 19. అందువల్ల, ఇక్కడ నేను ఇప్పుడే ప్రస్తావించాను మరియు ఏమి చేయవచ్చనే దానిపై చాలా క్లుప్త రూపురేఖలు ఇవ్వడానికి ప్రయత్నించాను. - 20. ఉదాహరణకు, C ++ కి సంక్లిష్ట రకం లేదు. - 21. ఇది డబుల్ రకాన్ని కలిగి ఉంది, కానీ సంక్లిష్టమైన రకం కాదు. - 22. కానీ ఆపరేటర్ ఓవర్‌లోడింగ్ ఉపయోగించి, మేము ఆపరేటర్ + ను ఇలా నిర్వచించవచ్చు; సంక్లిష్ట సంఖ్యలు జతచేస్తాయని మేము చెప్పగలం, ఇది సంక్లిష్ట సంఖ్యల వ్యవకలనం, సంక్లిష్ట సంఖ్యల గుణకారం, సంక్లిష్ట సంఖ్యల విభజన. - 23. ఇవన్నీ సంబంధిత ఆపరేటర్ల పరంగా నిర్వచించబడతాయి మరియు కొన్ని, సంక్లిష్ట కంజుగేట్ల కోసం శోధించడం వంటి సంక్లిష్ట రకానికి ప్రత్యేకమైనవి. - 24. మేము '!' ఆపరేటర్‌ను ఉపయోగించవచ్చు. ఆశ్చర్యార్థక ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం అంటే '!' ఆపరేషన్ ఒక రకమైన నిరాకరణ. - 25. కాబట్టి, సంక్లిష్ట సంయోగం ఆ ఆపరేటర్‌ను నిర్లక్ష్యం చేయడం వంటిది. - 26. అదేవిధంగా, మనకు వేర్వేరు రకాలు ఉండవచ్చు, మాతృక యొక్క విలోమంతో సహా బీజగణితంతో సహా అన్ని మాత్రికలకు ఆపరేటర్‌ను కలిగి ఉన్న మాతృక రకాలను కలిగి ఉండవచ్చు, మేము యూనియన్, తేడా, సూపర్‌సెట్, ఉపసమితి సంబంధం మరియు మొదలైన రకాలను సెట్ చేయవచ్చు . - 27. అందువల్ల, ఇవన్నీ మరియు మీరు సృష్టించడానికి యుడిటిగా నిర్వచించదలిచిన అన్ని రకాలు, మీరు ఆపరేటర్ ఓవర్‌లోడింగ్ ఉపయోగించి పూర్తి రకాన్ని సృష్టించవచ్చు. - 28. మరియు ముఖ్యంగా, IO పరంగా, ఆపరేటర్ అవుట్పుట్ మరియు ఆపరేటర్ ఇన్పుట్ స్ట్రీమింగ్ పరంగా మేము చాలా కాంపాక్ట్ IO చేయవచ్చు. - 29. ఆ ఆపరేటర్లను చాలా కాంపాక్ట్ IO నిర్మాణాలను అందించడానికి UDT కోసం ఓవర్‌లోడ్ చేయవచ్చు. - 30. మరియు నేను ప్రస్తావించాలనుకుంటున్నాను, కానీ ఇది కొంతవరకు ముందంజలో ఉంది. - 31. స్మార్ట్ పాయింటర్ యొక్క C ++ లోని కొన్ని మంచి నమూనాలు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం చాలా ముఖ్యమైనవి. - 32. అందువల్ల, మంచి వినియోగదారు-నిర్వచించిన రకాన్ని సృష్టించడానికి ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం ఒక ముఖ్యమైన అవసరం. - 33. కాబట్టి, మేము ఇప్పుడు ముందుకు సాగాలి.ఇది మాడ్యూల్ 9 నుండి శీఘ్ర రీక్యాప్, ప్రతి ఆపరేటర్ కోసం, మేము నిర్వచించగల ఆపరేటర్ ఫంక్షన్ ఉందని మేము చూశాము. - 34. మరియు ఆ ఆపరేటర్ ఫంక్షన్ ఖచ్చితంగా ఆపరేటర్ + 'వంటి సంతకాన్ని కలిగి ఉంటుంది. - 35. ఈ సందర్భంలో, మేము దీనిని చూశాము; నేను ఇక్కడ ఎక్కువ సమయం వృథా చేయను. - 36. ఇది మీ మనస్సులో జరిగితే మళ్ళీ గుర్తుంచుకోండి. - 37. ఇప్పుడు ఈ ఆపరేటర్ సభ్యులే కాని ఫంక్షన్ కావచ్చు. - 38. అందుకని ఇది సార్వత్రిక ఫంక్షన్ కావచ్చు మరియు ఫ్రెండ్ ఫంక్షన్లు కూడా ఉన్నాయని మాకు తెలుసు. - 39. కాబట్టి, ఆపరేటర్ ఫంక్షన్ గ్లోబల్ ఫంక్షన్ లేదా ఫ్రెండ్ ఫంక్షన్ అయితే, ఇది ఇలా అనిపించవచ్చు, ఇది నా రకానికి చెందిన రెండు వస్తువులను కనెక్ట్ చేయడానికి గ్లోబల్ ఆపరేటర్ (). ఆపరేటర్) ఫంక్షన్ కూడా ఇది నా రకం. - 40. అదేవిధంగా, ఒకరికి - అది స్నేహితుడైతే, అది ఏదోలా కనిపిస్తుంది, ఒకే తేడా ఏమిటంటే ఫ్రెండ్ కీవర్డ్ రావడం. - 41. అదేవిధంగా, బైనరీ ఆపరేటర్ల కోసం గ్లోబల్ ఆపరేటర్ల కోసం గ్లోబల్ లేదా ఫ్రెండ్ ఫంక్షన్లను కలిగి ఉండవచ్చు. - 42. కాబట్టి, మీరు దీన్ని యూనిటరీ ఆపరేటర్ల కోసం కలిగి ఉండవచ్చు. - 43. మేము ఉపసర్గ ఆపరేటర్ మరియు పోస్ట్ఫిక్స్ ఆపరేటర్ కోసం ఒక నిర్దిష్ట ఆపరేటర్ కావచ్చు. - 44. మనకు ఉపసర్గ ఆపరేటర్ మరియు ఆపరేటర్ ఉండవచ్చు. - 45. ఇది కాకుండా, మేము ఆపరేటర్ ఫంక్షన్లను కూడా కలిగి ఉండవచ్చు, అవి ప్రాథమికంగా సభ్యుల ఫంక్షన్లు. - 46. కాబట్టి, ఇది సభ్యుల ఫంక్షన్ అయితే ఆపరేటర్ ఫంక్షన్ ఇలా కనిపిస్తుంది. - 47. ఇక్కడ గమనించవలసిన ముఖ్య విషయం ఏమిటంటే `+ 'బైనరీ ఆపరేటర్, కాబట్టి దీనికి రెండు ఒపెరాండ్స్ అవసరం. - 48. కానీ ఇక్కడ మీరు, ఆపరేటర్ + కోసం ఒక పరామితిని మాత్రమే చూస్తారు, ఎందుకంటే ఇది ఆపరేటర్ ఫంక్షన్, సభ్యుల ఫంక్షన్ మొదటి ఆపరేటర్ లేదా ఎడమ చేతి వైపు ఉంటుంది. ఆపరేటర్ యొక్క ఎడమ ఆపరేటర్ (ఆపరేటర్) మీకు ఒక వస్తువు ఆపరేటర్ ఫంక్షన్‌ను ఆహ్వానిస్తున్నారు. - 49. కాబట్టి, నాకు ఏదైనా సభ్యుల పని ఉందో మీకు తెలిసినట్లుగా, ఇక్కడ నేను ఈ సభ్యుడికి కనిపించను. - 50. కాబట్టి, ఈ అదృశ్య పాయింటర్ వాస్తవానికి నా మొదటి ఒపెరాండ్ ఇదేనని లేదా నా వద్ద ఉన్న ప్రస్తుత వస్తువు ఎల్లప్పుడూ ఎడమ ఒపెరాండ్‌గా ఉంటుందని మరియు కుడి ఒపెరాండ్ ఇక్కడ దాటిందని అర్థం. - 51. కాబట్టి, సభ్యుల ఫంక్షన్ విషయంలో, ఇది గ్లోబల్ లేదా ఫ్రెండ్ ఫంక్షన్ నుండి తేడా. - 52. యునరీ ఆపరేటర్లను కూడా నిర్వచించవచ్చు, ఒక విధంగా, సహజంగా, యూనిరీ ఆపరేటర్లకు ఒపెరాండ్ ఉండదు, ఎందుకంటే వారికి ఒకటి మాత్రమే ఉంది మరియు మీరు దానిని వర్తించే అంశం ఇది. - 53. ఇది పోస్ట్‌ఫిక్స్‌డ్ ఆపరేటర్ అయితే, మనకు ఒక రకమైన పూర్ణాంకానికి ఉంటుంది, ఇది వాస్తవానికి ఒపెరాండ్ కాదా? కానీ అదనపు రకం సంతకం పూర్ణాంకం అంటే పోస్ట్‌ఫిక్స్ ఆపరేటర్. - 54. అందువల్ల, ఇది ప్రిఫిక్స్ ఆపరేటర్ల మధ్య తేడాను గుర్తించడానికి ఉపయోగించబడుతుంది, ఇది మరొక పోస్ట్ఫిక్స్ ఆపరేటర్, ఎందుకంటే ఈ రెండింటిని '++' అని పిలుస్తారు. - 55. కాబట్టి, సంతకం జాబితాలోని ఈ అదనపు రకం ఆపరేటర్ ఏ ఉపసర్గ అని నిర్దేశిస్తుంది, ఇది పోస్ట్‌ఫిక్స్ ఆపరేటర్. - 56. కాబట్టి, ఇవి ఆపరేటర్ ఫంక్షన్లను నిర్వచించి వాటిని ఓవర్‌లోడ్ చేయగల వివిధ ఎంపికలు. - 57. అందువల్ల, నేను మిమ్మల్ని త్వరగా మాడ్యూల్ 9 కు సూచిస్తాను. - 58. ఎక్కడ, ఆపరేటర్ల కోసం మేము ఏమి చేయగలమో అనే నియమాల సారాంశాన్ని చూశాము. - 59. మేము ఆపరేటర్ల యొక్క ప్రాధమిక లక్షణాలను మార్చలేము మరియు ఓవర్‌లోడ్ చేయగల ఆపరేటర్ల యొక్క స్థిర జాబితా ఉంది. ఓవర్‌లోడ్ చేయలేని కొన్ని ఆపరేటర్లు ఉన్నారు, కొన్ని ఓవర్‌లోడ్ చేయకూడదు, మేము మాడ్యూల్) 9 దీన్ని లోతుగా చర్చిస్తాము, కాబట్టి నేను దానిని వదిలివేస్తుంది. - 60. ఇప్పుడు నీలిరంగులో హైలైట్ చేయబడిన రెండు పాయింట్లు అదనపువి, ఒకటి ఆబ్జెక్ట్‌ను ప్రారంభించడం ద్వారా ఆమోదించబడిన సభ్యుల ఫంక్షన్ కోసం, నేను ఇప్పుడే వివరించాను మరియు ఇది ఎడమ ఒపెరాండ్‌గా ఉంది, కాబట్టి సరైన ఒపెరాండ్ మాత్రమే స్పష్టంగా ప్రస్తావించబడింది. - 61. గ్లోబల్ ఫంక్షన్ లేదా ఫ్రెండ్ ఫంక్షన్ విషయంలో, రెండు ఒపెరాండ్‌లు స్పష్టంగా పేర్కొనబడ్డాయి. - 62. కాబట్టి, ఇది ఆపరేటర్ యొక్క ఓవర్లోడ్ యొక్క మూలం. - 63. కాబట్టి, ఇప్పుడు దీనితో మనం ఇంతకుముందు చూసిన కొన్ని కోడ్‌లను పరిశీలిద్దాం, అవి గ్లోబల్ ఫంక్షన్‌ను ఉపయోగించి ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ప్రయత్నిస్తాయి. - 64. అందువల్ల, నేను ఒక సాధారణ సంక్లిష్ట తరగతిని కలిగి ఉన్నాను. - 65. కాబట్టి, ఈ సభ్యులు ఇద్దరూ బహిరంగంగా అందుబాటులో ఉన్నారని మరియు ఈ సంక్లిష్ట నిర్మాణం కోసం మేము ఆపరేటర్ + ఆపరేటర్‌ను వ్రాశాము, ఇది ప్రాథమికంగా నిజమైన మరియు inary హాత్మక భాగాల భాగం యొక్క తెలివైన చేరిక. - 66. ఈ వ్యక్తీకరణలో d1 ఒక సంక్లిష్టమని మనం ఉపయోగిస్తే, d2 మరింత క్లిష్టంగా ఉండటం వలన మనం d1 + d2 ను వ్రాయవచ్చు. - 67. అంటే రెండు సంక్లిష్ట సంఖ్యలను జతచేయడం, వాస్తవానికి ఈ ఆపరేటర్, మేము ఈ ఫంక్షన్‌ను ఆపరేషన్లుగా అమలు చేస్తాము మరియు ఆ ఫలితం d కి కేటాయించబడుతుంది. - 68. కాబట్టి, మంచిది. - 69. దీన్ని అర్థం చేసుకోవడంలో మీకు పెద్దగా ఇబ్బంది ఉండదని నేను ఖచ్చితంగా అనుకుంటున్నాను. - 70. కుడి వైపున మీకు మరొక ఉదాహరణ ఉంది, ఇక్కడ మేము ఇక్కడ ఒక సి స్ట్రింగ్‌ను చుట్టడానికి ఒక నిర్మాణాన్ని ఉపయోగిస్తున్నాము మరియు ఆ నిర్మాణం యొక్క రకాన్ని బట్టి, స్ట్రింగ్ స్ట్రక్చర్ రకాన్ని బట్టి, మేము స్ట్రింగ్ కోసం ఆపరేటర్ '+' ను పునర్నిర్వచించాము మరియు ఓవర్‌లోడ్ చేసాము. - 71. ఈ విధంగా, ఇక్కడ ఇవ్వబడిన రెండు తీగలను మొదటి పేరు మరియు చివరి పేరు కోసం వ్యక్తీకరణలను జోడించవచ్చు, ఇవి వాస్తవానికి ఈ ఫంక్షన్‌లోకి వెళ్లి ఒకదాన్ని చేస్తాయి. - 72. అందువల్ల, ఒక రకాన్ని బట్టి మనకు ఒకే ఆపరేటర్ + ఉంటుంది. కొన్ని సందర్భాల్లో ఇది సంక్లిష్ట సంఖ్యలకు అదనంగా ఉంటుంది, కొన్ని సందర్భాల్లో దీని అర్థం తీగల కలయిక మరియు మొదలైనవి. - 73. ఇది చాలా సులభం మరియు దీని కోసం, మేము ఇక్కడ గ్లోబల్ ఫంక్షన్లను ఉపయోగించాము. - 74. ఇప్పుడు సహజంగా, మీరు గ్లోబల్ ఫంక్షన్‌ను ఉపయోగిస్తుంటే, ఇది ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ సిస్టమ్‌లో ఇది సరసమైన విషయం కాదని మాకు తెలుసు, ఎందుకంటే గ్లోబల్ టాస్క్, కానీ సహజంగానే వారు డేటాతో పనిచేయాలి ముఖ్యంగా సంక్లిష్ట యొక్క నిజమైన మరియు inary హాత్మక భాగం సభ్యులు అవసరమయ్యే సంఖ్యను బహిరంగపరచాలి మరియు డేటా సభ్యులు నిజంగా ప్రైవేట్‌గా ఉండాలి అనే సూత్రాన్ని మేము పునరుద్ఘాటించాము. - 75. కాబట్టి మనం వాటిని ప్రైవేట్‌గా చేసుకోవాలి. - 76. తరగతికి మద్దతు ఇచ్చే ప్రత్యేక కార్యకలాపాలు మాత్రమే పబ్లిక్‌గా ఉండాలి. - 77. ఇప్పుడు మనం ఇలా చేస్తే, సహజంగా దీనితో మనం ఆపరేటర్ + ను నేరుగా వ్రాయలేము, ఆపరేటర్ + ను గ్లోబల్ ఫంక్షన్ గా నేరుగా ఓవర్రైడ్ చేయవచ్చు, ఎందుకంటే ఈ గ్లోబల్ ఫంక్షన్ ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయదు. - 78. కాబట్టి, ఈ పని చేయడానికి, మేము భాగాలకు సెట్ ఫంక్షన్ల సమూహాన్ని జోడించాలి. - 79. నేను నిజమైన భాగాన్ని ఎక్కడ చదవగలను, నేను inary హాత్మక భాగాన్ని చదవగలను, అక్కడ నేను నిజమైన భాగాన్ని వ్రాయగలను, inary హాత్మక భాగాన్ని వ్రాయగలను. - 80. అందువల్ల, ఈ పద్ధతుల సమితిని ఉపయోగించి ఆపరేటర్ + కోసం గ్లోబల్ ఆపరేటర్ ఓవర్‌లోడింగ్‌ను వ్రాయవచ్చు. - 81. ఇది బాగా పనిచేస్తుంది ఇది పని చేస్తుంది మరియు మేము డేటా సభ్యులను ప్రైవేట్‌గా చేయగలుగుతాము, కాని ఇది మెరుగైన పరిష్కారాన్ని అందించదని పేర్కొంది. - 82. ఎందుకంటే, గ్లోబల్ ఫంక్షన్‌ను అమలు చేయడానికి, మేము ఇవన్నీ నిర్వచించిన ఫంక్షన్‌కు కేటాయించాల్సి వచ్చింది. - 83. మీ అంతర్గత డేటాను బాహ్య ప్రపంచానికి బహిర్గతం చేయడానికి మీరు నిజంగా అందించే సెట్ సెట్ ఫంక్షన్లు. - 84. ఎందుకంటే, మంచి వ్యక్తులు నేరుగా డేటా సభ్యులను ఉపయోగించలేరు, కాని ఆపరేటర్ + సెట్‌ను ఉపయోగించుకోవచ్చు మరియు నిజమైన మరియు ఊహాత్మక భాగాలను పొందవచ్చు కాబట్టి, ఏదైనా బాహ్య ఫంక్షన్‌ను బాహ్య తరగతిగా కూడా ఉపయోగించవచ్చు. - 85. కాబట్టి, ఒక విధంగా, ఈ పరిష్కారం మనకు ఉన్న ఒక రకమైన ఎన్కప్సులేషన్. - 86. అందువల్ల, గ్లోబల్ ఫంక్షన్లతో మనకు తెలుసు, మనం ఎన్కప్సులేషన్ను సంరక్షించలేము. - 87. మేము చూసే తదుపరి ఎంపిక ప్రాథమికంగా సభ్యుల విధులను ఉపయోగించడం మరియు ఇలాంటి పనులు చేయడం. - 88. ఆపరేటర్ ఇప్పుడు సభ్యుల ఫంక్షన్‌గా ఓవర్‌లోడ్ అయిందని ఇప్పుడు పరిశీలిద్దాం. - 89. కాబట్టి, అది తరగతి లోపలికి వెళ్లిందని మీరు చూడవచ్చు. - 90. నా డేటా సభ్యులు ఇప్పటికీ ప్రైవేట్‌గా ఉన్నారు మరియు ఇది తరగతి లోపలికి తరలించబడినందున, దీనికి ఒకే పరామితి ఉంది, ఇది కుడి వైపున ఉన్న పరామితి. - 91. మరియు ఎడమ వైపు పరామితి వస్తువుగా ఉంటుంది. - 92. కాబట్టి, నేను ఎడ్‌ను జోడించాలనుకున్నప్పుడు, c.re తో తిరిగి జోడించండి. - 93. ఎక్కడ, సి అనేది కుడి చేతి ఒపెరాండ్ మరియు మీకు తెలిసినట్లుగా, ఈ పద్ధతి వర్తించే ప్రస్తుత వస్తువు యొక్క వాస్తవ భాగాన్ని సూచిస్తుంది, ఇది ఎడమ చేతి వైపున పనిచేసేది. - 94. కాబట్టి, మీరు సి 1 + సి 2 వ్రాసినట్లే, మేము సి 1 + సి 2 వ్రాసేటప్పుడు, ఇది సి 1 `కండక్టర్ + 'సి 2 కు సమానమని సంజ్ఞామానం సూచిస్తుంది. - 95. కాబట్టి, అంటే సి 2 కుడి చేతి ఒపెరాండ్, అది సి అవుతుంది మరియు సి 1 ప్రస్తుత నక్షత్రం. - 96. అందుకే మనం మళ్ళీ చర్చిస్తున్నప్పుడు మనం నిజంగా c1 యొక్క వాస్తవ భాగాన్ని సూచిస్తున్నాము, నేను c.re ని సూచిస్తున్నప్పుడు మేము c2 యొక్క వాస్తవ భాగాన్ని సూచిస్తున్నాము మరియు ఈ విధంగా ఈ గణన కొనసాగుతుంది. - 97. మేము రక్షించదలిచిన ఎన్‌క్యాప్సులేషన్‌ను రక్షించడం ఒక ప్రయోజనం అని మీకు అదే సమాధానం ఇచ్చే ఖచ్చితంగా ఇదే పరిష్కారం మీకు ఇస్తుంది. - 98. కాబట్టి, మేము దానితో చాలా తేలికగా పని చేయవచ్చు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి మంచి ఆపరేటర్ ఓవర్‌లోడింగ్ చేయవచ్చు. - 99. ఇప్పుడు, మీరు చాలా మందికి బైనరీ ఆపరేటర్‌ను చూపించినట్లే, ఇతర ఆపరేటర్లను ఓవర్‌లోడ్ చేయవచ్చు. - 100. ఉదాహరణకు, మీరు మాడ్యూల్ 14 లో గుర్తుచేసుకుంటే, కాపీ చేసే ఎంపికలలో మేము వివిధ అవకాశాలను చర్చించినప్పుడు, ఆపరేటర్ అసైన్‌మెంట్ కాపీ కాపీ ఆపరేటర్ అని మేము చూపించాము. - 101. ఇది ఓవర్‌లోడ్ చేయగలదా అనే దాని గురించి మేము మాట్లాడుతున్నాము మరియు ఈ మొత్తం ఉదాహరణను చేయడానికి సురక్షితమైన మార్గం వాస్తవానికి మీ సూచన కోసం మాడ్యూల్ 14 నుండి మళ్ళీ ప్రతిరూపం అవుతుందని చూపబడింది. - 102. కాబట్టి, కాపీ అసైన్‌మెంట్ ఆపరేటర్ కోసం ఓవర్‌లోడింగ్ ఎలా పనిచేస్తుందో మేము ఇప్పటికే చూశాము మరియు అది కూడా ఇక్కడ ఉంది మరియు ఈ ఓవర్‌లోడింగ్ చాలా ముఖ్యమైనదని మేము గుర్తించాము ఎందుకంటే మీరు కంపైలర్‌ను ఓవర్‌లోడ్ చేసే వరకు ఉచిత కాపీ కేటాయింపు కేవలం నిస్సార కాపీ. - 103. కాబట్టి, పాయింటర్ వేరియబుల్స్ సమక్షంలో మీకు తప్పు సెమాంటిక్స్ ఇవ్వవచ్చు మరియు మీరు ఓవర్‌లోడ్ చేసి, కాపీ అసైన్‌మెంట్ ఆపరేటర్‌ను లోతుగా కాపీ చేయాల్సి ఉంటుంది. - 104. ఇప్పుడు నీలిరంగు రంగుతో పాటు, మీరు వినియోగదారులను కొత్త ఆపరేటర్లుగా చేస్తే, మీరు ఏ అదనపు అంశాలను పరిగణనలోకి తీసుకోవాలో చూపించాను. - 105. మీరు కన్స్ట్రక్టర్ కొంతమంది డైనమిక్ కేటాయించిన పాయింటర్ సభ్యుల కోసం కొత్త ఆపరేటర్‌ను ఉపయోగిస్తారు. - 106. అందువల్ల, మీరు కంపైలర్ అయినప్పుడు ఆపరేటర్ క్రొత్తదాన్ని ఉపయోగిస్తున్నారు, అప్పుడు మీ ఆపరేటర్ (ఆపరేటర్) = తప్పనిసరిగా ఓవర్‌లోడ్ చేయాలి. - 107. ఎందుకంటే అప్పుడు నిస్సార కాపీ మరియు లోతైన కాపీ మధ్య నిర్ణయించే స్థానం మీకు ఉంటుంది. - 108. అదే సమయంలో కాపీ కన్స్ట్రక్టర్ నిర్వచించాల్సిన అవసరం ఉంటే, సాధారణంగా ఒక కాపీ = ఆపరేటర్ నిర్వచించబడాలి; అలాగే మరియు దీనికి విరుద్ధంగా. - 109. కాబట్టి, మీరు తరగతులను రూపకల్పన చేసినప్పుడు, దయచేసి ఈ విషయాన్ని గుర్తుంచుకోండి ఎందుకంటే కాపీ '=' ఆపరేటర్ చాలా ముఖ్యమైన ఆపరేటర్, ఇది ఓవర్‌లోడ్ కావాలి. - 110. మా కోసం మాత్రమే వెళుతున్నప్పుడు, ఎక్రీ ఆపరేటర్లను ఒకే కారణంతో ఓవర్‌లోడ్ చేయవచ్చు, నేను వాటిని ఇక్కడ చేర్చాను, ఎకరీ ఆపరేటర్లు రెండు రకాల ఉపసర్గ మరియు పోస్ట్‌ఫిక్స్ కావచ్చు. - 111. కాబట్టి, ఇది ఉపసర్గ ఆపరేటర్ మరియు ఇది పోస్ట్ఫిక్స్ ఆపరేటర్. - 112. పోస్ట్‌ఫిక్స్ ఆపరేటర్ (ఆపరేటర్) సంతకంలో అదనపు రకం ద్వారా నియమించబడిందని నేను ఇప్పటికే ప్రస్తావించాను, కాని ఇది కేవలం ప్లేస్‌హోల్డర్ మాత్రమే, ఇది కంపైలర్ ఉపసర్గ మరియు పోస్ట్‌ఫిక్స్ ఆపరేటర్ మధ్య పరిష్కరించడానికి ఉపయోగిస్తుంది. దీన్ని పూర్తి చేస్తారు. - 113. వాస్తవానికి, మీరు రెండవ పరామితిని నాన్-ఆపరేటర్‌కు పంపాలని ఆశించరు, ఎందుకంటే యూనిరీ ఆపరేటర్ ఇప్పటికే తరగతి నుండి వర్తించే పరామితిని కలిగి ఉంది.ఇది ఇదే లేదా ఇదే. - 114. ఇప్పుడు, మీరు అమలు మరియు తిరిగి రకాలను చూస్తున్నట్లయితే. - 115. నేను మీపై కొంచెం హైలైట్ చేయాలనుకుంటున్నాను. - 116. అందువల్ల, ఇది ఉపసర్గ పెరుగుదల అయితే, మనకు తెలిసినది ఏమిటంటే అది మొదట ఇంక్రిమెంట్ చేసి వస్తువును తిరిగి ఇస్తుంది. - 117. ఉపసర్గ ఆపరేటర్ తప్పనిసరిగా ఆహ్వానం సంభవించిన అదే వస్తువును తిరిగి ఇవ్వాలి. - 118. కాబట్టి, అదే వస్తువు తిరిగి రావాలని మరియు సహజంగా తిరిగి ఉండాలి, ఇది ప్రాథమికంగా అదే వస్తువును తిరిగి ఇస్తుంది. - 119. మరియు దీనికి ముందు ఆపరేషన్ యొక్క గజిబిజి ఇప్పటికే జరిగింది. - 120. మరోవైపు, మీరు పోస్ట్ ఇంక్రిమెంట్ ఆపరేటర్‌ను చూస్తే, అవును మీరు పొందాలి అంటే ఆపరేటర్ ఇప్పటికే పనిచేశారు, పోస్ట్ ఇంక్రిమెంట్ ఫలితం అసలు ధర. - 121. ఆపరేటర్ రాకముందు మీకు ఉన్న అసలు ధర, మీరు ఆ రాబడి విలువను పొందుతారు, ఆపై అంశం పెరుగుతుంది. - 122. కాబట్టి, ఇది తరువాత జరుగుతుంది. - 123. కాబట్టి, మీరు వస్తువును పెంచుతారు కాబట్టి వస్తువు పెరుగుతుంటే ఈ ఆపరేషన్ తర్వాత ఏదో ఒకవిధంగా పెరుగుతుంది. - 124. తిరిగి వచ్చిన విలువ అసలు యొక్క కాపీ అయి ఉండాలి, ఎందుకంటే అసలు అంశం ఆపరేటర్ నుండి తిరిగి వచ్చిన వెంటనే మారబోతోంది. - 125. కాబట్టి, ఇప్పుడు మీరు దానిని తాత్కాలిక రిటర్న్ సందర్భంలో కాపీ చేయవలసి ఉంది మరియు మీరు తాత్కాలికమైనదాన్ని తిరిగి ఇస్తున్నందున, మీ రిటర్న్ రకాన్ని ఇప్పటికే తిరిగి ఇవ్వవలసి ఉంటుందని మీరు ఇప్పటికే చర్చించినందున, ఈ రిటర్న్ రిఫరెన్స్ ద్వారా సాధ్యం కాదు. - 126. కాబట్టి, పోస్ట్ ఆపరేటర్ సందర్భంలో, మీ రిటర్న్ రకం ధర రకం ద్వారా వ్రాయబడుతుంది. - 127. అందువల్ల, నేను ఈ వివరణలను ఇక్కడ వ్రాశాను, మీరు దీనిపై సిద్ధమవుతున్నప్పుడు మీరు వాటిని సూచించాల్సిన అవసరం ఉంది మరియు ఈ విధంగా మీరు ఉన్ని ఆపరేటర్లను ఓవర్లోడ్ చేయవచ్చు. - 128. ఇంకొక విషయం ఏమిటంటే, ఓవర్‌లోడింగ్ విషయంలో నేను ఒకరిని మాత్రమే కాకుండా అనేక ఇతర ఆపరేటర్లను కూడా హైలైట్ చేయాలనుకుంటున్నాను; ఈ ఆపరేటర్ ఏకపక్ష ఇంక్రిమెంట్ ఆపరేటర్, మాజీ ఇంక్రిమెంట్ ఆపరేటర్ అని uming హిస్తూ, ఒక నాన్-ఆపరేటర్ మాత్రమే మీకు చూపిస్తాను. - 129. కానీ మీరు కలిగి ఉన్న కార్యాచరణ ఇంక్రిమెంట్ ఫంక్షన్ అని అవసరం లేదు. - 130. ఇది కొన్ని ఇతర కార్యాచరణలు కావచ్చు, ఇక్కడ మాదిరిగా, నేను ఈ ఆపరేటర్‌ను పిలిస్తే నా డేటా ప్రాంతం రెట్టింపు అవుతుందని నేను చూపిస్తున్నాను, కాని ముఖ్యమైనది ఏమిటంటే ఆపరేటర్ యొక్క అసలు సెమాంటిక్స్ అది మీరు వర్తింపజేసిన వస్తువును తిరిగి ఇస్తుంది. - 131. కాబట్టి, ఇది అదే విధంగా ఉంటుంది, ఇది అలాగే ఉంటుంది, కానీ వాస్తవ కార్యాచరణ భిన్నంగా ఉండవచ్చు. - 132. పోస్ట్ ఆపరేటర్ కోసం అదే పరిస్థితి ఉంది మరియు నేను మీ డేటాను మూడు ద్వారా విభజించిన కొన్ని విభిన్న కార్యాచరణలను అందించాను. - 133. ఇది పట్టింపు లేదు, మీకు కావలసినది ఉంచవచ్చు. - 134. కానీ ఆ మూల నుండి మీరు అసలు వస్తువును తాత్కాలికంగా మరియు ఆ విలువ నుండి తిరిగి రావడం ద్వారా తాత్కాలికంగా కాపీ చేయాల్సిన అవసరం ఉంది, ఎందుకంటే పోస్ట్ ఆపరేటర్ పోస్ట్ లీడర్‌షిప్ ఆపరేటర్ షాల్ మరియు ఈ పరిశీలనలు. - 135. కాబట్టి, ప్రీ ఇంక్రిమెంట్, ప్రీ ఇంక్రిమెంట్ ఆపరేటర్ లేదా మీ వద్ద ఉన్న అన్ని ఇతర గ్యారీ ఆపరేటర్లు మరియు బైనరీ ఆపరేటర్లకు ఇది ఒకే విధంగా ఉంటుంది. - 136. ఈ మాడ్యూల్‌లో, వినియోగదారు నిర్వచించిన రకాలు కోసం ఆపరేటర్ ఓవర్‌లోడింగ్‌ను పరిచయం చేసాము. - 137. ఆపరేటర్లను ఓవర్లోడ్ చేయడం ఎందుకు ముఖ్యమో మేము వివరించాము మరియు గ్లోబల్ ఫంక్షన్లు మరియు క్లాసుల సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ల ఓవర్లోడ్ యొక్క మూలాన్ని వివరించాము. పద్ధతి వివరించబడింది. - 138. ఈ ప్రక్రియలో, ఓవర్‌లోడ్ కోసం మీరు ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించవచ్చని కూడా మేము చూశాము, ఇది మేము తదుపరి మాడ్యూల్‌లో చేస్తాము. - 139. ఈ మాడ్యూల్‌లో, మొత్తం బైనరీ మరియు బైనరీయేతర ఆపరేటర్లకు ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక సెమాంటిక్స్ యొక్క రూపురేఖలు ఉన్నాయి. - 140. + ప్రోగ్రామింగ్ ఇన్ సి ++ మోడ్యూల్ 18 కు స్వాగతం. + ముందుగా ఆపరేటర్లు ఓవర్లోడింగ్ గురించి మాట్లాడ్దాము. + C ++ లోని ఆపరేటర్లు, వాటిలో ఎక్కువ భాగం యూజర్ ఓవర్‌లోడ్ చేయగల సంబంధిత ఆపరేటర్ ఫంక్షన్లతో సంబంధం కలిగి ఉండవచ్చని మేము చర్చించాము. + ఈ మాడ్యూల్‌లో మరియు తరువాతి వాటిలో, వినియోగదారు నిర్వచించిన రకాలు కోసం ఆపరేటర్ ఓవర్‌లోడ్‌ను లోతుగా పరిశీలిస్తాము.ఇది లింక్డ్ డిస్కషన్. + కాబట్టి, ఇది ఈ చర్చలో పార్ట్ -1 అవుతుంది. + వినియోగదారు నిర్వచించిన రకాల కోసం ఆపరేటర్లను ఓవర్లోడ్ ఎలా చేయాలో అర్థం చేసుకోవడానికి మేము ప్రయత్నిస్తాము. + మరియు ఈ మాడ్యూల్‌లో గ్లోబల్ ఫంక్షన్లు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి ఓవర్‌లోడింగ్ యొక్క అంశాలను మేము అన్వేషిస్తాము. + ఎప్పటిలాగే మీ స్క్రీన్ యొక్క ఎడమ వైపున అవుట్లైన్ అందుబాటులో ఉంటుంది. + ఇప్పుడు, ఆపరేటర్ ఓవర్‌లోడింగ్ గురించి చర్చించటానికి ముందు, ఆపరేటర్‌ను ఎందుకు ఓవర్‌లోడ్ చేయాలనుకుంటున్నామో త్వరగా క్లుప్తీకరిస్తాను. + నేను మొదటి రెండు మాడ్యూళ్ళను సూచించాలనుకుంటున్నాను; మాడ్యూల్ 9, ఇక్కడ నిర్మాణాత్మక రకాల కోసం ఓవర్‌లోడింగ్ ఆపరేటర్ + గురించి చర్చించాము, స్ట్రింగ్ స్ట్రక్చర్ కోసం ఆపరేటర్ + ఓవర్‌లోడ్ అయిందని చూపించడానికి లెక్కించిన రకాలు, అంటే నక్షత్రాల సంగ్రహణ. + అదేవిధంగా, మేము ఎనుమ్ రకాల కోసం నిర్దిష్ట ఓవర్‌లోడ్‌లను గమనించాము. + తరువాత మాడ్యూల్ 14 లో, మేము ఆ ఆపరేటర్ గురించి మాట్లాడాము, అసైన్‌మెంట్ ఆపరేటర్ కోసం ఓవర్‌లోడింగ్‌ను కాపీ చేయడానికి సరైన సెమాంటిక్స్ను నిర్వచించాము, ముఖ్యంగా లోతైన మరియు నిస్సారమైన కాపీయింగ్ సందర్భంలో. ముఖ్యమైనవి. + సాధారణంగా, అదే ప్రయోజనం యొక్క ఆపరేటర్లు మరియు విధులు మనకు తెలిసినట్లుగా, వ్యత్యాసం ఏమిటంటే ఆపరేటర్‌కు చాలా కాంపాక్ట్ సంజ్ఞామానం ఉంటుంది, ఇది సాధారణంగా ఇన్ఫిక్స్. + అందువల్ల, కాంపాక్ట్ వ్యక్తీకరణ సందర్భంలో చాలా విభిన్నమైన సంక్లిష్ట ఫంక్షన్ల కలయికను వ్రాయడం సాధ్యమవుతుంది; సరైన కార్యాచరణ కోసం తగిన ఆపరేటర్‌ను నేను నిర్వచించగలిగితే మనం చేయాలనుకుంటున్నాము. + అందువల్ల, అంతర్నిర్మిత రకాలు కోసం అవి అప్రమేయంగా లభిస్తాయి, కొన్ని ఆపరేటర్లు పాయింటర్ రకాలు కోసం కూడా అందుబాటులో ఉన్నాయి. + కాబట్టి, నేను నిర్వచించబోయే రకం కోసం ఆపరేటర్లను ఓవర్‌లోడ్ చేయగలిగితే; ఇది వినియోగదారు నిర్వచించిన రకం; ఆపరేటర్లను రకాలుగా నిర్మించటానికి నిర్వచించబడిన విధంగా. + వినియోగదారు నిర్వచించిన రకం కోసం, మేము వ్యక్తీకరణను కూడా వ్రాయగలము, వాస్తవానికి మనం నిర్మిస్తున్న నిర్దిష్ట వినియోగదారు-నిర్వచించిన రకం లేదా UDT ఆధారంగా పూర్తి బీజగణితాన్ని నిర్మించవచ్చు. + అందువల్ల, ఇక్కడ నేను ఇప్పుడే ప్రస్తావించాను మరియు ఏమి చేయవచ్చనే దానిపై చాలా క్లుప్త రూపురేఖలు ఇవ్వడానికి ప్రయత్నించాను. + ఉదాహరణకు, C ++ కి సంక్లిష్ట రకం లేదు. + ఇది డబుల్ రకాన్ని కలిగి ఉంది, కానీ సంక్లిష్టమైన రకం కాదు. + కానీ ఆపరేటర్ ఓవర్‌లోడింగ్ ఉపయోగించి, మేము ఆపరేటర్ + ను ఇలా నిర్వచించవచ్చు; సంక్లిష్ట సంఖ్యలు జతచేస్తాయని మేము చెప్పగలం, ఇది సంక్లిష్ట సంఖ్యల వ్యవకలనం, సంక్లిష్ట సంఖ్యల గుణకారం, సంక్లిష్ట సంఖ్యల విభజన. + ఇవన్నీ సంబంధిత ఆపరేటర్ల పరంగా నిర్వచించబడతాయి మరియు కొన్ని, సంక్లిష్ట కంజుగేట్ల కోసం శోధించడం వంటి సంక్లిష్ట రకానికి ప్రత్యేకమైనవి. + మేము '!' ఆపరేటర్‌ను ఉపయోగించవచ్చు. ఆశ్చర్యార్థక ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం అంటే '!' ఆపరేషన్ ఒక రకమైన నిరాకరణ. + కాబట్టి, సంక్లిష్ట సంయోగం ఆ ఆపరేటర్‌ను నిర్లక్ష్యం చేయడం వంటిది. + అదేవిధంగా, మనకు వేర్వేరు రకాలు ఉండవచ్చు, మాతృక యొక్క విలోమంతో సహా బీజగణితంతో సహా అన్ని మాత్రికలకు ఆపరేటర్‌ను కలిగి ఉన్న మాతృక రకాలను కలిగి ఉండవచ్చు, మేము యూనియన్, తేడా, సూపర్‌సెట్, ఉపసమితి సంబంధం మరియు మొదలైన రకాలను సెట్ చేయవచ్చు . + అందువల్ల, ఇవన్నీ మరియు మీరు సృష్టించడానికి యుడిటిగా నిర్వచించదలిచిన అన్ని రకాలు, మీరు ఆపరేటర్ ఓవర్‌లోడింగ్ ఉపయోగించి పూర్తి రకాన్ని సృష్టించవచ్చు. + మరియు ముఖ్యంగా, IO పరంగా, ఆపరేటర్ అవుట్పుట్ మరియు ఆపరేటర్ ఇన్పుట్ స్ట్రీమింగ్ పరంగా మేము చాలా కాంపాక్ట్ IO చేయవచ్చు. + ఆ ఆపరేటర్లను చాలా కాంపాక్ట్ IO నిర్మాణాలను అందించడానికి UDT కోసం ఓవర్‌లోడ్ చేయవచ్చు. + మరియు నేను ప్రస్తావించాలనుకుంటున్నాను, కానీ ఇది కొంతవరకు ముందంజలో ఉంది. + స్మార్ట్ పాయింటర్ యొక్క C ++ లోని కొన్ని మంచి నమూనాలు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం చాలా ముఖ్యమైనవి. + అందువల్ల, మంచి వినియోగదారు-నిర్వచించిన రకాన్ని సృష్టించడానికి ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం ఒక ముఖ్యమైన అవసరం. + కాబట్టి, మేము ఇప్పుడు ముందుకు సాగాలి.ఇది మాడ్యూల్ 9 నుండి శీఘ్ర రీక్యాప్, ప్రతి ఆపరేటర్ కోసం, మేము నిర్వచించగల ఆపరేటర్ ఫంక్షన్ ఉందని మేము చూశాము. + మరియు ఆ ఆపరేటర్ ఫంక్షన్ ఖచ్చితంగా ఆపరేటర్ + 'వంటి సంతకాన్ని కలిగి ఉంటుంది. + ఈ సందర్భంలో, మేము దీనిని చూశాము; నేను ఇక్కడ ఎక్కువ సమయం వృథా చేయను. + ఇది మీ మనస్సులో జరిగితే మళ్ళీ గుర్తుంచుకోండి. + ఇప్పుడు ఈ ఆపరేటర్ సభ్యులే కాని ఫంక్షన్ కావచ్చు. + అందుకని ఇది సార్వత్రిక ఫంక్షన్ కావచ్చు మరియు ఫ్రెండ్ ఫంక్షన్లు కూడా ఉన్నాయని మాకు తెలుసు. + కాబట్టి, ఆపరేటర్ ఫంక్షన్ గ్లోబల్ ఫంక్షన్ లేదా ఫ్రెండ్ ఫంక్షన్ అయితే, ఇది ఇలా అనిపించవచ్చు, ఇది నా రకానికి చెందిన రెండు వస్తువులను కనెక్ట్ చేయడానికి గ్లోబల్ ఆపరేటర్ (). ఆపరేటర్) ఫంక్షన్ కూడా ఇది నా రకం. + అదేవిధంగా, ఒకరికి - అది స్నేహితుడైతే, అది ఏదోలా కనిపిస్తుంది, ఒకే తేడా ఏమిటంటే ఫ్రెండ్ కీవర్డ్ రావడం. + అదేవిధంగా, బైనరీ ఆపరేటర్ల కోసం గ్లోబల్ ఆపరేటర్ల కోసం గ్లోబల్ లేదా ఫ్రెండ్ ఫంక్షన్లను కలిగి ఉండవచ్చు. + కాబట్టి, మీరు దీన్ని యూనిటరీ ఆపరేటర్ల కోసం కలిగి ఉండవచ్చు. + మేము ఉపసర్గ ఆపరేటర్ మరియు పోస్ట్ఫిక్స్ ఆపరేటర్ కోసం ఒక నిర్దిష్ట ఆపరేటర్ కావచ్చు. + మనకు ఉపసర్గ ఆపరేటర్ మరియు ఆపరేటర్ ఉండవచ్చు. + ఇది కాకుండా, మేము ఆపరేటర్ ఫంక్షన్లను కూడా కలిగి ఉండవచ్చు, అవి ప్రాథమికంగా సభ్యుల ఫంక్షన్లు. + కాబట్టి, ఇది సభ్యుల ఫంక్షన్ అయితే ఆపరేటర్ ఫంక్షన్ ఇలా కనిపిస్తుంది. + ఇక్కడ గమనించవలసిన ముఖ్య విషయం ఏమిటంటే `+ 'బైనరీ ఆపరేటర్, కాబట్టి దీనికి రెండు ఒపెరాండ్స్ అవసరం. + కానీ ఇక్కడ మీరు, ఆపరేటర్ + కోసం ఒక పరామితిని మాత్రమే చూస్తారు, ఎందుకంటే ఇది ఆపరేటర్ ఫంక్షన్, సభ్యుల ఫంక్షన్ మొదటి ఆపరేటర్ లేదా ఎడమ చేతి వైపు ఉంటుంది. ఆపరేటర్ యొక్క ఎడమ ఆపరేటర్ (ఆపరేటర్) మీకు ఒక వస్తువు ఆపరేటర్ ఫంక్షన్‌ను ఆహ్వానిస్తున్నారు. + కాబట్టి, నాకు ఏదైనా సభ్యుల పని ఉందో మీకు తెలిసినట్లుగా, ఇక్కడ నేను ఈ సభ్యుడికి కనిపించను. + కాబట్టి, ఈ అదృశ్య పాయింటర్ వాస్తవానికి నా మొదటి ఒపెరాండ్ ఇదేనని లేదా నా వద్ద ఉన్న ప్రస్తుత వస్తువు ఎల్లప్పుడూ ఎడమ ఒపెరాండ్‌గా ఉంటుందని మరియు కుడి ఒపెరాండ్ ఇక్కడ దాటిందని అర్థం. + కాబట్టి, సభ్యుల ఫంక్షన్ విషయంలో, ఇది గ్లోబల్ లేదా ఫ్రెండ్ ఫంక్షన్ నుండి తేడా. + యునరీ ఆపరేటర్లను కూడా నిర్వచించవచ్చు, ఒక విధంగా, సహజంగా, యూనిరీ ఆపరేటర్లకు ఒపెరాండ్ ఉండదు, ఎందుకంటే వారికి ఒకటి మాత్రమే ఉంది మరియు మీరు దానిని వర్తించే అంశం ఇది. + ఇది పోస్ట్‌ఫిక్స్‌డ్ ఆపరేటర్ అయితే, మనకు ఒక రకమైన పూర్ణాంకానికి ఉంటుంది, ఇది వాస్తవానికి ఒపెరాండ్ కాదా? కానీ అదనపు రకం సంతకం పూర్ణాంకం అంటే పోస్ట్‌ఫిక్స్ ఆపరేటర్. + అందువల్ల, ఇది ప్రిఫిక్స్ ఆపరేటర్ల మధ్య తేడాను గుర్తించడానికి ఉపయోగించబడుతుంది, ఇది మరొక పోస్ట్ఫిక్స్ ఆపరేటర్, ఎందుకంటే ఈ రెండింటిని '++' అని పిలుస్తారు. + కాబట్టి, సంతకం జాబితాలోని ఈ అదనపు రకం ఆపరేటర్ ఏ ఉపసర్గ అని నిర్దేశిస్తుంది, ఇది పోస్ట్‌ఫిక్స్ ఆపరేటర్. + కాబట్టి, ఇవి ఆపరేటర్ ఫంక్షన్లను నిర్వచించి వాటిని ఓవర్‌లోడ్ చేయగల వివిధ ఎంపికలు. + అందువల్ల, నేను మిమ్మల్ని త్వరగా మాడ్యూల్ 9 కు సూచిస్తాను. + ఎక్కడ, ఆపరేటర్ల కోసం మేము ఏమి చేయగలమో అనే నియమాల సారాంశాన్ని చూశాము. + మేము ఆపరేటర్ల యొక్క ప్రాధమిక లక్షణాలను మార్చలేము మరియు ఓవర్‌లోడ్ చేయగల ఆపరేటర్ల యొక్క స్థిర జాబితా ఉంది. ఓవర్‌లోడ్ చేయలేని కొన్ని ఆపరేటర్లు ఉన్నారు, కొన్ని ఓవర్‌లోడ్ చేయకూడదు, మేము మాడ్యూల్) 9 దీన్ని లోతుగా చర్చిస్తాము, కాబట్టి నేను దానిని వదిలివేస్తుంది. + ఇప్పుడు నీలిరంగులో హైలైట్ చేయబడిన రెండు పాయింట్లు అదనపువి, ఒకటి ఆబ్జెక్ట్‌ను ప్రారంభించడం ద్వారా ఆమోదించబడిన సభ్యుల ఫంక్షన్ కోసం, నేను ఇప్పుడే వివరించాను మరియు ఇది ఎడమ ఒపెరాండ్‌గా ఉంది, కాబట్టి సరైన ఒపెరాండ్ మాత్రమే స్పష్టంగా ప్రస్తావించబడింది. + గ్లోబల్ ఫంక్షన్ లేదా ఫ్రెండ్ ఫంక్షన్ విషయంలో, రెండు ఒపెరాండ్‌లు స్పష్టంగా పేర్కొనబడ్డాయి. + కాబట్టి, ఇది ఆపరేటర్ యొక్క ఓవర్లోడ్ యొక్క మూలం. + కాబట్టి, ఇప్పుడు దీనితో మనం ఇంతకుముందు చూసిన కొన్ని కోడ్‌లను పరిశీలిద్దాం, అవి గ్లోబల్ ఫంక్షన్‌ను ఉపయోగించి ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి ప్రయత్నిస్తాయి. + అందువల్ల, నేను ఒక సాధారణ సంక్లిష్ట తరగతిని కలిగి ఉన్నాను. + కాబట్టి, ఈ సభ్యులు ఇద్దరూ బహిరంగంగా అందుబాటులో ఉన్నారని మరియు ఈ సంక్లిష్ట నిర్మాణం కోసం మేము ఆపరేటర్ + ఆపరేటర్‌ను వ్రాశాము, ఇది ప్రాథమికంగా నిజమైన మరియు inary హాత్మక భాగాల భాగం యొక్క తెలివైన చేరిక. + ఈ వ్యక్తీకరణలో d1 ఒక సంక్లిష్టమని మనం ఉపయోగిస్తే, d2 మరింత క్లిష్టంగా ఉండటం వలన మనం d1 + d2 ను వ్రాయవచ్చు. + అంటే రెండు సంక్లిష్ట సంఖ్యలను జతచేయడం, వాస్తవానికి ఈ ఆపరేటర్, మేము ఈ ఫంక్షన్‌ను ఆపరేషన్లుగా అమలు చేస్తాము మరియు ఆ ఫలితం d కి కేటాయించబడుతుంది. + కాబట్టి, మంచిది. + దీన్ని అర్థం చేసుకోవడంలో మీకు పెద్దగా ఇబ్బంది ఉండదని నేను ఖచ్చితంగా అనుకుంటున్నాను. + కుడి వైపున మీకు మరొక ఉదాహరణ ఉంది, ఇక్కడ మేము ఇక్కడ ఒక సి స్ట్రింగ్‌ను చుట్టడానికి ఒక నిర్మాణాన్ని ఉపయోగిస్తున్నాము మరియు ఆ నిర్మాణం యొక్క రకాన్ని బట్టి, స్ట్రింగ్ స్ట్రక్చర్ రకాన్ని బట్టి, మేము స్ట్రింగ్ కోసం ఆపరేటర్ '+' ను పునర్నిర్వచించాము మరియు ఓవర్‌లోడ్ చేసాము. + ఈ విధంగా, ఇక్కడ ఇవ్వబడిన రెండు తీగలను మొదటి పేరు మరియు చివరి పేరు కోసం వ్యక్తీకరణలను జోడించవచ్చు, ఇవి వాస్తవానికి ఈ ఫంక్షన్‌లోకి వెళ్లి ఒకదాన్ని చేస్తాయి. + అందువల్ల, ఒక రకాన్ని బట్టి మనకు ఒకే ఆపరేటర్ + ఉంటుంది. కొన్ని సందర్భాల్లో ఇది సంక్లిష్ట సంఖ్యలకు అదనంగా ఉంటుంది, కొన్ని సందర్భాల్లో దీని అర్థం తీగల కలయిక మరియు మొదలైనవి. + ఇది చాలా సులభం మరియు దీని కోసం, మేము ఇక్కడ గ్లోబల్ ఫంక్షన్లను ఉపయోగించాము. + ఇప్పుడు సహజంగా, మీరు గ్లోబల్ ఫంక్షన్‌ను ఉపయోగిస్తుంటే, ఇది ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ సిస్టమ్‌లో ఇది సరసమైన విషయం కాదని మాకు తెలుసు, ఎందుకంటే గ్లోబల్ టాస్క్, కానీ సహజంగానే వారు డేటాతో పనిచేయాలి ముఖ్యంగా సంక్లిష్ట యొక్క నిజమైన మరియు inary హాత్మక భాగం సభ్యులు అవసరమయ్యే సంఖ్యను బహిరంగపరచాలి మరియు డేటా సభ్యులు నిజంగా ప్రైవేట్‌గా ఉండాలి అనే సూత్రాన్ని మేము పునరుద్ఘాటించాము. + కాబట్టి మనం వాటిని ప్రైవేట్‌గా చేసుకోవాలి. + తరగతికి మద్దతు ఇచ్చే ప్రత్యేక కార్యకలాపాలు మాత్రమే పబ్లిక్‌గా ఉండాలి. + ఇప్పుడు మనం ఇలా చేస్తే, సహజంగా దీనితో మనం ఆపరేటర్ + ను నేరుగా వ్రాయలేము, ఆపరేటర్ + ను గ్లోబల్ ఫంక్షన్ గా నేరుగా ఓవర్రైడ్ చేయవచ్చు, ఎందుకంటే ఈ గ్లోబల్ ఫంక్షన్ ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయదు. + కాబట్టి, ఈ పని చేయడానికి, మేము భాగాలకు సెట్ ఫంక్షన్ల సమూహాన్ని జోడించాలి. + నేను నిజమైన భాగాన్ని ఎక్కడ చదవగలను, నేను inary హాత్మక భాగాన్ని చదవగలను, అక్కడ నేను నిజమైన భాగాన్ని వ్రాయగలను, inary హాత్మక భాగాన్ని వ్రాయగలను. + అందువల్ల, ఈ పద్ధతుల సమితిని ఉపయోగించి ఆపరేటర్ + కోసం గ్లోబల్ ఆపరేటర్ ఓవర్‌లోడింగ్‌ను వ్రాయవచ్చు. + ఇది బాగా పనిచేస్తుంది ఇది పని చేస్తుంది మరియు మేము డేటా సభ్యులను ప్రైవేట్‌గా చేయగలుగుతాము, కాని ఇది మెరుగైన పరిష్కారాన్ని అందించదని పేర్కొంది. + ఎందుకంటే, గ్లోబల్ ఫంక్షన్‌ను అమలు చేయడానికి, మేము ఇవన్నీ నిర్వచించిన ఫంక్షన్‌కు కేటాయించాల్సి వచ్చింది. + మీ అంతర్గత డేటాను బాహ్య ప్రపంచానికి బహిర్గతం చేయడానికి మీరు నిజంగా అందించే సెట్ సెట్ ఫంక్షన్లు. + ఎందుకంటే, మంచి వ్యక్తులు నేరుగా డేటా సభ్యులను ఉపయోగించలేరు, కాని ఆపరేటర్ + సెట్‌ను ఉపయోగించుకోవచ్చు మరియు నిజమైన మరియు ఊహాత్మక భాగాలను పొందవచ్చు కాబట్టి, ఏదైనా బాహ్య ఫంక్షన్‌ను బాహ్య తరగతిగా కూడా ఉపయోగించవచ్చు. + కాబట్టి, ఒక విధంగా, ఈ పరిష్కారం మనకు ఉన్న ఒక రకమైన ఎన్కప్సులేషన్. + అందువల్ల, గ్లోబల్ ఫంక్షన్లతో మనకు తెలుసు, మనం ఎన్కప్సులేషన్ను సంరక్షించలేము. + మేము చూసే తదుపరి ఎంపిక ప్రాథమికంగా సభ్యుల విధులను ఉపయోగించడం మరియు ఇలాంటి పనులు చేయడం. + ఆపరేటర్ ఇప్పుడు సభ్యుల ఫంక్షన్‌గా ఓవర్‌లోడ్ అయిందని ఇప్పుడు పరిశీలిద్దాం. + కాబట్టి, అది తరగతి లోపలికి వెళ్లిందని మీరు చూడవచ్చు. + నా డేటా సభ్యులు ఇప్పటికీ ప్రైవేట్‌గా ఉన్నారు మరియు ఇది తరగతి లోపలికి తరలించబడినందున, దీనికి ఒకే పరామితి ఉంది, ఇది కుడి వైపున ఉన్న పరామితి. + మరియు ఎడమ వైపు పరామితి వస్తువుగా ఉంటుంది. + కాబట్టి, నేను ఎడ్‌ను జోడించాలనుకున్నప్పుడు, c.re తో తిరిగి జోడించండి. + ఎక్కడ, సి అనేది కుడి చేతి ఒపెరాండ్ మరియు మీకు తెలిసినట్లుగా, ఈ పద్ధతి వర్తించే ప్రస్తుత వస్తువు యొక్క వాస్తవ భాగాన్ని సూచిస్తుంది, ఇది ఎడమ చేతి వైపున పనిచేసేది. + కాబట్టి, మీరు సి 1 + సి 2 వ్రాసినట్లే, మేము సి 1 + సి 2 వ్రాసేటప్పుడు, ఇది సి 1 `కండక్టర్ + 'సి 2 కు సమానమని సంజ్ఞామానం సూచిస్తుంది. + కాబట్టి, అంటే సి 2 కుడి చేతి ఒపెరాండ్, అది సి అవుతుంది మరియు సి 1 ప్రస్తుత నక్షత్రం. + అందుకే మనం మళ్ళీ చర్చిస్తున్నప్పుడు మనం నిజంగా c1 యొక్క వాస్తవ భాగాన్ని సూచిస్తున్నాము, నేను c.re ని సూచిస్తున్నప్పుడు మేము c2 యొక్క వాస్తవ భాగాన్ని సూచిస్తున్నాము మరియు ఈ విధంగా ఈ గణన కొనసాగుతుంది. + మేము రక్షించదలిచిన ఎన్‌క్యాప్సులేషన్‌ను రక్షించడం ఒక ప్రయోజనం అని మీకు అదే సమాధానం ఇచ్చే ఖచ్చితంగా ఇదే పరిష్కారం మీకు ఇస్తుంది. + కాబట్టి, మేము దానితో చాలా తేలికగా పని చేయవచ్చు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి మంచి ఆపరేటర్ ఓవర్‌లోడింగ్ చేయవచ్చు. + ఇప్పుడు, మీరు చాలా మందికి బైనరీ ఆపరేటర్‌ను చూపించినట్లే, ఇతర ఆపరేటర్లను ఓవర్‌లోడ్ చేయవచ్చు. + ఉదాహరణకు, మీరు మాడ్యూల్ 14 లో గుర్తుచేసుకుంటే, కాపీ చేసే ఎంపికలలో మేము వివిధ అవకాశాలను చర్చించినప్పుడు, ఆపరేటర్ అసైన్‌మెంట్ కాపీ కాపీ ఆపరేటర్ అని మేము చూపించాము. + ఇది ఓవర్‌లోడ్ చేయగలదా అనే దాని గురించి మేము మాట్లాడుతున్నాము మరియు ఈ మొత్తం ఉదాహరణను చేయడానికి సురక్షితమైన మార్గం వాస్తవానికి మీ సూచన కోసం మాడ్యూల్ 14 నుండి మళ్ళీ ప్రతిరూపం అవుతుందని చూపబడింది. + కాబట్టి, కాపీ అసైన్‌మెంట్ ఆపరేటర్ కోసం ఓవర్‌లోడింగ్ ఎలా పనిచేస్తుందో మేము ఇప్పటికే చూశాము మరియు అది కూడా ఇక్కడ ఉంది మరియు ఈ ఓవర్‌లోడింగ్ చాలా ముఖ్యమైనదని మేము గుర్తించాము ఎందుకంటే మీరు కంపైలర్‌ను ఓవర్‌లోడ్ చేసే వరకు ఉచిత కాపీ కేటాయింపు కేవలం నిస్సార కాపీ. + కాబట్టి, పాయింటర్ వేరియబుల్స్ సమక్షంలో మీకు తప్పు సెమాంటిక్స్ ఇవ్వవచ్చు మరియు మీరు ఓవర్‌లోడ్ చేసి, కాపీ అసైన్‌మెంట్ ఆపరేటర్‌ను లోతుగా కాపీ చేయాల్సి ఉంటుంది. + ఇప్పుడు నీలిరంగు రంగుతో పాటు, మీరు వినియోగదారులను కొత్త ఆపరేటర్లుగా చేస్తే, మీరు ఏ అదనపు అంశాలను పరిగణనలోకి తీసుకోవాలో చూపించాను. + మీరు కన్స్ట్రక్టర్ కొంతమంది డైనమిక్ కేటాయించిన పాయింటర్ సభ్యుల కోసం కొత్త ఆపరేటర్‌ను ఉపయోగిస్తారు. + అందువల్ల, మీరు కంపైలర్ అయినప్పుడు ఆపరేటర్ క్రొత్తదాన్ని ఉపయోగిస్తున్నారు, అప్పుడు మీ ఆపరేటర్ (ఆపరేటర్) = తప్పనిసరిగా ఓవర్‌లోడ్ చేయాలి. + ఎందుకంటే అప్పుడు నిస్సార కాపీ మరియు లోతైన కాపీ మధ్య నిర్ణయించే స్థానం మీకు ఉంటుంది. + అదే సమయంలో కాపీ కన్స్ట్రక్టర్ నిర్వచించాల్సిన అవసరం ఉంటే, సాధారణంగా ఒక కాపీ = ఆపరేటర్ నిర్వచించబడాలి; అలాగే మరియు దీనికి విరుద్ధంగా. + కాబట్టి, మీరు తరగతులను రూపకల్పన చేసినప్పుడు, దయచేసి ఈ విషయాన్ని గుర్తుంచుకోండి ఎందుకంటే కాపీ '=' ఆపరేటర్ చాలా ముఖ్యమైన ఆపరేటర్, ఇది ఓవర్‌లోడ్ కావాలి. + మా కోసం మాత్రమే వెళుతున్నప్పుడు, ఎక్రీ ఆపరేటర్లను ఒకే కారణంతో ఓవర్‌లోడ్ చేయవచ్చు, నేను వాటిని ఇక్కడ చేర్చాను, ఎకరీ ఆపరేటర్లు రెండు రకాల ఉపసర్గ మరియు పోస్ట్‌ఫిక్స్ కావచ్చు. + కాబట్టి, ఇది ఉపసర్గ ఆపరేటర్ మరియు ఇది పోస్ట్ఫిక్స్ ఆపరేటర్. + పోస్ట్‌ఫిక్స్ ఆపరేటర్ (ఆపరేటర్) సంతకంలో అదనపు రకం ద్వారా నియమించబడిందని నేను ఇప్పటికే ప్రస్తావించాను, కాని ఇది కేవలం ప్లేస్‌హోల్డర్ మాత్రమే, ఇది కంపైలర్ ఉపసర్గ మరియు పోస్ట్‌ఫిక్స్ ఆపరేటర్ మధ్య పరిష్కరించడానికి ఉపయోగిస్తుంది. దీన్ని పూర్తి చేస్తారు. + వాస్తవానికి, మీరు రెండవ పరామితిని నాన్-ఆపరేటర్‌కు పంపాలని ఆశించరు, ఎందుకంటే యూనిరీ ఆపరేటర్ ఇప్పటికే తరగతి నుండి వర్తించే పరామితిని కలిగి ఉంది.ఇది ఇదే లేదా ఇదే. + ఇప్పుడు, మీరు అమలు మరియు తిరిగి రకాలను చూస్తున్నట్లయితే. + నేను మీపై కొంచెం హైలైట్ చేయాలనుకుంటున్నాను. + అందువల్ల, ఇది ఉపసర్గ పెరుగుదల అయితే, మనకు తెలిసినది ఏమిటంటే అది మొదట ఇంక్రిమెంట్ చేసి వస్తువును తిరిగి ఇస్తుంది. + ఉపసర్గ ఆపరేటర్ తప్పనిసరిగా ఆహ్వానం సంభవించిన అదే వస్తువును తిరిగి ఇవ్వాలి. + కాబట్టి, అదే వస్తువు తిరిగి రావాలని మరియు సహజంగా తిరిగి ఉండాలి, ఇది ప్రాథమికంగా అదే వస్తువును తిరిగి ఇస్తుంది. + మరియు దీనికి ముందు ఆపరేషన్ యొక్క గజిబిజి ఇప్పటికే జరిగింది. + మరోవైపు, మీరు పోస్ట్ ఇంక్రిమెంట్ ఆపరేటర్‌ను చూస్తే, అవును మీరు పొందాలి అంటే ఆపరేటర్ ఇప్పటికే పనిచేశారు, పోస్ట్ ఇంక్రిమెంట్ ఫలితం అసలు ధర. + ఆపరేటర్ రాకముందు మీకు ఉన్న అసలు ధర, మీరు ఆ రాబడి విలువను పొందుతారు, ఆపై అంశం పెరుగుతుంది. + కాబట్టి, ఇది తరువాత జరుగుతుంది. + కాబట్టి, మీరు వస్తువును పెంచుతారు కాబట్టి వస్తువు పెరుగుతుంటే ఈ ఆపరేషన్ తర్వాత ఏదో ఒకవిధంగా పెరుగుతుంది. + తిరిగి వచ్చిన విలువ అసలు యొక్క కాపీ అయి ఉండాలి, ఎందుకంటే అసలు అంశం ఆపరేటర్ నుండి తిరిగి వచ్చిన వెంటనే మారబోతోంది. + కాబట్టి, ఇప్పుడు మీరు దానిని తాత్కాలిక రిటర్న్ సందర్భంలో కాపీ చేయవలసి ఉంది మరియు మీరు తాత్కాలికమైనదాన్ని తిరిగి ఇస్తున్నందున, మీ రిటర్న్ రకాన్ని ఇప్పటికే తిరిగి ఇవ్వవలసి ఉంటుందని మీరు ఇప్పటికే చర్చించినందున, ఈ రిటర్న్ రిఫరెన్స్ ద్వారా సాధ్యం కాదు. + కాబట్టి, పోస్ట్ ఆపరేటర్ సందర్భంలో, మీ రిటర్న్ రకం ధర రకం ద్వారా వ్రాయబడుతుంది. + అందువల్ల, నేను ఈ వివరణలను ఇక్కడ వ్రాశాను, మీరు దీనిపై సిద్ధమవుతున్నప్పుడు మీరు వాటిని సూచించాల్సిన అవసరం ఉంది మరియు ఈ విధంగా మీరు ఉన్ని ఆపరేటర్లను ఓవర్లోడ్ చేయవచ్చు. + ఇంకొక విషయం ఏమిటంటే, ఓవర్‌లోడింగ్ విషయంలో నేను ఒకరిని మాత్రమే కాకుండా అనేక ఇతర ఆపరేటర్లను కూడా హైలైట్ చేయాలనుకుంటున్నాను; ఈ ఆపరేటర్ ఏకపక్ష ఇంక్రిమెంట్ ఆపరేటర్, మాజీ ఇంక్రిమెంట్ ఆపరేటర్ అని uming హిస్తూ, ఒక నాన్-ఆపరేటర్ మాత్రమే మీకు చూపిస్తాను. + కానీ మీరు కలిగి ఉన్న కార్యాచరణ ఇంక్రిమెంట్ ఫంక్షన్ అని అవసరం లేదు. + ఇది కొన్ని ఇతర కార్యాచరణలు కావచ్చు, ఇక్కడ మాదిరిగా, నేను ఈ ఆపరేటర్‌ను పిలిస్తే నా డేటా ప్రాంతం రెట్టింపు అవుతుందని నేను చూపిస్తున్నాను, కాని ముఖ్యమైనది ఏమిటంటే ఆపరేటర్ యొక్క అసలు సెమాంటిక్స్ అది మీరు వర్తింపజేసిన వస్తువును తిరిగి ఇస్తుంది. + కాబట్టి, ఇది అదే విధంగా ఉంటుంది, ఇది అలాగే ఉంటుంది, కానీ వాస్తవ కార్యాచరణ భిన్నంగా ఉండవచ్చు. + పోస్ట్ ఆపరేటర్ కోసం అదే పరిస్థితి ఉంది మరియు నేను మీ డేటాను మూడు ద్వారా విభజించిన కొన్ని విభిన్న కార్యాచరణలను అందించాను. + ఇది పట్టింపు లేదు, మీకు కావలసినది ఉంచవచ్చు. + కానీ ఆ మూల నుండి మీరు అసలు వస్తువును తాత్కాలికంగా మరియు ఆ విలువ నుండి తిరిగి రావడం ద్వారా తాత్కాలికంగా కాపీ చేయాల్సిన అవసరం ఉంది, ఎందుకంటే పోస్ట్ ఆపరేటర్ పోస్ట్ లీడర్‌షిప్ ఆపరేటర్ షాల్ మరియు ఈ పరిశీలనలు. + కాబట్టి, ప్రీ ఇంక్రిమెంట్, ప్రీ ఇంక్రిమెంట్ ఆపరేటర్ లేదా మీ వద్ద ఉన్న అన్ని ఇతర గ్యారీ ఆపరేటర్లు మరియు బైనరీ ఆపరేటర్లకు ఇది ఒకే విధంగా ఉంటుంది. + ఈ మాడ్యూల్‌లో, వినియోగదారు నిర్వచించిన రకాలు కోసం ఆపరేటర్ ఓవర్‌లోడింగ్‌ను పరిచయం చేసాము. + ఆపరేటర్లను ఓవర్లోడ్ చేయడం ఎందుకు ముఖ్యమో మేము వివరించాము మరియు గ్లోబల్ ఫంక్షన్లు మరియు క్లాసుల సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ల ఓవర్లోడ్ యొక్క మూలాన్ని వివరించాము. పద్ధతి వివరించబడింది. + ఈ ప్రక్రియలో, ఓవర్‌లోడ్ కోసం మీరు ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించవచ్చని కూడా మేము చూశాము, ఇది మేము తదుపరి మాడ్యూల్‌లో చేస్తాము. + ఈ మాడ్యూల్‌లో, మొత్తం బైనరీ మరియు బైనరీయేతర ఆపరేటర్లకు ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక సెమాంటిక్స్ యొక్క రూపురేఖలు ఉన్నాయి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/46 ProgramminginCplusplus_Exceptions (Error Handling in C) Part II (Lecture 53)-iTGH6qSCy2I.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/46 ProgramminginCplusplus_Exceptions (Error Handling in C) Part II (Lecture 53)-iTGH6qSCy2I.txt index 8e424b7588959da0f0799afdf92059539df13b23..a7419b8ed8f1781523c9387ff1d1f57bfe007f3e 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/46 ProgramminginCplusplus_Exceptions (Error Handling in C) Part II (Lecture 53)-iTGH6qSCy2I.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/46 ProgramminginCplusplus_Exceptions (Error Handling in C) Part II (Lecture 53)-iTGH6qSCy2I.txt @@ -1,190 +1,190 @@ - 1. C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 37 కు స్వాగతం. - 2. మేము మాడ్యూల్ లో C - C ++ లో ఎర్రర్ హ్యాండ్లింగ్ (error handling) గురించి చర్చిస్తున్నాము. - 3. వేర్వేరు ఎక్స్సెప్షన్స్(exceptions) కారణాలు ఏమిటో పరిశీలించాము, వివిధ రకాల వాటి మరియు వాటి రకాల అసమకాలిక మరియు సమకాలీకరణ. - 4. అప్పుడు మేము ఎర్రర్లను (error) నిర్వహించడానికి, ఎక్స్సెప్షన్స్(exceptions) నిర్వహించడానికి C లో లభించే వివిధ మెకానిజం(mechanism) పరంగా వివరమైన వీక్షణను తీసుకున్నాము.+ - 5. మినహాయింపు పరిస్థితులను నిర్వహించడానికి సి లో లోపం నిర్వహణతో ఎటువంటి యంత్రాంగం అందించబడలేదని మేము చూశాము, కాని రిటర్న్ విలువ మరియు నాన్-లోకల్ మరియు లోకల్ గోటో మినహాయింపు నిర్వహణ కోసం ఉపయోగించబడ్డాయి. - 6. C లోని లోపాలను ఎదుర్కోవటానికి సహాయాన్ని అందించడానికి అనేక ప్రామాణిక లైబ్రరీల ద్వారా జతచేసే అనేక ప్రామాణిక లైబ్రరీ లక్షణాలు ఉన్నాయి మరియు ఇవి C ++ లో ఇక్కడ చాలా చిన్న ఉపద్రవాలు మరియు లోపాలను కలిగిస్తాయి. వ్యవహరించడం గురించి అధ్యయనం చేయడానికి ఆసక్తి ఉంది. - 7. దిగువ భాగం మీకు తెలిసినందున ఇది మాడ్యూల్ రూపురేఖ; ఈ రోజు మీరు మాడ్యూల్‌లోని నీలి విభాగాన్ని చర్చిస్తారు. - 8. మేము C ++ కి వెళ్ళినప్పుడు, డిజైనర్లు భాషలో భాగంగా లోపం నిర్వహణను చేర్చడం గురించి చాలా సున్నితమైనవారు మరియు జాగ్రత్తగా ఉన్నారు. - 9. మొదటి నిరీక్షణ ఏమిటంటే, లోపం సంకేతాలను సాధారణ సంకేతాల నుండి వేరు చేయగలగాలి. - 10. సాధారణ కోడ్ అంటే సాధారణ ప్రవాహం. - 11. సాధారణ ప్రవాహం మరియు లోపంతో వ్యవహరించడం మనం చూసినట్లుగా, మేము దానిని వేరుచేయడానికి ప్రయత్నిస్తాము మరియు దీనికి C ++ లో మినహాయింపు నిర్వహణ అవసరం. - 12. రెండవది ఇది లైబ్రరీ కాకుండా భాషా వ్యవస్థ, ఈ భాష లోపాలు సంభవించవచ్చనే దానిపై దృష్టి పెట్టాలి మినహాయింపులు నిర్వహించాల్సిన అవసరం ఉంది మరియు అందువల్ల అలా చేయడానికి భాషా లక్షణాన్ని అందించాలి. - 13. ఒక భాషా ఫీచర్ కంపైలర్ అన్ని ఆటోమేటిక్ వేరియబుల్స్‌ను ట్రాక్ చేయగలదు మరియు జీవితాన్ని జాగ్రత్తగా చూసుకునేటప్పుడు వాటిని నాశనం చేయగలదు, ఒక ప్రోగ్రామ్‌ను ముగించడానికి లేదా పూర్తి చేయడానికి ఎటువంటి షరతులు లేనప్పుడు, కానీ ఒక నిర్దిష్ట ఫంక్షన్ కోసం ఆటోమేటిక్ వేరియబుల్స్ అమలును తొలగించడానికి జాగ్రత్త తీసుకోబడతాయి అసాధారణంగా. - 14. డైనమిక్ మెమరీని నాశనం చేయడానికి ప్రణాళికలు ఉన్నాయి మరియు సి శైలిలో మనం చూసిన డిజైనర్ల ఓవర్ హెడ్ చాలా తక్కువగా ఉండాలి అనే అంశంపై మేము ఖచ్చితంగా శ్రద్ధ చూపుతాము. - 15. తరచుగా మినహాయింపు ప్రధానంగా లేదని మేము చూడటం చాలా ముఖ్యం, ఇది లోతైన నాసికా పిలుపులో ఉన్న ఫంక్షన్‌లో ఉంటుంది; ప్రధాన ఫంక్షన్ అని పిలుస్తారు; దానిని మరొక ఫంక్షన్ అంటారు; దానిని మరొక ఫంక్షన్ అంటారు. - 16. అప్పుడు కొన్ని మినహాయింపులు కొన్ని 3, 4 స్థాయిలు, 5 స్థాయి కాల్స్ లేదా 10 స్థాయి కాల్స్ లో సంభవించాయి, కాబట్టి మీరు మినహాయింపు స్థితిలో ఉన్న కాల్స్ యొక్క ఈ లోతైన గూడు నుండి బయటకు రావాలి, తద్వారా ఇది సాధ్యమవుతుంది. - 17. మరియు వివిధ పరిస్థితులలో, మేము ఒకే హ్యాండ్లర్ ద్వారా నిర్వహించగలగాలి. - 18. మినహాయింపు యంత్రాంగం C ++ లో రూపొందించబడిన అంచనాలు ఇవి మరియు మునుపటి మాడ్యూల్‌లో నాన్-లోకల్ గోటోతో నేను చూపిస్తున్న అత్యధిక ప్రాతినిధ్యం ఇది. - 19. కాబట్టి ఫంక్షన్ g అని చెప్పే ఫంక్షన్ ఉంది మరియు ఇది ఫంక్షన్ g. - 20. ఇప్పుడు అది ఏమి చేస్తుంది, ఇది ప్రాథమికంగా త్రో అని పిలుస్తుంది, త్రో అంటే ఏమిటో చూద్దాం. - 21. మరియు మినహాయింపు ఒక మినహాయింపు తరగతి అని చెబుతుంది. - 22. G చెప్పబడిన తర్వాత మొదటి స్థానం ఖచ్చితంగా సంతోషకరమైన భాగం, సాధారణ ప్రవాహం; అందువల్ల ఉపసంహరణ ద్వారా జి బయటకు వస్తుంది. - 23. G రిటర్న్స్ ద్వారా మనకు వస్తే, అది సాధారణ ప్రవాహ నియంత్రణను కలిగి ఉంటుంది, ఇది తరువాతి స్టేట్మెంట్ h కి వెళుతుంది, ఇది స్పష్టంగా ఉంటుంది. - 24. G అని పిలువబడే మధ్యలో ఏదో పిలువబడితే మరియు G లో తలెత్తే కొన్ని లోపం పరిస్థితి కారణంగా అది లోపం స్థితికి చేరుకుంటుంది, ఇది మినహాయింపును విసిరివేస్తుంది. - 25. దీని అర్థం ఇది ఒక కీవర్డ్‌ని విసిరివేస్తుంది, అది విసిరివేస్తుంది, ఆపై అది మినహాయింపు తరగతి యొక్క వస్తువును చొప్పిస్తుంది; ఏదైనా తరగతిని వాస్తవానికి మినహాయింపు తరగతిగా ఉపయోగించవచ్చు. - 26. మరియు అది విసిరితే నియంత్రణ H కి తిరిగి రాదు, G తర్వాత వెంటనే స్టేట్‌మెంట్‌కు తిరిగి రాదు. దీనిని G క్యాచ్ క్లాజ్ అని పిలుస్తారు. - 27. కాబట్టి నియంత్రణ ఇక్కడ నుండి బయటకు వస్తుంది మరియు మీరు ఈ సమయంలో మినహాయింపును జాగ్రత్తగా చూసుకోవచ్చు. - 28. అందువల్ల ఇది మినహాయింపు నిబంధన ద్వారా సంగ్రహించబడుతుంది. - 29. అన్నీ వేరు చేయబడిందని మీరు చూస్తే, ఇప్పుడు మనకు ఒకసారి ప్రయత్నించండి; ఇది ట్రై బ్లాక్ అని మేము అంటున్నాము, ప్రయత్నించండి ఒక కీవర్డ్, క్యాచ్ మరొక కీవర్డ్, కాబట్టి క్యాచ్ ఒక బ్లాక్ మరియు త్రో మరొక కీవర్డ్. - 30. త్రో క్యాచ్ ప్రయత్నించండి అని మేము చెబుతాము; సాధారణ పదాల కోసం పట్టుకోండి లేదా పట్టుకోండి. - 31. కాబట్టి కాలర్‌లో మనం చేసేది ఏమిటంటే, మేము కాల్‌ను ట్రై బ్లాక్‌లో ఉంచాము మరియు ట్రై బ్లాక్‌లో అనుబంధ క్యాచ్ ఉంటుంది. - 32. మరియు కాల్ ఫంక్షన్ మినహాయింపు సంభవించిందని చెప్పవచ్చు. - 33. ఇది అసలు ప్రవర్తనను విసిరినప్పుడు ఫంక్షన్ ఈ సమయంలో పిలువబడుతుంది.ఇది ప్రాథమిక ప్రయత్నం విసిరితే కొనసాగదు, నియంత్రణ ప్రయత్నానికి తిరిగి వస్తుంది, కానీ అది తరువాతి ప్రకటనలో వెంటనే జారీ చేయదు, కానీ అది పట్టుకోవటానికి వెళుతుంది. - 34. క్యాచ్ నిబంధనలో ఎలాంటి మినహాయింపును కనుగొందో తెలుసుకోవడానికి ప్రయత్నిస్తుంది మరియు తదనుగుణంగా అది క్యాచ్ నిబంధనను అమలు చేయడానికి ప్రయత్నిస్తుంది. - 35. అందువల్ల, ఇది ఈ క్యాచ్ నిబంధనను అమలు చేస్తుంది మరియు అది ఇక్కడ కొనసాగుతుంది. - 36. సాధారణంగా, ఇక్కడ కొన్ని పరిస్థితులు సంభవించాయి, ఇది ఫంక్షన్ g కి ఇవ్వబడింది, మినహాయింపులు నివేదించాల్సిన అవసరం ఉంది, లోపం నివేదించాల్సిన అవసరం ఉంది. - 37. లోపం వస్తువు ఇక్కడ సృష్టించబడింది, అప్పుడు నేను ఇక్కడ మినహాయింపు దశల గురించి మాట్లాడుతున్నానని నివేదించబడింది, నేను దానిని స్పష్టంగా గీస్తే ఇది ఒక దశ. - 38. ఇది రిపోర్ట్ స్టేజ్ అని మీరు సృష్టించే క్రియేట్ ప్లాట్‌ఫాం. - 39. మరియు ఆసక్తికరమైన విషయం ఏమిటంటే, మేము ప్రత్యేకంగా తెలుసుకోవడానికి ఏమీ చేయనవసరం లేదు, ఎందుకంటే ప్రస్తుతం ఉన్న క్యాచ్ నిబంధన వెంటనే కనుగొంటుంది, అప్పుడు ఇది కోడ్‌లో హ్యాండ్లర్ కోడ్, క్యాచ్ హ్యాండ్లర్ లేదా మినహాయింపు కాదా అని జాగ్రత్త తీసుకుంటుంది. (మినహాయింపు) హ్యాండ్లర్, అది దానిని నిర్వహిస్తుంది మరియు మీరు మీకు సరైనది ఉన్న తదుపరిదానికి వస్తారు. - 40. ఈ విధంగా మినహాయింపు C ++ వ్యవస్థ సందర్భంలో నియంత్రించబడుతుంది. - 41. మరింత వివరణాత్మక ఉదాహరణను చూద్దాం మరియు దానిని అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. - 42. ఈ యంత్రాంగాలన్నీ వివరించబడిన కొన్ని స్లైడ్‌లు నా దగ్గర ఉన్నాయి, కాని మొదట నేను దానిని ఒక ఉదాహరణ ద్వారా వివరిస్తాను. - 43. కాబట్టి, ఉదాహరణలో ఉన్నదాన్ని మొదట చూద్దాం, మినహాయింపు స్థితి గురించి మరచిపోండి, ఒక ఫంక్షన్ h, ఒక ఫంక్షన్ g, ఒక ఫంక్షన్ ఫంక్షన్ F మరియు ప్రధాన ఫంక్షన్. - 44. మరియు ఇది సరళమైన సమూహ ప్రధాన కాల్ f, f ఇన్ టర్న్ కాల్ g, g ఇన్ టర్న్ కాల్ h, h. - 45. ఇవి ప్రాథమిక నిర్మాణాలు. - 46. ప్రధాన కాల్ f అయినప్పుడు మేము చేస్తున్న వ్యత్యాసం ఏమిటంటే, ఇది ట్రై బ్లాక్ మరియు అనుబంధ క్యాచ్‌లో ఉంచబడుతుంది. - 47. F కాల్ g దీన్ని ట్రై బ్లాక్‌లో ఉంచినప్పుడు, దీనికి అనేక అనుబంధ క్యాచ్ బ్లాక్‌లు ఉన్నాయి. - 48. G కాల్ H దీనిని ట్రై బ్లాక్‌లో ఉంచినప్పుడు, అనేక సంబంధిత క్యాచ్ క్లాజులు మరియు H వర్క్స్ ఉన్నాయి, ఇదే. - 49. మేము ఏదైనా g, f, లేదా మెయిన్‌లను పరిశీలిస్తే, వారు ఫంక్షన్ కాల్ బ్లాక్‌లో ఉండాలని ఆశిస్తున్నారని లేదా ఈ ఫంక్షన్ (ఫంక్షన్) విఫలమైందని చెప్తున్నారని మరియు అది విఫలమైతే అది ఏదో విసిరివేస్తుంది మరియు ఎవరు విసిరినా , నేను సంబంధిత క్యాచ్ నిబంధనతో పట్టుకుంటాను. - 50. ఇప్పుడు ఇది చాలా నిబంధనలు ఎందుకు మరియు దానికి ఏమి జరుగుతుందో చూద్దాం. - 51. నేను ఇక్కడ వాటన్నిటిపై వ్యాఖ్యానించాను అనుకుందాం, ఎందుకంటే ఒక ఫంక్షన్ ఉంటే అది పోతుంది. - 52. ఈ వ్యాఖ్య చేయలేదని అనుకుందాం, అప్పుడు ఏమి జరుగుతుందో అది ఏదో చేస్తోంది. లోపం వచ్చి అది ఒకటి విసురుతుంది. - 53. ఇది ఒకదాన్ని విసిరితే దాని అర్థం ఏమిటి? అంటే ఏమిటి? సాధారణంగా ఇది ఒక రకమైన వస్తువును విసురుతోంది. - 54. అది విసిరితే నియంత్రణ పోతుంది, మనం కాల్ స్టాక్‌లో చూస్తే అప్పుడు మన దగ్గర ఉన్నది మనకు ప్రధానమైనది, ప్రధానంగా ఎఫ్, ఎఫ్ అన్నారు జి, జి అన్నారు హెచ్. - 55. ప్రస్తుతం మేము ఇక్కడే ఉన్నాము. - 56. ఇప్పుడు మీరు విసిరితే, అది కొనసాగలేమని తేలుతుంది, కాబట్టి మీరు ఈ ఫంక్షన్ (ఫంక్షన్) నుండి బయటపడటానికి ప్రయత్నిస్తున్న నియంత్రణ ప్రవాహం పరంగా త్రో మీకు చాలా ఇష్టం. - 57. కాబట్టి మీరు బయటకు వెళ్లి తిరిగి జి. - 58. మీరు ఇప్పుడు జీవించడానికి ఎందుకు తిరిగి వెళతారు? G లోని h యొక్క కాల్ ట్రై బ్లాక్‌లోనే కాపలాగా ఉంటుంది, కాబట్టి ఇది ఈ దశకు తిరిగి రాదు. - 59. బదులుగా మీరు నియంత్రణను విసిరినప్పుడు అది మీ వద్ద ఉన్న నిబంధనల జాబితాలోకి వెళుతుంది. - 60. మరియు విసిరినది ఒకటి, ఇది పూర్ణాంకానికి (పూర్ణాంకానికి). - 61. ఇప్పుడు మీరు అక్కడికి చేరుకున్న తర్వాత చాలా ఆసక్తికరంగా ఉంది, ఇది ఈ వస్తువును తీసుకుంటుంది, వస్తువు మరొక హోల్డ్ యొక్క ఈ జాబితాకు వెళ్లి సరిపోలడానికి ప్రయత్నిస్తుంది. - 62. ఇది ఒక మ్యాచ్‌ను కనుగొంటే, అది వెంటనే అక్కడే ఆగి సంబంధిత హ్యాండ్లర్‌ను అమలు చేస్తుంది. - 63. అది మ్యాచ్‌ను కనుగొనలేకపోతే అది ముందుకు సాగుతుంది. - 64. ఎవరైనా అవకలన వస్తువు అయితే విసిరితే ఏమి జరుగుతుంది, కాబట్టి క్యాచ్ ఒక పూర్ణాంకానికి (పూర్ణాంకానికి) ఆశిస్తుంది ఎందుకంటే దానికి సరిపోయే ఒక పూర్ణాంకాన్ని (పూర్ణాంకానికి) ఆశిస్తోంది మరియు అది ఈ పూర్ణాంకాన్ని (పూర్ణాంకానికి) అమలు చేస్తుంది. - 65. ఇది కేవలం హ్యాండ్లర్ లాగా అని చెప్తోంది. - 66. ఇది పూర్తయిన తర్వాత, నియంత్రణ మిగిలిన క్యాచ్ విభాగానికి చేరుకుంటుంది మరియు ఇంకేదో ఇక్కడ కొనసాగుతుంది. - 67. ఇప్పుడు, G చేయాల్సిందల్లా; ఇప్పుడు మొత్తం విషయం ఇప్పటికే పూర్తయింది, లోపం జరిగింది, ఇది నివేదించబడింది, ఇది ఇక్కడ కనుగొనబడింది, ఇది ఇక్కడ నిర్వహించబడింది, మీరు కోలుకున్నారు మరియు మీరు ఈ భాగం కోసం కొనసాగుతున్నారు. - 68. H, g, f main ప్రతి సందర్భంలోనూ ముఖ్యమైన స్టాక్‌ను మళ్ళీ సృష్టించండి అని చెబితే ఏమి జరుగుతుందో చూద్దాం. - 69. ఇప్పుడు మనం ఇక్కడ ఏదో జరుగుతోందని చెప్తున్నాము మరియు అది 2.5 విసురుతున్న చోటికి చేరుకుంటుంది, ఇది భిన్నమైనదని చూపించడానికి. - 70. ఇప్పుడు 2.5 అంటే ఏమిటి? 2.5 అనేది మనకు తెలిసిన డబుల్ టైమ్ యొక్క వస్తువు. - 71. నియంత్రణ విసిరినప్పుడు G కి తిరిగి వస్తుంది. - 72. అది ఎక్కడ తిరిగి వస్తుంది? ఇది ఇక్కడ తిరిగి రాదు; ఈ క్యాచ్ నిబంధన యొక్క ప్రారంభానికి తిరిగి వెళుతుంది, ఎందుకంటే ఏదో విసిరివేయబడింది. - 73. మరియు మీరు సరిపోల్చడం ప్రారంభించండి, ఇది ద్వంద్వ వస్తువును కలిగి ఉంది, అది పూర్ణాంకానికి (పూర్ణాంకానికి) సరిపోలడానికి ప్రయత్నిస్తుంది. - 74. ఇది విఫలమవుతుంది.ఇది సరిపోలడం సాధ్యం కాదు. - 75. క్యాచ్ నిబంధన అవ్యక్త మార్పిడికి సరిపోలలేదు. - 76. ఈ మ్యాచ్ యొక్క వ్యూహాన్ని పరిశీలిస్తే, ఓవర్లోడ్ మ్యాచింగ్ లాగా కనిపిస్తుంది. - 77. కాబట్టి మీరు అనుకున్నట్లుగా, ఒకే పరామితితో ఒక ఫంక్షన్ చేస్తున్నట్లుగా విసిరివేయబడుతుంది. - 78. మరియు ఇక్కడ చాలా ఫంక్షన్లు ఉన్నాయి, ఇక్కడ మూడు ఫంక్షన్లు ఒక Int (int) xa డబుల్ మరియు కొన్ని డాట్ డాట్ డాట్ తీసుకుంటాయి మరియు మీరు ఏ నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) ను నిర్ణయించడానికి ప్రయత్నిస్తున్నారు, ఏ ప్రత్యేక క్యాచ్ నిబంధన పరిష్కరించబడుతుంది. - 79. కానీ ఓవర్లోడ్ రిజల్యూషన్ నుండి రెండు ప్రధాన తేడాలు ఉన్నాయి; ఓవర్లోడ్ రిజల్యూషన్ అంతర్లీన మార్పిడిని చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. - 80. ఉదాహరణకు, పూర్ణాంకానికి డబుల్, డబుల్ ట్రంక్ మరియు లోపల మరియు సరిపోతుంది. - 81. క్యాచ్ నిబంధనపై నిర్ణయం తీసుకోవడం అనుమతించబడదు. - 82. రెండవది మొత్తంగా ఫంక్షన్ల సమితిలో ఓవర్‌లోడ్ రిజల్యూషన్. - 83. ఇక్కడ ఇది ఈ ఆర్డర్ ప్రకారం ఉంటుంది. - 84. మీకు మ్యాచ్ వచ్చిన వెంటనే, మంచి మ్యాచ్ ఉందో లేదో తెలుసుకోవడానికి మీరు ప్రయత్నించరు, మీరు అక్కడే ముగించి ఆ నిబంధనను పిలుస్తారు. - 85. కాబట్టి ఇక్కడ ఏమి జరుగుతుంది? వారికి ద్వంద్వ వస్తువు ఉంది; ఇది మ్యాచ్ కాదు, కానీ అది ఒక మ్యాచ్ అవుతుంది. - 86. ఇప్పుడు, ఇది రెట్టింపు ముద్రణ మరియు తిరిగి పొందడం ఇక్కడ ఒక నమూనా. - 87. దీన్ని కొనసాగిద్దాం మరియు తరువాత ఏమి జరుగుతుందో చూడటానికి ప్రయత్నిద్దాం. - 88. మెయిన్, ఎఫ్, జి, హెచ్, దీనిని తనిఖీ చేద్దాం. - 89. ఇక్కడ నా మినహాయింపు ఏమిటంటే ప్రామాణిక లైబ్రరీ మినహాయింపు, ఇది ముందే నిర్వచించిన క్లాస్ మినహాయింపును కలిగి ఉంది, ఇది సి ++ లో సంభవించే అన్ని రకాల మినహాయింపులను జాగ్రత్తగా చూసుకుంటుంది. - 90. నేను ఒక తరగతిని నిర్వచించాను, ఇది మినహాయింపు తరగతి యొక్క ప్రత్యేకత, కాబట్టి కొందరు నా మినహాయింపు యొక్క వస్తువును విసురుతున్నారు. - 91. అప్పుడు ఏమి జరుగుతుంది? G పై నియంత్రణ వలె, ఇది int (int) తో సరిపోలడానికి ప్రయత్నించినప్పుడు మొదలవుతుంది, మ్యాచ్ నా మినహాయింపు యొక్క వస్తువు కాదు, డబుల్ క్యాచ్ మ్యాచ్‌తో సరిపోలడానికి ప్రయత్నిస్తుంది.అయితే, ఇక్కడ సరిపోలడానికి ప్రయత్నిస్తుంది, ఏమి ఔనా? దీనిని ఎలిప్స్ అంటారు. - 92. ఎలిప్స్ మూడు చుక్కలు, అవి దేనితోనైనా సరిపోలడం. - 93. మీ వద్ద ఉన్నవన్నీ దానితో సరిపోలుతాయి. - 94. కాబట్టి, దీర్ఘవృత్తం ఒకదానితో సరిపోతుంది, ఇది డబుల్‌తో సరిపోతుంది, ఇది నా మినహాయింపుతో సరిపోతుంది, ఇది ఏదైనా మినహాయింపుతో సరిపోతుంది, కాని మునుపటి సందర్భాల్లో మనకు 1 విసిరినప్పుడు. మరియు మేము 2.5 (int) తర్వాత 2.5 విసిరాము మరియు డబుల్ క్యాచ్ నిబంధన ఈ ఇప్స్‌కు ముందు ఈ దశకు రాలేదు. - 95. కానీ ఇక్కడ నా మినహాయింపుతో ఈ రెండూ సరిపోలలేదు కాబట్టి ఇది ఇక్కడకు వచ్చి ఈ సమయంలో సరిపోతుంది, ఇది క్యాచ్ ఆల్ క్లాజ్ అని కూడా పిలుస్తారు ఎందుకంటే ఇది అన్నింటికీ సరిపోతుంది. - 96. కనుక ఇది నిర్వహించడానికి వెళుతుంది, మరియు హ్యాండిల్ అంటే ఏమిటి? హ్యాండిల్ చాలా సరళంగా ఏదో చెబుతుంది, ఈ త్రో అంటే అది ఏమీ చేయబోవడం లేదు, కానీ H ఫంక్షన్ నా మినహాయింపు వస్తువును విసిరినందున, అది కాలర్ ఆ వస్తువును పిలవడానికి కారణమవుతుంది. మళ్ళీ విసిరేస్తుంది. - 97. కనుక ఇది మళ్ళీ విసిరివేయబడుతుందని అర్థం.అది దాని కాలర్ పైకి తిరిగి వెళుతుంది.ఈ స్టాక్ దాని కాలర్ పైకి వస్తుంది. - 98. కాలర్ f, కాలర్ g అని పిలిచారు మరియు మీరు విసిరారు, మీ మినహాయింపు వస్తువు ఏమిటి? మినహాయింపు వస్తువు మీరు h నుండి అందుకున్నది, నా మినహాయింపు వస్తువు. - 99. కాబట్టి మీరు మినహాయింపు ద్వారా ఇక్కడకు వచ్చినప్పటి నుండి, మీరు క్యాచ్ క్లాజ్‌లో కొనసాగుతారు. - 100. కాబట్టి, ఇప్పుడు మీరు నా మినహాయింపు వస్తువును కలిగి ఉన్నారు మరియు మీకు నా మినహాయింపు క్యాచ్ నిబంధన ఉంది, కాబట్టి ఇది నా మినహాయింపును మరొక క్యాచ్ నిబంధనపై వదిలివేసి, ఆపై మీరు మిగిలిన ఫంక్షన్‌ను చేయవచ్చు మరియు కొనసాగించండి. + C ++ లో ప్రోగ్రామింగ్ మాడ్యూల్ 37 కు స్వాగతం. + మేము మాడ్యూల్ లో C - C ++ లో ఎర్రర్ హ్యాండ్లింగ్ (error handling) గురించి చర్చిస్తున్నాము. + వేర్వేరు ఎక్స్సెప్షన్స్(exceptions) కారణాలు ఏమిటో పరిశీలించాము, వివిధ రకాల వాటి మరియు వాటి రకాల అసమకాలిక మరియు సమకాలీకరణ. + అప్పుడు మేము ఎర్రర్లను (error) నిర్వహించడానికి, ఎక్స్సెప్షన్స్(exceptions) నిర్వహించడానికి C లో లభించే వివిధ మెకానిజం(mechanism) పరంగా వివరమైన వీక్షణను తీసుకున్నాము.+ + మినహాయింపు పరిస్థితులను నిర్వహించడానికి సి లో లోపం నిర్వహణతో ఎటువంటి యంత్రాంగం అందించబడలేదని మేము చూశాము, కాని రిటర్న్ విలువ మరియు నాన్-లోకల్ మరియు లోకల్ గోటో మినహాయింపు నిర్వహణ కోసం ఉపయోగించబడ్డాయి. + C లోని లోపాలను ఎదుర్కోవటానికి సహాయాన్ని అందించడానికి అనేక ప్రామాణిక లైబ్రరీల ద్వారా జతచేసే అనేక ప్రామాణిక లైబ్రరీ లక్షణాలు ఉన్నాయి మరియు ఇవి C ++ లో ఇక్కడ చాలా చిన్న ఉపద్రవాలు మరియు లోపాలను కలిగిస్తాయి. వ్యవహరించడం గురించి అధ్యయనం చేయడానికి ఆసక్తి ఉంది. + దిగువ భాగం మీకు తెలిసినందున ఇది మాడ్యూల్ రూపురేఖ; ఈ రోజు మీరు మాడ్యూల్‌లోని నీలి విభాగాన్ని చర్చిస్తారు. + మేము C ++ కి వెళ్ళినప్పుడు, డిజైనర్లు భాషలో భాగంగా లోపం నిర్వహణను చేర్చడం గురించి చాలా సున్నితమైనవారు మరియు జాగ్రత్తగా ఉన్నారు. + మొదటి నిరీక్షణ ఏమిటంటే, లోపం సంకేతాలను సాధారణ సంకేతాల నుండి వేరు చేయగలగాలి. + సాధారణ కోడ్ అంటే సాధారణ ప్రవాహం. + సాధారణ ప్రవాహం మరియు లోపంతో వ్యవహరించడం మనం చూసినట్లుగా, మేము దానిని వేరుచేయడానికి ప్రయత్నిస్తాము మరియు దీనికి C ++ లో మినహాయింపు నిర్వహణ అవసరం. + రెండవది ఇది లైబ్రరీ కాకుండా భాషా వ్యవస్థ, ఈ భాష లోపాలు సంభవించవచ్చనే దానిపై దృష్టి పెట్టాలి మినహాయింపులు నిర్వహించాల్సిన అవసరం ఉంది మరియు అందువల్ల అలా చేయడానికి భాషా లక్షణాన్ని అందించాలి. + ఒక భాషా ఫీచర్ కంపైలర్ అన్ని ఆటోమేటిక్ వేరియబుల్స్‌ను ట్రాక్ చేయగలదు మరియు జీవితాన్ని జాగ్రత్తగా చూసుకునేటప్పుడు వాటిని నాశనం చేయగలదు, ఒక ప్రోగ్రామ్‌ను ముగించడానికి లేదా పూర్తి చేయడానికి ఎటువంటి షరతులు లేనప్పుడు, కానీ ఒక నిర్దిష్ట ఫంక్షన్ కోసం ఆటోమేటిక్ వేరియబుల్స్ అమలును తొలగించడానికి జాగ్రత్త తీసుకోబడతాయి అసాధారణంగా. + డైనమిక్ మెమరీని నాశనం చేయడానికి ప్రణాళికలు ఉన్నాయి మరియు సి శైలిలో మనం చూసిన డిజైనర్ల ఓవర్ హెడ్ చాలా తక్కువగా ఉండాలి అనే అంశంపై మేము ఖచ్చితంగా శ్రద్ధ చూపుతాము. + తరచుగా మినహాయింపు ప్రధానంగా లేదని మేము చూడటం చాలా ముఖ్యం, ఇది లోతైన నాసికా పిలుపులో ఉన్న ఫంక్షన్‌లో ఉంటుంది; ప్రధాన ఫంక్షన్ అని పిలుస్తారు; దానిని మరొక ఫంక్షన్ అంటారు; దానిని మరొక ఫంక్షన్ అంటారు. + అప్పుడు కొన్ని మినహాయింపులు కొన్ని 3, 4 స్థాయిలు, 5 స్థాయి కాల్స్ లేదా 10 స్థాయి కాల్స్ లో సంభవించాయి, కాబట్టి మీరు మినహాయింపు స్థితిలో ఉన్న కాల్స్ యొక్క ఈ లోతైన గూడు నుండి బయటకు రావాలి, తద్వారా ఇది సాధ్యమవుతుంది. + మరియు వివిధ పరిస్థితులలో, మేము ఒకే హ్యాండ్లర్ ద్వారా నిర్వహించగలగాలి. + మినహాయింపు యంత్రాంగం C ++ లో రూపొందించబడిన అంచనాలు ఇవి మరియు మునుపటి మాడ్యూల్‌లో నాన్-లోకల్ గోటోతో నేను చూపిస్తున్న అత్యధిక ప్రాతినిధ్యం ఇది. + కాబట్టి ఫంక్షన్ g అని చెప్పే ఫంక్షన్ ఉంది మరియు ఇది ఫంక్షన్ g. + ఇప్పుడు అది ఏమి చేస్తుంది, ఇది ప్రాథమికంగా త్రో అని పిలుస్తుంది, త్రో అంటే ఏమిటో చూద్దాం. + మరియు మినహాయింపు ఒక మినహాయింపు తరగతి అని చెబుతుంది. + G చెప్పబడిన తర్వాత మొదటి స్థానం ఖచ్చితంగా సంతోషకరమైన భాగం, సాధారణ ప్రవాహం; అందువల్ల ఉపసంహరణ ద్వారా జి బయటకు వస్తుంది. + G రిటర్న్స్ ద్వారా మనకు వస్తే, అది సాధారణ ప్రవాహ నియంత్రణను కలిగి ఉంటుంది, ఇది తరువాతి స్టేట్మెంట్ h కి వెళుతుంది, ఇది స్పష్టంగా ఉంటుంది. + G అని పిలువబడే మధ్యలో ఏదో పిలువబడితే మరియు G లో తలెత్తే కొన్ని లోపం పరిస్థితి కారణంగా అది లోపం స్థితికి చేరుకుంటుంది, ఇది మినహాయింపును విసిరివేస్తుంది. + దీని అర్థం ఇది ఒక కీవర్డ్‌ని విసిరివేస్తుంది, అది విసిరివేస్తుంది, ఆపై అది మినహాయింపు తరగతి యొక్క వస్తువును చొప్పిస్తుంది; ఏదైనా తరగతిని వాస్తవానికి మినహాయింపు తరగతిగా ఉపయోగించవచ్చు. + మరియు అది విసిరితే నియంత్రణ H కి తిరిగి రాదు, G తర్వాత వెంటనే స్టేట్‌మెంట్‌కు తిరిగి రాదు. దీనిని G క్యాచ్ క్లాజ్ అని పిలుస్తారు. + కాబట్టి నియంత్రణ ఇక్కడ నుండి బయటకు వస్తుంది మరియు మీరు ఈ సమయంలో మినహాయింపును జాగ్రత్తగా చూసుకోవచ్చు. + అందువల్ల ఇది మినహాయింపు నిబంధన ద్వారా సంగ్రహించబడుతుంది. + అన్నీ వేరు చేయబడిందని మీరు చూస్తే, ఇప్పుడు మనకు ఒకసారి ప్రయత్నించండి; ఇది ట్రై బ్లాక్ అని మేము అంటున్నాము, ప్రయత్నించండి ఒక కీవర్డ్, క్యాచ్ మరొక కీవర్డ్, కాబట్టి క్యాచ్ ఒక బ్లాక్ మరియు త్రో మరొక కీవర్డ్. + త్రో క్యాచ్ ప్రయత్నించండి అని మేము చెబుతాము; సాధారణ పదాల కోసం పట్టుకోండి లేదా పట్టుకోండి. + కాబట్టి కాలర్‌లో మనం చేసేది ఏమిటంటే, మేము కాల్‌ను ట్రై బ్లాక్‌లో ఉంచాము మరియు ట్రై బ్లాక్‌లో అనుబంధ క్యాచ్ ఉంటుంది. + మరియు కాల్ ఫంక్షన్ మినహాయింపు సంభవించిందని చెప్పవచ్చు. + ఇది అసలు ప్రవర్తనను విసిరినప్పుడు ఫంక్షన్ ఈ సమయంలో పిలువబడుతుంది.ఇది ప్రాథమిక ప్రయత్నం విసిరితే కొనసాగదు, నియంత్రణ ప్రయత్నానికి తిరిగి వస్తుంది, కానీ అది తరువాతి ప్రకటనలో వెంటనే జారీ చేయదు, కానీ అది పట్టుకోవటానికి వెళుతుంది. + క్యాచ్ నిబంధనలో ఎలాంటి మినహాయింపును కనుగొందో తెలుసుకోవడానికి ప్రయత్నిస్తుంది మరియు తదనుగుణంగా అది క్యాచ్ నిబంధనను అమలు చేయడానికి ప్రయత్నిస్తుంది. + అందువల్ల, ఇది ఈ క్యాచ్ నిబంధనను అమలు చేస్తుంది మరియు అది ఇక్కడ కొనసాగుతుంది. + సాధారణంగా, ఇక్కడ కొన్ని పరిస్థితులు సంభవించాయి, ఇది ఫంక్షన్ g కి ఇవ్వబడింది, మినహాయింపులు నివేదించాల్సిన అవసరం ఉంది, లోపం నివేదించాల్సిన అవసరం ఉంది. + లోపం వస్తువు ఇక్కడ సృష్టించబడింది, అప్పుడు నేను ఇక్కడ మినహాయింపు దశల గురించి మాట్లాడుతున్నానని నివేదించబడింది, నేను దానిని స్పష్టంగా గీస్తే ఇది ఒక దశ. + ఇది రిపోర్ట్ స్టేజ్ అని మీరు సృష్టించే క్రియేట్ ప్లాట్‌ఫాం. + మరియు ఆసక్తికరమైన విషయం ఏమిటంటే, మేము ప్రత్యేకంగా తెలుసుకోవడానికి ఏమీ చేయనవసరం లేదు, ఎందుకంటే ప్రస్తుతం ఉన్న క్యాచ్ నిబంధన వెంటనే కనుగొంటుంది, అప్పుడు ఇది కోడ్‌లో హ్యాండ్లర్ కోడ్, క్యాచ్ హ్యాండ్లర్ లేదా మినహాయింపు కాదా అని జాగ్రత్త తీసుకుంటుంది. (మినహాయింపు) హ్యాండ్లర్, అది దానిని నిర్వహిస్తుంది మరియు మీరు మీకు సరైనది ఉన్న తదుపరిదానికి వస్తారు. + ఈ విధంగా మినహాయింపు C ++ వ్యవస్థ సందర్భంలో నియంత్రించబడుతుంది. + మరింత వివరణాత్మక ఉదాహరణను చూద్దాం మరియు దానిని అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. + ఈ యంత్రాంగాలన్నీ వివరించబడిన కొన్ని స్లైడ్‌లు నా దగ్గర ఉన్నాయి, కాని మొదట నేను దానిని ఒక ఉదాహరణ ద్వారా వివరిస్తాను. + కాబట్టి, ఉదాహరణలో ఉన్నదాన్ని మొదట చూద్దాం, మినహాయింపు స్థితి గురించి మరచిపోండి, ఒక ఫంక్షన్ h, ఒక ఫంక్షన్ g, ఒక ఫంక్షన్ ఫంక్షన్ F మరియు ప్రధాన ఫంక్షన్. + మరియు ఇది సరళమైన సమూహ ప్రధాన కాల్ f, f ఇన్ టర్న్ కాల్ g, g ఇన్ టర్న్ కాల్ h, h. + ఇవి ప్రాథమిక నిర్మాణాలు. + ప్రధాన కాల్ f అయినప్పుడు మేము చేస్తున్న వ్యత్యాసం ఏమిటంటే, ఇది ట్రై బ్లాక్ మరియు అనుబంధ క్యాచ్‌లో ఉంచబడుతుంది. + F కాల్ g దీన్ని ట్రై బ్లాక్‌లో ఉంచినప్పుడు, దీనికి అనేక అనుబంధ క్యాచ్ బ్లాక్‌లు ఉన్నాయి. + G కాల్ H దీనిని ట్రై బ్లాక్‌లో ఉంచినప్పుడు, అనేక సంబంధిత క్యాచ్ క్లాజులు మరియు H వర్క్స్ ఉన్నాయి, ఇదే. + మేము ఏదైనా g, f, లేదా మెయిన్‌లను పరిశీలిస్తే, వారు ఫంక్షన్ కాల్ బ్లాక్‌లో ఉండాలని ఆశిస్తున్నారని లేదా ఈ ఫంక్షన్ (ఫంక్షన్) విఫలమైందని చెప్తున్నారని మరియు అది విఫలమైతే అది ఏదో విసిరివేస్తుంది మరియు ఎవరు విసిరినా , నేను సంబంధిత క్యాచ్ నిబంధనతో పట్టుకుంటాను. + ఇప్పుడు ఇది చాలా నిబంధనలు ఎందుకు మరియు దానికి ఏమి జరుగుతుందో చూద్దాం. + నేను ఇక్కడ వాటన్నిటిపై వ్యాఖ్యానించాను అనుకుందాం, ఎందుకంటే ఒక ఫంక్షన్ ఉంటే అది పోతుంది. + ఈ వ్యాఖ్య చేయలేదని అనుకుందాం, అప్పుడు ఏమి జరుగుతుందో అది ఏదో చేస్తోంది. లోపం వచ్చి అది ఒకటి విసురుతుంది. + ఇది ఒకదాన్ని విసిరితే దాని అర్థం ఏమిటి? అంటే ఏమిటి? సాధారణంగా ఇది ఒక రకమైన వస్తువును విసురుతోంది. + అది విసిరితే నియంత్రణ పోతుంది, మనం కాల్ స్టాక్‌లో చూస్తే అప్పుడు మన దగ్గర ఉన్నది మనకు ప్రధానమైనది, ప్రధానంగా ఎఫ్, ఎఫ్ అన్నారు జి, జి అన్నారు హెచ్. + ప్రస్తుతం మేము ఇక్కడే ఉన్నాము. + ఇప్పుడు మీరు విసిరితే, అది కొనసాగలేమని తేలుతుంది, కాబట్టి మీరు ఈ ఫంక్షన్ (ఫంక్షన్) నుండి బయటపడటానికి ప్రయత్నిస్తున్న నియంత్రణ ప్రవాహం పరంగా త్రో మీకు చాలా ఇష్టం. + కాబట్టి మీరు బయటకు వెళ్లి తిరిగి జి. + మీరు ఇప్పుడు జీవించడానికి ఎందుకు తిరిగి వెళతారు? G లోని h యొక్క కాల్ ట్రై బ్లాక్‌లోనే కాపలాగా ఉంటుంది, కాబట్టి ఇది ఈ దశకు తిరిగి రాదు. + బదులుగా మీరు నియంత్రణను విసిరినప్పుడు అది మీ వద్ద ఉన్న నిబంధనల జాబితాలోకి వెళుతుంది. + మరియు విసిరినది ఒకటి, ఇది పూర్ణాంకానికి (పూర్ణాంకానికి). + ఇప్పుడు మీరు అక్కడికి చేరుకున్న తర్వాత చాలా ఆసక్తికరంగా ఉంది, ఇది ఈ వస్తువును తీసుకుంటుంది, వస్తువు మరొక హోల్డ్ యొక్క ఈ జాబితాకు వెళ్లి సరిపోలడానికి ప్రయత్నిస్తుంది. + ఇది ఒక మ్యాచ్‌ను కనుగొంటే, అది వెంటనే అక్కడే ఆగి సంబంధిత హ్యాండ్లర్‌ను అమలు చేస్తుంది. + అది మ్యాచ్‌ను కనుగొనలేకపోతే అది ముందుకు సాగుతుంది. + ఎవరైనా అవకలన వస్తువు అయితే విసిరితే ఏమి జరుగుతుంది, కాబట్టి క్యాచ్ ఒక పూర్ణాంకానికి (పూర్ణాంకానికి) ఆశిస్తుంది ఎందుకంటే దానికి సరిపోయే ఒక పూర్ణాంకాన్ని (పూర్ణాంకానికి) ఆశిస్తోంది మరియు అది ఈ పూర్ణాంకాన్ని (పూర్ణాంకానికి) అమలు చేస్తుంది. + ఇది కేవలం హ్యాండ్లర్ లాగా అని చెప్తోంది. + ఇది పూర్తయిన తర్వాత, నియంత్రణ మిగిలిన క్యాచ్ విభాగానికి చేరుకుంటుంది మరియు ఇంకేదో ఇక్కడ కొనసాగుతుంది. + ఇప్పుడు, G చేయాల్సిందల్లా; ఇప్పుడు మొత్తం విషయం ఇప్పటికే పూర్తయింది, లోపం జరిగింది, ఇది నివేదించబడింది, ఇది ఇక్కడ కనుగొనబడింది, ఇది ఇక్కడ నిర్వహించబడింది, మీరు కోలుకున్నారు మరియు మీరు ఈ భాగం కోసం కొనసాగుతున్నారు. + H, g, f main ప్రతి సందర్భంలోనూ ముఖ్యమైన స్టాక్‌ను మళ్ళీ సృష్టించండి అని చెబితే ఏమి జరుగుతుందో చూద్దాం. + ఇప్పుడు మనం ఇక్కడ ఏదో జరుగుతోందని చెప్తున్నాము మరియు అది 2.5 విసురుతున్న చోటికి చేరుకుంటుంది, ఇది భిన్నమైనదని చూపించడానికి. + ఇప్పుడు 2.5 అంటే ఏమిటి? 2.5 అనేది మనకు తెలిసిన డబుల్ టైమ్ యొక్క వస్తువు. + నియంత్రణ విసిరినప్పుడు G కి తిరిగి వస్తుంది. + అది ఎక్కడ తిరిగి వస్తుంది? ఇది ఇక్కడ తిరిగి రాదు; ఈ క్యాచ్ నిబంధన యొక్క ప్రారంభానికి తిరిగి వెళుతుంది, ఎందుకంటే ఏదో విసిరివేయబడింది. + మరియు మీరు సరిపోల్చడం ప్రారంభించండి, ఇది ద్వంద్వ వస్తువును కలిగి ఉంది, అది పూర్ణాంకానికి (పూర్ణాంకానికి) సరిపోలడానికి ప్రయత్నిస్తుంది. + ఇది విఫలమవుతుంది.ఇది సరిపోలడం సాధ్యం కాదు. + క్యాచ్ నిబంధన అవ్యక్త మార్పిడికి సరిపోలలేదు. + ఈ మ్యాచ్ యొక్క వ్యూహాన్ని పరిశీలిస్తే, ఓవర్లోడ్ మ్యాచింగ్ లాగా కనిపిస్తుంది. + కాబట్టి మీరు అనుకున్నట్లుగా, ఒకే పరామితితో ఒక ఫంక్షన్ చేస్తున్నట్లుగా విసిరివేయబడుతుంది. + మరియు ఇక్కడ చాలా ఫంక్షన్లు ఉన్నాయి, ఇక్కడ మూడు ఫంక్షన్లు ఒక Int (int) xa డబుల్ మరియు కొన్ని డాట్ డాట్ డాట్ తీసుకుంటాయి మరియు మీరు ఏ నిర్దిష్ట ఫంక్షన్ (ఫంక్షన్) ను నిర్ణయించడానికి ప్రయత్నిస్తున్నారు, ఏ ప్రత్యేక క్యాచ్ నిబంధన పరిష్కరించబడుతుంది. + కానీ ఓవర్లోడ్ రిజల్యూషన్ నుండి రెండు ప్రధాన తేడాలు ఉన్నాయి; ఓవర్లోడ్ రిజల్యూషన్ అంతర్లీన మార్పిడిని చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. + ఉదాహరణకు, పూర్ణాంకానికి డబుల్, డబుల్ ట్రంక్ మరియు లోపల మరియు సరిపోతుంది. + క్యాచ్ నిబంధనపై నిర్ణయం తీసుకోవడం అనుమతించబడదు. + రెండవది మొత్తంగా ఫంక్షన్ల సమితిలో ఓవర్‌లోడ్ రిజల్యూషన్. + ఇక్కడ ఇది ఈ ఆర్డర్ ప్రకారం ఉంటుంది. + మీకు మ్యాచ్ వచ్చిన వెంటనే, మంచి మ్యాచ్ ఉందో లేదో తెలుసుకోవడానికి మీరు ప్రయత్నించరు, మీరు అక్కడే ముగించి ఆ నిబంధనను పిలుస్తారు. + కాబట్టి ఇక్కడ ఏమి జరుగుతుంది? వారికి ద్వంద్వ వస్తువు ఉంది; ఇది మ్యాచ్ కాదు, కానీ అది ఒక మ్యాచ్ అవుతుంది. + ఇప్పుడు, ఇది రెట్టింపు ముద్రణ మరియు తిరిగి పొందడం ఇక్కడ ఒక నమూనా. + దీన్ని కొనసాగిద్దాం మరియు తరువాత ఏమి జరుగుతుందో చూడటానికి ప్రయత్నిద్దాం. + మెయిన్, ఎఫ్, జి, హెచ్, దీనిని తనిఖీ చేద్దాం. + ఇక్కడ నా మినహాయింపు ఏమిటంటే ప్రామాణిక లైబ్రరీ మినహాయింపు, ఇది ముందే నిర్వచించిన క్లాస్ మినహాయింపును కలిగి ఉంది, ఇది సి ++ లో సంభవించే అన్ని రకాల మినహాయింపులను జాగ్రత్తగా చూసుకుంటుంది. + నేను ఒక తరగతిని నిర్వచించాను, ఇది మినహాయింపు తరగతి యొక్క ప్రత్యేకత, కాబట్టి కొందరు నా మినహాయింపు యొక్క వస్తువును విసురుతున్నారు. + అప్పుడు ఏమి జరుగుతుంది? G పై నియంత్రణ వలె, ఇది int (int) తో సరిపోలడానికి ప్రయత్నించినప్పుడు మొదలవుతుంది, మ్యాచ్ నా మినహాయింపు యొక్క వస్తువు కాదు, డబుల్ క్యాచ్ మ్యాచ్‌తో సరిపోలడానికి ప్రయత్నిస్తుంది.అయితే, ఇక్కడ సరిపోలడానికి ప్రయత్నిస్తుంది, ఏమి ఔనా? దీనిని ఎలిప్స్ అంటారు. + ఎలిప్స్ మూడు చుక్కలు, అవి దేనితోనైనా సరిపోలడం. + మీ వద్ద ఉన్నవన్నీ దానితో సరిపోలుతాయి. + కాబట్టి, దీర్ఘవృత్తం ఒకదానితో సరిపోతుంది, ఇది డబుల్‌తో సరిపోతుంది, ఇది నా మినహాయింపుతో సరిపోతుంది, ఇది ఏదైనా మినహాయింపుతో సరిపోతుంది, కాని మునుపటి సందర్భాల్లో మనకు 1 విసిరినప్పుడు. మరియు మేము 2.5 (int) తర్వాత 2.5 విసిరాము మరియు డబుల్ క్యాచ్ నిబంధన ఈ ఇప్స్‌కు ముందు ఈ దశకు రాలేదు. + కానీ ఇక్కడ నా మినహాయింపుతో ఈ రెండూ సరిపోలలేదు కాబట్టి ఇది ఇక్కడకు వచ్చి ఈ సమయంలో సరిపోతుంది, ఇది క్యాచ్ ఆల్ క్లాజ్ అని కూడా పిలుస్తారు ఎందుకంటే ఇది అన్నింటికీ సరిపోతుంది. + కనుక ఇది నిర్వహించడానికి వెళుతుంది, మరియు హ్యాండిల్ అంటే ఏమిటి? హ్యాండిల్ చాలా సరళంగా ఏదో చెబుతుంది, ఈ త్రో అంటే అది ఏమీ చేయబోవడం లేదు, కానీ H ఫంక్షన్ నా మినహాయింపు వస్తువును విసిరినందున, అది కాలర్ ఆ వస్తువును పిలవడానికి కారణమవుతుంది. మళ్ళీ విసిరేస్తుంది. + కనుక ఇది మళ్ళీ విసిరివేయబడుతుందని అర్థం.అది దాని కాలర్ పైకి తిరిగి వెళుతుంది.ఈ స్టాక్ దాని కాలర్ పైకి వస్తుంది. + కాలర్ f, కాలర్ g అని పిలిచారు మరియు మీరు విసిరారు, మీ మినహాయింపు వస్తువు ఏమిటి? మినహాయింపు వస్తువు మీరు h నుండి అందుకున్నది, నా మినహాయింపు వస్తువు. + కాబట్టి మీరు మినహాయింపు ద్వారా ఇక్కడకు వచ్చినప్పటి నుండి, మీరు క్యాచ్ క్లాజ్‌లో కొనసాగుతారు. + కాబట్టి, ఇప్పుడు మీరు నా మినహాయింపు వస్తువును కలిగి ఉన్నారు మరియు మీకు నా మినహాయింపు క్యాచ్ నిబంధన ఉంది, కాబట్టి ఇది నా మినహాయింపును మరొక క్యాచ్ నిబంధనపై వదిలివేసి, ఆపై మీరు మిగిలిన ఫంక్షన్‌ను చేయవచ్చు మరియు కొనసాగించండి. . - 101. అందువల్ల, మీరు విసిరిన మినహాయింపును కాలర్ నిర్వహించగలగడం అవసరం లేదు, కాలర్ దానిని నిర్వహించగలడు, కాలర్ దానిని నిర్వహించడానికి కాల్ చేయడానికి అధిక ప్రచారం చేయగలడు మరియు అది ఒక మినహాయింపును విసిరిందని మేము చెప్తాము. - 102. ఇక్కడ మీకు ప్రత్యేకత ఏమిటి? - 103. నా మినహాయింపు స్పెషలైజేషన్ అయిన తరగతి మినహాయింపును వదిలివేస్తే ఏమి జరుగుతుందో చూద్దాం. - 104. ఇప్పుడు, నేను మళ్ళీ ఇక్కడకు వస్తే, అది ఈ దశకు వెళుతుంది ఎందుకంటే ఈ రెండు నన్ను విసిరేయడం సరిపోలడం లేదు, నేను వచ్చాను, నేను ఇక్కడకు వచ్చాను, మినహాయింపుతో సరిపోలడం, నాకు మినహాయింపు (మినహాయింపు) లభిస్తుంది. - 105. నేను విసిరేస్తానని అనుకుందాం, నా క్లాస్ వేరే తరగతి మరియు నేను నా క్లాస్ మినహాయింపును విసిరాను, అది ఇక్కడ చూడటం ప్రారంభిస్తుంది, ఇది క్యాచ్ నిబంధనను విసిరివేస్తుంది, చివరకు అది మళ్ళీ విసిరిన మ్యాచ్‌లను సూచిస్తుంది, ఇది ఏదీ సరిపోలడం లేదు. కనుక ఇది మళ్ళీ విసిరివేయబడింది, కాబట్టి ఇది ప్రధానంగా ఈ క్యాచ్ నిబంధనకు వెళుతుంది, అది మళ్ళీ సరిపోతుంది. మరియు మీరు పైకి విసిరేయండి మరియు ఏదో తెలియదని మీరు చెబుతున్నారు. - 106. మినహాయింపులు లోతైన ఫంక్షన్ (ఫంక్షన్) నుండి బయటి పేరున్న ఫంక్షన్ (ఫంక్షన్) కు ప్రచారం చేయబడతాయి. - 107. మీరు గమనించగలిగే కొన్ని ఆసక్తికరమైన విషయాలు ఉన్నాయి, ఉదాహరణకు, నాకు ఈ క్యాచ్ నిబంధన లేదని అనుకుందాం. - 108. మరియు నేను నా మినహాయింపును విసిరానని చెప్పండి, ఏమి జరుగుతుంది, అది సరిపోలలేదు, సరిపోలలేదు. - 109. ఇతర క్యాచ్ నిబంధనలు ఏవీ లేవు, కాబట్టి ఇది ఇక్కడ వస్తుంది, ఇప్పుడు మినహాయింపు యంత్రాంగం యొక్క డిఫాల్ట్ ప్రవర్తన ఏమిటంటే, ఒక కాలర్ వారు నిర్వహించలేని మినహాయింపును కనుగొంటే, క్యాచ్ నిబంధన లేనందున, ఇది డిఫాల్ట్‌గా తిరిగి ప్రారంభమవుతుంది , మరియు ఇది డిఫాల్ట్‌గా మళ్లీ అదే మినహాయింపును విసిరివేస్తుంది. - 110. కాబట్టి ఇది లేకుండా కూడా అతను తిరిగి వెళ్లి నా మినహాయింపుకు వెళ్ళే అదే ప్రవర్తనను పొందుతాము. - 111. ఇప్పుడు, ఇదే జరిగితే, మనం మళ్ళీ ఎందుకు విసిరేస్తాము, అందుకే మనం మళ్ళీ విసిరేస్తాము, చాలా సందర్భాల్లో నేను ఏదో పట్టుకునే స్థితిలో ఉండవచ్చు మరియు నేను మొదట ఏదో నిర్వహించాలనుకుంటున్నాను, నేను ఏమి చేయగలను, మరియు అప్పుడు నేను చేయగలిగేది ఏమిటంటే, నా కాలర్ కూడా తెలుసుకోవాలి. - 112. కాబట్టి నేను ఏదో నిర్వహించాలనుకుంటున్నాను మరియు దానిని మళ్ళీ విసిరేయాలనుకుంటున్నాను ఎందుకంటే నేను ఇక్కడ చేసినట్లుగానే నేను దీన్ని నిర్వహిస్తే, మినహాయింపు జాగ్రత్తగా చూసుకున్నట్లు సిస్టమ్ అర్థం చేసుకుంటుంది మరియు అది కొనసాగుతుంది మరియు దానిని పిలుస్తుంది. - 113. త్రో. - 114. నేను మళ్ళీ నిర్వహించి విసిరితే, ఫంక్షన్ G నుండి క్రొత్త మినహాయింపు సంభవించినట్లు కనిపిస్తుంది మరియు మేము దాని కాలర్ F. కి వెళ్తాము. - 115. కాబట్టి ఇది జరిగే మినహాయింపు యొక్క ప్రాథమిక విధానం. - 116. ఇప్పుడు స్టాక్ పరంగా ఏమి జరుగుతుందో కూడా చూపిస్తాను, ప్రధానంగా, F, G, H అని చెప్పండి, నా మినహాయింపు సంభవించిందని చెప్పండి. - 117. ఇప్పుడు అది విసురుతుంది అంటే ఈ ఫంక్షన్ నుండి నియంత్రణ బయటకు రావాలి G దాని నుండి బయటకు వస్తుంది. - 118. కనుక ఇది దాని నుండి బయటకు వస్తే, ఈ ఫంక్షన్ G తో అనుబంధించబడిన స్టాక్ ఫ్రేమ్ తొలగించబడాలి. - 119. ఈ స్థానిక వస్తువు తీసివేయబడినప్పుడు ఈ స్థానిక వస్తువు సృష్టించబడుతుంది. - 120. అందువల్ల, సాధారణంగా సంభవించే మినహాయింపు సాధారణ ఉనికిలో ఉంది, ఇక్కడ ఈ ఫంక్షన్‌ను నాశనం చేసేది, ఇది నా తరగతి కనుగొన్న పెద్దప్రేగు టిల్డే. - 121. ఇప్పుడు, మీరు ఈ సమయానికి ఉనికిలో ఉన్నారు, ఇప్పుడు మీరు ఈ పాయింట్ నుండి బయటకు వస్తున్నారు ఎందుకంటే మీరు ఒకదాన్ని విసిరారు. - 122. కానీ ఈ సమయంలో కూడా దీనిని ఈ స్థానిక వస్తువు యొక్క డిస్ట్రాయర్ అంటారు. - 123. కాబట్టి ఈ సమయంలో మిగిలి ఉన్న అన్ని వస్తువుల యొక్క అన్ని విధ్వంసకులను అప్పుడు డిస్ట్రక్టర్లు అంటారు. - 124. అప్పుడే స్టాక్ ఫ్రేమ్ స్కెచ్ చేయబడుతుంది మరియు నియంత్రణ G కి తిరిగి వస్తుంది. - 125. ఇప్పుడు మేము మా మినహాయింపును విసిరితే, అది ఇక్కడ సరిపోలడం లేదు, ఇక్కడ సరిపోలడం లేదు, ఇది ఇక్కడ సరిపోతుంది మరియు అది మళ్ళీ విసురుతుంది. - 126. కాబట్టి నియంత్రణ G నుండి F కి తిరిగి వెళుతుంది, అంటే G యొక్క స్టాక్ ఫ్రేమ్ కూడా వక్రంగా ఉండాలి మరియు ఈ సమయంలో జరుగుతుంది, ఇది ఈ సమయంలో చేయబడుతుంది మరియు G యొక్క ఈ స్థానిక వస్తువు నాశనం అవుతుంది. - 127. కాబట్టి మినహాయింపు బేస్ ప్రవాహం యొక్క ప్రాథమిక ప్రయోజనం ఏమిటంటే, కాల్ సీక్వెన్స్ మరియు బ్లాక్ బ్లాక్ మరియు బ్లాక్ బ్లాక్‌లోని సంబంధిత ఆధారంగా స్టాక్‌లో స్వయంచాలకంగా పైకి వెళ్లడానికి మాత్రమే జాగ్రత్త తీసుకుంటుంది. క్యాచ్ నిబంధనతో సరిపోతుంది. - 128. ఫంక్షన్ దాన్ని విసిరినందున అది ఒక ఫంక్షన్ నుండి నిష్క్రమించినప్పుడల్లా, అది ఉన్న అన్ని స్థానిక వస్తువులను నాశనం చేస్తుంది. - 129. ఎప్పుడైనా, మీరు ఇక్కడ నుండి విసిరినట్లయితే అది విసిరివేయబడుతుంది మరియు ఇప్పుడు మీరు పని చేస్తున్నారు, G మరియు H కోసం మీకు తెలుసు; అన్ని స్థానిక వస్తువులను విసిరే రెండు విధులు సరిగ్గా శుభ్రం చేయబడ్డాయి. - 130. ఈ ప్రక్రియను తొలగించడం, వస్తువులను తొలగించడానికి స్థానిక వస్తువులను ఆటోమేట్ చేయడం మరియు మీరు ఒక ఫంక్షన్ నుండి వస్తువులను దాని పేరెంట్ త్రోకు తరలించేటప్పుడు స్టాక్ ఫ్రేమ్‌లను తొలగించడం వంటి స్టాక్ జరిగింది, దీనిని స్టాక్ ఓపెనింగ్ అంటారు ఎందుకంటే స్టాక్ కూలిపోతుంది మరియు మీరు వరకు ఫంక్షన్ చేరుకోండి. - 131. మీరు ఎక్కడ కొనసాగించబోతున్నారు. - 132. ఇది TRAI బ్లాక్ ఆధారంగా రూపొందించబడిన ప్రాథమిక మినహాయింపు విధానం. - 133. ఖచ్చితంగా, నేను మరొక విషయాన్ని కూడా చెప్పాలి. - 134. అది అక్కడ ఉందనుకోండి మరియు G లో ఒక ఫంక్షన్ చెప్పనివ్వండి, బదులుగా మీరు G వ్రాశారు. - 135. ట్రయల్ బ్లాక్ లోపల లేని ఫంక్షన్‌ను మీరు పిలిచారని అనుకుందాం, ఆపై ఇది నా మినహాయింపు. - 136. నా మినహాయింపు, పెరిగినట్లుగా, ఇక్కడ సరిపోలకపోతే, ఇక్కడ సరిపోలకపోతే, దాన్ని మళ్ళీ విసిరేయాలి, కాబట్టి నా మినహాయింపు ఇక్కడ ఉంది. - 137. ఈ చట్టం తరువాత మరికొన్ని ప్రకటనలు ఉండవచ్చు. - 138. ఇప్పుడు ఏమి జరుగుతుందంటే, మీరు దీన్ని బ్లాక్‌లో కూడా ప్రయత్నించకపోతే, మీకు G లో మినహాయింపు లభిస్తే, నియంత్రణ తిరిగి వచ్చిన తర్వాత మీరు తదుపరి స్టేట్‌మెంట్‌కు కొనసాగకండి, మీరు వెంటనే అదే మాతృ వస్తువును విసిరి, పెంచుతారు. - 139. ఇవి డిఫాల్ట్ మెకానిజమ్స్. - 140. ఈ డిఫాల్ట్ మెకానిజం చాలా ముఖ్యం ఎందుకంటే మీరు కొన్ని ఫంక్షన్ కాల్స్ చుట్టూ కొన్ని మినహాయింపులను కలిగి ఉండటాన్ని మరచిపోతే, లోపాన్ని నిర్వహించలేకపోవడాన్ని పరీక్షించడంలో మీకు ఇబ్బంది ఉంటుంది, కాబట్టి అప్రమేయంగా మీరు ఒక ఫంక్షన్‌ను బ్లాక్‌లో ఉంచకపోతే , అప్పుడు మీరు దానిని తల్లిదండ్రులకు పంపండి, మీ తల్లిదండ్రులు అలా చేస్తూ ఉంటారు. - 141. చివరగా, మీకు ట్రై బ్లాక్ లేదా క్యాచ్ బ్లాక్ ద్వారా రక్షించబడని ప్రధానంగా కొన్ని మినహాయింపులు ఉంటే. - 142. నాకు ఇక్కడ ఈ క్యాచ్ నిబంధన లేదని అనుకుందాం, కాబట్టి మరొక తరగతికి నా దగ్గర కొంత క్యాచ్ నిబంధన ఉందని అనుకుందాం. - 143. కానీ నాకు అన్ని నిబంధనలు లేవు, కాబట్టి నా క్లాస్ ఆబ్జెక్ట్ లాగా విసిరిన మినహాయింపు ఈ సమయంలో పట్టుబడదు ఎందుకంటే ఇది ఇక్కడ సరిపోలడం లేదు. - 144. అలాంటప్పుడు మెయిన్ ఖచ్చితంగా విసిరివేయబడదు, ఎందుకంటే దీనికి కాలర్ లేదు. - 145. కాబట్టి ఆ సందర్భంలో టెర్మినేషన్ హ్యాండ్లర్ అంటారు. - 146. కాబట్టి, ఇది సంభవించే మినహాయింపుల యొక్క ప్రాథమిక విధానం. - 147. స్లైడ్ యొక్క తరువాతి రెండు భాగాలలో మేము ఏమి చేసాము, నేను చర్చించినవి, అవి మరికొన్ని వివరాలతో ఇక్కడ డాక్యుమెంట్ చేయబడ్డాయి. - 148. ఉదాహరణకు, మొత్తంగా ఒక పని ప్రయత్నించండి. - 149. కాబట్టి, మీరు చేసే ప్రతి పని ఒక ఫంక్షన్ మరియు ఫంక్షన్ హెడర్స్ యొక్క శరీరంలో బహుళ ట్రై బ్లాక్‌లను ఉంచడానికి బదులుగా ఉంటుంది మరియు ఇది ఫంక్షన్ బాడీ. - 150. అందువల్ల, దీని మధ్యలో మీరు ప్రయత్నించండి, అంటే మొత్తం పని ప్రయత్నంలో ఒక భాగం. - 151. సహజంగానే ప్రయత్నిస్తున్న బ్లాక్‌ను బ్లాక్‌లోనే ఉంచవచ్చు.మీరు ఇతర బ్లాక్‌లను కలిగి ఉండవచ్చు, కాని బ్లాక్ (బ్లాక్) కు క్యాచ్ బ్లాక్ (బ్లాక్) ఉంటే ప్రయత్నించండి. - 152. ఇది ఇప్పుడు ఉన్నదానికి మునుపటి ఉదాహరణ నుండి. - 153. క్యాచ్ బ్లాక్ అప్పుడు వేరే లాజిక్ కలిగి ఉంటుంది, ప్రతి క్యాచ్ బ్లాక్‌లో ఆర్గ్యుమెంట్ ఉంటుందని మరియు క్యాచ్ బ్లాక్‌లలో ప్రత్యేకంగా ఉండాలి. - 154. కాబట్టి, ఇక్కడ వాదనలు ప్రత్యేకంగా ఉండాలి. - 155. గమనించదగ్గ ఒక ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఈ వాదనను ఎలా పాస్ చేయాలి, మీరు దానిని విలువగా లేదా సూచనగా పాస్ చేయాలి. - 156. ఇది సాధారణంగా సూచనగా పంపబడుతుంది. - 157. సాధారణంగా ఇది వినియోగదారు నిర్వచించిన వస్తువు అయితే, మీరు దానిని రిఫరెన్స్‌గా పాస్ చేయాలనుకుంటున్నారు.ఇది టైప్ చేయండి ఎందుకంటే మీరు ప్రోత్సహించగల మినహాయింపు వస్తువును మీరు కాపీ చేయనవసరం లేదు. - 158. మరియు ఈ హ్యాండ్లర్ ముగిసినప్పుడల్లా, హ్యాండ్లర్ మళ్ళీ విసిరివేయబడకపోతే, హ్యాండ్లర్ ముగిసినప్పుడల్లా అది మినహాయింపు వస్తువును నాశనం చేస్తుంది. - 159. మినహాయింపు వస్తువులు ఒక రకానికి చెందినవని గమనించడం కూడా ఆసక్తికరంగా ఉంటుంది, ఎందుకంటే మినహాయింపు వస్తువులు ఆటోమేటిక్ వస్తువుల వలె మారుతాయి ఎందుకంటే అవి విసిరినప్పుడు లేదా ఫంక్షన్‌కు ముందు సృష్టించబడతాయి.ఇది వాటిని విసిరివేస్తుంది మరియు అవి మరొక ఫంక్షన్‌లో నాశనం అవుతాయి హోల్డ్ హ్యాండ్లర్లో స్కోప్. - 160. చాలా ఆసక్తికరమైన స్వయంచాలక వస్తువు ఉంది, ఇది జీవితకాల పరిధిని కలిగి ఉంటుంది, ఇది అన్ని ఇతర స్వయంచాలక వస్తువులకు ప్రత్యేకమైన సంకలనం సమయంలో అవసరం లేని సమయాన్ని బట్టి ఉంటుంది. - 161. అందువల్ల, మినహాయింపు వస్తువులు ఎల్లప్పుడూ ఉచిత దుకాణంలో సృష్టించబడాలి, స్టాక్‌లో కాదు, కానీ మీరు స్టాక్‌గా పిలిచే వాటిలో. - 162. ఎందుకంటే మీరు దీన్ని స్టాక్‌లో ఉంచలేరు ఎందుకంటే ఈ వస్తువును మీరు ఎంతకాలం నిర్వహించాలో మీకు తెలియదు. - 163. అందువల్ల, మీరు స్టాక్ ఫ్రేమ్‌ను సృష్టించే ఫంక్షన్ యొక్క స్టాక్ ఫ్రేమ్ ఎంతకాలం ఉంటుందో మీకు తెలియదు. - 164. కాబట్టి మీరు సాధారణంగా ఈ వస్తువులను ఉచిత దుకాణంలో తయారు చేస్తారు. - 165. మేము మినహాయింపు సరిపోలిక గురించి మాట్లాడాము. - 166. మీరు విసిరిన మినహాయింపు ఇక్కడ ఎలా సరిపోతుందో ఇక్కడ వివరించబడింది. - 167. మీకు మినహాయింపు మరియు దాని నైపుణ్యం ఉంటే మీరు క్లాజ్ రాసేటప్పుడు మొదట బేస్ క్లాస్ కోసం క్యాచ్ క్లాజ్ మరియు స్పెషల్ క్లాస్ కోసం క్యాచ్ క్లాజ్ లభిస్తుందని మీరు గుర్తుంచుకోవాలి. - 168. మినహాయింపులు ఒక చివర నుండి మరొక చివర వరకు పట్టుబడ్డాయని మీరు గుర్తుంచుకుంటారు. - 169. మీకు ప్రత్యేక తరగతి మినహాయింపు ఉంటే, ఇది సరైన విషయం, నేను తప్పుగా మాట్లాడుతున్నందుకు క్షమించండి. - 170. కాబట్టి, నాకు ఇక్కడ మినహాయింపు ఉంటే, మరియు ఇక్కడ నా మినహాయింపు ఉంటే, నాకు రెండు క్యాచ్ నిబంధనలు ఉన్నాయి; ఒకటి నా మినహాయింపు కోసం మరియు మరొకటి మినహాయింపు కోసం. - 171. ఇప్పుడు, మీకు బేస్ క్లాస్ మినహాయింపు ఉంటే, అది ఇక్కడ సరిపోలడం లేదని నేను వివరించడానికి ప్రయత్నిస్తున్నాను, ఎందుకంటే ఇది కాస్టింగ్ డౌన్ అని అర్ధం కాని అది అక్కడ సరిపోతుంది. - 172. కాబట్టి, బదులుగా, ఇది నా మినహాయింపు అని మీరు చెప్పినట్లయితే, మీకు సమస్య ఉంటుంది, ఎందుకంటే మీకు ఉత్పన్నమైన తరగతి మినహాయింపు ఉన్నప్పుడు, ఇది ఇక్కడ సరిపోతుంది ఎందుకంటే మీరు పైకి లేపుతున్నారు. - 173. కాబట్టి, మీరు మినహాయింపు కోసం ఉపయోగించబడుతున్న తరగతుల శ్రేణిని కలిగి ఉన్నప్పుడు, ప్రత్యేకమైనది మొదట అధికంగా రావాలి మరియు నార్మలైజర్ తరువాత రావాలి. - 174. కాబట్టి ఆ యంత్రాంగాన్ని అనుసరించాలి. - 175. ఇవన్నీ ఈ సమయంలో వివరించబడ్డాయి, తద్వారా మీరు దానిని విసిరివేయవచ్చు. - 176. విసిరిన మినహాయింపును పెంచడం గురించి మేము మాట్లాడాము. - 177. ఇది చూపిస్తున్న మినహాయింపు. - 178. రీ త్రో అంటే ఏమిటో మనమందరం చర్చించాము. - 179. చివరగా, యంత్రాంగం కోసం ఈ ప్రయత్నాన్ని నిర్వహించడం వల్ల చాలా ప్రయోజనాలు ఉన్నాయని మీరు గమనించాలనుకుంటున్నాము. - 180. ఇది ఒక విధ్వంసక ప్రేమికుడు ఎందుకంటే ఇది స్టాక్‌ను ఫోకస్‌లోకి తీసుకొని స్థానిక వస్తువును శుభ్రపరుస్తుంది, ఇది తిరిగి చెల్లించబడదు ఎందుకంటే ఇది మొత్తం కోడ్ అయోమయాన్ని వేర్వేరు సాధారణ ప్రవాహాలుగా వేరు చేస్తుంది మరియు మినహాయింపు ప్రవాహం ఖచ్చితమైనది. - 181. ఇది అసలైనది మరియు ప్రామాణికమైనది, ఆ కోణంలో భాషా భాగం మూడవ పార్టీ భాగం లేదా అలాంటి ప్రామాణిక లైబ్రరీ కాదు. - 182. ఈ ప్రక్రియలో ఇది చాలా స్కేలబుల్ మరియు చాలా సరికాని సహనం. - 183. స్కేలబుల్, మీకు ఎన్ని ప్రయత్నాలు చేసినా, ఎన్ని గూళ్ళు ఉన్నా, మీ దగ్గర ఎంత పట్టు ఉన్నా, ప్రతి సందర్భంలోనూ ఇది సరిగ్గా పనిచేస్తుంది. - 184. దీనితో మేము C ++ లో మినహాయింపు లేదా లోపాన్ని ఎలా ఎదుర్కోవాలో క్లుప్తంగా చర్చించాము, ప్రత్యేకించి మేము C ++ యొక్క ప్రయత్నం, క్యాచ్, త్రో మెకానిజమ్‌ను అర్థం చేసుకోవడానికి ప్రయత్నించాము, ఇది అన్ని పద్ధతులను జాగ్రత్తగా చూసుకుంటుంది. మినహాయింపులు మరియు అన్నీ ఉండవచ్చు మీరు నిర్వహించగల మార్గాలు. - 185. వాస్తవానికి, మీరు C ++ లో త్రో త్రోతో సరిగ్గా రూపకల్పన చేయగలిగితే, మీకు C లో మినహాయింపు విధానం అవసరం లేదు. - 186. కొన్ని సిస్టమ్ కాల్స్ సిగ్నల్ లేదా ఎర్రర్ నంబర్‌ను చొప్పించడం వంటి లోపం విధానాలను ఉపయోగిస్తున్నందున, మీరు ఇప్పటికీ వాటిని ఉపయోగించాల్సి ఉంటుంది. - 187. కాబట్టి మీరు వాటిని ఇప్పటికీ ఆ సందర్భాలలో ఉపయోగించాల్సి ఉంటుంది, కానీ మీ స్వంత కోడ్ కోసం మీరు ఎప్పటికీ సి ఎర్రర్ హ్యాండ్లింగ్ లేదా సి లైబ్రరీ లైబ్రరీ ఫంక్షన్లను ఉపయోగించాల్సిన అవసరం లేదు. - 188. + అందువల్ల, మీరు విసిరిన మినహాయింపును కాలర్ నిర్వహించగలగడం అవసరం లేదు, కాలర్ దానిని నిర్వహించగలడు, కాలర్ దానిని నిర్వహించడానికి కాల్ చేయడానికి అధిక ప్రచారం చేయగలడు మరియు అది ఒక మినహాయింపును విసిరిందని మేము చెప్తాము. + ఇక్కడ మీకు ప్రత్యేకత ఏమిటి? + నా మినహాయింపు స్పెషలైజేషన్ అయిన తరగతి మినహాయింపును వదిలివేస్తే ఏమి జరుగుతుందో చూద్దాం. + ఇప్పుడు, నేను మళ్ళీ ఇక్కడకు వస్తే, అది ఈ దశకు వెళుతుంది ఎందుకంటే ఈ రెండు నన్ను విసిరేయడం సరిపోలడం లేదు, నేను వచ్చాను, నేను ఇక్కడకు వచ్చాను, మినహాయింపుతో సరిపోలడం, నాకు మినహాయింపు (మినహాయింపు) లభిస్తుంది. + నేను విసిరేస్తానని అనుకుందాం, నా క్లాస్ వేరే తరగతి మరియు నేను నా క్లాస్ మినహాయింపును విసిరాను, అది ఇక్కడ చూడటం ప్రారంభిస్తుంది, ఇది క్యాచ్ నిబంధనను విసిరివేస్తుంది, చివరకు అది మళ్ళీ విసిరిన మ్యాచ్‌లను సూచిస్తుంది, ఇది ఏదీ సరిపోలడం లేదు. కనుక ఇది మళ్ళీ విసిరివేయబడింది, కాబట్టి ఇది ప్రధానంగా ఈ క్యాచ్ నిబంధనకు వెళుతుంది, అది మళ్ళీ సరిపోతుంది. మరియు మీరు పైకి విసిరేయండి మరియు ఏదో తెలియదని మీరు చెబుతున్నారు. + మినహాయింపులు లోతైన ఫంక్షన్ (ఫంక్షన్) నుండి బయటి పేరున్న ఫంక్షన్ (ఫంక్షన్) కు ప్రచారం చేయబడతాయి. + మీరు గమనించగలిగే కొన్ని ఆసక్తికరమైన విషయాలు ఉన్నాయి, ఉదాహరణకు, నాకు ఈ క్యాచ్ నిబంధన లేదని అనుకుందాం. + మరియు నేను నా మినహాయింపును విసిరానని చెప్పండి, ఏమి జరుగుతుంది, అది సరిపోలలేదు, సరిపోలలేదు. + ఇతర క్యాచ్ నిబంధనలు ఏవీ లేవు, కాబట్టి ఇది ఇక్కడ వస్తుంది, ఇప్పుడు మినహాయింపు యంత్రాంగం యొక్క డిఫాల్ట్ ప్రవర్తన ఏమిటంటే, ఒక కాలర్ వారు నిర్వహించలేని మినహాయింపును కనుగొంటే, క్యాచ్ నిబంధన లేనందున, ఇది డిఫాల్ట్‌గా తిరిగి ప్రారంభమవుతుంది , మరియు ఇది డిఫాల్ట్‌గా మళ్లీ అదే మినహాయింపును విసిరివేస్తుంది. + కాబట్టి ఇది లేకుండా కూడా అతను తిరిగి వెళ్లి నా మినహాయింపుకు వెళ్ళే అదే ప్రవర్తనను పొందుతాము. + ఇప్పుడు, ఇదే జరిగితే, మనం మళ్ళీ ఎందుకు విసిరేస్తాము, అందుకే మనం మళ్ళీ విసిరేస్తాము, చాలా సందర్భాల్లో నేను ఏదో పట్టుకునే స్థితిలో ఉండవచ్చు మరియు నేను మొదట ఏదో నిర్వహించాలనుకుంటున్నాను, నేను ఏమి చేయగలను, మరియు అప్పుడు నేను చేయగలిగేది ఏమిటంటే, నా కాలర్ కూడా తెలుసుకోవాలి. + కాబట్టి నేను ఏదో నిర్వహించాలనుకుంటున్నాను మరియు దానిని మళ్ళీ విసిరేయాలనుకుంటున్నాను ఎందుకంటే నేను ఇక్కడ చేసినట్లుగానే నేను దీన్ని నిర్వహిస్తే, మినహాయింపు జాగ్రత్తగా చూసుకున్నట్లు సిస్టమ్ అర్థం చేసుకుంటుంది మరియు అది కొనసాగుతుంది మరియు దానిని పిలుస్తుంది. + త్రో. + నేను మళ్ళీ నిర్వహించి విసిరితే, ఫంక్షన్ G నుండి క్రొత్త మినహాయింపు సంభవించినట్లు కనిపిస్తుంది మరియు మేము దాని కాలర్ F. కి వెళ్తాము. + కాబట్టి ఇది జరిగే మినహాయింపు యొక్క ప్రాథమిక విధానం. + ఇప్పుడు స్టాక్ పరంగా ఏమి జరుగుతుందో కూడా చూపిస్తాను, ప్రధానంగా, F, G, H అని చెప్పండి, నా మినహాయింపు సంభవించిందని చెప్పండి. + ఇప్పుడు అది విసురుతుంది అంటే ఈ ఫంక్షన్ నుండి నియంత్రణ బయటకు రావాలి G దాని నుండి బయటకు వస్తుంది. + కనుక ఇది దాని నుండి బయటకు వస్తే, ఈ ఫంక్షన్ G తో అనుబంధించబడిన స్టాక్ ఫ్రేమ్ తొలగించబడాలి. + ఈ స్థానిక వస్తువు తీసివేయబడినప్పుడు ఈ స్థానిక వస్తువు సృష్టించబడుతుంది. + అందువల్ల, సాధారణంగా సంభవించే మినహాయింపు సాధారణ ఉనికిలో ఉంది, ఇక్కడ ఈ ఫంక్షన్‌ను నాశనం చేసేది, ఇది నా తరగతి కనుగొన్న పెద్దప్రేగు టిల్డే. + ఇప్పుడు, మీరు ఈ సమయానికి ఉనికిలో ఉన్నారు, ఇప్పుడు మీరు ఈ పాయింట్ నుండి బయటకు వస్తున్నారు ఎందుకంటే మీరు ఒకదాన్ని విసిరారు. + కానీ ఈ సమయంలో కూడా దీనిని ఈ స్థానిక వస్తువు యొక్క డిస్ట్రాయర్ అంటారు. + కాబట్టి ఈ సమయంలో మిగిలి ఉన్న అన్ని వస్తువుల యొక్క అన్ని విధ్వంసకులను అప్పుడు డిస్ట్రక్టర్లు అంటారు. + అప్పుడే స్టాక్ ఫ్రేమ్ స్కెచ్ చేయబడుతుంది మరియు నియంత్రణ G కి తిరిగి వస్తుంది. + ఇప్పుడు మేము మా మినహాయింపును విసిరితే, అది ఇక్కడ సరిపోలడం లేదు, ఇక్కడ సరిపోలడం లేదు, ఇది ఇక్కడ సరిపోతుంది మరియు అది మళ్ళీ విసురుతుంది. + కాబట్టి నియంత్రణ G నుండి F కి తిరిగి వెళుతుంది, అంటే G యొక్క స్టాక్ ఫ్రేమ్ కూడా వక్రంగా ఉండాలి మరియు ఈ సమయంలో జరుగుతుంది, ఇది ఈ సమయంలో చేయబడుతుంది మరియు G యొక్క ఈ స్థానిక వస్తువు నాశనం అవుతుంది. + కాబట్టి మినహాయింపు బేస్ ప్రవాహం యొక్క ప్రాథమిక ప్రయోజనం ఏమిటంటే, కాల్ సీక్వెన్స్ మరియు బ్లాక్ బ్లాక్ మరియు బ్లాక్ బ్లాక్‌లోని సంబంధిత ఆధారంగా స్టాక్‌లో స్వయంచాలకంగా పైకి వెళ్లడానికి మాత్రమే జాగ్రత్త తీసుకుంటుంది. క్యాచ్ నిబంధనతో సరిపోతుంది. + ఫంక్షన్ దాన్ని విసిరినందున అది ఒక ఫంక్షన్ నుండి నిష్క్రమించినప్పుడల్లా, అది ఉన్న అన్ని స్థానిక వస్తువులను నాశనం చేస్తుంది. + ఎప్పుడైనా, మీరు ఇక్కడ నుండి విసిరినట్లయితే అది విసిరివేయబడుతుంది మరియు ఇప్పుడు మీరు పని చేస్తున్నారు, G మరియు H కోసం మీకు తెలుసు; అన్ని స్థానిక వస్తువులను విసిరే రెండు విధులు సరిగ్గా శుభ్రం చేయబడ్డాయి. + ఈ ప్రక్రియను తొలగించడం, వస్తువులను తొలగించడానికి స్థానిక వస్తువులను ఆటోమేట్ చేయడం మరియు మీరు ఒక ఫంక్షన్ నుండి వస్తువులను దాని పేరెంట్ త్రోకు తరలించేటప్పుడు స్టాక్ ఫ్రేమ్‌లను తొలగించడం వంటి స్టాక్ జరిగింది, దీనిని స్టాక్ ఓపెనింగ్ అంటారు ఎందుకంటే స్టాక్ కూలిపోతుంది మరియు మీరు వరకు ఫంక్షన్ చేరుకోండి. + మీరు ఎక్కడ కొనసాగించబోతున్నారు. + ఇది TRAI బ్లాక్ ఆధారంగా రూపొందించబడిన ప్రాథమిక మినహాయింపు విధానం. + ఖచ్చితంగా, నేను మరొక విషయాన్ని కూడా చెప్పాలి. + అది అక్కడ ఉందనుకోండి మరియు G లో ఒక ఫంక్షన్ చెప్పనివ్వండి, బదులుగా మీరు G వ్రాశారు. + ట్రయల్ బ్లాక్ లోపల లేని ఫంక్షన్‌ను మీరు పిలిచారని అనుకుందాం, ఆపై ఇది నా మినహాయింపు. + నా మినహాయింపు, పెరిగినట్లుగా, ఇక్కడ సరిపోలకపోతే, ఇక్కడ సరిపోలకపోతే, దాన్ని మళ్ళీ విసిరేయాలి, కాబట్టి నా మినహాయింపు ఇక్కడ ఉంది. + ఈ చట్టం తరువాత మరికొన్ని ప్రకటనలు ఉండవచ్చు. + ఇప్పుడు ఏమి జరుగుతుందంటే, మీరు దీన్ని బ్లాక్‌లో కూడా ప్రయత్నించకపోతే, మీకు G లో మినహాయింపు లభిస్తే, నియంత్రణ తిరిగి వచ్చిన తర్వాత మీరు తదుపరి స్టేట్‌మెంట్‌కు కొనసాగకండి, మీరు వెంటనే అదే మాతృ వస్తువును విసిరి, పెంచుతారు. + ఇవి డిఫాల్ట్ మెకానిజమ్స్. + ఈ డిఫాల్ట్ మెకానిజం చాలా ముఖ్యం ఎందుకంటే మీరు కొన్ని ఫంక్షన్ కాల్స్ చుట్టూ కొన్ని మినహాయింపులను కలిగి ఉండటాన్ని మరచిపోతే, లోపాన్ని నిర్వహించలేకపోవడాన్ని పరీక్షించడంలో మీకు ఇబ్బంది ఉంటుంది, కాబట్టి అప్రమేయంగా మీరు ఒక ఫంక్షన్‌ను బ్లాక్‌లో ఉంచకపోతే , అప్పుడు మీరు దానిని తల్లిదండ్రులకు పంపండి, మీ తల్లిదండ్రులు అలా చేస్తూ ఉంటారు. + చివరగా, మీకు ట్రై బ్లాక్ లేదా క్యాచ్ బ్లాక్ ద్వారా రక్షించబడని ప్రధానంగా కొన్ని మినహాయింపులు ఉంటే. + నాకు ఇక్కడ ఈ క్యాచ్ నిబంధన లేదని అనుకుందాం, కాబట్టి మరొక తరగతికి నా దగ్గర కొంత క్యాచ్ నిబంధన ఉందని అనుకుందాం. + కానీ నాకు అన్ని నిబంధనలు లేవు, కాబట్టి నా క్లాస్ ఆబ్జెక్ట్ లాగా విసిరిన మినహాయింపు ఈ సమయంలో పట్టుబడదు ఎందుకంటే ఇది ఇక్కడ సరిపోలడం లేదు. + అలాంటప్పుడు మెయిన్ ఖచ్చితంగా విసిరివేయబడదు, ఎందుకంటే దీనికి కాలర్ లేదు. + కాబట్టి ఆ సందర్భంలో టెర్మినేషన్ హ్యాండ్లర్ అంటారు. + కాబట్టి, ఇది సంభవించే మినహాయింపుల యొక్క ప్రాథమిక విధానం. + స్లైడ్ యొక్క తరువాతి రెండు భాగాలలో మేము ఏమి చేసాము, నేను చర్చించినవి, అవి మరికొన్ని వివరాలతో ఇక్కడ డాక్యుమెంట్ చేయబడ్డాయి. + ఉదాహరణకు, మొత్తంగా ఒక పని ప్రయత్నించండి. + కాబట్టి, మీరు చేసే ప్రతి పని ఒక ఫంక్షన్ మరియు ఫంక్షన్ హెడర్స్ యొక్క శరీరంలో బహుళ ట్రై బ్లాక్‌లను ఉంచడానికి బదులుగా ఉంటుంది మరియు ఇది ఫంక్షన్ బాడీ. + అందువల్ల, దీని మధ్యలో మీరు ప్రయత్నించండి, అంటే మొత్తం పని ప్రయత్నంలో ఒక భాగం. + సహజంగానే ప్రయత్నిస్తున్న బ్లాక్‌ను బ్లాక్‌లోనే ఉంచవచ్చు.మీరు ఇతర బ్లాక్‌లను కలిగి ఉండవచ్చు, కాని బ్లాక్ (బ్లాక్) కు క్యాచ్ బ్లాక్ (బ్లాక్) ఉంటే ప్రయత్నించండి. + ఇది ఇప్పుడు ఉన్నదానికి మునుపటి ఉదాహరణ నుండి. + క్యాచ్ బ్లాక్ అప్పుడు వేరే లాజిక్ కలిగి ఉంటుంది, ప్రతి క్యాచ్ బ్లాక్‌లో ఆర్గ్యుమెంట్ ఉంటుందని మరియు క్యాచ్ బ్లాక్‌లలో ప్రత్యేకంగా ఉండాలి. + కాబట్టి, ఇక్కడ వాదనలు ప్రత్యేకంగా ఉండాలి. + గమనించదగ్గ ఒక ఆసక్తికరమైన విషయం ఏమిటంటే, మీరు ఈ వాదనను ఎలా పాస్ చేయాలి, మీరు దానిని విలువగా లేదా సూచనగా పాస్ చేయాలి. + ఇది సాధారణంగా సూచనగా పంపబడుతుంది. + సాధారణంగా ఇది వినియోగదారు నిర్వచించిన వస్తువు అయితే, మీరు దానిని రిఫరెన్స్‌గా పాస్ చేయాలనుకుంటున్నారు.ఇది టైప్ చేయండి ఎందుకంటే మీరు ప్రోత్సహించగల మినహాయింపు వస్తువును మీరు కాపీ చేయనవసరం లేదు. + మరియు ఈ హ్యాండ్లర్ ముగిసినప్పుడల్లా, హ్యాండ్లర్ మళ్ళీ విసిరివేయబడకపోతే, హ్యాండ్లర్ ముగిసినప్పుడల్లా అది మినహాయింపు వస్తువును నాశనం చేస్తుంది. + మినహాయింపు వస్తువులు ఒక రకానికి చెందినవని గమనించడం కూడా ఆసక్తికరంగా ఉంటుంది, ఎందుకంటే మినహాయింపు వస్తువులు ఆటోమేటిక్ వస్తువుల వలె మారుతాయి ఎందుకంటే అవి విసిరినప్పుడు లేదా ఫంక్షన్‌కు ముందు సృష్టించబడతాయి.ఇది వాటిని విసిరివేస్తుంది మరియు అవి మరొక ఫంక్షన్‌లో నాశనం అవుతాయి హోల్డ్ హ్యాండ్లర్లో స్కోప్. + చాలా ఆసక్తికరమైన స్వయంచాలక వస్తువు ఉంది, ఇది జీవితకాల పరిధిని కలిగి ఉంటుంది, ఇది అన్ని ఇతర స్వయంచాలక వస్తువులకు ప్రత్యేకమైన సంకలనం సమయంలో అవసరం లేని సమయాన్ని బట్టి ఉంటుంది. + అందువల్ల, మినహాయింపు వస్తువులు ఎల్లప్పుడూ ఉచిత దుకాణంలో సృష్టించబడాలి, స్టాక్‌లో కాదు, కానీ మీరు స్టాక్‌గా పిలిచే వాటిలో. + ఎందుకంటే మీరు దీన్ని స్టాక్‌లో ఉంచలేరు ఎందుకంటే ఈ వస్తువును మీరు ఎంతకాలం నిర్వహించాలో మీకు తెలియదు. + అందువల్ల, మీరు స్టాక్ ఫ్రేమ్‌ను సృష్టించే ఫంక్షన్ యొక్క స్టాక్ ఫ్రేమ్ ఎంతకాలం ఉంటుందో మీకు తెలియదు. + కాబట్టి మీరు సాధారణంగా ఈ వస్తువులను ఉచిత దుకాణంలో తయారు చేస్తారు. + మేము మినహాయింపు సరిపోలిక గురించి మాట్లాడాము. + మీరు విసిరిన మినహాయింపు ఇక్కడ ఎలా సరిపోతుందో ఇక్కడ వివరించబడింది. + మీకు మినహాయింపు మరియు దాని నైపుణ్యం ఉంటే మీరు క్లాజ్ రాసేటప్పుడు మొదట బేస్ క్లాస్ కోసం క్యాచ్ క్లాజ్ మరియు స్పెషల్ క్లాస్ కోసం క్యాచ్ క్లాజ్ లభిస్తుందని మీరు గుర్తుంచుకోవాలి. + మినహాయింపులు ఒక చివర నుండి మరొక చివర వరకు పట్టుబడ్డాయని మీరు గుర్తుంచుకుంటారు. + మీకు ప్రత్యేక తరగతి మినహాయింపు ఉంటే, ఇది సరైన విషయం, నేను తప్పుగా మాట్లాడుతున్నందుకు క్షమించండి. + కాబట్టి, నాకు ఇక్కడ మినహాయింపు ఉంటే, మరియు ఇక్కడ నా మినహాయింపు ఉంటే, నాకు రెండు క్యాచ్ నిబంధనలు ఉన్నాయి; ఒకటి నా మినహాయింపు కోసం మరియు మరొకటి మినహాయింపు కోసం. + ఇప్పుడు, మీకు బేస్ క్లాస్ మినహాయింపు ఉంటే, అది ఇక్కడ సరిపోలడం లేదని నేను వివరించడానికి ప్రయత్నిస్తున్నాను, ఎందుకంటే ఇది కాస్టింగ్ డౌన్ అని అర్ధం కాని అది అక్కడ సరిపోతుంది. + కాబట్టి, బదులుగా, ఇది నా మినహాయింపు అని మీరు చెప్పినట్లయితే, మీకు సమస్య ఉంటుంది, ఎందుకంటే మీకు ఉత్పన్నమైన తరగతి మినహాయింపు ఉన్నప్పుడు, ఇది ఇక్కడ సరిపోతుంది ఎందుకంటే మీరు పైకి లేపుతున్నారు. + కాబట్టి, మీరు మినహాయింపు కోసం ఉపయోగించబడుతున్న తరగతుల శ్రేణిని కలిగి ఉన్నప్పుడు, ప్రత్యేకమైనది మొదట అధికంగా రావాలి మరియు నార్మలైజర్ తరువాత రావాలి. + కాబట్టి ఆ యంత్రాంగాన్ని అనుసరించాలి. + ఇవన్నీ ఈ సమయంలో వివరించబడ్డాయి, తద్వారా మీరు దానిని విసిరివేయవచ్చు. + విసిరిన మినహాయింపును పెంచడం గురించి మేము మాట్లాడాము. + ఇది చూపిస్తున్న మినహాయింపు. + రీ త్రో అంటే ఏమిటో మనమందరం చర్చించాము. + చివరగా, యంత్రాంగం కోసం ఈ ప్రయత్నాన్ని నిర్వహించడం వల్ల చాలా ప్రయోజనాలు ఉన్నాయని మీరు గమనించాలనుకుంటున్నాము. + ఇది ఒక విధ్వంసక ప్రేమికుడు ఎందుకంటే ఇది స్టాక్‌ను ఫోకస్‌లోకి తీసుకొని స్థానిక వస్తువును శుభ్రపరుస్తుంది, ఇది తిరిగి చెల్లించబడదు ఎందుకంటే ఇది మొత్తం కోడ్ అయోమయాన్ని వేర్వేరు సాధారణ ప్రవాహాలుగా వేరు చేస్తుంది మరియు మినహాయింపు ప్రవాహం ఖచ్చితమైనది. + ఇది అసలైనది మరియు ప్రామాణికమైనది, ఆ కోణంలో భాషా భాగం మూడవ పార్టీ భాగం లేదా అలాంటి ప్రామాణిక లైబ్రరీ కాదు. + ఈ ప్రక్రియలో ఇది చాలా స్కేలబుల్ మరియు చాలా సరికాని సహనం. + స్కేలబుల్, మీకు ఎన్ని ప్రయత్నాలు చేసినా, ఎన్ని గూళ్ళు ఉన్నా, మీ దగ్గర ఎంత పట్టు ఉన్నా, ప్రతి సందర్భంలోనూ ఇది సరిగ్గా పనిచేస్తుంది. + దీనితో మేము C ++ లో మినహాయింపు లేదా లోపాన్ని ఎలా ఎదుర్కోవాలో క్లుప్తంగా చర్చించాము, ప్రత్యేకించి మేము C ++ యొక్క ప్రయత్నం, క్యాచ్, త్రో మెకానిజమ్‌ను అర్థం చేసుకోవడానికి ప్రయత్నించాము, ఇది అన్ని పద్ధతులను జాగ్రత్తగా చూసుకుంటుంది. మినహాయింపులు మరియు అన్నీ ఉండవచ్చు మీరు నిర్వహించగల మార్గాలు. + వాస్తవానికి, మీరు C ++ లో త్రో త్రోతో సరిగ్గా రూపకల్పన చేయగలిగితే, మీకు C లో మినహాయింపు విధానం అవసరం లేదు. + కొన్ని సిస్టమ్ కాల్స్ సిగ్నల్ లేదా ఎర్రర్ నంబర్‌ను చొప్పించడం వంటి లోపం విధానాలను ఉపయోగిస్తున్నందున, మీరు ఇప్పటికీ వాటిని ఉపయోగించాల్సి ఉంటుంది. + కాబట్టి మీరు వాటిని ఇప్పటికీ ఆ సందర్భాలలో ఉపయోగించాల్సి ఉంటుంది, కానీ మీ స్వంత కోడ్ కోసం మీరు ఎప్పటికీ సి ఎర్రర్ హ్యాండ్లింగ్ లేదా సి లైబ్రరీ లైబ్రరీ ఫంక్షన్లను ఉపయోగించాల్సిన అవసరం లేదు. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/47 ProgramminginCplusplus_Type casting and cast operators Part III (Lecture 49)-VjQPVzxMzYI.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/47 ProgramminginCplusplus_Type casting and cast operators Part III (Lecture 49)-VjQPVzxMzYI.txt index f8ab279fc6707ce3ca17e2f4954c873d8e7002dd..7ed6faa12d1a2d8ddddc46fb35a2ac9b64c0e3e1 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/47 ProgramminginCplusplus_Type casting and cast operators Part III (Lecture 49)-VjQPVzxMzYI.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/47 ProgramminginCplusplus_Type casting and cast operators Part III (Lecture 49)-VjQPVzxMzYI.txt @@ -1,195 +1,195 @@ - 1. C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 34 కు స్వాగతం. - 2. మేము C ++ లో టైప్ కాస్టింగ్ మరియు క్యాస్ట్ ఆపరేటర్ల గురించి చర్చిస్తున్నాము. - 3. కాబట్టి, మన లక్ష్యం C మరియు C ++ లో కాస్టింగ్ ను( casting )అవగాహన చేస్తూనే ఉంది. - 4. నేను మొదటి రెండు మాడ్యూళ్ళలో చెప్పినట్లుగా, ఇది చర్చించిన కాస్టింగ్ యొక్క మా మొత్తం రూపురేఖలు. - 5. మరియు నీలం ఒకసారి ఇక్కడ మేము చర్చించిన డైనమిక్ కాస్ట్ ఆపరేటర్ మరియు టైప్ చేసిన ఆపరేటర్. - 6. ప్రస్తుత మాడ్యూల్‌లో, కాస్టింగ్, స్టాటిక్ కాస్ట్, మరియు సి ++ కాస్ట్ ఆపరేటర్లలోని కాస్టింగ్ యొక్క ప్రాథమిక ప్రాతిపదికను మరియు ముగ్గురు కాస్టింగ్ ఆపరేటర్లను మేము ఇప్పటికే నిర్వచించాము. పునర్నిర్మాణం చర్చించబడింది. - 7. తారాగణం ఆపరేటర్లు మరియు ప్రసారం గురించి మా చర్చ ఈ మాడ్యూల్‌తో ముగుస్తుంది. - 8. కాబట్టి, సి కాస్టింగ్ మరియు స్పష్టమైన స్టైల్ కాస్టింగ్‌లో ఇది మేము చూశాము. - 9. మరియు కాస్టింగ్‌లోని గణాంకాలు ఇవి. మరియు దీని ఆధారంగా, మాకు కాస్ట్ ఆపరేటర్లుగా సేవర్స్ ఉన్నారు. - 10. ఇప్పుడు మేము కాస్టింగ్ చూస్తే, ఈ కాస్ట్ ఆపరేటర్ మాకు సివి అర్హతను మార్చగల సామర్థ్యాన్ని ఇచ్చింది. - 11. కాబట్టి, వస్తువుల యొక్క చైతన్య అస్థిరత వీక్షణను కాన్స్ట్ ద్వారా మార్చవచ్చు, ప్రత్యేకించి స్థిరాంకం కాని కాని వ్యయం లేని వస్తువులు లేదా పాయింటర్ల స్థిరాంకాలు మరియు మొదలైనవి ఉపయోగించడం ద్వారా. - 12. సి అనుమతించే వివిధ రకాల అవ్యక్త కాస్టింగ్‌ను స్టాటిక్ కాస్ట్ చూసుకుంటుంది, మీరు వాటిని స్టాటిక్ కాస్టింగ్ ఉపయోగించి స్పష్టంగా వ్రాయవచ్చు. - 13. ఇది వాస్తవానికి కాస్టింగ్‌తో పాటు సోపానక్రమంలో తగ్గించడానికి మాకు అనుమతి ఇచ్చింది. - 14. వినియోగదారు నిర్వచించిన కన్స్ట్రక్టర్లు లేదా ట్రాన్స్ఫర్మేషన్ ఆపరేటర్లను ఉపయోగించి సంబంధం లేని తరగతుల మధ్య ప్రసారం చేయడానికి ఇది మాకు అనుమతి ఇచ్చింది. - 15. ఇది స్టాటిక్ తారాగణం యొక్క విశాల రూపం, ఇది విస్తృతమైన తారాగణం. - 16. మరియు స్టాటిక్ కాస్టింగ్‌కు ప్రత్యేకంగా పేరు పెట్టారు, ఎందుకంటే ఇది మొత్తం గ్రంథాన్ని కంపైల్ సమయంలో చేస్తుంది. - 17. కాబట్టి, తారాగణం తారాగణం చేస్తుంది, కానీ మీరు ప్రత్యేకంగా స్టాటిక్ కాస్ట్ గురించి మాట్లాడతారు, ఎందుకంటే ఇది మీకు అనేక రకాలైన కాస్టింగ్ కలిగి ఉంటుంది, కానీ మీరు కంపైల్ సమయం ఆధారంగా ఇవన్నీ చేస్తారు. - 18. మేము చూసినట్లుగా, తిరిగి పెట్టుబడి పెట్టిన తారాగణం ప్రాథమికంగా వేరే రకం తరగతుల ద్వారా డేటాను చూస్తుంది మరియు ఇది ఏ రకమైన పాయింటర్‌ను మరొక రకమైన పాయింటర్‌లోకి చొప్పించడానికి ఉపయోగించబడుతుంది లేదా పాయింటర్ రకం మరియు పూర్ణాంక రకం మధ్య చొప్పించడానికి ఉపయోగించవచ్చు. - 19. . - 20. మరియు మేము సాధారణంగా పునర్నిర్మాణ కాస్ట్‌లను ఉపయోగించకుండా ఉండటానికి కారణం ఉంది. - 21. ఈ సందర్భంలో, డైనమిక్ తారాగణం చాలా ప్రత్యేకమైనది. - 22. ప్రోగ్రామ్ యొక్క రన్ టైమ్ ప్రవర్తన ఆధారంగా డైనమిక్ కాస్ట్ మాత్రమే కాస్ట్ ఆపరేటర్, ఇది వాస్తవానికి రన్ టైమ్‌లో ఉండే వస్తువులపై ఆధారపడి ఉంటుంది. - 23. తారాగణం వస్తువులతో డైనమిక్ తారాగణం పనిచేయదు; ఇది పాయింటర్లు మరియు తరగతులకు సూచనలతో మాత్రమే ఉపయోగించబడుతుంది. - 24. ఇది వస్తువుతో నేరుగా పనిచేయదు; దీనికి మీరు ప్రసారం చేయగల పాయింటర్ ఉంది లేదా మీరు చొప్పించగల సూచన ఉండాలి. - 25. గమ్యం పాయింటర్ రకం యొక్క చెల్లుబాటు అయ్యే సంపూర్ణ వస్తువు కోసం రకం మార్పిడి పాయింట్ల ఫలితం ఉండేలా చూడటం దీని ఉద్దేశ్యం; ఇది ఇప్పటికీ చాలా అర్ధవంతం కాదు. - 26. అందువల్ల, మేము ఉదాహరణల ద్వారా వెళ్ళినప్పుడు ఇది జరుగుతుంది, కానీ ప్రాథమిక విషయం ఏమిటంటే డైనమిక్ కాస్టింగ్ మీరు డైనమిక్ కాస్టింగ్‌ను పరిచయం చేసే సందర్భం అయితే మీకు పాలిమార్ఫిక్ ఈస్ సోపానక్రమం ఉంటుంది. - 27. మీకు సోపానక్రమం లేకపోతే ఇది నిర్వచించబడదు; మరియు ఇది పాలిమార్ఫిక్ కాని సోపానక్రమంలో అనారోగ్యంతో ఉంటుంది, ఎవరైనా అరుదుగా ఉపయోగిస్తారు.ఇది ఎల్లప్పుడూ పాలిమార్ఫిక్ సోపానక్రమంలో ఉపయోగించబడుతుంది. - 28. కాబట్టి, ఒక సోపానక్రమంలో మేము ప్రసారం చేయవచ్చు, దీని కోసం మీరు డైనమిక్ తారాగణాన్ని కూడా ఉపయోగించవచ్చు, కాని ముఖ్యమైనది ఏమిటం+టే మీరు డైనమిక్ తారాగణాన్ని ఉపయోగించవచ్చు.మీరు ఉపయోగించడం ద్వారా డౌన్ రన్ డౌన్ సమాచారంతో డౌన్‌కాస్ట్ చేయవచ్చు.అందువల్ల, మీరు ఒక పాయింటర్‌ను బేస్ క్లాస్‌లోని పాయింటర్ నుండి ఉత్పన్న తరగతిలో పాయింటర్‌గా మార్చడానికి నిజంగా హామీ ఇవ్వవచ్చు మరియు ఈ మార్పిడి తర్వాత మీరు చెల్లుబాటు అయ్యే వస్తువును సూచిస్తున్నారో మీకు తెలుస్తుంది. లేదా మీరు చెల్లుబాటు అయ్యే వస్తువును సూచించడం లేదు . - 29. ఈ మార్పిడి చెల్లుబాటులో ఉంటే ఇప్పుడు ఏమి జరుగుతుంది, మీరు బేస్ క్లాస్ పాయింటర్ నుండి ఉత్పన్నమైన క్లాస్ పాయింటర్‌కు మారిన తర్వాత, మీరు నిజంగా ఈ పాయింటర్ ద్వారా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు. - 30. ఈ మార్పిడి చెల్లుబాటులో ఉంటే ఇప్పుడు ఏమి జరుగుతుంది, మీరు బేస్ క్లాస్ పాయింటర్ నుండి ఉత్పన్నమైన క్లాస్ పాయింటర్‌కు మారిన తర్వాత, మీరు నిజంగా ఈ పాయింటర్ ద్వారా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు. - 31. అప్పుడు మీ డైనమిక్ కాస్ట్ ఆపరేటర్ మీకు పాయింటర్ యొక్క బేస్ క్లాస్ పాయింటర్ మాదిరిగానే విలువను ఇస్తుంది, ఎందుకంటే వస్తువు యొక్క చిరునామా మారదు. - 32. ఈ మార్పిడి చెల్లుబాటు కాకపోతే, మీరు డౌన్‌కాస్ట్ చేస్తే, మీరు వాస్తవానికి ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కాదు, దీని కోసం మీరు డైనమిక్ కాస్ట్ కాస్ట్ పాయింటర్‌ను శూన్యంగా సూచించాలనుకుంటున్నారు.ఇది పాయింటర్ ద్వారా తనిఖీ చేయగలిగేలా సెట్ చేయండి శూన్యమైనది, మీరు ఇది సరిగ్గా తగ్గించబడిందో లేదో తెలుసుకోవచ్చు. - 33. డైనమిక్ తారాగణం రిఫరెన్స్ రకంతో కూడా ఉపయోగించవచ్చు, మేము ఉదాహరణలు చూస్తాము. - 34. మనం ముందుకు వెళ్లి కొన్ని ఉదాహరణలు తీసుకోవడం ప్రారంభిద్దాం. - 35. కాబట్టి, నేను ఏమి చేస్తాను అంటే నాకు ఇక్కడ మూడు విభాగాలు ఉన్నాయి; క్లాస్ ఎ బేస్ క్లాస్; క్లాస్ బి నుండి క్లాస్ బి ప్రత్యేకమైనది, కాబట్టి నాకు పాలిమార్ఫిక్ సోపానక్రమం ఉంది. - 36. క్లాస్ సి మూడవ వర్గం, దీనికి సంబంధం లేదు. - 37. అందువల్ల, క్రమానుగత సి తరగతిని ఉపయోగించి సంబంధం లేని తరగతితో మీరు ఏమి చేస్తున్నారో వివరించడానికి మేము ప్రయత్నిస్తాము.ఈ సోపానక్రమంలో వర్చువల్ ఉపశమనం ఉందని గమనించండి, అంటే సోపానక్రమం) పాలిమార్ఫిక్. - 38. ఈ సోపానక్రమం పాలిమార్ఫిక్, ఎందుకంటే దీనికి వర్చువల్ ఫంక్షన్ ఉంది; కాబట్టి, మొత్తం సోపానక్రమం పాలిమార్ఫిక్. - 39. నేను మూడు వస్తువులను తయారు చేస్తాను; నాకు మూడు రకాల మూడు పాయింట్లు ఉన్నాయి, మరియు పివి శూన్యమైన (శూన్యమైన) రకం సూచిక. - 40. ఇప్పుడు, కొన్ని ఉపాయాలు ప్రయత్నిద్దాం. - 41. కాబట్టి, ఇది ఇక్కడ A, మరియు B A. - 42. కాబట్టి, PB కి B చిరునామా ఉందని నేను చెబితే, B ఒక వస్తువు, మరియు PB ఒక ఆధారం, B అనేది ఒక రకం పాయింటర్. - 43. కాబట్టి, ఇది నాకు B రకం పాయింటర్ ఉంది, నాకు ఇక్కడ పాయింటర్ ఉంది, మరియు అది వస్తువు. - 44. ఇప్పుడు నేను డైనమిక్ డైనమిక్ కాస్ట్ (తారాగణం) పిబిని A నుండి A * వరకు చేస్తే అది ఒక రకమైన వస్తువుకు పాయింటర్ అయితే నేను ఏమి చేస్తున్నాను, నేను ఏ దిశలో ఉన్నాను, నేను ప్రాథమికంగా అప్ కాస్ట్ (తారాగణం) చేస్తున్నాను. - 45. కాబట్టి, ఈ పరంగా ఎటువంటి సమస్య ఉండకూడదు, కాబట్టి, నేను దీన్ని చేసి, A క్లాస్ యొక్క పాయింటర్‌లో ఉంచితే, నేను అప్-కాస్ట్ చేసాను, కనుక ఇది చెల్లుబాటులో ఉండాలి. - 46. కాబట్టి, ఫలితం ఏమిటంటే, నేను పిబిని ప్రింట్ చేసి, పిఎను ప్రింట్ చేస్తే, ఇది పిబి కాస్టింగ్ కోసం పిఎ యొక్క విలువ, విలువలు ప్రాథమికంగా బి సమానమైనదని మీరు చూడవచ్చు. - 47. ఇది అప్-కాస్ట్ మరియు చెల్లుబాటు అయ్యే, మొదటి కేసు, కాబట్టి నేరుగా ముందుకు వచ్చింది. - 48. ఇది బేస్ లైన్ చెక్ లాంటిది, డైనమిక్ తారాగణం అప్-కాస్ట్‌ను ప్రారంభించగలదని చూపిస్తుంది. - 49. ఇప్పుడు మనం తగ్గించడానికి ప్రయత్నిద్దాం. - 50. కాబట్టి, PA యొక్క చిరునామా B. - 51. నాకు B యొక్క చిరునామా ఉంది మరియు నాకు ఒక వస్తువు ఉంది, మరియు నాకు PA ఉంది, ఇది ఒక రకం పాయింటర్, మరియు ఈ వస్తువు ఇక్కడ ఉంచబడింది. - 52. ఇది సాధ్యమే ఎందుకంటే ఇది అప్-కాస్ట్ చేయడం సాధ్యపడుతుంది. - 53. అందువల్ల, ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను పట్టుకోవడానికి నేను ఎల్లప్పుడూ బేస్ క్లాస్ పాయింటర్‌ని ఉపయోగించవచ్చు. - 54. ఈ రకమైన B * లో, నేను PA యొక్క డైనమిక్ తారాగణం చేస్తాను. - 55. కాబట్టి, నేను ఈ దిశలో PA నుండి డైనమిక్ ఆర్టిస్ట్ చేస్తున్నాను; ఇది నాకు ఒక రకమైనది మరియు ఇప్పుడు నేను దానిని B స్టార్‌లో పొందడానికి ప్రయత్నిస్తున్నాను. - 56. కాబట్టి, నేను దిగజారిపోతున్నాను; నేను దాన్ని క్రిందికి లాగుతున్నాను. - 57. మరియు ఫలిత I ని pB లో ఉంచుతుంది, ఇది రకం B యొక్క సూచిక. - 58. ఫలితం ఏమిటి? కాబట్టి, నేను ఆ తరువాత PA మరియు PB ని ప్రింట్ చేస్తే, PA మరియు PB లకు ఒకే విలువలు ఉన్నాయని నేను అనుకుంటాను, మరియు డౌన్‌కాస్ట్ చెల్లుతుంది. - 59. డౌన్‌కాస్ట్ అంటే ఏమిటి చెల్లుతుంది, ఎందుకంటే నేను ఇప్పుడు పిబిని ఈ ఆబ్జెక్ట్‌గా మార్చాను, పిబి బి టైప్ పాయింటర్ మరియు ఈ ఆబ్జెక్ట్ బి రకం, కాబట్టి ఉల్లంఘన లేదు., ప్రతిదీ ఉంది. - 60. కాబట్టి, ఈ డౌన్‌కాస్ట్ చెల్లుబాటు అయ్యే డౌన్‌కాస్ట్ అని మేము చెప్తాము. మొదట నాకు టైప్ పాయింటర్ మరియు అబ్ ఆబ్జెక్ట్ ఉంది, నేను దానిని అక్కడ పట్టుకున్నాను. - 61. అందువల్ల, P B ని చూడటం నుండి P A వరకు, ఆబ్జెక్ట్ A రకం B యొక్క వస్తువు లేదా రకం A యొక్క వస్తువు కాదా అని నేను చెప్పలేను. - 62. కానీ ఇప్పుడు నేను ఈ మార్పిడిని చేసాను, కనుక ఇది చెల్లుబాటు అయ్యే B రకం వస్తువును కనుగొనగల వస్తువు అని నాకు తెలుసు. - 63. ఇవన్నీ కథ యొక్క చివరి భాగానికి సమానమని నేను ముద్రించాను. - 64. మనం అదే పని చేద్దాం, ఇక్కడ చూద్దాం, అదే పని చేద్దాం, కాని నన్ను మళ్ళీ PA తో ప్రారంభిద్దాం, కాని ఇప్పుడు మునుపటి కేసులా కాకుండా, PA A యొక్క చిరునామాను కలిగి ఉన్న చోట. - 65. వస్తువును ఇక్కడ టైప్ చేయండి, ఇప్పుడు అది టైప్ ఆబ్జెక్ట్ యొక్క చిరునామాను కలిగి ఉంది. - 66. కాబట్టి, ఇది మీ PA, ఇది ఒక రకమైన వస్తువును కనుగొంటుంది. - 67. నేను ఇక్కడ చేసిన అదే వ్యక్తీకరణను అదే డైనమిక్ తారాగణం వేయడానికి మళ్ళీ ప్రయత్నిస్తాను. - 68. కాబట్టి, PA వెళుతోంది, కాబట్టి నేను మళ్ళీ డౌన్‌కాస్ట్ చేస్తున్నాను, నేను దాన్ని మళ్ళీ దించుతున్నాను మరియు నేను PB ని ఇప్పుడు ఈ A కి సూచించడానికి ప్రయత్నిస్తాను. - 69. కాబట్టి, నేను ఇక్కడ ఈ డౌన్‌కాస్ట్ చేస్తాను మరియు ఆ పాయింటర్ విలువను పివిలో ఉంచాను. - 70. ఫలితం ఏమిటో చూడండి. మూడవ పంక్తి P, ఇది A యొక్క చిరునామా మరియు PB అంటే ఏమిటి, PB 0 - సున్నా. - 71. పి బి 0 ఎందుకు, ఎందుకంటే నేను దీనిని ఎత్తి చూపగలిగితే అది ప్రమాదకరం. - 72. ఎందుకంటే ఈ పాయింటర్ AP B రకం అని నేను ఎత్తి చూపగలిగితే, అది సూచించేది కనీసం AB రకం యొక్క వస్తువు అని నేను ఆశించాను, కాని రకం B యొక్క వస్తువు కాదు. ఇది సాధారణీకరించబడినది . - 73. కాబట్టి, B రకం వస్తువులో, ఇది చాలా ఎక్కువగా ఉంటుంది, వాస్తవానికి దీనికి మూల భాగం మాత్రమే ఉంటుంది. - 74. కాబట్టి, మీరు చేస్తే, డైనమిక్ కాస్టింగ్ మరియు స్టాటిక్ కాస్టింగ్ మధ్య ప్రాథమిక వ్యత్యాసం ఇదేనని నా ఉద్దేశ్యం. - 75. అందువల్ల, ఈ సందర్భంలో ఇక్కడ డైనమిక్ కాస్టింగ్‌కు బదులుగా, నేను అదే వ్యక్తీకరణ B * మరియు తరువాత pA యొక్క స్టాటిక్ కాస్ట్ చేస్తే, ఫలితం pA యొక్క విలువ అవుతుంది. - 76. ఎందుకంటే నేను దీన్ని చట్టబద్ధంగా చేస్తుంటే, PA ఏమి సూచిస్తుందో నాకు తెలియదు, కానీ ఇప్పుడు అది డైనమిక్ తారాగణం కాబట్టి, ఇది వాస్తవానికి B ఒక వస్తువు కాదా అని నేను కనుగొనగలుగుతాను, ఈ సందర్భంలో అది కాపీ చేస్తుంది PA యొక్క విలువ PB లోకి. - 77. లేదా అది ఒక వస్తువు అయితే ఈ విలువను కాపీ చేయకపోతే, అది దానిపై 0 గా ఉంటుంది. - 78. కాబట్టి, డైనమిక్ తారాగణం తరువాత, మరియు ఈ రెండు సందర్భాల్లో, ఈ సందర్భంలో ఇది ఈ సందర్భంలో రెండవ పంక్తి అని మీరు చూశారు, ఈ సందర్భంలో ఇది మూడవ పంక్తి అని మీరు చూశారు, అంటే మీరు ఆ చిరునామా వద్ద ఒక కాపీని పొందండి; ఈ సందర్భంలో, మీరు శూన్య విలువను పొందుతారు. - 79. కాబట్టి, PB శూన్యమా కాదా అని తనిఖీ చేయడం ద్వారా, డైనమిక్ గడిచిందా లేదా అనే విషయం మీకు తెలియదు, ఆ వస్తువు వాస్తవానికి AB రకం వస్తువు, కాబట్టి ఇది డైనమిక్ తారాగణం యొక్క ప్రాథమిక విలువ. - 80. మరియు మిగిలినవి దానిపై మాత్రమే ఉంటాయి, ఉదాహరణకు, నేను మళ్ళీ సి రకం యొక్క వస్తువును PA కి తీసుకోవచ్చు మరియు ఈ రెండు ఖచ్చితంగా PA లో సంబంధం లేనివి అని నేను కనుగొంటాను. - 81. ఈ రెండు సంబంధం లేనివి కాబట్టి, నేను సి ఆబ్జెక్ట్ యొక్క చిరునామాను పిఎలో ఉంచలేను, కాబట్టి నేను సి స్టైల్ కాస్టింగ్ ద్వారా బలవంతం చేసాను, ఈ చిరునామాను నేను పొందగలిగే ఏకైక మార్గం ఆపై పిఎ యొక్క ఈ మార్పిడికి ప్రయత్నించాను సి *. - 82. ఖచ్చితంగా ఈ మార్పిడి సాధ్యం కాదు, కాబట్టి నాకు లభించే విలువ నాల్గవ పంక్తి, పిసికి మారిన తర్వాత నాకు లభించేది శూన్యమైన (శూన్యమైన) విలువ. - 83. అందువల్ల, దీనికి సంబంధం లేకపోతే, డైనమిక్ తారాగణం ఎల్లప్పుడూ తిరస్కరిస్తుంది. - 84. P A 0 అయితే ఇవి ప్రత్యేక సందర్భాలు, ఆపై నేను ఈ తారాగణం చేయడానికి ప్రయత్నిస్తాను, ఇది శూన్య విలువను సూచిస్తుంది, శూన్యమైనది, ఇది ఎల్లప్పుడూ శూన్య బిందువులకు మారుతుంది. - 85. P A ఒక వస్తువును గుర్తించినట్లయితే, నేను డైనమిక్ తారాగణం చేయడానికి ప్రయత్నిస్తాను, ఇది శూన్య నక్షత్రం, ఇది శూన్య నక్షత్రం మరియు ఇది నా శూన్యమైన * పాయింటర్, కాబట్టి ఇది అనుమతించబడిన తారాగణం. - 86. విలువలు ఒకటేనని మీరు చూడవచ్చు. - 87. ఎందుకంటే ఇది పాయింటర్ యొక్క శూన్య రకానికి మార్చడానికి అనుమతించబడింది, కానీ మీరు ఇక్కడ రివర్స్ చేయడానికి ప్రయత్నిస్తే మీరు చూడవచ్చు, నేను రివర్స్ చేయడానికి ప్రయత్నిస్తాను, నేను ఆ పివిని తీసుకొని ఒక నక్షత్రంలో ఉంచాను తిరిగి పొందడానికి ప్రయత్నిస్తున్నాను, ఇది సంకలన లోపం . - 88. ఇప్పుడు దీన్ని చేసే ప్రక్రియలో, డైనమిక్ తారాగణం ఇది చాలా సులభం అని తెలుసుకోవడం ఎలా అని మీరు ఆశ్చర్యపోతారు, డైనమిక్ తారాగణం యొక్క ఈ పరిమితి డైనమిక్ తారాగణం మూల వ్యక్తీకరణలను ఇవ్వాలి అనే వాదన ఒక రంగురంగులని సూచిస్తుంది సోపానక్రమం. - 89. పాలిమార్ఫిక్ సోపానక్రమం యొక్క లక్షణం ఏమిటంటే వర్చువల్ ఫంక్షన్. - 90. వర్చువల్ ఫంక్షన్ ఫలితంగా ఏమి జరుగుతుంది అంటే, ఆ వస్తువుకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది మరియు ఆ పాయింటర్ మనం చూసే తరగతి రకానికి ప్రత్యేకమైనది. - 91. నాకు వేరే రకం వస్తువు ఉంటే, నాకు వేరే వర్చువల్ ఫంక్షన్ టేబుల్ ఉంది, మరియు నాకు వేరే పాయింటర్ విలువ ఉంది, కానీ ఒకే తరగతిలోని అన్ని వస్తువులు ఒకే పాలిమార్ఫిక్ క్లాస్‌లో ఒకే వర్చువల్ ఫంక్షన్ టేబుల్‌ను కలిగి ఉంటాయి మరియు అదే ఫంక్షన్ పాయింటర్ విలువ. - 92. కాబట్టి, ఇది ప్రాథమికంగా దాన్ని అంతర్గతంగా చూస్తుంది, దానిని పరిశీలిస్తుంది, ఆ వస్తువు యొక్క వర్చువల్ ఫంక్షన్ పాయింటర్ పట్టిక ఏమిటి. - 93. మరియు ఇది రకం ఏమిటో చూపిస్తుంది, ఇది ఎవరితో వ్యవహరిస్తుందో. - 94. కాబట్టి, ఈ నిజమైన డైనమిక్ రకం మీరు ఆ చిరునామాను పొందటానికి ప్రయత్నిస్తున్న స్టాటిక్ రకానికి సరిపోతుందా అని ఎల్లప్పుడూ చెప్పగలదు. - 95. అందువల్ల ఆ వ్యక్తీకరణ పివిలో డైనమిక్ తారాగణం చేస్తున్న వ్యక్తీకరణ రకం కాదు, ఇది సాధ్యం కాదు, ఎందుకంటే శూన్యమైన (శూన్యమైన) నక్షత్రం పాలిమార్ఫిక్ రకం కాదు. - 96. మరియు శూన్య నక్షత్రం పాలిమార్ఫిక్ రకం కానందున, అందులో వర్చువల్ ఫంక్షన్ పాయింటర్ పట్టిక లేదు. - 97. కాబట్టి, డైనమిక్ తారాగణం, ఆపరేటర్ దానిని స్వయంగా తీసివేయలేరు, అందుకే మీరు రూట్ అయిన డైనమిక్ తారాగణం కోసం చెల్లని వ్యక్తీకరణ రకాన్ని పొందుతారు. - 98. కాబట్టి, ఇది రన్ సమయంలో మీ పాలిమార్ఫిక్ సోపానక్రమానికి సూచించగల డైనమిక్ తారాగణం గురించి. - 99. మీరు దీన్ని సూచనలతో కూడా ఉపయోగించవచ్చు. - 100. కాబట్టి, ఒకే సోపానక్రమం పూర్తిగా ఉంది, మీరు ఇప్పుడు సూచనలను ఉపయోగించవచ్చు మరియు డైనమిక్ కాస్టింగ్‌ను అదే విధంగా ఉపయోగించవచ్చు. - 101. కాబట్టి, ఇది అప్-కాస్ట్ యొక్క ఉదాహరణ, ఇది చెల్లుబాటు అయ్యే డౌన్-కాస్ట్ యొక్క ఉదాహరణ. - 102. ఇప్పుడు, మీరు దీన్ని చేయడానికి ప్రయత్నిస్తే ఏమి జరుగుతుంది; మీరు వాస్తవానికి బేస్ క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు మరియు మీరు దానిని ఒక నిర్దిష్ట తరగతికి తగ్గించడానికి ప్రయత్నిస్తున్నారు. - 103. మునుపటి సందర్భంలో కూడా మేము ఇక్కడ ఇలాంటిదే చేయటానికి ప్రయత్నించినప్పుడు ఏమి జరిగింది, అప్పుడు ఫలితం పాయింటర్ శూన్యమైంది. - 104. ఇప్పుడు నేను వస్తువుల సూచనలతో పనిచేస్తుంటే, సి ++ లో శూన్య సూచన సాధ్యం కాదు. - 105. కాబట్టి, ఈ సందర్భంలో మీరు దానిని కలిగి ఉండలేరు; ఇది చెల్లని కేసు, ఎందుకంటే మీకు రిఫరెన్స్ ఉండకూడదు ఎందుకంటే ఆ వస్తువు B రకం కాదు ఎందుకంటే ఇది సాధారణ రకం A. - 106. కాబట్టి, ఈ మార్పిడిని ప్రస్తావించలేము. - 107. ఇది ఏమి చేస్తుంది? ఇది చెడ్డ తారాగణం మినహాయింపుగా పిలువబడుతుంది, ఇప్పుడు మేము మినహాయింపు గురించి చర్చించలేదు. - 108. కాబట్టి, ఏదో తప్పు జరిగిందని చెప్పే మార్గం ఉంది. - 109. కాబట్టి, మేము తదుపరి మినహాయింపులు చేసినప్పుడు, ఏమి జరుగుతుందో మీరు అర్థం చేసుకుంటారు, కాని అది చేస్తున్నది ఏమిటంటే ఏదో తప్పు జరిగిందని మరియు మేము ముందుకు సాగలేము. - 110. మరియు అది బయటకు వచ్చి మీరు ఇక్కడ చూడగలిగే ఈ విభిన్న సందేశాన్ని ముద్రిస్తుంది. - 111. అదేవిధంగా, ఇక్కడ నేను సంబంధం లేని తరగతి సి ఆధారంగా రిఫరెన్స్ కాస్టింగ్ చేయడానికి ప్రయత్నించాను, అది కూడా చెల్లదు. - 112. కాబట్టి, ఇది మీకు ఇక్కడ సంబంధం లేని తరగతులను ఇస్తుంది. - 113. కాబట్టి, డైనమిక్ ఆపరేటర్‌ను ఉపయోగించడానికి ఇదే మార్గం. - 114. (రిఫర్‌స్లైడ్ సమయం: 19:29) డైనమిక్ కాస్ట్ ఆపరేటర్‌తో లభించే మరో ఆపరేటర్‌ను టైప్ చేసిన ఆపరేటర్ అంటారు, ఇది తెలుసుకోవడానికి ప్రయత్నిస్తుంది. - 115. ఉదాహరణకు, మీకు తరగతి A లేదా ఏదైనా ఉంటే, నా ఉద్దేశ్యం ఏ తరగతి అయినా మరియు మీకు రకం (రకం) A యొక్క వేరియబుల్ ఉంది లేదా బదులుగా మీకు ఈ రకమైన పాయింటర్ ఉంది. - 116. మరియు PA ఏదో సూచించగలదు, మీకు తెలియదు, అది గురిపెట్టింది; ఇది దేనినైనా సూచించగలదు. - 117. ఇప్పుడు ప్రశ్న ఏమిటంటే, ఈ పాయింటర్ విలువతో నేను వస్తువు యొక్క రకం ఏమిటి, అది ఏ రకమైన వస్తువును సూచిస్తుందో చెప్పగలను. - 118. ఇది డైనమిక్ రకం అని మనం చెప్పగలిగితే చాలా బాగుంటుంది, ఆ రకం ఏమిటో మనం చెప్పగలిగితే, ఎందుకంటే ఇది ఒక స్టాటిక్ రకంగా ఉండగల సంకేతం, కానీ వివిధ రకాల సంఖ్య సూచించగలదు - 119. కాబట్టి, టైపిడ్ ఆపరేటర్ ఒక రంగురంగుల వస్తువు యొక్క డైనమిక్ రకాన్ని కనుగొనడానికి ప్రయత్నిస్తుంది, ఇది వివిధ రూపాల్లో ఉంటుంది. - 120. అలాంటి రెండు వస్తువుల యొక్క డైనమిక్ రకాలను పోల్చడానికి మరియు అవి ఒకే రకానికి చెందినవి, వేర్వేరు రకాలుగా ఉన్నాయో చెప్పగలగాలి. - 121. కాబట్టి, ఇది ఆ విధంగా ఉపయోగపడుతుంది మరియు దీనిని పాలిమార్ఫిక్ రకములతో మాత్రమే ఉపయోగించవచ్చు మరియు పాలిమార్ఫిక్ రకములతో కాదు, మీరు దీనిని పాలిమార్ఫిక్ కాని సోపానక్రమం అని పిలుస్తారు లేదా అలాంటి వాటిపై ఉపయోగించలేరు. - 122. కాబట్టి, ఇది ఎలా పనిచేస్తుంది. - 123. ఇది సాధారణ సోపానక్రమం B, ఇది మీ వద్ద ఉంది. - 124. మీకు ఒక వస్తువు ఉంది మరియు మీరు దానికి టైపిడ్‌ను వర్తింపజేస్తారు. - 125. మీరు టైపిడ్‌ను వర్తింపజేస్తే, అది మీకు ఒక నిర్మాణాన్ని ఇస్తుంది, దీనిని సమాచార రకం నిర్మాణం అంటారు. - 126. అందువల్ల, నేను ప్రదర్శించినట్లు, నిర్మాణానికి వేర్వేరు ప్రాంతాలు ఉన్నాయి; మరియు వాటిలో చాలా ఉపయోగకరమైనది పేరు ఫీల్డ్, ఇది తరగతి పేరును మనం వ్రాసే విధంగా ఏదో ఒక రూపంలో ఇస్తుంది, కానీ కొన్ని రూపంలో కాదు. - 127. కాబట్టి, టైప్ (టైప్) ఐడి (ఎ) .పేరు రకం (రకం) పేరును ఇస్తుంది. - 128. అదేవిధంగా, నేను టైప్ చేస్తే (టైప్) ఐడి (& ఎ) .పేరు అప్పుడు అది ఆ రకం పేరును ఇస్తుంది. - 129. కాబట్టి, నేను ఇలా చేస్తే అది క్లాస్ A ని ప్రింట్ చేస్తుంది, ఈ క్లాస్ A కోసం, ఇది క్లాస్ A * ను ప్రింట్ చేస్తుంది, కాబట్టి ఇది ప్రాథమికంగా టైప్ చేసిన అవుట్పుట్. - 130. నేను ఈ పాయింటర్‌ను ఈ చిరునామాకు తరలించి, పాయింటర్ లేదా పాయింట్ ఆబ్జెక్ట్‌ను ప్రింట్ చేస్తే, నాకు A * వస్తుంది, నాకు ఒక పరిధి వస్తుంది - 131. ఆసక్తికరంగా ఏమీ లేనందున సాధారణ సమస్య కాదు, ఇది కేవలం ఆబ్జెక్ట్ రకం మరియు పాయింటర్ రకాన్ని తీసుకుంటుంది; పాయింటర్ రకం మరియు ఆబ్జెక్ట్ రకం. - 132. మిమ్మల్ని ఆబ్జెక్ట్ బిగా భావించండి, మీరు అదే పని చేస్తారు, ఆబ్జెక్ట్ మీద టైప్ చేసి ప్రింట్ చేసి దానిపై టైప్ చేయండి చిరునామా, మీకు క్లాస్ బి మరియు క్లాస్ బి * లభిస్తాయి. - 133. ఆసక్తికరమైన విషయం ఇక్కడ నుండి మొదలవుతుంది, మీరు B నుండి p వరకు చిరునామాను ఇస్తారు. - 134. p రకం A. - 135. మళ్ళీ ఈ నియామకంలో, నాకు అప్-కాస్ట్ ఉంది ఎందుకంటే p రకం A రకం, మరియు ఇది రకం B చిరునామా. - 136. మీకు కాస్ట్-అప్ ఉంది. - 137. కాబట్టి, మీరు A ఆబ్జెక్ట్ పాయింటర్ ఉపయోగించి B వస్తువును పట్టుకుంటున్నారు. - 138. ఇప్పుడు p అని టైప్ చేయడానికి ప్రయత్నించండి, టైప్ చేసిన p అనేది స్థిరమైన రకం, ఇది A *, ఎందుకంటే ఇది టైప్ ఎ. - 139. టైపిడ్ స్టార్ పి అనేది ఒక రకమైన స్టార్ పి యొక్క డైనమిక్ రకం, ఇది క్లాస్ పిని సూచించే ఏ రకమైన వస్తువు. - 140. కాబట్టి, టైప్ ఐడి డైనమిక్ టైప్ ఆపరేటర్. - 141. దాని డైనమిక్ రకం ఏమిటో ఇది మీకు చెబుతుంది. - 142. కాబట్టి, ఇంతకుముందు మీరు p ఒక వస్తువును సూచించేటప్పుడు ఇలా చేసారు, మీకు తరగతి A వచ్చింది. - 143. ఇప్పుడు మీరు ఇక్కడ చేసే రకం B వస్తువును సూచిస్తుంది, మీకు తరగతి B వస్తుంది. - 144. మీరు సూచనతో చేసే పనిని మీరు చేయవచ్చు, మీకు A నుండి సూచన ఉంది మరియు మీకు A రకం నుండి ఆబ్జెక్ట్ B వరకు మరొక సూచన ఉంది. - 145. మీరు దీనిని చూడండి, ఇది A రకం నుండి ఆబ్జెక్ట్ A వరకు సూచన. - 146. A టైప్ చేయడానికి మరొక సూచన, మీరు ఆబ్జెక్ట్ కోసం R1 ను ప్రింట్ చేస్తే, అది క్లాస్ A. - 147. ; మీరు r2 యొక్క టైపిడ్‌ను ప్రింట్ చేస్తే, అది చదరపు b. - 148. ఎందుకంటే ఒక రిఫరెన్స్ ఉంది, కానీ రిఫరెన్స్ రకం, కానీ అది టైప్ చేసేది (రకం) ఏమి చేస్తుంది, అది తిరిగి వస్తుంది, ఇది మీకు సూచించే వస్తువు రకాన్ని B రకం అని ఇస్తుంది. - 149. కాబట్టి, ఇది ప్రాథమిక టైప్ చేసిన ఆపరేటర్. - 150. కొన్ని సందర్భాల్లో, మీరు ఈ ఆపరేటర్‌ను ఉపయోగించవచ్చు, వీటిని మీరు నిజంగా పోల్చవచ్చు - 151. జాగ్రత్త ఈ స్ట్రింగ్‌ను చాలా కఠినంగా తీసుకోదు, ఎందుకంటే నా కంపైలర్ ఈ తరగతిని A అని పిలుస్తుందని కంపైలర్ హామీ ఇవ్వదు, మీ కంపైలర్ దీన్ని చాలా భిన్నమైన రూపంలో వ్రాయవచ్చు, బహుశా వేరే సందర్భంలో లేదా సంజ్ఞామానం మరేదైనా వ్రాయవచ్చు. - 152. కాబట్టి, ఈ పేర్లను చాలా కఠినంగా తీసుకోకండి, మీరు చేయవలసింది టైప్ ఇన్ఫర్మేషన్ క్లాస్‌ని అందించే సమానత్వం మరియు అసమానత ఆపరేటర్‌ను ఉపయోగించడం, తద్వారా రెండు వస్తువులు ఒకే రకానికి చెందినవి కావా అని మీరు తనిఖీ చేయవచ్చు లేదా అవి వేర్వేరు రకాలు . - 153. కాబట్టి, ఇది మీ వర్కౌట్ల కోసం, ఇది పాలిమార్ఫిక్ సోపానక్రమంలో మా సిబ్బంది జీతం దరఖాస్తు. - 154. నేను పాయింటర్ రకం మరియు పాయింట్ ఆబ్జెక్ట్ టైప్ చేయడానికి మాత్రమే ప్రయత్నించాను. - 155. కాబట్టి, పాయింటర్లు ఎల్లప్పుడూ ఇంజనీరింగ్ నక్షత్రాలు అని మీరు చెప్పవచ్చు ఎందుకంటే మా అసలు శ్రేణి ఇంజనీరింగ్ నక్షత్రాలు, కానీ మేము ఎత్తి చూపినట్లుగా చూపిన వస్తువులు వివిధ రకాలు. - 156. మీరు దీన్ని మళ్ళీ చదవవచ్చు మరియు బాగా అర్థం చేసుకోవచ్చు. - 157. మార్పు కోసం, మీరు పాలిమార్ఫిక్ రకాలు లేని ఒక కేసును పరిశీలిస్తే, మళ్ళీ నాకు సోపానక్రమం ఉంది, కాని ఒకే తేడా ఏమిటంటే వర్చువల్ లేదు అనే అర్థంలో పాలిమార్ఫిక్ కానిది దానిలో పనిచేయదు. - 158. కాబట్టి, ఫలితం ఏమిటి? ఫలితం ఏమిటంటే, వర్చువల్ ఫంక్షన్ లేకపోతే, వస్తువులకు పట్టికకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉండదు. - 159. కాబట్టి, ఆ వస్తువు సరిగ్గా ఎక్కడ నుండి వచ్చిందో వారు చెప్పలేరు. - 160. కాబట్టి, మేము దానిని ఇక్కడ ప్రదర్శించవచ్చు. - 161. కాబట్టి, మేము వస్తువును చూస్తాము మరియు ఇది x, క్లాస్ x * అని తెలుసు. - 162. మళ్ళీ, ఒక పాయింటర్ ద్వారా మనం ఒక పాయింటర్ క్లాస్ x, మరొక వస్తువు y క్లాస్ y, y * ను సెట్ చేసాము. - 163. ఇప్పుడు, మీరు ఈ కక్ష్యలో x, x స్టార్ అని పిలుస్తారు. - 164. కాబట్టి, ప్రాథమికంగా మీకు ప్రత్యేకమైన డైనమిక్ ఆబ్జెక్ట్ ఉందని మీరు ఇకపై ట్రాక్ చేయలేరు, అది అక్కడే ఉంటుంది ఎందుకంటే మీకు లభించేది స్టాటిక్ సమాచారం. - 165. కాబట్టి, మీరు సూచనలు చేస్తే ఇలాంటిదే. - 166. అందువల్ల, సోపానక్రమం పాలిమార్ఫిక్ కానిది అయితే, టైప్ చేసిన విధానం పనిచేయదు. - 167. మీరు దీన్ని ప్రయత్నించగల కొన్ని ఇతర సందర్భాలు ఉన్నాయి, ఉదాహరణకు, మళ్ళీ ఇది పాలిమార్ఫిక్ సోపానక్రమం; నేను ఆసక్తికరమైనదాన్ని వివరిస్తాను. - 168. అందువల్ల, నేను బేస్ రకం యొక్క క్రొత్త వస్తువును సృష్టించాను. - 169. నేను టైప్ చేసాను, ఇవి రెండు అవుట్‌పుట్‌లు, మరియు ఇది మంచిది, కొత్తది ఏమీ లేదు. - 170. నేను PA ద్వారా ఈ వస్తువును తీసివేసాను, కనుక ఇది ఉనికిలో లేదు. - 171. సో, ఫలితంగా ఏమిటి? ఫలితం ఏ వర్చువల్ ఫంక్షన్లు అప్పుడు ఆబ్జెక్ట్లు ఒక వర్చ్యువల్ ఫంక్షన్ పాయింటర్ పట్టిక లేదు. - 172. నేను * pa అని టైప్ చేయడానికి ప్రయత్నించాను; ఉల్లంఘన ఆర్టీటీఐ డేటా కాదని నాకు సందేశం వచ్చింది. - 173. సాధారణంగా చూడండి, మీరు ఆశించేది ఏమిటంటే, మేము దీన్ని చేయడానికి ప్రయత్నిస్తే, ఈ వ్యవస్థ క్రాష్ అవుతుంది, కానీ ఇక్కడ మీరు చేయరు. - 174. ఇది మీకు కొన్ని చెడు టైప్ చేసిన మినహాయింపులను ఇస్తుంది. - 175. మీరు కనుగొనలేని దేనికోసం టైపిడ్‌ను కనుగొనడానికి ప్రయత్నిస్తున్నారని ఇది మీకు తెలియజేస్తుంది మరియు ఆ చెడు టైపిడ్‌లో కొంత సందేశం ఉంది. - 176. కాబట్టి, మీరు దీన్ని నిజంగా పాలిమార్ఫిక్ సోపానక్రమంలో ఉపయోగించగలిగితే, సూచిక వేలాడుతుందా లేదా అది చెల్లుబాటు అయ్యే వస్తువును సూచిస్తుందో లేదో తెలుసుకోవడానికి మీరు దీన్ని ఉపయోగించవచ్చు. - 177. కాబట్టి, ఇది మీకు అనేక ఇతర అదనపు ప్రయోజనాలను కూడా ఇస్తుంది. చివరగా నేను ఈ పాయింటర్‌ను మాత్రమే డిసేబుల్ చేస్తాను. - 178. నేను pa ను 0 గా చేసాను; ఇది 0 కి కేటాయించబడింది. - 179. అప్పుడు ఇది స్టాటిక్ రకం అని తెలుసుకోవడానికి ప్రయత్నించాను. - 180. నేను * PA చేయడానికి ప్రయత్నించాను, నాకు ఒక మినహాయింపు వచ్చింది, ఇది ఒక రకమైన శూన్య పాయింటర్. - 181. కాబట్టి, పాలిమార్ఫిక్ సోపానక్రమంలో టైప్ చేసిన రకం అసలు డైనమిక్ రకం ఏమిటో, వస్తువు యొక్క వాస్తవ డైనమిక్ స్థితి ఏమిటో మీకు ఎల్లప్పుడూ తెలియజేస్తుంది. - 182. వాస్తవానికి, మీ ప్రోగ్రామ్ సందర్భంలో టైప్ చేసిన ఆపరేటర్‌ను చాలా తరచుగా ఉపయోగించమని నేను మీకు సలహా ఇవ్వను అని అర్ధం, ఇది వర్చువల్ ఫంక్షన్ టేబుల్స్ మరియు అన్ని ఇతర సమాచారాన్ని ఉపయోగిస్తున్నందున. ఇది ఉపయోగించాలి. - 183. RTTI - టైమ్ టైప్ ఇన్ఫర్మేషన్ అని కూడా పిలుస్తారు, ఇది వర్చువల్ ఫంక్షన్ టేబుల్స్ ఎక్కడ ఉన్నాయో మరియు వాటి చిరునామాలు ఏమిటో క్రమం తప్పకుండా ట్రాక్ చేయాలి. - 184. అందువల్ల, సాధారణంగా లెక్కించడానికి చాలా సమయం పడుతుంది. - 185. అందువల్ల, డైనమిక్ కాస్టింగ్ లేదా కోర్సు టైప్ చేసిన ఆపరేటర్లను ఉపయోగించడం కంటే చాలా సమర్థవంతంగా పనిచేసే వర్చువల్ పనులను నిర్వహించడం చాలా మంచిది. - 186. కానీ మీరు వాటిని మీ ఆయుధశాలలో ఉంచుతారు, తద్వారా మీరు ఎప్పుడు, ఎప్పుడు గరిష్ట స్థితిలో ఉన్నప్పుడు మీరు వాటిని ఉపయోగించుకోవచ్చు మరియు దాని నుండి మంచి ప్రయోజనం పొందవచ్చు. - 187. సంక్షిప్తంగా, ఈ మాడ్యూల్‌లో రన్ సమయంలో కాస్టింగ్ అర్థం చేసుకున్నాము. - 188. మరియు మేము డైనమిక్ కాస్టింగ్ యొక్క అధ్యయనాన్ని తుది రకం కాస్ట్ ఆపరేటర్‌గా ప్రారంభించాము మరియు దానితో కనెక్ట్ అయ్యాము. - 189. RTTI సమక్షంలో, టైపిడ్ ఆపరేటర్ వాస్తవానికి పాయింటర్ యొక్క డైనమిక్ రకాన్ని ఒక వస్తువుగా గుర్తించగలడని మరియు అది పాలిమార్ఫిక్ సోపానక్రమంలో ఉంటే మనం చూశాము. - 190. కాబట్టి, ఈ మాడ్యూల్‌తో, సి ++ లో టైప్ కాస్టింగ్ మరియు కాస్ట్ ఆపరేటర్లపై మా చర్చను ముగించాము. - 191. మీ తారాగణం అవసరాలు ఏవైనా తారాగణం, స్టాటిక్ తారాగణం, పునర్నిర్మాణ తారాగణం మరియు డైనమిక్ తారాగణం యొక్క నాలుగు ఆపరేటర్లు అని మేము చూపించాము. పరిష్కరించడానికి సరిపోతాయి. - 192. మరియు దీనితో మీరు తక్కువతో ఎక్కువ చేయాలి; వాస్తవానికి మీ కోడ్‌లోని సి స్టైల్ కాస్టింగ్ యొక్క ఉపయోగాన్ని పూర్తిగా తొలగించమని నేను మీకు సలహా ఇస్తాను, ఈ కాస్టింగ్‌పై ఆధారపడండి. - 193. ప్రధానంగా, మీరు పాలిమార్ఫిక్ సోపానక్రమంలో ఉన్నప్పుడు, స్టాటిక్ కాస్టింగ్ మరియు తారాగణం కాస్ట్ ఆపరేటర్ మరియు డైనమిక్ కాస్టింగ్‌పై ఆధారపడతాయి. - 194. + C ++ లో ప్రోగ్రామింగ్ యొక్క మాడ్యూల్ 34 కు స్వాగతం. + మేము C ++ లో టైప్ కాస్టింగ్ మరియు క్యాస్ట్ ఆపరేటర్ల గురించి చర్చిస్తున్నాము. + కాబట్టి, మన లక్ష్యం C మరియు C ++ లో కాస్టింగ్ ను( casting )అవగాహన చేస్తూనే ఉంది. + నేను మొదటి రెండు మాడ్యూళ్ళలో చెప్పినట్లుగా, ఇది చర్చించిన కాస్టింగ్ యొక్క మా మొత్తం రూపురేఖలు. + మరియు నీలం ఒకసారి ఇక్కడ మేము చర్చించిన డైనమిక్ కాస్ట్ ఆపరేటర్ మరియు టైప్ చేసిన ఆపరేటర్. + ప్రస్తుత మాడ్యూల్‌లో, కాస్టింగ్, స్టాటిక్ కాస్ట్, మరియు సి ++ కాస్ట్ ఆపరేటర్లలోని కాస్టింగ్ యొక్క ప్రాథమిక ప్రాతిపదికను మరియు ముగ్గురు కాస్టింగ్ ఆపరేటర్లను మేము ఇప్పటికే నిర్వచించాము. పునర్నిర్మాణం చర్చించబడింది. + తారాగణం ఆపరేటర్లు మరియు ప్రసారం గురించి మా చర్చ ఈ మాడ్యూల్‌తో ముగుస్తుంది. + కాబట్టి, సి కాస్టింగ్ మరియు స్పష్టమైన స్టైల్ కాస్టింగ్‌లో ఇది మేము చూశాము. + మరియు కాస్టింగ్‌లోని గణాంకాలు ఇవి. మరియు దీని ఆధారంగా, మాకు కాస్ట్ ఆపరేటర్లుగా సేవర్స్ ఉన్నారు. + ఇప్పుడు మేము కాస్టింగ్ చూస్తే, ఈ కాస్ట్ ఆపరేటర్ మాకు సివి అర్హతను మార్చగల సామర్థ్యాన్ని ఇచ్చింది. + కాబట్టి, వస్తువుల యొక్క చైతన్య అస్థిరత వీక్షణను కాన్స్ట్ ద్వారా మార్చవచ్చు, ప్రత్యేకించి స్థిరాంకం కాని కాని వ్యయం లేని వస్తువులు లేదా పాయింటర్ల స్థిరాంకాలు మరియు మొదలైనవి ఉపయోగించడం ద్వారా. + సి అనుమతించే వివిధ రకాల అవ్యక్త కాస్టింగ్‌ను స్టాటిక్ కాస్ట్ చూసుకుంటుంది, మీరు వాటిని స్టాటిక్ కాస్టింగ్ ఉపయోగించి స్పష్టంగా వ్రాయవచ్చు. + ఇది వాస్తవానికి కాస్టింగ్‌తో పాటు సోపానక్రమంలో తగ్గించడానికి మాకు అనుమతి ఇచ్చింది. + వినియోగదారు నిర్వచించిన కన్స్ట్రక్టర్లు లేదా ట్రాన్స్ఫర్మేషన్ ఆపరేటర్లను ఉపయోగించి సంబంధం లేని తరగతుల మధ్య ప్రసారం చేయడానికి ఇది మాకు అనుమతి ఇచ్చింది. + ఇది స్టాటిక్ తారాగణం యొక్క విశాల రూపం, ఇది విస్తృతమైన తారాగణం. + మరియు స్టాటిక్ కాస్టింగ్‌కు ప్రత్యేకంగా పేరు పెట్టారు, ఎందుకంటే ఇది మొత్తం గ్రంథాన్ని కంపైల్ సమయంలో చేస్తుంది. + కాబట్టి, తారాగణం తారాగణం చేస్తుంది, కానీ మీరు ప్రత్యేకంగా స్టాటిక్ కాస్ట్ గురించి మాట్లాడతారు, ఎందుకంటే ఇది మీకు అనేక రకాలైన కాస్టింగ్ కలిగి ఉంటుంది, కానీ మీరు కంపైల్ సమయం ఆధారంగా ఇవన్నీ చేస్తారు. + మేము చూసినట్లుగా, తిరిగి పెట్టుబడి పెట్టిన తారాగణం ప్రాథమికంగా వేరే రకం తరగతుల ద్వారా డేటాను చూస్తుంది మరియు ఇది ఏ రకమైన పాయింటర్‌ను మరొక రకమైన పాయింటర్‌లోకి చొప్పించడానికి ఉపయోగించబడుతుంది లేదా పాయింటర్ రకం మరియు పూర్ణాంక రకం మధ్య చొప్పించడానికి ఉపయోగించవచ్చు. + . + మరియు మేము సాధారణంగా పునర్నిర్మాణ కాస్ట్‌లను ఉపయోగించకుండా ఉండటానికి కారణం ఉంది. + ఈ సందర్భంలో, డైనమిక్ తారాగణం చాలా ప్రత్యేకమైనది. + ప్రోగ్రామ్ యొక్క రన్ టైమ్ ప్రవర్తన ఆధారంగా డైనమిక్ కాస్ట్ మాత్రమే కాస్ట్ ఆపరేటర్, ఇది వాస్తవానికి రన్ టైమ్‌లో ఉండే వస్తువులపై ఆధారపడి ఉంటుంది. + తారాగణం వస్తువులతో డైనమిక్ తారాగణం పనిచేయదు; ఇది పాయింటర్లు మరియు తరగతులకు సూచనలతో మాత్రమే ఉపయోగించబడుతుంది. + ఇది వస్తువుతో నేరుగా పనిచేయదు; దీనికి మీరు ప్రసారం చేయగల పాయింటర్ ఉంది లేదా మీరు చొప్పించగల సూచన ఉండాలి. + గమ్యం పాయింటర్ రకం యొక్క చెల్లుబాటు అయ్యే సంపూర్ణ వస్తువు కోసం రకం మార్పిడి పాయింట్ల ఫలితం ఉండేలా చూడటం దీని ఉద్దేశ్యం; ఇది ఇప్పటికీ చాలా అర్ధవంతం కాదు. + అందువల్ల, మేము ఉదాహరణల ద్వారా వెళ్ళినప్పుడు ఇది జరుగుతుంది, కానీ ప్రాథమిక విషయం ఏమిటంటే డైనమిక్ కాస్టింగ్ మీరు డైనమిక్ కాస్టింగ్‌ను పరిచయం చేసే సందర్భం అయితే మీకు పాలిమార్ఫిక్ ఈస్ సోపానక్రమం ఉంటుంది. + మీకు సోపానక్రమం లేకపోతే ఇది నిర్వచించబడదు; మరియు ఇది పాలిమార్ఫిక్ కాని సోపానక్రమంలో అనారోగ్యంతో ఉంటుంది, ఎవరైనా అరుదుగా ఉపయోగిస్తారు.ఇది ఎల్లప్పుడూ పాలిమార్ఫిక్ సోపానక్రమంలో ఉపయోగించబడుతుంది. + కాబట్టి, ఒక సోపానక్రమంలో మేము ప్రసారం చేయవచ్చు, దీని కోసం మీరు డైనమిక్ తారాగణాన్ని కూడా ఉపయోగించవచ్చు, కాని ముఖ్యమైనది ఏమిటం+టే మీరు డైనమిక్ తారాగణాన్ని ఉపయోగించవచ్చు.మీరు ఉపయోగించడం ద్వారా డౌన్ రన్ డౌన్ సమాచారంతో డౌన్‌కాస్ట్ చేయవచ్చు.అందువల్ల, మీరు ఒక పాయింటర్‌ను బేస్ క్లాస్‌లోని పాయింటర్ నుండి ఉత్పన్న తరగతిలో పాయింటర్‌గా మార్చడానికి నిజంగా హామీ ఇవ్వవచ్చు మరియు ఈ మార్పిడి తర్వాత మీరు చెల్లుబాటు అయ్యే వస్తువును సూచిస్తున్నారో మీకు తెలుస్తుంది. లేదా మీరు చెల్లుబాటు అయ్యే వస్తువును సూచించడం లేదు . + ఈ మార్పిడి చెల్లుబాటులో ఉంటే ఇప్పుడు ఏమి జరుగుతుంది, మీరు బేస్ క్లాస్ పాయింటర్ నుండి ఉత్పన్నమైన క్లాస్ పాయింటర్‌కు మారిన తర్వాత, మీరు నిజంగా ఈ పాయింటర్ ద్వారా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు. + ఈ మార్పిడి చెల్లుబాటులో ఉంటే ఇప్పుడు ఏమి జరుగుతుంది, మీరు బేస్ క్లాస్ పాయింటర్ నుండి ఉత్పన్నమైన క్లాస్ పాయింటర్‌కు మారిన తర్వాత, మీరు నిజంగా ఈ పాయింటర్ ద్వారా ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు. + అప్పుడు మీ డైనమిక్ కాస్ట్ ఆపరేటర్ మీకు పాయింటర్ యొక్క బేస్ క్లాస్ పాయింటర్ మాదిరిగానే విలువను ఇస్తుంది, ఎందుకంటే వస్తువు యొక్క చిరునామా మారదు. + ఈ మార్పిడి చెల్లుబాటు కాకపోతే, మీరు డౌన్‌కాస్ట్ చేస్తే, మీరు వాస్తవానికి ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్ కాదు, దీని కోసం మీరు డైనమిక్ కాస్ట్ కాస్ట్ పాయింటర్‌ను శూన్యంగా సూచించాలనుకుంటున్నారు.ఇది పాయింటర్ ద్వారా తనిఖీ చేయగలిగేలా సెట్ చేయండి శూన్యమైనది, మీరు ఇది సరిగ్గా తగ్గించబడిందో లేదో తెలుసుకోవచ్చు. + డైనమిక్ తారాగణం రిఫరెన్స్ రకంతో కూడా ఉపయోగించవచ్చు, మేము ఉదాహరణలు చూస్తాము. + మనం ముందుకు వెళ్లి కొన్ని ఉదాహరణలు తీసుకోవడం ప్రారంభిద్దాం. + కాబట్టి, నేను ఏమి చేస్తాను అంటే నాకు ఇక్కడ మూడు విభాగాలు ఉన్నాయి; క్లాస్ ఎ బేస్ క్లాస్; క్లాస్ బి నుండి క్లాస్ బి ప్రత్యేకమైనది, కాబట్టి నాకు పాలిమార్ఫిక్ సోపానక్రమం ఉంది. + క్లాస్ సి మూడవ వర్గం, దీనికి సంబంధం లేదు. + అందువల్ల, క్రమానుగత సి తరగతిని ఉపయోగించి సంబంధం లేని తరగతితో మీరు ఏమి చేస్తున్నారో వివరించడానికి మేము ప్రయత్నిస్తాము.ఈ సోపానక్రమంలో వర్చువల్ ఉపశమనం ఉందని గమనించండి, అంటే సోపానక్రమం) పాలిమార్ఫిక్. + ఈ సోపానక్రమం పాలిమార్ఫిక్, ఎందుకంటే దీనికి వర్చువల్ ఫంక్షన్ ఉంది; కాబట్టి, మొత్తం సోపానక్రమం పాలిమార్ఫిక్. + నేను మూడు వస్తువులను తయారు చేస్తాను; నాకు మూడు రకాల మూడు పాయింట్లు ఉన్నాయి, మరియు పివి శూన్యమైన (శూన్యమైన) రకం సూచిక. + ఇప్పుడు, కొన్ని ఉపాయాలు ప్రయత్నిద్దాం. + కాబట్టి, ఇది ఇక్కడ A, మరియు B A. + కాబట్టి, PB కి B చిరునామా ఉందని నేను చెబితే, B ఒక వస్తువు, మరియు PB ఒక ఆధారం, B అనేది ఒక రకం పాయింటర్. + కాబట్టి, ఇది నాకు B రకం పాయింటర్ ఉంది, నాకు ఇక్కడ పాయింటర్ ఉంది, మరియు అది వస్తువు. + ఇప్పుడు నేను డైనమిక్ డైనమిక్ కాస్ట్ (తారాగణం) పిబిని A నుండి A * వరకు చేస్తే అది ఒక రకమైన వస్తువుకు పాయింటర్ అయితే నేను ఏమి చేస్తున్నాను, నేను ఏ దిశలో ఉన్నాను, నేను ప్రాథమికంగా అప్ కాస్ట్ (తారాగణం) చేస్తున్నాను. + కాబట్టి, ఈ పరంగా ఎటువంటి సమస్య ఉండకూడదు, కాబట్టి, నేను దీన్ని చేసి, A క్లాస్ యొక్క పాయింటర్‌లో ఉంచితే, నేను అప్-కాస్ట్ చేసాను, కనుక ఇది చెల్లుబాటులో ఉండాలి. + కాబట్టి, ఫలితం ఏమిటంటే, నేను పిబిని ప్రింట్ చేసి, పిఎను ప్రింట్ చేస్తే, ఇది పిబి కాస్టింగ్ కోసం పిఎ యొక్క విలువ, విలువలు ప్రాథమికంగా బి సమానమైనదని మీరు చూడవచ్చు. + ఇది అప్-కాస్ట్ మరియు చెల్లుబాటు అయ్యే, మొదటి కేసు, కాబట్టి నేరుగా ముందుకు వచ్చింది. + ఇది బేస్ లైన్ చెక్ లాంటిది, డైనమిక్ తారాగణం అప్-కాస్ట్‌ను ప్రారంభించగలదని చూపిస్తుంది. + ఇప్పుడు మనం తగ్గించడానికి ప్రయత్నిద్దాం. + కాబట్టి, PA యొక్క చిరునామా B. + నాకు B యొక్క చిరునామా ఉంది మరియు నాకు ఒక వస్తువు ఉంది, మరియు నాకు PA ఉంది, ఇది ఒక రకం పాయింటర్, మరియు ఈ వస్తువు ఇక్కడ ఉంచబడింది. + ఇది సాధ్యమే ఎందుకంటే ఇది అప్-కాస్ట్ చేయడం సాధ్యపడుతుంది. + అందువల్ల, ఉత్పన్నమైన క్లాస్ ఆబ్జెక్ట్‌ను పట్టుకోవడానికి నేను ఎల్లప్పుడూ బేస్ క్లాస్ పాయింటర్‌ని ఉపయోగించవచ్చు. + ఈ రకమైన B * లో, నేను PA యొక్క డైనమిక్ తారాగణం చేస్తాను. + కాబట్టి, నేను ఈ దిశలో PA నుండి డైనమిక్ ఆర్టిస్ట్ చేస్తున్నాను; ఇది నాకు ఒక రకమైనది మరియు ఇప్పుడు నేను దానిని B స్టార్‌లో పొందడానికి ప్రయత్నిస్తున్నాను. + కాబట్టి, నేను దిగజారిపోతున్నాను; నేను దాన్ని క్రిందికి లాగుతున్నాను. + మరియు ఫలిత I ని pB లో ఉంచుతుంది, ఇది రకం B యొక్క సూచిక. + ఫలితం ఏమిటి? కాబట్టి, నేను ఆ తరువాత PA మరియు PB ని ప్రింట్ చేస్తే, PA మరియు PB లకు ఒకే విలువలు ఉన్నాయని నేను అనుకుంటాను, మరియు డౌన్‌కాస్ట్ చెల్లుతుంది. + డౌన్‌కాస్ట్ అంటే ఏమిటి చెల్లుతుంది, ఎందుకంటే నేను ఇప్పుడు పిబిని ఈ ఆబ్జెక్ట్‌గా మార్చాను, పిబి బి టైప్ పాయింటర్ మరియు ఈ ఆబ్జెక్ట్ బి రకం, కాబట్టి ఉల్లంఘన లేదు., ప్రతిదీ ఉంది. + కాబట్టి, ఈ డౌన్‌కాస్ట్ చెల్లుబాటు అయ్యే డౌన్‌కాస్ట్ అని మేము చెప్తాము. మొదట నాకు టైప్ పాయింటర్ మరియు అబ్ ఆబ్జెక్ట్ ఉంది, నేను దానిని అక్కడ పట్టుకున్నాను. + అందువల్ల, P B ని చూడటం నుండి P A వరకు, ఆబ్జెక్ట్ A రకం B యొక్క వస్తువు లేదా రకం A యొక్క వస్తువు కాదా అని నేను చెప్పలేను. + కానీ ఇప్పుడు నేను ఈ మార్పిడిని చేసాను, కనుక ఇది చెల్లుబాటు అయ్యే B రకం వస్తువును కనుగొనగల వస్తువు అని నాకు తెలుసు. + ఇవన్నీ కథ యొక్క చివరి భాగానికి సమానమని నేను ముద్రించాను. + మనం అదే పని చేద్దాం, ఇక్కడ చూద్దాం, అదే పని చేద్దాం, కాని నన్ను మళ్ళీ PA తో ప్రారంభిద్దాం, కాని ఇప్పుడు మునుపటి కేసులా కాకుండా, PA A యొక్క చిరునామాను కలిగి ఉన్న చోట. + వస్తువును ఇక్కడ టైప్ చేయండి, ఇప్పుడు అది టైప్ ఆబ్జెక్ట్ యొక్క చిరునామాను కలిగి ఉంది. + కాబట్టి, ఇది మీ PA, ఇది ఒక రకమైన వస్తువును కనుగొంటుంది. + నేను ఇక్కడ చేసిన అదే వ్యక్తీకరణను అదే డైనమిక్ తారాగణం వేయడానికి మళ్ళీ ప్రయత్నిస్తాను. + కాబట్టి, PA వెళుతోంది, కాబట్టి నేను మళ్ళీ డౌన్‌కాస్ట్ చేస్తున్నాను, నేను దాన్ని మళ్ళీ దించుతున్నాను మరియు నేను PB ని ఇప్పుడు ఈ A కి సూచించడానికి ప్రయత్నిస్తాను. + కాబట్టి, నేను ఇక్కడ ఈ డౌన్‌కాస్ట్ చేస్తాను మరియు ఆ పాయింటర్ విలువను పివిలో ఉంచాను. + ఫలితం ఏమిటో చూడండి. మూడవ పంక్తి P, ఇది A యొక్క చిరునామా మరియు PB అంటే ఏమిటి, PB 0 - సున్నా. + పి బి 0 ఎందుకు, ఎందుకంటే నేను దీనిని ఎత్తి చూపగలిగితే అది ప్రమాదకరం. + ఎందుకంటే ఈ పాయింటర్ AP B రకం అని నేను ఎత్తి చూపగలిగితే, అది సూచించేది కనీసం AB రకం యొక్క వస్తువు అని నేను ఆశించాను, కాని రకం B యొక్క వస్తువు కాదు. ఇది సాధారణీకరించబడినది . + కాబట్టి, B రకం వస్తువులో, ఇది చాలా ఎక్కువగా ఉంటుంది, వాస్తవానికి దీనికి మూల భాగం మాత్రమే ఉంటుంది. + కాబట్టి, మీరు చేస్తే, డైనమిక్ కాస్టింగ్ మరియు స్టాటిక్ కాస్టింగ్ మధ్య ప్రాథమిక వ్యత్యాసం ఇదేనని నా ఉద్దేశ్యం. + అందువల్ల, ఈ సందర్భంలో ఇక్కడ డైనమిక్ కాస్టింగ్‌కు బదులుగా, నేను అదే వ్యక్తీకరణ B * మరియు తరువాత pA యొక్క స్టాటిక్ కాస్ట్ చేస్తే, ఫలితం pA యొక్క విలువ అవుతుంది. + ఎందుకంటే నేను దీన్ని చట్టబద్ధంగా చేస్తుంటే, PA ఏమి సూచిస్తుందో నాకు తెలియదు, కానీ ఇప్పుడు అది డైనమిక్ తారాగణం కాబట్టి, ఇది వాస్తవానికి B ఒక వస్తువు కాదా అని నేను కనుగొనగలుగుతాను, ఈ సందర్భంలో అది కాపీ చేస్తుంది PA యొక్క విలువ PB లోకి. + లేదా అది ఒక వస్తువు అయితే ఈ విలువను కాపీ చేయకపోతే, అది దానిపై 0 గా ఉంటుంది. + కాబట్టి, డైనమిక్ తారాగణం తరువాత, మరియు ఈ రెండు సందర్భాల్లో, ఈ సందర్భంలో ఇది ఈ సందర్భంలో రెండవ పంక్తి అని మీరు చూశారు, ఈ సందర్భంలో ఇది మూడవ పంక్తి అని మీరు చూశారు, అంటే మీరు ఆ చిరునామా వద్ద ఒక కాపీని పొందండి; ఈ సందర్భంలో, మీరు శూన్య విలువను పొందుతారు. + కాబట్టి, PB శూన్యమా కాదా అని తనిఖీ చేయడం ద్వారా, డైనమిక్ గడిచిందా లేదా అనే విషయం మీకు తెలియదు, ఆ వస్తువు వాస్తవానికి AB రకం వస్తువు, కాబట్టి ఇది డైనమిక్ తారాగణం యొక్క ప్రాథమిక విలువ. + మరియు మిగిలినవి దానిపై మాత్రమే ఉంటాయి, ఉదాహరణకు, నేను మళ్ళీ సి రకం యొక్క వస్తువును PA కి తీసుకోవచ్చు మరియు ఈ రెండు ఖచ్చితంగా PA లో సంబంధం లేనివి అని నేను కనుగొంటాను. + ఈ రెండు సంబంధం లేనివి కాబట్టి, నేను సి ఆబ్జెక్ట్ యొక్క చిరునామాను పిఎలో ఉంచలేను, కాబట్టి నేను సి స్టైల్ కాస్టింగ్ ద్వారా బలవంతం చేసాను, ఈ చిరునామాను నేను పొందగలిగే ఏకైక మార్గం ఆపై పిఎ యొక్క ఈ మార్పిడికి ప్రయత్నించాను సి *. + ఖచ్చితంగా ఈ మార్పిడి సాధ్యం కాదు, కాబట్టి నాకు లభించే విలువ నాల్గవ పంక్తి, పిసికి మారిన తర్వాత నాకు లభించేది శూన్యమైన (శూన్యమైన) విలువ. + అందువల్ల, దీనికి సంబంధం లేకపోతే, డైనమిక్ తారాగణం ఎల్లప్పుడూ తిరస్కరిస్తుంది. + P A 0 అయితే ఇవి ప్రత్యేక సందర్భాలు, ఆపై నేను ఈ తారాగణం చేయడానికి ప్రయత్నిస్తాను, ఇది శూన్య విలువను సూచిస్తుంది, శూన్యమైనది, ఇది ఎల్లప్పుడూ శూన్య బిందువులకు మారుతుంది. + P A ఒక వస్తువును గుర్తించినట్లయితే, నేను డైనమిక్ తారాగణం చేయడానికి ప్రయత్నిస్తాను, ఇది శూన్య నక్షత్రం, ఇది శూన్య నక్షత్రం మరియు ఇది నా శూన్యమైన * పాయింటర్, కాబట్టి ఇది అనుమతించబడిన తారాగణం. + విలువలు ఒకటేనని మీరు చూడవచ్చు. + ఎందుకంటే ఇది పాయింటర్ యొక్క శూన్య రకానికి మార్చడానికి అనుమతించబడింది, కానీ మీరు ఇక్కడ రివర్స్ చేయడానికి ప్రయత్నిస్తే మీరు చూడవచ్చు, నేను రివర్స్ చేయడానికి ప్రయత్నిస్తాను, నేను ఆ పివిని తీసుకొని ఒక నక్షత్రంలో ఉంచాను తిరిగి పొందడానికి ప్రయత్నిస్తున్నాను, ఇది సంకలన లోపం . + ఇప్పుడు దీన్ని చేసే ప్రక్రియలో, డైనమిక్ తారాగణం ఇది చాలా సులభం అని తెలుసుకోవడం ఎలా అని మీరు ఆశ్చర్యపోతారు, డైనమిక్ తారాగణం యొక్క ఈ పరిమితి డైనమిక్ తారాగణం మూల వ్యక్తీకరణలను ఇవ్వాలి అనే వాదన ఒక రంగురంగులని సూచిస్తుంది సోపానక్రమం. + పాలిమార్ఫిక్ సోపానక్రమం యొక్క లక్షణం ఏమిటంటే వర్చువల్ ఫంక్షన్. + వర్చువల్ ఫంక్షన్ ఫలితంగా ఏమి జరుగుతుంది అంటే, ఆ వస్తువుకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉంది మరియు ఆ పాయింటర్ మనం చూసే తరగతి రకానికి ప్రత్యేకమైనది. + నాకు వేరే రకం వస్తువు ఉంటే, నాకు వేరే వర్చువల్ ఫంక్షన్ టేబుల్ ఉంది, మరియు నాకు వేరే పాయింటర్ విలువ ఉంది, కానీ ఒకే తరగతిలోని అన్ని వస్తువులు ఒకే పాలిమార్ఫిక్ క్లాస్‌లో ఒకే వర్చువల్ ఫంక్షన్ టేబుల్‌ను కలిగి ఉంటాయి మరియు అదే ఫంక్షన్ పాయింటర్ విలువ. + కాబట్టి, ఇది ప్రాథమికంగా దాన్ని అంతర్గతంగా చూస్తుంది, దానిని పరిశీలిస్తుంది, ఆ వస్తువు యొక్క వర్చువల్ ఫంక్షన్ పాయింటర్ పట్టిక ఏమిటి. + మరియు ఇది రకం ఏమిటో చూపిస్తుంది, ఇది ఎవరితో వ్యవహరిస్తుందో. + కాబట్టి, ఈ నిజమైన డైనమిక్ రకం మీరు ఆ చిరునామాను పొందటానికి ప్రయత్నిస్తున్న స్టాటిక్ రకానికి సరిపోతుందా అని ఎల్లప్పుడూ చెప్పగలదు. + అందువల్ల ఆ వ్యక్తీకరణ పివిలో డైనమిక్ తారాగణం చేస్తున్న వ్యక్తీకరణ రకం కాదు, ఇది సాధ్యం కాదు, ఎందుకంటే శూన్యమైన (శూన్యమైన) నక్షత్రం పాలిమార్ఫిక్ రకం కాదు. + మరియు శూన్య నక్షత్రం పాలిమార్ఫిక్ రకం కానందున, అందులో వర్చువల్ ఫంక్షన్ పాయింటర్ పట్టిక లేదు. + కాబట్టి, డైనమిక్ తారాగణం, ఆపరేటర్ దానిని స్వయంగా తీసివేయలేరు, అందుకే మీరు రూట్ అయిన డైనమిక్ తారాగణం కోసం చెల్లని వ్యక్తీకరణ రకాన్ని పొందుతారు. + కాబట్టి, ఇది రన్ సమయంలో మీ పాలిమార్ఫిక్ సోపానక్రమానికి సూచించగల డైనమిక్ తారాగణం గురించి. + మీరు దీన్ని సూచనలతో కూడా ఉపయోగించవచ్చు. + కాబట్టి, ఒకే సోపానక్రమం పూర్తిగా ఉంది, మీరు ఇప్పుడు సూచనలను ఉపయోగించవచ్చు మరియు డైనమిక్ కాస్టింగ్‌ను అదే విధంగా ఉపయోగించవచ్చు. + కాబట్టి, ఇది అప్-కాస్ట్ యొక్క ఉదాహరణ, ఇది చెల్లుబాటు అయ్యే డౌన్-కాస్ట్ యొక్క ఉదాహరణ. + ఇప్పుడు, మీరు దీన్ని చేయడానికి ప్రయత్నిస్తే ఏమి జరుగుతుంది; మీరు వాస్తవానికి బేస్ క్లాస్ ఆబ్జెక్ట్‌ను సూచిస్తున్నారు మరియు మీరు దానిని ఒక నిర్దిష్ట తరగతికి తగ్గించడానికి ప్రయత్నిస్తున్నారు. + మునుపటి సందర్భంలో కూడా మేము ఇక్కడ ఇలాంటిదే చేయటానికి ప్రయత్నించినప్పుడు ఏమి జరిగింది, అప్పుడు ఫలితం పాయింటర్ శూన్యమైంది. + ఇప్పుడు నేను వస్తువుల సూచనలతో పనిచేస్తుంటే, సి ++ లో శూన్య సూచన సాధ్యం కాదు. + కాబట్టి, ఈ సందర్భంలో మీరు దానిని కలిగి ఉండలేరు; ఇది చెల్లని కేసు, ఎందుకంటే మీకు రిఫరెన్స్ ఉండకూడదు ఎందుకంటే ఆ వస్తువు B రకం కాదు ఎందుకంటే ఇది సాధారణ రకం A. + కాబట్టి, ఈ మార్పిడిని ప్రస్తావించలేము. + ఇది ఏమి చేస్తుంది? ఇది చెడ్డ తారాగణం మినహాయింపుగా పిలువబడుతుంది, ఇప్పుడు మేము మినహాయింపు గురించి చర్చించలేదు. + కాబట్టి, ఏదో తప్పు జరిగిందని చెప్పే మార్గం ఉంది. + కాబట్టి, మేము తదుపరి మినహాయింపులు చేసినప్పుడు, ఏమి జరుగుతుందో మీరు అర్థం చేసుకుంటారు, కాని అది చేస్తున్నది ఏమిటంటే ఏదో తప్పు జరిగిందని మరియు మేము ముందుకు సాగలేము. + మరియు అది బయటకు వచ్చి మీరు ఇక్కడ చూడగలిగే ఈ విభిన్న సందేశాన్ని ముద్రిస్తుంది. + అదేవిధంగా, ఇక్కడ నేను సంబంధం లేని తరగతి సి ఆధారంగా రిఫరెన్స్ కాస్టింగ్ చేయడానికి ప్రయత్నించాను, అది కూడా చెల్లదు. + కాబట్టి, ఇది మీకు ఇక్కడ సంబంధం లేని తరగతులను ఇస్తుంది. + కాబట్టి, డైనమిక్ ఆపరేటర్‌ను ఉపయోగించడానికి ఇదే మార్గం. + (రిఫర్‌స్లైడ్ సమయం: 19:29) డైనమిక్ కాస్ట్ ఆపరేటర్‌తో లభించే మరో ఆపరేటర్‌ను టైప్ చేసిన ఆపరేటర్ అంటారు, ఇది తెలుసుకోవడానికి ప్రయత్నిస్తుంది. + ఉదాహరణకు, మీకు తరగతి A లేదా ఏదైనా ఉంటే, నా ఉద్దేశ్యం ఏ తరగతి అయినా మరియు మీకు రకం (రకం) A యొక్క వేరియబుల్ ఉంది లేదా బదులుగా మీకు ఈ రకమైన పాయింటర్ ఉంది. + మరియు PA ఏదో సూచించగలదు, మీకు తెలియదు, అది గురిపెట్టింది; ఇది దేనినైనా సూచించగలదు. + ఇప్పుడు ప్రశ్న ఏమిటంటే, ఈ పాయింటర్ విలువతో నేను వస్తువు యొక్క రకం ఏమిటి, అది ఏ రకమైన వస్తువును సూచిస్తుందో చెప్పగలను. + ఇది డైనమిక్ రకం అని మనం చెప్పగలిగితే చాలా బాగుంటుంది, ఆ రకం ఏమిటో మనం చెప్పగలిగితే, ఎందుకంటే ఇది ఒక స్టాటిక్ రకంగా ఉండగల సంకేతం, కానీ వివిధ రకాల సంఖ్య సూచించగలదు + కాబట్టి, టైపిడ్ ఆపరేటర్ ఒక రంగురంగుల వస్తువు యొక్క డైనమిక్ రకాన్ని కనుగొనడానికి ప్రయత్నిస్తుంది, ఇది వివిధ రూపాల్లో ఉంటుంది. + అలాంటి రెండు వస్తువుల యొక్క డైనమిక్ రకాలను పోల్చడానికి మరియు అవి ఒకే రకానికి చెందినవి, వేర్వేరు రకాలుగా ఉన్నాయో చెప్పగలగాలి. + కాబట్టి, ఇది ఆ విధంగా ఉపయోగపడుతుంది మరియు దీనిని పాలిమార్ఫిక్ రకములతో మాత్రమే ఉపయోగించవచ్చు మరియు పాలిమార్ఫిక్ రకములతో కాదు, మీరు దీనిని పాలిమార్ఫిక్ కాని సోపానక్రమం అని పిలుస్తారు లేదా అలాంటి వాటిపై ఉపయోగించలేరు. + కాబట్టి, ఇది ఎలా పనిచేస్తుంది. + ఇది సాధారణ సోపానక్రమం B, ఇది మీ వద్ద ఉంది. + మీకు ఒక వస్తువు ఉంది మరియు మీరు దానికి టైపిడ్‌ను వర్తింపజేస్తారు. + మీరు టైపిడ్‌ను వర్తింపజేస్తే, అది మీకు ఒక నిర్మాణాన్ని ఇస్తుంది, దీనిని సమాచార రకం నిర్మాణం అంటారు. + అందువల్ల, నేను ప్రదర్శించినట్లు, నిర్మాణానికి వేర్వేరు ప్రాంతాలు ఉన్నాయి; మరియు వాటిలో చాలా ఉపయోగకరమైనది పేరు ఫీల్డ్, ఇది తరగతి పేరును మనం వ్రాసే విధంగా ఏదో ఒక రూపంలో ఇస్తుంది, కానీ కొన్ని రూపంలో కాదు. + కాబట్టి, టైప్ (టైప్) ఐడి (ఎ) .పేరు రకం (రకం) పేరును ఇస్తుంది. + అదేవిధంగా, నేను టైప్ చేస్తే (టైప్) ఐడి (& ఎ) .పేరు అప్పుడు అది ఆ రకం పేరును ఇస్తుంది. + కాబట్టి, నేను ఇలా చేస్తే అది క్లాస్ A ని ప్రింట్ చేస్తుంది, ఈ క్లాస్ A కోసం, ఇది క్లాస్ A * ను ప్రింట్ చేస్తుంది, కాబట్టి ఇది ప్రాథమికంగా టైప్ చేసిన అవుట్పుట్. + నేను ఈ పాయింటర్‌ను ఈ చిరునామాకు తరలించి, పాయింటర్ లేదా పాయింట్ ఆబ్జెక్ట్‌ను ప్రింట్ చేస్తే, నాకు A * వస్తుంది, నాకు ఒక పరిధి వస్తుంది + ఆసక్తికరంగా ఏమీ లేనందున సాధారణ సమస్య కాదు, ఇది కేవలం ఆబ్జెక్ట్ రకం మరియు పాయింటర్ రకాన్ని తీసుకుంటుంది; పాయింటర్ రకం మరియు ఆబ్జెక్ట్ రకం. + మిమ్మల్ని ఆబ్జెక్ట్ బిగా భావించండి, మీరు అదే పని చేస్తారు, ఆబ్జెక్ట్ మీద టైప్ చేసి ప్రింట్ చేసి దానిపై టైప్ చేయండి చిరునామా, మీకు క్లాస్ బి మరియు క్లాస్ బి * లభిస్తాయి. + ఆసక్తికరమైన విషయం ఇక్కడ నుండి మొదలవుతుంది, మీరు B నుండి p వరకు చిరునామాను ఇస్తారు. + p రకం A. + మళ్ళీ ఈ నియామకంలో, నాకు అప్-కాస్ట్ ఉంది ఎందుకంటే p రకం A రకం, మరియు ఇది రకం B చిరునామా. + మీకు కాస్ట్-అప్ ఉంది. + కాబట్టి, మీరు A ఆబ్జెక్ట్ పాయింటర్ ఉపయోగించి B వస్తువును పట్టుకుంటున్నారు. + ఇప్పుడు p అని టైప్ చేయడానికి ప్రయత్నించండి, టైప్ చేసిన p అనేది స్థిరమైన రకం, ఇది A *, ఎందుకంటే ఇది టైప్ ఎ. + టైపిడ్ స్టార్ పి అనేది ఒక రకమైన స్టార్ పి యొక్క డైనమిక్ రకం, ఇది క్లాస్ పిని సూచించే ఏ రకమైన వస్తువు. + కాబట్టి, టైప్ ఐడి డైనమిక్ టైప్ ఆపరేటర్. + దాని డైనమిక్ రకం ఏమిటో ఇది మీకు చెబుతుంది. + కాబట్టి, ఇంతకుముందు మీరు p ఒక వస్తువును సూచించేటప్పుడు ఇలా చేసారు, మీకు తరగతి A వచ్చింది. + ఇప్పుడు మీరు ఇక్కడ చేసే రకం B వస్తువును సూచిస్తుంది, మీకు తరగతి B వస్తుంది. + మీరు సూచనతో చేసే పనిని మీరు చేయవచ్చు, మీకు A నుండి సూచన ఉంది మరియు మీకు A రకం నుండి ఆబ్జెక్ట్ B వరకు మరొక సూచన ఉంది. + మీరు దీనిని చూడండి, ఇది A రకం నుండి ఆబ్జెక్ట్ A వరకు సూచన. + A టైప్ చేయడానికి మరొక సూచన, మీరు ఆబ్జెక్ట్ కోసం R1 ను ప్రింట్ చేస్తే, అది క్లాస్ A. + ; మీరు r2 యొక్క టైపిడ్‌ను ప్రింట్ చేస్తే, అది చదరపు b. + ఎందుకంటే ఒక రిఫరెన్స్ ఉంది, కానీ రిఫరెన్స్ రకం, కానీ అది టైప్ చేసేది (రకం) ఏమి చేస్తుంది, అది తిరిగి వస్తుంది, ఇది మీకు సూచించే వస్తువు రకాన్ని B రకం అని ఇస్తుంది. + కాబట్టి, ఇది ప్రాథమిక టైప్ చేసిన ఆపరేటర్. + కొన్ని సందర్భాల్లో, మీరు ఈ ఆపరేటర్‌ను ఉపయోగించవచ్చు, వీటిని మీరు నిజంగా పోల్చవచ్చు + జాగ్రత్త ఈ స్ట్రింగ్‌ను చాలా కఠినంగా తీసుకోదు, ఎందుకంటే నా కంపైలర్ ఈ తరగతిని A అని పిలుస్తుందని కంపైలర్ హామీ ఇవ్వదు, మీ కంపైలర్ దీన్ని చాలా భిన్నమైన రూపంలో వ్రాయవచ్చు, బహుశా వేరే సందర్భంలో లేదా సంజ్ఞామానం మరేదైనా వ్రాయవచ్చు. + కాబట్టి, ఈ పేర్లను చాలా కఠినంగా తీసుకోకండి, మీరు చేయవలసింది టైప్ ఇన్ఫర్మేషన్ క్లాస్‌ని అందించే సమానత్వం మరియు అసమానత ఆపరేటర్‌ను ఉపయోగించడం, తద్వారా రెండు వస్తువులు ఒకే రకానికి చెందినవి కావా అని మీరు తనిఖీ చేయవచ్చు లేదా అవి వేర్వేరు రకాలు . + కాబట్టి, ఇది మీ వర్కౌట్ల కోసం, ఇది పాలిమార్ఫిక్ సోపానక్రమంలో మా సిబ్బంది జీతం దరఖాస్తు. + నేను పాయింటర్ రకం మరియు పాయింట్ ఆబ్జెక్ట్ టైప్ చేయడానికి మాత్రమే ప్రయత్నించాను. + కాబట్టి, పాయింటర్లు ఎల్లప్పుడూ ఇంజనీరింగ్ నక్షత్రాలు అని మీరు చెప్పవచ్చు ఎందుకంటే మా అసలు శ్రేణి ఇంజనీరింగ్ నక్షత్రాలు, కానీ మేము ఎత్తి చూపినట్లుగా చూపిన వస్తువులు వివిధ రకాలు. + మీరు దీన్ని మళ్ళీ చదవవచ్చు మరియు బాగా అర్థం చేసుకోవచ్చు. + మార్పు కోసం, మీరు పాలిమార్ఫిక్ రకాలు లేని ఒక కేసును పరిశీలిస్తే, మళ్ళీ నాకు సోపానక్రమం ఉంది, కాని ఒకే తేడా ఏమిటంటే వర్చువల్ లేదు అనే అర్థంలో పాలిమార్ఫిక్ కానిది దానిలో పనిచేయదు. + కాబట్టి, ఫలితం ఏమిటి? ఫలితం ఏమిటంటే, వర్చువల్ ఫంక్షన్ లేకపోతే, వస్తువులకు పట్టికకు వర్చువల్ ఫంక్షన్ పాయింటర్ ఉండదు. + కాబట్టి, ఆ వస్తువు సరిగ్గా ఎక్కడ నుండి వచ్చిందో వారు చెప్పలేరు. + కాబట్టి, మేము దానిని ఇక్కడ ప్రదర్శించవచ్చు. + కాబట్టి, మేము వస్తువును చూస్తాము మరియు ఇది x, క్లాస్ x * అని తెలుసు. + మళ్ళీ, ఒక పాయింటర్ ద్వారా మనం ఒక పాయింటర్ క్లాస్ x, మరొక వస్తువు y క్లాస్ y, y * ను సెట్ చేసాము. + ఇప్పుడు, మీరు ఈ కక్ష్యలో x, x స్టార్ అని పిలుస్తారు. + కాబట్టి, ప్రాథమికంగా మీకు ప్రత్యేకమైన డైనమిక్ ఆబ్జెక్ట్ ఉందని మీరు ఇకపై ట్రాక్ చేయలేరు, అది అక్కడే ఉంటుంది ఎందుకంటే మీకు లభించేది స్టాటిక్ సమాచారం. + కాబట్టి, మీరు సూచనలు చేస్తే ఇలాంటిదే. + అందువల్ల, సోపానక్రమం పాలిమార్ఫిక్ కానిది అయితే, టైప్ చేసిన విధానం పనిచేయదు. + మీరు దీన్ని ప్రయత్నించగల కొన్ని ఇతర సందర్భాలు ఉన్నాయి, ఉదాహరణకు, మళ్ళీ ఇది పాలిమార్ఫిక్ సోపానక్రమం; నేను ఆసక్తికరమైనదాన్ని వివరిస్తాను. + అందువల్ల, నేను బేస్ రకం యొక్క క్రొత్త వస్తువును సృష్టించాను. + నేను టైప్ చేసాను, ఇవి రెండు అవుట్‌పుట్‌లు, మరియు ఇది మంచిది, కొత్తది ఏమీ లేదు. + నేను PA ద్వారా ఈ వస్తువును తీసివేసాను, కనుక ఇది ఉనికిలో లేదు. + సో, ఫలితంగా ఏమిటి? ఫలితం ఏ వర్చువల్ ఫంక్షన్లు అప్పుడు ఆబ్జెక్ట్లు ఒక వర్చ్యువల్ ఫంక్షన్ పాయింటర్ పట్టిక లేదు. + నేను * pa అని టైప్ చేయడానికి ప్రయత్నించాను; ఉల్లంఘన ఆర్టీటీఐ డేటా కాదని నాకు సందేశం వచ్చింది. + సాధారణంగా చూడండి, మీరు ఆశించేది ఏమిటంటే, మేము దీన్ని చేయడానికి ప్రయత్నిస్తే, ఈ వ్యవస్థ క్రాష్ అవుతుంది, కానీ ఇక్కడ మీరు చేయరు. + ఇది మీకు కొన్ని చెడు టైప్ చేసిన మినహాయింపులను ఇస్తుంది. + మీరు కనుగొనలేని దేనికోసం టైపిడ్‌ను కనుగొనడానికి ప్రయత్నిస్తున్నారని ఇది మీకు తెలియజేస్తుంది మరియు ఆ చెడు టైపిడ్‌లో కొంత సందేశం ఉంది. + కాబట్టి, మీరు దీన్ని నిజంగా పాలిమార్ఫిక్ సోపానక్రమంలో ఉపయోగించగలిగితే, సూచిక వేలాడుతుందా లేదా అది చెల్లుబాటు అయ్యే వస్తువును సూచిస్తుందో లేదో తెలుసుకోవడానికి మీరు దీన్ని ఉపయోగించవచ్చు. + కాబట్టి, ఇది మీకు అనేక ఇతర అదనపు ప్రయోజనాలను కూడా ఇస్తుంది. చివరగా నేను ఈ పాయింటర్‌ను మాత్రమే డిసేబుల్ చేస్తాను. + నేను pa ను 0 గా చేసాను; ఇది 0 కి కేటాయించబడింది. + అప్పుడు ఇది స్టాటిక్ రకం అని తెలుసుకోవడానికి ప్రయత్నించాను. + నేను * PA చేయడానికి ప్రయత్నించాను, నాకు ఒక మినహాయింపు వచ్చింది, ఇది ఒక రకమైన శూన్య పాయింటర్. + కాబట్టి, పాలిమార్ఫిక్ సోపానక్రమంలో టైప్ చేసిన రకం అసలు డైనమిక్ రకం ఏమిటో, వస్తువు యొక్క వాస్తవ డైనమిక్ స్థితి ఏమిటో మీకు ఎల్లప్పుడూ తెలియజేస్తుంది. + వాస్తవానికి, మీ ప్రోగ్రామ్ సందర్భంలో టైప్ చేసిన ఆపరేటర్‌ను చాలా తరచుగా ఉపయోగించమని నేను మీకు సలహా ఇవ్వను అని అర్ధం, ఇది వర్చువల్ ఫంక్షన్ టేబుల్స్ మరియు అన్ని ఇతర సమాచారాన్ని ఉపయోగిస్తున్నందున. ఇది ఉపయోగించాలి. + RTTI - టైమ్ టైప్ ఇన్ఫర్మేషన్ అని కూడా పిలుస్తారు, ఇది వర్చువల్ ఫంక్షన్ టేబుల్స్ ఎక్కడ ఉన్నాయో మరియు వాటి చిరునామాలు ఏమిటో క్రమం తప్పకుండా ట్రాక్ చేయాలి. + అందువల్ల, సాధారణంగా లెక్కించడానికి చాలా సమయం పడుతుంది. + అందువల్ల, డైనమిక్ కాస్టింగ్ లేదా కోర్సు టైప్ చేసిన ఆపరేటర్లను ఉపయోగించడం కంటే చాలా సమర్థవంతంగా పనిచేసే వర్చువల్ పనులను నిర్వహించడం చాలా మంచిది. + కానీ మీరు వాటిని మీ ఆయుధశాలలో ఉంచుతారు, తద్వారా మీరు ఎప్పుడు, ఎప్పుడు గరిష్ట స్థితిలో ఉన్నప్పుడు మీరు వాటిని ఉపయోగించుకోవచ్చు మరియు దాని నుండి మంచి ప్రయోజనం పొందవచ్చు. + సంక్షిప్తంగా, ఈ మాడ్యూల్‌లో రన్ సమయంలో కాస్టింగ్ అర్థం చేసుకున్నాము. + మరియు మేము డైనమిక్ కాస్టింగ్ యొక్క అధ్యయనాన్ని తుది రకం కాస్ట్ ఆపరేటర్‌గా ప్రారంభించాము మరియు దానితో కనెక్ట్ అయ్యాము. + RTTI సమక్షంలో, టైపిడ్ ఆపరేటర్ వాస్తవానికి పాయింటర్ యొక్క డైనమిక్ రకాన్ని ఒక వస్తువుగా గుర్తించగలడని మరియు అది పాలిమార్ఫిక్ సోపానక్రమంలో ఉంటే మనం చూశాము. + కాబట్టి, ఈ మాడ్యూల్‌తో, సి ++ లో టైప్ కాస్టింగ్ మరియు కాస్ట్ ఆపరేటర్లపై మా చర్చను ముగించాము. + మీ తారాగణం అవసరాలు ఏవైనా తారాగణం, స్టాటిక్ తారాగణం, పునర్నిర్మాణ తారాగణం మరియు డైనమిక్ తారాగణం యొక్క నాలుగు ఆపరేటర్లు అని మేము చూపించాము. పరిష్కరించడానికి సరిపోతాయి. + మరియు దీనితో మీరు తక్కువతో ఎక్కువ చేయాలి; వాస్తవానికి మీ కోడ్‌లోని సి స్టైల్ కాస్టింగ్ యొక్క ఉపయోగాన్ని పూర్తిగా తొలగించమని నేను మీకు సలహా ఇస్తాను, ఈ కాస్టింగ్‌పై ఆధారపడండి. + ప్రధానంగా, మీరు పాలిమార్ఫిక్ సోపానక్రమంలో ఉన్నప్పుడు, స్టాటిక్ కాస్టింగ్ మరియు తారాగణం కాస్ట్ ఆపరేటర్ మరియు డైనమిక్ కాస్టింగ్‌పై ఆధారపడతాయి. + diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/48 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - II (Lecture 34)-JPtXZblI1sg.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/48 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - II (Lecture 34)-JPtXZblI1sg.txt index 95872f6cc380e1a8b394187b8a8987756aebe09b..929d8e79a7f7924516609b85f0b439a0f60d174d 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/48 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - II (Lecture 34)-JPtXZblI1sg.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/48 ProgramminginCplusplus_Overloading Operator for User Defined TypesPart - II (Lecture 34)-JPtXZblI1sg.txt @@ -1,144 +1,144 @@ - 1. ప్రోగ్రామింగ్ ఇన్ సి ++ లో మాడ్యూల్ 19 కు స్వాగతం. - 2. అన్ని యూజర్ డెఫైన్డ్ టైప్స్ కోసం ఓవర్లోడింగ్ ఆపరేటర్ గురించి చివరి మాడ్యూల్ నుండి మనము చర్చించాము. - 3. ఆపరేటర్ ఓవర్లోడింగ్ అనేది ఒక నిర్దిష్ట complete types ను ఎక్స్ప్రెషన్ రాయడం మరియు వివిధ రకాలైన ఆల్జీబరా క్రియేట్ చేయగల అవకాశాలను సృష్టించడం ఎందుకు ముఖ్యమని మనము చూశాము. - 4. గ్లోబల్ ఫంక్షన్లు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్లు ఎలా ఓవర్లోడ్ అవుతున్నారో మేము చూశాము. - 5. ఈ మాడ్యూల్‌లో మేము దీన్ని మరింత ముందుకు తీసుకువెళతాము, గ్లోబల్ మరియు గ్లోబల్ ఫంక్షన్స్ మరియు మెంబర్ ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ ఓవర్‌లోడింగ్ పరంగా మేము ప్రతిపాదించిన వాటిని చూస్తాము., ఆపరేటర్ ఓవర్‌లోడింగ్‌లో కొన్ని సమస్యలు కూడా ఉన్నాయి మరియు ఫ్రెండ్ ఎలా పనిచేస్తుందో చూపిస్తాము ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి సరిగ్గా ఉపయోగించవచ్చు. - 6. అందువల్ల, మేము ఆపరేటర్ ఓవర్‌లోడింగ్ సమస్యల గురించి మాట్లాడుతాము మరియు తరువాత, ఆపరేటర్ '+' విస్తరించడం గురించి మరియు IO ఆపరేటర్ల గురించి ఈ సెట్టింగుల గురించి చర్చిస్తాము.మీ స్లైడ్‌ల ఎడమ వైపున మీకు తెలిసినట్లుగా అందుబాటులో ఉంటుంది. - 7. మునుపటి మాడ్యూల్ నుండి శీఘ్ర పునరావృతం, ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి మూడు మార్గాలు ఉన్నాయి, ఇవి బైనరీ కోసం ఉండలేని వేర్వేరు ఆపరేటర్ ఫంక్షన్లు, ఇవి యునిరి కోసం ఆపరేటర్ ఫంక్షన్లు ఉన్నాయి మరియు ఇవి వాస్తవానికి వేర్వేరు పద్ధతులు. - 8. ఫంక్షన్ ఎలా వర్తిస్తుందో మేము వ్రాసే వ్యక్తీకరణ ఆధారంగా. - 9. మేము దీనిని చూశాము. - 10. ఇప్పుడు, పొడిగింపు లేదా డిజైన్ గురించి మాట్లాడుకుందాం. - 11. సంక్లిష్ట తరగతి ఆలోచనకు తిరిగి వెళ్దాం. - 12. రెండు సంక్లిష్ట సంఖ్యలను జోడించడానికి ఆపరేటర్ '+' ను ఎలా ఓవర్లోడ్ చేయాలో నేర్చుకున్నాము, తద్వారా మనం దీన్ని చేయగలము, d1 మరియు d2 మేము జోడించగల రెండు సంక్లిష్ట సంఖ్యలు. మనం గ్లోబల్ అని చూశాము సంఖ్యను ఉపయోగించి ఒక ఫంక్షన్ ఎలా వ్రాయాలి సంఖ్య ఫంక్షన్ గా. - 13. మీరు ఇప్పుడు ఏమి చేయాలనుకుంటున్నారు? మేము ఈ ఆపరేటర్ యొక్క శక్తిని విస్తరించాలనుకుంటున్నాము, ఇది చాలా సార్లు నేను సంక్లిష్ట సంఖ్యతో నిజమైన సంఖ్యను జోడించాలనుకుంటున్నాను. - 14. వాస్తవ సంఖ్యను సున్నా inary హాత్మక భాగాలతో సంక్లిష్ట సంఖ్యగా భావించవచ్చు. - 15. కాబట్టి, నేను ఈ ఆపరేటర్‌ను విస్తరించగలనా, నేను కూడా ఇలాంటి వ్యక్తీకరణలను వ్రాయగలను, ఇక్కడ D1 ఒక సంక్లిష్ట విలువ, ఇక్కడ నేను జోడించదలిచిన నిజమైన విలువ లేదా, నిబద్ధత రూపంలో అసలు విలువ 4.2 మరియు నేను సంక్లిష్ట సంఖ్య d 2 ను జోడించాలనుకుంటున్నాను. - 16. నా ఆపరేటర్ '+' డిజైన్ దీన్ని జాగ్రత్తగా చూసుకోగలదా? అది చేయగలిగితే, నా అదనపు ఆపరేటర్‌కు మంచి విలువ ఉంది. - 17. గ్లోబల్ (ఫంక్షన్) మరియు సభ్యుడు (ఫంక్షన్) ఫంక్షన్లతో ఈ పొడిగింపు చేయడంలో ఉన్న ఇబ్బందులు ఏమిటో మరియు ఈ పరిష్కారంలో ఒక స్నేహితుడు (ఫంక్షన్) ఎలా సహాయపడుతుందో చూపించడానికి మేము ప్రయత్నిస్తాము. - 18. అప్పుడు మేము ఓవర్లోడ్ (IO) ఆపరేటర్లకు రెండవ సమస్యను కూడా లేవనెత్తుతాము. - 19. సంక్లిష్ట తరగతిని మళ్ళీ పరిగణించండి మరియు ఉదాహరణకు, నేను డబుల్ టైప్ అని చెప్పే సందర్భానికి సమాంతరంగా వ్రాస్తే, నాకు టైప్ డబుల్ వేరియబుల్ ఉంటే, అప్పుడు నేను ఈ ఆపరేటర్లను ఉపయోగించి కోట్ చేస్తాను - 20. మా ఉద్దేశ్యం సంక్లిష్ట రకాలు కూడా. నేను ఇలాంటి రకమైన వ్యక్తీకరణను చేయగలగాలి. నేను ఇదే రకమైన వ్యక్తీకరణ మరియు కార్యాచరణను వ్రాయగలగాలి మరియు ప్రాథమికంగా దీని అర్థం ఇన్పుట్ ఆపరేటర్లను కలిగి ఉన్న ఆపరేటర్లు మరియు అవుట్‌పుట్‌లు ఆపరేటర్లు నేను వాటిని ఓవర్‌లోడ్ చేయగలగాలి. - 21. ఈ విషయంలో, నేను సిన్ ఉపయోగిస్తుంటే నేను IO చేసేటప్పుడు, వాస్తవానికి, స్ట్రీమ్ ఆబ్జెక్ట్ అయినప్పుడు నేను స్ట్రీమ్ ఆబ్జెక్ట్ (ఇన్పుట్) అని గమనించడం మంచిది, అది నిజానికి స్ట్రీమ్ ఆబ్జెక్ట్ లేదా స్ట్రీమ్ ఆబ్జెక్ట్ . - 22. మేము వాస్తవానికి ఈ ఆపరేటర్లను రూపకల్పన చేయాలి, తద్వారా ఈ స్ట్రీమ్ రకాన్ని మన డిజైన్‌లో తగిన విధంగా ఓవర్‌లోడ్ చేయవచ్చు (ఉంచడం). - 23. అటువంటి సందర్భాల్లో ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం గ్లోబల్ మరియు మెంబర్ ఫంక్షన్ సొల్యూషన్స్ ఎందుకు విఫలమవుతాయో మరియు స్నేహితుడు ఎలా సహాయపడతాడో మేము ఈ మాడ్యూల్‌లో మళ్ళీ చూపిస్తాము. - 24. కాబట్టి, ఆపరేటర్ ప్లస్ తో విస్తరించడానికి తరలించడం ద్వారా ప్రారంభించండి; మొదట చెప్పండి, మనం ఏమి చేయాలనుకుంటున్నామో నేను వివరంగా వివరించాలనుకుంటే, మేము ఈ కోడ్‌ను చూడాలనుకుంటున్నాము, మేము ఈ రెండు పంక్తులను జోడించడానికి ప్రయత్నిస్తున్నాము. - 25. మనకు ఇప్పటికే ఉన్నది ఏమిటంటే, రెండు సంక్లిష్ట సంఖ్యలను జోడించడానికి మాకు తెలుసు. - 26. మేము కాంప్లెక్స్‌తో నిజమైనదాన్ని జోడించాలనుకుంటున్నాము. - 27. మేము ఈ గ్లోబల్ ఫంక్షన్ చేస్తున్నాము, కాబట్టి ఈ ఓవర్లోడ్ అనేది మనం ఇంతకుముందు చూసిన ఒక ఫంక్షన్, ఇది రెండు సంక్లిష్ట సంఖ్యలను తీసుకుంటుంది మరియు ఒకే భాగాన్ని వారీగా జోడిస్తుంది మరియు దాని ఫలితంగా కొత్త సంక్లిష్ట సంఖ్యను అందిస్తుంది. - 28. ఇప్పుడు, మేము దీన్ని చేయాలనుకుంటే, ఇక్కడ మొదటి ఒపెరాండ్ సంక్లిష్ట సంఖ్య మరియు కుడి ఒపెరాండ్ నిజమైన సంఖ్య, అప్పుడు మేము ఒక ఆపరేటర్ డిజైన్, దీనిలో ఒక జత పారామితులు ఉన్నాయి, ఇది మొదట సంక్లిష్టమైనది మరియు రెండవది డబుల్. - 29. ఇది 6.2 గా రెట్టింపు అవుతుంది, ఇది వెళ్తుంది మరియు ఇది నా ఓవర్లోడ్ (రెండు), ఇది ఇంకొకటి. - 30. ఎందుకంటే మనకు కావలసినంతవరకు, మనకు లభించే ఓవర్లోడ్ (రిజల్యూషన్) C ++ గురించి, మనం చాలా కాలం క్రితం చర్చించిన ఈ ఓవర్లోడ్లు. (ఓవర్లోడ్లు). - 31. ఈ ప్రత్యేకమైన సంస్కరణను తీసుకుంటే, ఓవర్‌లోడ్ (2) భర్తీ చేయబడుతుందని మేము ఆశిస్తున్నాము. - 32. అదేవిధంగా, చివరి పరామితి మొదటి వాదన అయితే, ఎడమ వాదన రెట్టింపు అయితే, మూడవ వాదన ఓవర్లోడ్ సంస్కరణను అమలు చేయడానికి రావాలి. - 33. ఇందులో మనం ఏమి చేయాలి? మేము ఈ వాస్తవ సంఖ్యను తీసుకొని, సున్నా యొక్క inary హాత్మక భాగం అయిన ఆ వాస్తవ సంఖ్య నుండి తాత్కాలిక సంక్లిష్ట సంఖ్యను నిర్మిస్తున్న ఒక నమూనా గురించి మాట్లాడుతాము మరియు మీరు ఆ సంక్లిష్ట నిర్మాణకర్తను సూచించవచ్చు, ఇది ఎలా జరుగుతుందో మీరు చూడగలరు . - 34. అప్పుడు మన దగ్గర ఉన్న ఆపరేటర్‌ని ఉపయోగిస్తాము, ఇప్పుడు మనకు రెండు సంక్లిష్ట సంఖ్యలు ఉన్నాయి కాబట్టి మనం ఇప్పటికే ఓవర్‌లోడ్ (1) లో దరఖాస్తు చేసుకున్న ఆపరేటర్‌ను ఉపయోగిస్తాము కాబట్టి వాటిని కనెక్ట్ చేయవచ్చు. - 35. కాబట్టి ఆపరేటర్ ఓవర్లోడ్ (ఓవర్లోడ్) సంస్కరణలు 2 మరియు 3 ప్రాథమికంగా డబుల్ లాజిక్ తో మనం సంక్లిష్టమైన ఆర్గ్యుమెంట్ ను సరిగ్గా నిర్మించాము మరియు ఓవర్లోడ్ (ఓవర్లోడ్) 1 అని పిలుస్తాము. - 36. ఖచ్చితంగా ఈ సమస్య పరిష్కరించబడింది. మూడు వేర్వేరు ఓవర్‌లోడింగ్ మొత్తం సమస్యను పరిష్కరిస్తుంది, కాని మనం గ్లోబల్ ఫంక్షన్‌ను ఉపయోగిస్తున్నందున మనం ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేయాల్సి ఉందని మాకు తెలుసు. అన్నీ ప్రత్యేకతలు మరియు చాలా మంచి ప్రతిపాదన కాదు. - 37. అందువల్ల, మేము తరువాత ఏమి చేస్తాము, మేము సభ్యుల ఫంక్షన్‌ను ఉపయోగించడానికి ప్రయత్నిస్తాము.+ - 38. ఇప్పుడు మనం ఎన్‌క్యాప్సులేషన్‌కు తిరిగి వెళ్తాము, ఇప్పుడు అవన్నీ ప్రైవేట్‌గా ఉన్నాయి.+ - 39. ఆపరేటర్ యొక్క ఓవర్లోడ్ ఫంక్షన్ల కోసం ఇప్పుడు మేము ఇక్కడకు వచ్చాము, ఓవర్లోడ్ ఒకటి ఇక్కడ ఉంది, వేరు చేయబడిన ఏకైక విషయం వలె ఇప్పుడు ఈ ఫంక్షన్ ఒక వాదనగా, కుడి వైపు మాత్రమే పనిచేస్తుంది మరియు పారామితిగా, ఎడమవైపు హ్యాండ్ ఒపెరాండ్ ఈ ఫంక్షన్ కోసం ఒక వస్తువు. - 40. మేము రెండు సంక్లిష్ట సంఖ్యలను కలిపే ఈ ప్రత్యేక కేసు గురించి మాట్లాడితే, అది ఈ ఓవర్‌లోడ్ (ఓవర్‌లోడ్) 1 ను అమలు చేస్తుందని మేము ముందే చూశాము. - 41. అదేవిధంగా, వాదన ఒకే సంఖ్య అయిన సందర్భంలో ఎడమ చేతి ఒపెరాండ్‌లోని సంక్లిష్ట సంఖ్య ఒక వస్తువు కాబట్టి, ఈ సందర్భంలో ఇది ఈ ఓవర్‌లోడ్ (ఓవర్‌లోడ్) 2 ను అమలు చేస్తుంది, అది మంచిది. - 42. సమస్య ఈ మూడవ రూపంతో ప్రారంభమవుతుంది. - 43. మూడవ రూపంలో మీరు రెండు సమస్యలు ఉన్నాయని చూడవచ్చు; ఖచ్చితంగా రెండు ఒపెరాండ్‌లు ఉన్నాయి మరియు వాటిలో ఒకటి ఆబ్జెక్ట్ మరియు మరొకటి మీరు ప్రారంభించే సభ్యుల ఫంక్షన్‌కు పరామితి. - 44. కాబట్టి ఫలిత సమస్య ఏమిటంటే, నేను దీన్ని 4.2 ప్లస్ డి 2 కోసం చేయవలసి వస్తే, సభ్యుల ఫంక్షన్ (ఫంక్షన్) తప్పనిసరిగా 4.2 స్క్వేర్‌కు చెందినది, ఎందుకంటే ఇది ఎడమ చేతి ఆపరేషన్, ఇక్కడ ఆహ్వానం జరుగుతుంది. - 45. ఇప్పుడు 4.2 ద్వంద్వ రకానికి చెందినది, ఇది అంతర్నిర్మిత రకం మరియు సహజంగానే అంతర్నిర్మిత రకంలో ఇతర ఆపరేటర్ లేదా ఓవర్‌లోడ్ ఆపరేటర్లను జోడించడానికి నాకు ఎంపిక లేదు. - 46. కాబట్టి దీని కోసం నేను నిజంగా వ్రాయడానికి మార్గం లేదు, నా ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి నేను సభ్యుల ఫంక్షన్లను ఉపయోగిస్తుంటే మేము మద్దతు ఇవ్వలేము, తద్వారా సభ్యులు సభ్యుల ఫంక్షన్లతో ఓవర్లోడింగ్ ఉపయోగించటానికి పరిమితి ఉంది ఎందుకంటే మేము మద్దతు ఇవ్వగలిగే కొన్ని సెమాంటిక్స్ 1 మరియు 2 ఓవర్లోడ్లు మాత్రమే ఉన్నాయి, కాని ఓవర్లోడ్ (ఓవర్లోడ్) 3 ఇప్పటికీ విఫలమవుతుంది, ఎందుకంటే మేము దీనికి తగిన ఫంక్షన్ రాయలేము. - 47. కాబట్టి ఇష్యూగా మనం చెబుతున్నదానికి ఇది ప్రాథమిక కష్టం. - 48. కాబట్టి పరిష్కారం చాలా సులభం మరియు సొగసైనది.మేము ఇప్పటికే ఫ్రెండ్ ఫంక్షన్ గురించి లోతుగా చర్చించాము. - 49. కాబట్టి మనం ఏమి చేసినా, గ్లోబల్ ఫంక్షన్ యొక్క పరిష్కారానికి తిరిగి వెళ్తాము, ఇది సరైన పరిష్కారం, కానీ ఒకే తేడా ఏమిటంటే ఎన్కప్సులేషన్ బహిర్గతం కావాలి. - 50. ఫ్రెండ్ ఫంక్షన్ వాస్తవానికి తరగతి గది లోపల చూడగలదని మాకు తెలుసు, కాబట్టి మనం ఏమి చేయాలి? మేము ఆ పరిష్కారానికి తిరిగి వెళ్లి, ప్రాథమికంగా డేటా సభ్యులను మనకు కావలసినంత ప్రైవేట్‌గా చేస్తాము - 51. కానీ క్లాస్‌లో ఫ్రెండ్ ఫంక్షన్ పరిధిలో అన్ని గ్లోబల్ ఫంక్షన్‌లను తీసుకోండి. - 52. అదే సంతకం స్నేహితుడు (స్నేహితుడు) తో ఉపసర్గతో గ్లోబల్ ఫంక్షన్‌ను కలిగి ఉంటుంది మరియు తరగతి పరిధిలో ఉంచబడుతుంది మరియు తరువాత మేము వాటిని అమలు చేస్తాము. - 53. వారు గ్లోబల్ ఫంక్షన్ల వలె మాత్రమే ప్రవర్తిస్తారు, కాని స్నేహితులు కావడం వల్ల వారు నేరుగా ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయవచ్చు, కాబట్టి ఇక్కడ, మనకు ఇప్పుడు ఈ ప్రత్యేక ఫంక్షన్ ఉంటే. - 54. ఇప్పుడు దీనిని ఓవర్లోడ్ 2 అని పిలుస్తారు, ఇక్కడ రెండవ ఆర్గ్యుమెంట్ డబుల్ మరియు ఓవర్లోడ్ 3 కూడా సాధ్యమవుతుంది, ఇక్కడ మొదటి ఆర్గ్యుమెంట్ డబుల్ మరియు దాని ఆధారంగా, ఇది పరిష్కరిస్తుంది మరియు ఇప్పుడు ఇది ఫ్రెండ్ ఫంక్షన్ (ఫ్రెండ్ ఫంక్షన్) కాబట్టి, దీన్ని యాక్సెస్ చేయవచ్చు అంతర్గత సంక్లిష్ట తరగతి మరియు పారామితులు మళ్ళీ మరియు ప్రైవేట్ సభ్యులు అయినప్పటికీ వాటిని అమలు చేయడం వాస్తవానికి సాధ్యమే. - 55. కాబట్టి మిత్రుడు (స్నేహితుడు) మాకు మొత్తం అవసరానికి చాలా అందమైన పరిష్కారాన్ని ఇస్తాడు మరియు ఇంతకుముందు అవసరమైన ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేయకుండా మనకు అవసరమైనదాన్ని పొందగలుగుతాము. - 56. బస్సు ప్రయాణిస్తున్నప్పుడు నేను ఇక్కడ ఉంచిన ఒక గమనికకు ఒక పాయింటర్‌ను సృష్టించాలనుకుంటున్నాను, ఈ పరిష్కారాలలో చాలావరకు మేము మూడు ఓవర్‌లోడ్‌లను సృష్టించాము, అవి చాలా సారూప్యమైనవి మరియు సంబంధితవి మరియు ఈ రెండు ఓవర్‌లోడ్‌లు (ఓవర్‌లోడ్‌లు) ప్రధానంగా సంబంధిత సంక్లిష్ట సంఖ్య పరంగా రెట్టింపుగా మార్చడానికి మరియు C ++ లోని ఒక లక్షణాన్ని ఇప్పుడు అవ్యక్త కాస్టింగ్ అని పిలుస్తారు, ఇది వినియోగదారుని స్పష్టంగా వ్రాయకుండా ఈ పనిని చేయగలదు. - 57. కాస్టింగ్ గురించి మేము ఇంకా అధ్యయనం చేయలేదు, కాబట్టి మనం మరింత కాంపాక్ట్ పరిష్కారాన్ని కలిగి ఉంటామని చూస్తాము, అక్కడ పనిభారం మాత్రమే మూడు పనులను ఓవర్లోడ్ (ఓవర్లోడ్) లేకుండా చేయగలదు. - 58. ప్రస్తుతం ఇది ప్రసారం కావాలని నేను కోరుకోను, అందువల్ల, నేను కన్స్ట్రక్టర్ ముందు ఒక కీవర్డ్‌ని ఉపయోగించాను, ఇది ప్రాథమికంగా ఈ కంపైలర్‌కు ఈ వస్తువు కోసం ఎటువంటి కాస్టింగ్ చేయవద్దని చెబుతుంది. - 59. కాబట్టి మేము తరువాత ప్రసారం గురించి మాట్లాడేటప్పుడు దీని గురించి మాట్లాడుతాము. - 60. IO ఆపరేటర్ల గురించి మరొక సమస్యపై మాట్లాడుదాం. - 61. మొదట మనం ఏమి చేయటానికి ప్రయత్నిస్తున్నామో దాని సమస్యను అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం, రెండు సంక్లిష్టమైన వస్తువులు ఉన్నాయి మరియు నేను దానిని వ్రాయాలనుకుంటున్నాను, అది ప్రాథమిక విషయం, నేను దానిని ఉపయోగించాలనుకుంటున్నాను మరియు వాటిని వ్రాయాలనుకుంటున్నాను. - 62. ఈ ఆపరేటర్లు వర్తించే క్రమం ఎడమ నుండి కుడికి ఉందని మనం అర్థం చేసుకుందాం, కాబట్టి ఇది ప్రాథమికంగా నేను వ్రాసేటప్పుడు అర్థం. - 63. ఇది ఆపరేటర్, అవుట్పుట్ ఆపరేటర్ బైనరీ ఒకటి, మరియు దీనికి రెండు ఒపెరాండ్లు పడుతుంది; మీరు దీనిని పరిశీలిస్తే, ఎడమ చేతి వైపు ఆపరేషన్ ఒక కటాఫ్ వస్తువు మరియు కుడి చేతి వైపు ఆపరేషన్ D1 వస్తువు. - 64. కాబట్టి ఈ ఆపరేటర్ నా సంతకంలో ఎలా కనిపించాలో నేను చెప్పగలను, మొదటి ఒపెరాండ్ రకం O స్ట్రీమ్ లాగా ఉంటుంది, ఎందుకంటే కౌట్ రకం O స్ట్రీమ్ యొక్క వస్తువు. - 65. ఇక్కడ రెండవ ఒపెరాండ్ సంక్లిష్ట రకానికి చెందినది ఎందుకంటే D1 సంక్లిష్ట రకానికి చెందిన వస్తువు. - 66. ఆపరేటర్ యొక్క కావలసిన ఉపయోగానికి సరిపోయే సంతకాలతో మీరు ఎల్లప్పుడూ పని చేయాలి. - 67. ఇప్పుడు మీరు తిరిగి వచ్చే రకం ఎలా ఉండాలి, ఏది తిరిగి ఇవ్వాలి, అది కేవలం సున్నాగా ఉండాలా అనే ప్రశ్న మీకు మిగిలి ఉంది. లేదు, అది సున్నా అయితే కష్టం ఏమిటంటే మనం దానిని వ్రాయలేము. - 68. ఎందుకంటే మేము అవుట్పుట్ ఆపరేటర్‌ను మార్చినట్లయితే, మేము మొదట దాన్ని అవుట్పుట్ చేస్తాము, అప్పుడు మీరు దాన్ని అవుట్పుట్ చేస్తారు. - 69. ఇప్పుడు, అవుట్పుట్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ గురించి ఆలోచిద్దాం. - 70. ఇది కుడి చేతి ఒపెరాండ్ మరియు మొత్తం కుండలీకరణం ఎడమ చేతి ఆపరేషన్. - 71. కనుక ఇది ఎడమ చేతి వైపు ఆపరేట్ చేయవలసి ఉంటే, కానీ అది ఆపరేటర్ యొక్క మొదటి కాల్‌ను లెక్కించిన ఫలితం. - 72. కాబట్టి, ఆ ఫలితం తప్పనిసరిగా అవుట్పుట్ స్ట్రీమ్ ఆపరేటర్ అయి ఉండాలి. - 73. నేను మార్చాల్సిన అవసరం ఉంటే మరియు ఆపరేటర్ గురించి మేము చర్చించిన విధంగా నేను మిమ్మల్ని తిరిగి పిలవాలనుకుంటున్నాను '=' ఈ ఆపరేటర్ తిరిగి రావడం గురించి మేము అక్కడ ఇదే విధమైన చర్చను కలిగి ఉన్నాము, మీ ఆపరేటర్ ఇన్పుట్లో ఉన్నదానిని బట్టి రకం నిర్ణయించబడుతుంది ఎందుకంటే ఏమైనా మీరు ఇక్కడ వ్రాసినది ఇన్పుట్ వలె అదే ఆపరేటర్ యొక్క తదుపరి కాల్‌కు తిరిగి రాగలగాలి. - 74. కాబట్టి నేను ఈ ఆపరేటర్‌ను గ్లోబల్ ఫంక్షన్‌గా అమలు చేస్తున్నానో లేదో నిర్ధారించుకోవాల్సిన సంతకం ఇది. - 75. వాస్తవానికి, నేను దీన్ని ఆపరేటర్‌గా సభ్యుల ఫంక్షన్‌గా అమలు చేయగలను. - 76. ఇప్పుడు నేను దీన్ని సహజంగా సభ్యుల ఫంక్షన్‌గా అమలు చేస్తే ఇక్కడ రెండు తరగతులు ఉన్నాయి o స్ట్రీమ్ మరియు కాంప్లెక్స్ నాకు సభ్యుల ఫంక్షన్లకు రెండు ఎంపికలు ఉన్నాయి. - 77. ఇది O స్ట్రీమ్ క్లాస్‌లో సభ్యుడిగా ఉన్నది మరియు ఇది సంక్లిష్టంగా ఇన్‌పుట్‌గా తీసుకుంటుంది, లేదా ఇది సంక్లిష్ట తరగతిలో సభ్యుడు మరియు ఇది O స్ట్రీమ్‌ను ఇన్‌పుట్‌గా తీసుకుంటుంది. - 78. అందువల్ల, ఆపరేటర్ ఎలా పని చేస్తుందో చూడటానికి మేము ప్రయత్నించాలి.IO ఆపరేటర్‌ను గ్లోబల్ ఫంక్షన్‌గా ఉపయోగించి ఓవర్‌లోడింగ్‌తో అమలు చేయడానికి ప్రయత్నిద్దాం. - 79. కాబట్టి ఇది ప్రాథమిక ఓవర్‌లోడింగ్. - 80. సంతకం అసలు అవుట్పుట్ పరంగా మనం ఏమి చేయాలో ఇప్పటికే చర్చించాము, మేము ఈ రెండు భాగాలను తీసుకొని వాటిని సంక్లిష్ట సంఖ్య సంజ్ఞామానం కోసం `+ J 'తో ముద్రించాలి మరియు నేను నా అవుట్పుట్ ఆపరేషన్ పొందాలి మరియు నేను నుండి అదే అవుట్పుట్ స్ట్రీమ్ ఆపరేటర్‌ను వ్రాయవలసి ఉంటుంది, కాబట్టి నేను ఇక్కడ పరామితిగా వచ్చినది ఈ ఆపరేటర్ లెక్కింపు యొక్క విలువ. తిరిగి ఇవ్వాలి. - 81. ఈ దృష్ట్యా, నేను ప్రింటింగ్ కోసం సంక్లిష్ట సంఖ్యలను ఉపయోగించాలనుకుంటున్నాను, వాస్తవానికి మనం ఇక్కడ విలువ ఆధారంగా కాల్‌ని ఉపయోగించవచ్చు, కాని దీని అర్థం మనం అనవసరమైన పరామితిని ఉపయోగిస్తున్నామని మరియు ఇది ఒక సమావేశం కనుక మనం అవుట్‌పుట్‌ను ఆశించము ఆపరేటర్ యొక్క విలువను మార్చడానికి, కాబట్టి ఇది స్థిరమైన సూచన పరామితి. - 82. అదేవిధంగా, నేను ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ అయిన స్ట్రీమ్ ఆపరేటర్‌ను వ్రాయగలను. ప్రతిదీ చాలా పోలి ఉంటుంది. ఇప్పుడు ఉన్న తేడా ఏమిటంటే, పరామితిగా వచ్చే సంక్లిష్ట సంఖ్య స్థిరంగా ఉండటానికి, ఎందుకంటే నేను ఇన్‌పుట్ చేస్తున్నాను. - 83. కాబట్టి ఇన్పుట్తో సంక్లిష్ట సంఖ్య మారుతుందని నేను ఆశిస్తున్నాను. - 84. నేను కాంపోనెంట్ వారీగా ఇన్పుట్ చేస్తాను మరియు మిగిలిన చర్చ అదే విధంగా ఉంటుంది. - 85. చివరగా, నేను మొదటి పరామితిగా పొందిన ఇన్పుట్ స్ట్రీమ్ను తిరిగి ఇస్తాను. - 86. మీరు ఇలా చేస్తే, సంక్లిష్ట సంఖ్యకు మనకు చాలా ఎక్కువ ఇన్పుట్ అవుట్‌పుట్‌లు ఉన్నాయి మరియు మేము దానిని వ్రాయగలుగుతాము మరియు ఇది ఏదైనా పూర్ణాంకానికి (పూర్ణాంకానికి) లేదా డబుల్ (డబుల్) రకానికి పని చేస్తుంది. - 87. ఈ పరిష్కారంతో ఉన్న ఏకైక ఇబ్బంది ఏమిటంటే, ఇది ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేస్తుంది, ఎందుకంటే గ్లోబల్ ఫంక్షన్‌తో ఏదైనా ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేస్తుందని మనకు ఇంకా చాలా తెలుసు. - 88. కాబట్టి సభ్యుల ఫంక్షన్ ద్వారా మనం చేయడానికి ప్రయత్నించే అదే దశలను చేద్దాం. - 89. ఇప్పుడు మనం దీన్ని సభ్యుల ఫంక్షన్ ద్వారా చేయాలనుకుంటే, కేసు ఒకటి అని రెండు అవకాశాలు ఉన్నాయని మేము గుర్తించాము, ఆపరేటర్ అవుట్పుట్ O స్ట్రీమ్ క్లాస్ సభ్యుడని చెప్పారు. - 90. కాబట్టి మనకు ఇలాంటి సంతకం ఉంటుంది. - 91. కాబట్టి మనకు ఇలాంటి సంతకం ఉంటుంది. - 92. ఇప్పుడు ఇది సాధ్యం కాదు. - 93. ఇది ఎందుకు సాధ్యం కాదు? O స్ట్రీమ్ నేను వ్రాసిన తరగతి కానందున, O స్ట్రీమ్ అనేది C ++ ప్రామాణిక లైబ్రరీలో భాగంగా అందించబడిన తరగతి మరియు అక్కడ సభ్యులను చేర్చడానికి మాకు అనుమతి లేదు, ఏ తరగతిలోనైనా మేము ఎడిటింగ్ వెర్షన్ కలిగి ఉండాలి అనుమతించబడదు. - 94. కాబట్టి మనం సవరించలేకపోతే, ఇలాంటి కొత్త సభ్యుల ఫంక్షన్‌ను జోడించలేము. - 95. అందువల్ల ఈ అవకాశం తోసిపుచ్చబడింది.+ - 96. నేను మరొక ఎంపికను కలిగి ఉన్నాను, కాంప్లెక్స్ నా క్లాస్ కాబట్టి నేను కాంప్లెక్స్ క్లాస్‌లో సభ్యుల ఫంక్షన్ సందర్భంలో ఆపరేటర్ అవుట్‌పుట్‌ను ఓవర్‌లోడ్ చేయడానికి ప్రయత్నించగలను, కాబట్టి ఇది ఇలా ఉంటుంది, ఎందుకంటే నేను కాంప్లెక్స్‌లో ఓవర్‌లోడ్ అవుతున్నాను కాబట్టి, క్లాస్ నా డిఫాల్ట్ పరామితి ఒక సంక్లిష్టమైన వస్తువు, దీని నుండి నేను O స్ట్రీమ్ ఆపరేటర్ అని పేర్కొనాలి. - 97. కానీ ఇది తీవ్రమైన పరిణామాన్ని కలిగి ఉంది. - 98. ఫలితం ఏమిటంటే, నా మొదటి ఆర్డర్ ఓ స్ట్రీమ్ ఆబ్జెక్ట్ మరియు తరువాత కాంప్లెక్స్ ఆబ్జెక్ట్ ఎడమ కుడి ఆర్డర్, కానీ కాంప్లెక్స్ అది సభ్యుడైన తరగతి కాబట్టి, కాంప్లెక్స్ (కాంప్లెక్స్) ఆబ్జెక్ట్ మరియు ఓ స్ట్రీమ్ ఆబ్జెక్ట్ అవుతుంది ఎందుకంటే ఇది ఇప్పుడు ఒపెరాండ్ యొక్క కుడి వైపుగా మారింది. - 99. కాబట్టి నేను అలాంటి ఆపరేటర్‌తో చేసిన అవుట్‌పుట్ చేస్తే, దానిని ఈ సంజ్ఞామానం d << cout not cout << d అని వ్రాయవలసి ఉంటుంది, ఈ ఆపరేటర్ మనం చేసే విధానం అర్థం చేసుకోవడానికి ఉపయోగిస్తారు. - 100. O స్ట్రీమ్ క్లాస్ లేదా యూజర్ డిఫైన్డ్ రకంలో సభ్యుల ఫంక్షన్‌ను ఉపయోగించి వాస్తవానికి IO ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం సాధ్యం కాదని ఈ చర్చ మీకు తెలియజేస్తుంది. - 101. కాబట్టి మనకు ఇక్కడ చూపించని ఫ్రెండ్ ఫంక్షన్ (ఫ్రెండ్ ఫంక్షన్) ను ఉపయోగించడం మాకు ఒకే ఒక ఎంపిక మాత్రమే. ఎందుకంటే మీ అందరికీ తెలిసినట్లుగా, ఇవన్నీ గ్లోబల్ ఫంక్షన్ మరియు క్లాస్ నుండి ఎక్కువ మరియు వారితో ఉపసర్గ తీసుకోవాలి. - 102. స్నేహితుడు మరియు అతను సమస్యను పరిష్కరిస్తాడు. - 103. నేను మూసివేసే ముందు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం కొన్ని మార్గదర్శకాలతో మిమ్మల్ని వదిలివేయాలనుకుంటున్నాను, ఎందుకంటే గ్లోబల్ ఫంక్షన్ ద్వారా ఓవర్‌లోడ్ (ఓవర్‌లోడింగ్), సభ్యుల ఫంక్షన్ మరియు ఫ్రెండ్ ఫంక్షన్ ద్వారా మేము వేర్వేరు సందర్భాలలో చర్చించాము. - 104. మీరు గ్లోబల్ ఫంక్షన్‌తో ఓవర్‌లోడ్ చేస్తుంటే, మీరు అందించిన ఎన్‌క్యాప్సులేషన్ మీరు నిజంగా ఎన్‌క్యాప్సులేషన్ గురించి పట్టించుకోని ఆందోళన కాదు., మరియు మీరు నిర్మాణాలను మాత్రమే ఉపయోగిస్తున్నప్పుడు ఇది సాధారణంగా జరుగుతుంది. - 105. స్ట్రింగ్ ఉదాహరణ వలె, మేము సి-స్ట్రింగ్ ఉదాహరణను చూపించాము, ఇక్కడ మేము చార్ * పాయింటర్‌ను చుట్టడానికి ఒక స్ట్రక్ట్ స్ట్రింగ్‌ను ఉపయోగిస్తున్నాము, కేవలం సి-స్ట్రింగ్‌ను చుట్టడానికి మరియు ఆపై ఆపరేటర్ (ఆపరేటర్) ను ఉపయోగించగలిగేలా చేయగలము మరియు ఓవర్లోడ్ + రెండు స్ట్రింగ్ ఆబ్జెక్ట్ లేదా ఒక స్ట్రింగ్ ఆబ్జెక్ట్ మరియు ఒక చార్ * పాయింటర్ మరియు మొదలైన వాటిని జోడించవచ్చు లేదా ఘనీభవిస్తుంది. - 106. ఎన్‌క్యాప్సులేషన్ కోసం మీకు ఎటువంటి ఆందోళన లేనప్పుడు లేదా ఎన్‌క్యాప్సులేషన్ కోసం పెద్దగా ఆందోళన లేనప్పుడు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం గ్లోబల్ ఫంక్షన్లను ఉపయోగిస్తాడు. - 107. అదేవిధంగా, ఎడమ ఒపెరాండ్ తప్పనిసరిగా మీరు సభ్యునిగా చేయగలిగే తరగతి అని హామీ ఇచ్చినప్పుడు సభ్యుల ఫంక్షన్‌ను ఉపయోగించండి. - 108. అందువల్ల, అది విఫలమయ్యే పరిస్థితులను మేము చూశాము, కాని సంక్లిష్ట సంఖ్యలో ఆపరేటర్ రూపకల్పన చేయబడితే + ఆపరేటర్ చేత సంక్లిష్ట విలువతో నిజమైన సంఖ్యను జోడించగలిగితే. కాదు + కాబట్టి మనం ఆపరేటర్‌ను చాలా ఉంచవచ్చు + ఓవర్‌లోడ్ కాంప్లెక్స్ యొక్క సభ్యుల విధిగా. - 109. కానీ ఇతర సందర్భాల్లో ఒపెరాండ్ అనేక రకాలుగా ఉంటుంది లేదా మీరు ఉపయోగించని సభ్యుల ఫంక్షన్‌ను జోడించగల ఒక రకమైన తగిన ఒపెరాండ్‌ను మీరు సృష్టించడం సాధ్యం కాదు. - 110. కాబట్టి ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం సభ్యుల ఫంక్షన్లను ఉపయోగించినప్పుడు మరియు అన్ని ఇతర సందర్భాల్లో మరియు మేము ఇప్పటికే చూసిన ప్రధాన సందర్భాల్లో మరియు చాలా మంది ఆపరేటర్లు ఒకే శైలిలో ఓవర్‌లోడ్ చేసినట్లు మీరు కనుగొంటారు, మీరు ఆపరేటర్ల ఓవర్‌లోడింగ్ చేయడానికి ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించాలి.   - 111. మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడల్లా, మీరు ప్రాథమికంగా ఒక ఫంక్షన్‌ను వ్రాస్తున్నారని నేను హైలైట్ చేయాలనుకుంటున్నాను, కాబట్టి మీరు అరిటీ, అసోసియేటివిటీ, ప్రెసిడెన్సీ ప్రిజర్వింగ్ (ప్రాధాన్యత), మీరు ప్రాథమికంగా క్రొత్త ఫంక్షన్‌ను సృష్టించడానికి ప్రయత్నిస్తున్నారు మరియు మీరు ఈ ఫంక్షన్‌ను పూర్తి చేస్తున్నారు. - 112. ఆపరేటర్ గుర్తుతో. - 113. ఇప్పుడు మనలో చాలా మంది, ప్రోగ్రామర్లు ఆపరేటర్ చిహ్నాల కోసం కొన్ని అర్థాలకు అలవాటు పడ్డారు, మేము ఒక నిర్దిష్ట మార్గంలో ఆలోచించడం అలవాటు చేసుకున్నాము. - 114. ఉదాహరణకు, నేను ఒక ఆపరేటర్‌ను చూస్తే, ఏదో ఒకవిధంగా నేను విషయాలను కనెక్ట్ చేయడం మరియు వస్తువులను కలపడం మరియు వస్తువులను తయారు చేయడంలో సహాయపడటం వంటివి కనుగొంటాను. - 115. మీరు ఒక నిర్దిష్ట రకానికి ఆపరేటర్ + ను ఉపయోగిస్తుంటే, మీరు ఆపరేటర్ యొక్క ఓవర్‌లోడ్‌లో ఉంచే సెమాంటిక్స్ ఏమిటో చూడాలి + ఇది ఒక విధమైన అనుబంధం. అదనపు రకాల పనులను చేయడం లాంటిది. - 116. ఉదాహరణకు, మీరు సెట్ క్లాస్ కోసం ఆపరేటర్ + ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, అప్పుడు మీరు యూనియన్‌ను లెక్కించడానికి మరియు ఖండనను లెక్కించకుండా ఉపయోగించాలి. - 117. మీ రకమైన ముగింపు సెమాంటిక్స్ కోసం మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తున్నప్పుడు, ఆపరేటర్ యొక్క ప్రవర్తనకు అంతర్లీన రకం ఏమిటంటే, మీ తరగతి మరింత బాగా ప్రవర్తిస్తుందని మీరు కనుగొంటారు. మరియు ఇతర ప్రోగ్రామర్లు అర్థం చేసుకోగలుగుతారు మరియు మీ తరగతిని బాగా డీబగ్ చేయండి, వారు మీ తరగతిని బాగా ఉపయోగించుకోగలరు. - 118. అదేవిధంగా, మీ ఆపరేటర్ ఫంక్షన్ యొక్క పారామితులను పాస్ చేయడానికి, ఇన్వోకింగ్ డిఫాల్ట్ పరామితిని ఖచ్చితంగా అనుసరించడానికి ప్రయత్నించండి, అంటే నేను చాలాసార్లు చెప్పినట్లుగా, మీరు pass హించడం ద్వారా మీరు దాటిన అవ్యక్త రకం ఉందా మరియు వినియోగదారు నిర్వచించిన రకం ఉంటే మీరు ప్రయత్నించండి స్థిరమైన సూచన ద్వారా పాస్ చేయడానికి. - 119. వాస్తవానికి మీరు అవసరాల గురించి జాగ్రత్తగా ఉండాలి, మేము ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ చేస్తుంటే, డేటా విలువను పారామితికి సూచనగా పంపించాల్సిన అవసరం ఉందని మేము చూశాము.ఇది స్థిరంగా ఉంటుంది ఎందుకంటే ఇన్పుట్ స్ట్రీమింగ్ వాస్తవానికి దీనికి విలువను జోడిస్తుంది, కాని లేకపోతే మొదటి ప్రయత్నం పారామితి పాసింగ్ కన్వెన్షన్‌ను గౌరవించటానికి ప్రయత్నించడం. - 120. రిటర్న్ రకాలు పరంగా, మళ్ళీ మీరు అంతర్లీన రకాల యొక్క సహజ అర్థాలపై ఎక్కువ ఆధారపడటానికి ప్రయత్నిస్తారు, ఉదాహరణకు, మేము ఇన్పుట్ దిశ మరియు అవుట్పుట్ దిశ, ఇన్పుట్ స్ట్రీమింగ్ మరియు చైనీ యొక్క అవుట్పుట్ స్ట్రీమింగ్ ఆపరేటర్లను డిస్కస్ చేస్తాము. - 121. ఇన్పుట్-స్ట్రీమింగ్ మరియు అవుట్పుట్-స్ట్రీమింగ్ ఆపరేటర్లను మీరు ఓవర్లోడ్ చేసినప్పుడు (ఓవర్లోడ్), ఆ ఆస్తి భద్రపరచబడుతుంది. - 122. అవి సీరియలైజ్ చేయబడాలి. అవుట్పుట్ స్ట్రీమ్ లేదా ఇన్పుట్ స్ట్రీమ్ను నేను సీరియలైజ్ చేయలేని విధంగా మీరు దీన్ని వ్రాయకూడదు లేదా వ్రాయకూడదు. - 123. కాబట్టి, ఈ ఆపరేటర్ యొక్క రిటర్న్ రకం ఆపరేటర్ యొక్క ఎడమ చేతి ఆపరేషన్ వలె ఉండాలి అని నిర్ణయించబడింది. - 124. ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ కేసులలో మేము చర్చించినట్లు సహజమైన సహజ రకాలైన సెమాంటిక్స్ లేదా సహజ సెమాంటిక్స్ యొక్క మరొక ఉదాహరణ ఉందని దీని అర్థం. - 125. దీని కోసం ప్రీ-ఇంక్రిమెంట్ కోసం అంతర్లీన రకం ఇది మాతృ వస్తువు, ఇది వాస్తవానికి ఇంక్రిమెంట్ మరియు ఆ వస్తువు తిరిగి వస్తుంది కాబట్టి మీరు రిఫరెన్స్ ద్వారా రిఫరెన్స్ పోస్ట్ ఇంక్రిమెంట్‌గా ఉపయోగించాలి, తద్వారా మీరు వస్తువును పొందుతారు పాత ధర పొందండి . - 126. క్రొత్త అంశం ఉంటుంది. - 127. అందువల్ల, మీరు దానిని సందర్భం నుండి పొందలేరు. మీరు దానిని మీ ద్వారా పొందాలి.మీరు దానిని విలువతో తిరిగి ఇవ్వాలి కాబట్టి దయచేసి ఈ నిర్ణయాల గురించి జాగ్రత్తగా ఉండండి. - 128. తరువాత మీరు కార్యకలాపాలపై ప్రసారం యొక్క ప్రభావాన్ని పరిగణనలోకి తీసుకోవాలి, కాస్టింగ్ గురించి మేము చర్చించనందున, నేను దీని గురించి మరింత వివరించే స్థితిలో లేను, కాని మీరు కాస్టింగ్ గురించి చర్చించినప్పుడు నేను తిరిగి సూచిస్తాను - 129. మీ ఆపరేటర్లు ఓవర్‌లోడ్ (ఓవర్‌లోడ్) విధానాన్ని కాస్టింగ్ బాగా ప్రభావితం చేస్తుందని దయచేసి గుర్తుంచుకోండి. - 130. చివరగా, దయచేసి ఒక బలమైన సలహా నాకు ఉంటుంది, ఒకసారి మీరు ఓవర్‌లోడ్ ఆపరేటర్లకు ఒక ఆచారం పొందినప్పుడు, ముఖ్యంగా యువ ప్రోగ్రామర్‌లను నేను తరచుగా చూశాను, వారు ఓవర్‌లోడ్ చేయడానికి అందుబాటులో ఉన్న అన్ని ఆపరేటర్లను (ఓవర్‌లోడ్) ఓవర్‌లోడ్ చేస్తారు. - 131. మరియు 30 ఓవర్లోడ్ ఆపరేటర్లను కలిగి ఉన్న రకాన్ని సృష్టిస్తుంది, కాని ఆచరణలో వాటిలో 5 లేదా 6 మాత్రమే ఉపయోగించబడతాయి. - 132. అందువల్ల, దయచేసి మీరు ఓవర్‌లోడ్ చేస్తున్నప్పుడు, మీరు తక్కువ డిజైన్‌ను సృష్టించారని నిర్ధారించుకోండి. - 133. కనీస రూపకల్పన ఏదైనా మంచి ప్రోగ్రామింగ్ యొక్క ప్రాథమిక అవసరం. - 134. మరియు మీ మొత్తం బీజగణితాన్ని నిర్మించడానికి మీ రకానికి నిజంగా అవసరమైన ఆపరేటర్లను మాత్రమే మీరు ఓవర్‌లోడ్ చేస్తారు. - 135. కాబట్టి దయచేసి ఈ మార్గదర్శకాలను గుర్తుంచుకోండి, ఆపై మీ ఆపరేటర్ల రూపకల్పన నిజంగా మంచిది. - 136. ఈ మాడ్యూల్‌లో, మేము మా మునుపటి మాడ్యూల్, మాడ్యూల్ 18 తో కొనసాగించాము మరియు ఆపరేటర్ యొక్క అనేక సమస్యలను చర్చించాము, ముఖ్యంగా ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తాము. (ఓవర్‌లోడింగ్) మీ పారామితి రకాలు వైవిధ్యంగా ఉన్నప్పుడు మరియు ముఖ్యంగా మీ రెండు ఉన్నప్పుడు IO పరంగా పారామితులు రెండు వేర్వేరు తరగతి రకాలు మరియు మొదలైనవి. - 137. ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించడం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి చాలా మంచి పరిష్కారాన్ని అందిస్తుందని మేము చూపించాము, కాబట్టి ఫ్రెండ్ ఫంక్షన్ మాడ్యూల్‌పై మా చర్చను కూడా సూచిస్తాను, ఇక్కడ నేను స్నేహితుడిని (స్నేహితుడిని) ఉపయోగించాల్సిన మూడు షరతులను పేర్కొన్నాను. ఫంక్షన్ మరియు ఇది మీరు నిజంగా స్నేహితుడిని ఉపయోగించాల్సిన మూడవ షరతు, మరియు ఇప్పుడు మీరు అనుభూతి చెందుతారు ఓవర్లోడింగ్ యొక్క ఏదైనా మంచి రూపకల్పనలో స్నేహితుడికి ప్రాముఖ్యత ఉంది. - 138. మీ ఆపరేటర్లను మీరు ఎలా ఓవర్లోడ్ చేయాలి లేదా ఏ ఆపరేటర్లను మీరు ఓవర్లోడ్ చేయాలి అనే దానిపై మేము మీ కోసం కొన్ని మార్గదర్శకాలను పూర్తి చేసాము, దయచేసి వాటిని గుర్తుంచుకోండి. - 139. చివరకు, మాడ్యూల్ 18 లో, మేము ప్రారంభించినప్పుడు, పూర్తి రకాన్ని, వివిధ రకాలైన వివిధ రకాలైన మరియు ఇతరులకు పూర్తి బీజగణితాన్ని నిర్మించాలనే ప్రేరణతో ప్రారంభించమని నేను సిఫార్సు చేస్తున్నాను, కాబట్టి సంక్లిష్ట సంఖ్య, భిన్నాలు, స్ట్రింగ్, వెక్టర్ మాత్రికలు మరియు మొదలైనవి . - 140. అందువల్ల, అదే పద్దతిలో ప్రాక్టీస్ చేయమని నేను మిమ్మల్ని కోరుతున్నాను, మీరు పూర్తి రూపాన్ని నిర్మించడం ప్రారంభించండి. - 141. ఉదాహరణకు, ఇంటెంట్ (పూర్ణాంకానికి) రకానికి మద్దతు ఇచ్చే అన్ని ఆపరేటర్లకు పూర్తిగా మద్దతిచ్చే సంక్లిష్ట రకాన్ని నిర్మించడానికి ప్రయత్నించడం మంచి వ్యాయామం, మరికొన్ని ఆపరేటర్లను కలిగి ఉండటం నిజంగా క్లిష్టంగా ఉంటుంది.మీరు సంపూర్ణ విలువను కనుగొనవలసి ఉంటుంది సంఖ్య వంటి సంక్లిష్ట సంఖ్య, సంక్లిష్ట సంఖ్య యొక్క విలువ, మీరు సంక్లిష్ట సంఖ్య యొక్క సంక్లిష్ట సంయోగాన్ని కనుగొనాలి. - 142. అందువల్ల, మీరు తగిన ఆపరేటర్లను గుర్తించి, వాటిని ఓవర్‌లోడ్ చేయాలి. - 143. మరియు ఆ ప్రక్రియలో మీరు పూర్తిగా సంక్లిష్టమైన రకాన్ని కలిగి ఉండాలి, అది మీ పూర్ణాంక (పూర్ణాంక) రకానికి సమానంగా ప్రవర్తిస్తుంది మరియు మీరు మీ సంక్లిష్ట రకం విలువలను మరియు వేరియబుల్స్ యొక్క వ్యక్తీకరణలను వ్రాయగలుగుతారు. తేడా రకం. + ప్రోగ్రామింగ్ ఇన్ సి ++ లో మాడ్యూల్ 19 కు స్వాగతం. + అన్ని యూజర్ డెఫైన్డ్ టైప్స్ కోసం ఓవర్లోడింగ్ ఆపరేటర్ గురించి చివరి మాడ్యూల్ నుండి మనము చర్చించాము. + ఆపరేటర్ ఓవర్లోడింగ్ అనేది ఒక నిర్దిష్ట complete types ను ఎక్స్ప్రెషన్ రాయడం మరియు వివిధ రకాలైన ఆల్జీబరా క్రియేట్ చేయగల అవకాశాలను సృష్టించడం ఎందుకు ముఖ్యమని మనము చూశాము. + గ్లోబల్ ఫంక్షన్లు మరియు సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్లు ఎలా ఓవర్లోడ్ అవుతున్నారో మేము చూశాము. + ఈ మాడ్యూల్‌లో మేము దీన్ని మరింత ముందుకు తీసుకువెళతాము, గ్లోబల్ మరియు గ్లోబల్ ఫంక్షన్స్ మరియు మెంబర్ ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ ఓవర్‌లోడింగ్ పరంగా మేము ప్రతిపాదించిన వాటిని చూస్తాము., ఆపరేటర్ ఓవర్‌లోడింగ్‌లో కొన్ని సమస్యలు కూడా ఉన్నాయి మరియు ఫ్రెండ్ ఎలా పనిచేస్తుందో చూపిస్తాము ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి సరిగ్గా ఉపయోగించవచ్చు. + అందువల్ల, మేము ఆపరేటర్ ఓవర్‌లోడింగ్ సమస్యల గురించి మాట్లాడుతాము మరియు తరువాత, ఆపరేటర్ '+' విస్తరించడం గురించి మరియు IO ఆపరేటర్ల గురించి ఈ సెట్టింగుల గురించి చర్చిస్తాము.మీ స్లైడ్‌ల ఎడమ వైపున మీకు తెలిసినట్లుగా అందుబాటులో ఉంటుంది. + మునుపటి మాడ్యూల్ నుండి శీఘ్ర పునరావృతం, ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి మూడు మార్గాలు ఉన్నాయి, ఇవి బైనరీ కోసం ఉండలేని వేర్వేరు ఆపరేటర్ ఫంక్షన్లు, ఇవి యునిరి కోసం ఆపరేటర్ ఫంక్షన్లు ఉన్నాయి మరియు ఇవి వాస్తవానికి వేర్వేరు పద్ధతులు. + ఫంక్షన్ ఎలా వర్తిస్తుందో మేము వ్రాసే వ్యక్తీకరణ ఆధారంగా. + మేము దీనిని చూశాము. + ఇప్పుడు, పొడిగింపు లేదా డిజైన్ గురించి మాట్లాడుకుందాం. + సంక్లిష్ట తరగతి ఆలోచనకు తిరిగి వెళ్దాం. + రెండు సంక్లిష్ట సంఖ్యలను జోడించడానికి ఆపరేటర్ '+' ను ఎలా ఓవర్లోడ్ చేయాలో నేర్చుకున్నాము, తద్వారా మనం దీన్ని చేయగలము, d1 మరియు d2 మేము జోడించగల రెండు సంక్లిష్ట సంఖ్యలు. మనం గ్లోబల్ అని చూశాము సంఖ్యను ఉపయోగించి ఒక ఫంక్షన్ ఎలా వ్రాయాలి సంఖ్య ఫంక్షన్ గా. + మీరు ఇప్పుడు ఏమి చేయాలనుకుంటున్నారు? మేము ఈ ఆపరేటర్ యొక్క శక్తిని విస్తరించాలనుకుంటున్నాము, ఇది చాలా సార్లు నేను సంక్లిష్ట సంఖ్యతో నిజమైన సంఖ్యను జోడించాలనుకుంటున్నాను. + వాస్తవ సంఖ్యను సున్నా inary హాత్మక భాగాలతో సంక్లిష్ట సంఖ్యగా భావించవచ్చు. + కాబట్టి, నేను ఈ ఆపరేటర్‌ను విస్తరించగలనా, నేను కూడా ఇలాంటి వ్యక్తీకరణలను వ్రాయగలను, ఇక్కడ D1 ఒక సంక్లిష్ట విలువ, ఇక్కడ నేను జోడించదలిచిన నిజమైన విలువ లేదా, నిబద్ధత రూపంలో అసలు విలువ 4.2 మరియు నేను సంక్లిష్ట సంఖ్య d 2 ను జోడించాలనుకుంటున్నాను. + నా ఆపరేటర్ '+' డిజైన్ దీన్ని జాగ్రత్తగా చూసుకోగలదా? అది చేయగలిగితే, నా అదనపు ఆపరేటర్‌కు మంచి విలువ ఉంది. + గ్లోబల్ (ఫంక్షన్) మరియు సభ్యుడు (ఫంక్షన్) ఫంక్షన్లతో ఈ పొడిగింపు చేయడంలో ఉన్న ఇబ్బందులు ఏమిటో మరియు ఈ పరిష్కారంలో ఒక స్నేహితుడు (ఫంక్షన్) ఎలా సహాయపడుతుందో చూపించడానికి మేము ప్రయత్నిస్తాము. + అప్పుడు మేము ఓవర్లోడ్ (IO) ఆపరేటర్లకు రెండవ సమస్యను కూడా లేవనెత్తుతాము. + సంక్లిష్ట తరగతిని మళ్ళీ పరిగణించండి మరియు ఉదాహరణకు, నేను డబుల్ టైప్ అని చెప్పే సందర్భానికి సమాంతరంగా వ్రాస్తే, నాకు టైప్ డబుల్ వేరియబుల్ ఉంటే, అప్పుడు నేను ఈ ఆపరేటర్లను ఉపయోగించి కోట్ చేస్తాను + మా ఉద్దేశ్యం సంక్లిష్ట రకాలు కూడా. నేను ఇలాంటి రకమైన వ్యక్తీకరణను చేయగలగాలి. నేను ఇదే రకమైన వ్యక్తీకరణ మరియు కార్యాచరణను వ్రాయగలగాలి మరియు ప్రాథమికంగా దీని అర్థం ఇన్పుట్ ఆపరేటర్లను కలిగి ఉన్న ఆపరేటర్లు మరియు అవుట్‌పుట్‌లు ఆపరేటర్లు నేను వాటిని ఓవర్‌లోడ్ చేయగలగాలి. + ఈ విషయంలో, నేను సిన్ ఉపయోగిస్తుంటే నేను IO చేసేటప్పుడు, వాస్తవానికి, స్ట్రీమ్ ఆబ్జెక్ట్ అయినప్పుడు నేను స్ట్రీమ్ ఆబ్జెక్ట్ (ఇన్పుట్) అని గమనించడం మంచిది, అది నిజానికి స్ట్రీమ్ ఆబ్జెక్ట్ లేదా స్ట్రీమ్ ఆబ్జెక్ట్ . + మేము వాస్తవానికి ఈ ఆపరేటర్లను రూపకల్పన చేయాలి, తద్వారా ఈ స్ట్రీమ్ రకాన్ని మన డిజైన్‌లో తగిన విధంగా ఓవర్‌లోడ్ చేయవచ్చు (ఉంచడం). + అటువంటి సందర్భాల్లో ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం గ్లోబల్ మరియు మెంబర్ ఫంక్షన్ సొల్యూషన్స్ ఎందుకు విఫలమవుతాయో మరియు స్నేహితుడు ఎలా సహాయపడతాడో మేము ఈ మాడ్యూల్‌లో మళ్ళీ చూపిస్తాము. + కాబట్టి, ఆపరేటర్ ప్లస్ తో విస్తరించడానికి తరలించడం ద్వారా ప్రారంభించండి; మొదట చెప్పండి, మనం ఏమి చేయాలనుకుంటున్నామో నేను వివరంగా వివరించాలనుకుంటే, మేము ఈ కోడ్‌ను చూడాలనుకుంటున్నాము, మేము ఈ రెండు పంక్తులను జోడించడానికి ప్రయత్నిస్తున్నాము. + మనకు ఇప్పటికే ఉన్నది ఏమిటంటే, రెండు సంక్లిష్ట సంఖ్యలను జోడించడానికి మాకు తెలుసు. + మేము కాంప్లెక్స్‌తో నిజమైనదాన్ని జోడించాలనుకుంటున్నాము. + మేము ఈ గ్లోబల్ ఫంక్షన్ చేస్తున్నాము, కాబట్టి ఈ ఓవర్లోడ్ అనేది మనం ఇంతకుముందు చూసిన ఒక ఫంక్షన్, ఇది రెండు సంక్లిష్ట సంఖ్యలను తీసుకుంటుంది మరియు ఒకే భాగాన్ని వారీగా జోడిస్తుంది మరియు దాని ఫలితంగా కొత్త సంక్లిష్ట సంఖ్యను అందిస్తుంది. + ఇప్పుడు, మేము దీన్ని చేయాలనుకుంటే, ఇక్కడ మొదటి ఒపెరాండ్ సంక్లిష్ట సంఖ్య మరియు కుడి ఒపెరాండ్ నిజమైన సంఖ్య, అప్పుడు మేము ఒక ఆపరేటర్ డిజైన్, దీనిలో ఒక జత పారామితులు ఉన్నాయి, ఇది మొదట సంక్లిష్టమైనది మరియు రెండవది డబుల్. + ఇది 6.2 గా రెట్టింపు అవుతుంది, ఇది వెళ్తుంది మరియు ఇది నా ఓవర్లోడ్ (రెండు), ఇది ఇంకొకటి. + ఎందుకంటే మనకు కావలసినంతవరకు, మనకు లభించే ఓవర్లోడ్ (రిజల్యూషన్) C ++ గురించి, మనం చాలా కాలం క్రితం చర్చించిన ఈ ఓవర్లోడ్లు. (ఓవర్లోడ్లు). + ఈ ప్రత్యేకమైన సంస్కరణను తీసుకుంటే, ఓవర్‌లోడ్ (2) భర్తీ చేయబడుతుందని మేము ఆశిస్తున్నాము. + అదేవిధంగా, చివరి పరామితి మొదటి వాదన అయితే, ఎడమ వాదన రెట్టింపు అయితే, మూడవ వాదన ఓవర్లోడ్ సంస్కరణను అమలు చేయడానికి రావాలి. + ఇందులో మనం ఏమి చేయాలి? మేము ఈ వాస్తవ సంఖ్యను తీసుకొని, సున్నా యొక్క inary హాత్మక భాగం అయిన ఆ వాస్తవ సంఖ్య నుండి తాత్కాలిక సంక్లిష్ట సంఖ్యను నిర్మిస్తున్న ఒక నమూనా గురించి మాట్లాడుతాము మరియు మీరు ఆ సంక్లిష్ట నిర్మాణకర్తను సూచించవచ్చు, ఇది ఎలా జరుగుతుందో మీరు చూడగలరు . + అప్పుడు మన దగ్గర ఉన్న ఆపరేటర్‌ని ఉపయోగిస్తాము, ఇప్పుడు మనకు రెండు సంక్లిష్ట సంఖ్యలు ఉన్నాయి కాబట్టి మనం ఇప్పటికే ఓవర్‌లోడ్ (1) లో దరఖాస్తు చేసుకున్న ఆపరేటర్‌ను ఉపయోగిస్తాము కాబట్టి వాటిని కనెక్ట్ చేయవచ్చు. + కాబట్టి ఆపరేటర్ ఓవర్లోడ్ (ఓవర్లోడ్) సంస్కరణలు 2 మరియు 3 ప్రాథమికంగా డబుల్ లాజిక్ తో మనం సంక్లిష్టమైన ఆర్గ్యుమెంట్ ను సరిగ్గా నిర్మించాము మరియు ఓవర్లోడ్ (ఓవర్లోడ్) 1 అని పిలుస్తాము. + ఖచ్చితంగా ఈ సమస్య పరిష్కరించబడింది. మూడు వేర్వేరు ఓవర్‌లోడింగ్ మొత్తం సమస్యను పరిష్కరిస్తుంది, కాని మనం గ్లోబల్ ఫంక్షన్‌ను ఉపయోగిస్తున్నందున మనం ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేయాల్సి ఉందని మాకు తెలుసు. అన్నీ ప్రత్యేకతలు మరియు చాలా మంచి ప్రతిపాదన కాదు. + అందువల్ల, మేము తరువాత ఏమి చేస్తాము, మేము సభ్యుల ఫంక్షన్‌ను ఉపయోగించడానికి ప్రయత్నిస్తాము.+ + ఇప్పుడు మనం ఎన్‌క్యాప్సులేషన్‌కు తిరిగి వెళ్తాము, ఇప్పుడు అవన్నీ ప్రైవేట్‌గా ఉన్నాయి.+ + ఆపరేటర్ యొక్క ఓవర్లోడ్ ఫంక్షన్ల కోసం ఇప్పుడు మేము ఇక్కడకు వచ్చాము, ఓవర్లోడ్ ఒకటి ఇక్కడ ఉంది, వేరు చేయబడిన ఏకైక విషయం వలె ఇప్పుడు ఈ ఫంక్షన్ ఒక వాదనగా, కుడి వైపు మాత్రమే పనిచేస్తుంది మరియు పారామితిగా, ఎడమవైపు హ్యాండ్ ఒపెరాండ్ ఈ ఫంక్షన్ కోసం ఒక వస్తువు. + మేము రెండు సంక్లిష్ట సంఖ్యలను కలిపే ఈ ప్రత్యేక కేసు గురించి మాట్లాడితే, అది ఈ ఓవర్‌లోడ్ (ఓవర్‌లోడ్) 1 ను అమలు చేస్తుందని మేము ముందే చూశాము. + అదేవిధంగా, వాదన ఒకే సంఖ్య అయిన సందర్భంలో ఎడమ చేతి ఒపెరాండ్‌లోని సంక్లిష్ట సంఖ్య ఒక వస్తువు కాబట్టి, ఈ సందర్భంలో ఇది ఈ ఓవర్‌లోడ్ (ఓవర్‌లోడ్) 2 ను అమలు చేస్తుంది, అది మంచిది. + సమస్య ఈ మూడవ రూపంతో ప్రారంభమవుతుంది. + మూడవ రూపంలో మీరు రెండు సమస్యలు ఉన్నాయని చూడవచ్చు; ఖచ్చితంగా రెండు ఒపెరాండ్‌లు ఉన్నాయి మరియు వాటిలో ఒకటి ఆబ్జెక్ట్ మరియు మరొకటి మీరు ప్రారంభించే సభ్యుల ఫంక్షన్‌కు పరామితి. + కాబట్టి ఫలిత సమస్య ఏమిటంటే, నేను దీన్ని 4.2 ప్లస్ డి 2 కోసం చేయవలసి వస్తే, సభ్యుల ఫంక్షన్ (ఫంక్షన్) తప్పనిసరిగా 4.2 స్క్వేర్‌కు చెందినది, ఎందుకంటే ఇది ఎడమ చేతి ఆపరేషన్, ఇక్కడ ఆహ్వానం జరుగుతుంది. + ఇప్పుడు 4.2 ద్వంద్వ రకానికి చెందినది, ఇది అంతర్నిర్మిత రకం మరియు సహజంగానే అంతర్నిర్మిత రకంలో ఇతర ఆపరేటర్ లేదా ఓవర్‌లోడ్ ఆపరేటర్లను జోడించడానికి నాకు ఎంపిక లేదు. + కాబట్టి దీని కోసం నేను నిజంగా వ్రాయడానికి మార్గం లేదు, నా ఆపరేటర్లను ఓవర్లోడ్ చేయడానికి నేను సభ్యుల ఫంక్షన్లను ఉపయోగిస్తుంటే మేము మద్దతు ఇవ్వలేము, తద్వారా సభ్యులు సభ్యుల ఫంక్షన్లతో ఓవర్లోడింగ్ ఉపయోగించటానికి పరిమితి ఉంది ఎందుకంటే మేము మద్దతు ఇవ్వగలిగే కొన్ని సెమాంటిక్స్ 1 మరియు 2 ఓవర్లోడ్లు మాత్రమే ఉన్నాయి, కాని ఓవర్లోడ్ (ఓవర్లోడ్) 3 ఇప్పటికీ విఫలమవుతుంది, ఎందుకంటే మేము దీనికి తగిన ఫంక్షన్ రాయలేము. + కాబట్టి ఇష్యూగా మనం చెబుతున్నదానికి ఇది ప్రాథమిక కష్టం. + కాబట్టి పరిష్కారం చాలా సులభం మరియు సొగసైనది.మేము ఇప్పటికే ఫ్రెండ్ ఫంక్షన్ గురించి లోతుగా చర్చించాము. + కాబట్టి మనం ఏమి చేసినా, గ్లోబల్ ఫంక్షన్ యొక్క పరిష్కారానికి తిరిగి వెళ్తాము, ఇది సరైన పరిష్కారం, కానీ ఒకే తేడా ఏమిటంటే ఎన్కప్సులేషన్ బహిర్గతం కావాలి. + ఫ్రెండ్ ఫంక్షన్ వాస్తవానికి తరగతి గది లోపల చూడగలదని మాకు తెలుసు, కాబట్టి మనం ఏమి చేయాలి? మేము ఆ పరిష్కారానికి తిరిగి వెళ్లి, ప్రాథమికంగా డేటా సభ్యులను మనకు కావలసినంత ప్రైవేట్‌గా చేస్తాము + కానీ క్లాస్‌లో ఫ్రెండ్ ఫంక్షన్ పరిధిలో అన్ని గ్లోబల్ ఫంక్షన్‌లను తీసుకోండి. + అదే సంతకం స్నేహితుడు (స్నేహితుడు) తో ఉపసర్గతో గ్లోబల్ ఫంక్షన్‌ను కలిగి ఉంటుంది మరియు తరగతి పరిధిలో ఉంచబడుతుంది మరియు తరువాత మేము వాటిని అమలు చేస్తాము. + వారు గ్లోబల్ ఫంక్షన్ల వలె మాత్రమే ప్రవర్తిస్తారు, కాని స్నేహితులు కావడం వల్ల వారు నేరుగా ప్రైవేట్ డేటా సభ్యులను యాక్సెస్ చేయవచ్చు, కాబట్టి ఇక్కడ, మనకు ఇప్పుడు ఈ ప్రత్యేక ఫంక్షన్ ఉంటే. + ఇప్పుడు దీనిని ఓవర్లోడ్ 2 అని పిలుస్తారు, ఇక్కడ రెండవ ఆర్గ్యుమెంట్ డబుల్ మరియు ఓవర్లోడ్ 3 కూడా సాధ్యమవుతుంది, ఇక్కడ మొదటి ఆర్గ్యుమెంట్ డబుల్ మరియు దాని ఆధారంగా, ఇది పరిష్కరిస్తుంది మరియు ఇప్పుడు ఇది ఫ్రెండ్ ఫంక్షన్ (ఫ్రెండ్ ఫంక్షన్) కాబట్టి, దీన్ని యాక్సెస్ చేయవచ్చు అంతర్గత సంక్లిష్ట తరగతి మరియు పారామితులు మళ్ళీ మరియు ప్రైవేట్ సభ్యులు అయినప్పటికీ వాటిని అమలు చేయడం వాస్తవానికి సాధ్యమే. + కాబట్టి మిత్రుడు (స్నేహితుడు) మాకు మొత్తం అవసరానికి చాలా అందమైన పరిష్కారాన్ని ఇస్తాడు మరియు ఇంతకుముందు అవసరమైన ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేయకుండా మనకు అవసరమైనదాన్ని పొందగలుగుతాము. + బస్సు ప్రయాణిస్తున్నప్పుడు నేను ఇక్కడ ఉంచిన ఒక గమనికకు ఒక పాయింటర్‌ను సృష్టించాలనుకుంటున్నాను, ఈ పరిష్కారాలలో చాలావరకు మేము మూడు ఓవర్‌లోడ్‌లను సృష్టించాము, అవి చాలా సారూప్యమైనవి మరియు సంబంధితవి మరియు ఈ రెండు ఓవర్‌లోడ్‌లు (ఓవర్‌లోడ్‌లు) ప్రధానంగా సంబంధిత సంక్లిష్ట సంఖ్య పరంగా రెట్టింపుగా మార్చడానికి మరియు C ++ లోని ఒక లక్షణాన్ని ఇప్పుడు అవ్యక్త కాస్టింగ్ అని పిలుస్తారు, ఇది వినియోగదారుని స్పష్టంగా వ్రాయకుండా ఈ పనిని చేయగలదు. + కాస్టింగ్ గురించి మేము ఇంకా అధ్యయనం చేయలేదు, కాబట్టి మనం మరింత కాంపాక్ట్ పరిష్కారాన్ని కలిగి ఉంటామని చూస్తాము, అక్కడ పనిభారం మాత్రమే మూడు పనులను ఓవర్లోడ్ (ఓవర్లోడ్) లేకుండా చేయగలదు. + ప్రస్తుతం ఇది ప్రసారం కావాలని నేను కోరుకోను, అందువల్ల, నేను కన్స్ట్రక్టర్ ముందు ఒక కీవర్డ్‌ని ఉపయోగించాను, ఇది ప్రాథమికంగా ఈ కంపైలర్‌కు ఈ వస్తువు కోసం ఎటువంటి కాస్టింగ్ చేయవద్దని చెబుతుంది. + కాబట్టి మేము తరువాత ప్రసారం గురించి మాట్లాడేటప్పుడు దీని గురించి మాట్లాడుతాము. + IO ఆపరేటర్ల గురించి మరొక సమస్యపై మాట్లాడుదాం. + మొదట మనం ఏమి చేయటానికి ప్రయత్నిస్తున్నామో దాని సమస్యను అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం, రెండు సంక్లిష్టమైన వస్తువులు ఉన్నాయి మరియు నేను దానిని వ్రాయాలనుకుంటున్నాను, అది ప్రాథమిక విషయం, నేను దానిని ఉపయోగించాలనుకుంటున్నాను మరియు వాటిని వ్రాయాలనుకుంటున్నాను. + ఈ ఆపరేటర్లు వర్తించే క్రమం ఎడమ నుండి కుడికి ఉందని మనం అర్థం చేసుకుందాం, కాబట్టి ఇది ప్రాథమికంగా నేను వ్రాసేటప్పుడు అర్థం. + ఇది ఆపరేటర్, అవుట్పుట్ ఆపరేటర్ బైనరీ ఒకటి, మరియు దీనికి రెండు ఒపెరాండ్లు పడుతుంది; మీరు దీనిని పరిశీలిస్తే, ఎడమ చేతి వైపు ఆపరేషన్ ఒక కటాఫ్ వస్తువు మరియు కుడి చేతి వైపు ఆపరేషన్ D1 వస్తువు. + కాబట్టి ఈ ఆపరేటర్ నా సంతకంలో ఎలా కనిపించాలో నేను చెప్పగలను, మొదటి ఒపెరాండ్ రకం O స్ట్రీమ్ లాగా ఉంటుంది, ఎందుకంటే కౌట్ రకం O స్ట్రీమ్ యొక్క వస్తువు. + ఇక్కడ రెండవ ఒపెరాండ్ సంక్లిష్ట రకానికి చెందినది ఎందుకంటే D1 సంక్లిష్ట రకానికి చెందిన వస్తువు. + ఆపరేటర్ యొక్క కావలసిన ఉపయోగానికి సరిపోయే సంతకాలతో మీరు ఎల్లప్పుడూ పని చేయాలి. + ఇప్పుడు మీరు తిరిగి వచ్చే రకం ఎలా ఉండాలి, ఏది తిరిగి ఇవ్వాలి, అది కేవలం సున్నాగా ఉండాలా అనే ప్రశ్న మీకు మిగిలి ఉంది. లేదు, అది సున్నా అయితే కష్టం ఏమిటంటే మనం దానిని వ్రాయలేము. + ఎందుకంటే మేము అవుట్పుట్ ఆపరేటర్‌ను మార్చినట్లయితే, మేము మొదట దాన్ని అవుట్పుట్ చేస్తాము, అప్పుడు మీరు దాన్ని అవుట్పుట్ చేస్తారు. + ఇప్పుడు, అవుట్పుట్ ఆపరేటర్ యొక్క ఈ ఉదాహరణ గురించి ఆలోచిద్దాం. + ఇది కుడి చేతి ఒపెరాండ్ మరియు మొత్తం కుండలీకరణం ఎడమ చేతి ఆపరేషన్. + కనుక ఇది ఎడమ చేతి వైపు ఆపరేట్ చేయవలసి ఉంటే, కానీ అది ఆపరేటర్ యొక్క మొదటి కాల్‌ను లెక్కించిన ఫలితం. + కాబట్టి, ఆ ఫలితం తప్పనిసరిగా అవుట్పుట్ స్ట్రీమ్ ఆపరేటర్ అయి ఉండాలి. + నేను మార్చాల్సిన అవసరం ఉంటే మరియు ఆపరేటర్ గురించి మేము చర్చించిన విధంగా నేను మిమ్మల్ని తిరిగి పిలవాలనుకుంటున్నాను '=' ఈ ఆపరేటర్ తిరిగి రావడం గురించి మేము అక్కడ ఇదే విధమైన చర్చను కలిగి ఉన్నాము, మీ ఆపరేటర్ ఇన్పుట్లో ఉన్నదానిని బట్టి రకం నిర్ణయించబడుతుంది ఎందుకంటే ఏమైనా మీరు ఇక్కడ వ్రాసినది ఇన్పుట్ వలె అదే ఆపరేటర్ యొక్క తదుపరి కాల్‌కు తిరిగి రాగలగాలి. + కాబట్టి నేను ఈ ఆపరేటర్‌ను గ్లోబల్ ఫంక్షన్‌గా అమలు చేస్తున్నానో లేదో నిర్ధారించుకోవాల్సిన సంతకం ఇది. + వాస్తవానికి, నేను దీన్ని ఆపరేటర్‌గా సభ్యుల ఫంక్షన్‌గా అమలు చేయగలను. + ఇప్పుడు నేను దీన్ని సహజంగా సభ్యుల ఫంక్షన్‌గా అమలు చేస్తే ఇక్కడ రెండు తరగతులు ఉన్నాయి o స్ట్రీమ్ మరియు కాంప్లెక్స్ నాకు సభ్యుల ఫంక్షన్లకు రెండు ఎంపికలు ఉన్నాయి. + ఇది O స్ట్రీమ్ క్లాస్‌లో సభ్యుడిగా ఉన్నది మరియు ఇది సంక్లిష్టంగా ఇన్‌పుట్‌గా తీసుకుంటుంది, లేదా ఇది సంక్లిష్ట తరగతిలో సభ్యుడు మరియు ఇది O స్ట్రీమ్‌ను ఇన్‌పుట్‌గా తీసుకుంటుంది. + అందువల్ల, ఆపరేటర్ ఎలా పని చేస్తుందో చూడటానికి మేము ప్రయత్నించాలి.IO ఆపరేటర్‌ను గ్లోబల్ ఫంక్షన్‌గా ఉపయోగించి ఓవర్‌లోడింగ్‌తో అమలు చేయడానికి ప్రయత్నిద్దాం. + కాబట్టి ఇది ప్రాథమిక ఓవర్‌లోడింగ్. + సంతకం అసలు అవుట్పుట్ పరంగా మనం ఏమి చేయాలో ఇప్పటికే చర్చించాము, మేము ఈ రెండు భాగాలను తీసుకొని వాటిని సంక్లిష్ట సంఖ్య సంజ్ఞామానం కోసం `+ J 'తో ముద్రించాలి మరియు నేను నా అవుట్పుట్ ఆపరేషన్ పొందాలి మరియు నేను నుండి అదే అవుట్పుట్ స్ట్రీమ్ ఆపరేటర్‌ను వ్రాయవలసి ఉంటుంది, కాబట్టి నేను ఇక్కడ పరామితిగా వచ్చినది ఈ ఆపరేటర్ లెక్కింపు యొక్క విలువ. తిరిగి ఇవ్వాలి. + ఈ దృష్ట్యా, నేను ప్రింటింగ్ కోసం సంక్లిష్ట సంఖ్యలను ఉపయోగించాలనుకుంటున్నాను, వాస్తవానికి మనం ఇక్కడ విలువ ఆధారంగా కాల్‌ని ఉపయోగించవచ్చు, కాని దీని అర్థం మనం అనవసరమైన పరామితిని ఉపయోగిస్తున్నామని మరియు ఇది ఒక సమావేశం కనుక మనం అవుట్‌పుట్‌ను ఆశించము ఆపరేటర్ యొక్క విలువను మార్చడానికి, కాబట్టి ఇది స్థిరమైన సూచన పరామితి. + అదేవిధంగా, నేను ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ అయిన స్ట్రీమ్ ఆపరేటర్‌ను వ్రాయగలను. ప్రతిదీ చాలా పోలి ఉంటుంది. ఇప్పుడు ఉన్న తేడా ఏమిటంటే, పరామితిగా వచ్చే సంక్లిష్ట సంఖ్య స్థిరంగా ఉండటానికి, ఎందుకంటే నేను ఇన్‌పుట్ చేస్తున్నాను. + కాబట్టి ఇన్పుట్తో సంక్లిష్ట సంఖ్య మారుతుందని నేను ఆశిస్తున్నాను. + నేను కాంపోనెంట్ వారీగా ఇన్పుట్ చేస్తాను మరియు మిగిలిన చర్చ అదే విధంగా ఉంటుంది. + చివరగా, నేను మొదటి పరామితిగా పొందిన ఇన్పుట్ స్ట్రీమ్ను తిరిగి ఇస్తాను. + మీరు ఇలా చేస్తే, సంక్లిష్ట సంఖ్యకు మనకు చాలా ఎక్కువ ఇన్పుట్ అవుట్‌పుట్‌లు ఉన్నాయి మరియు మేము దానిని వ్రాయగలుగుతాము మరియు ఇది ఏదైనా పూర్ణాంకానికి (పూర్ణాంకానికి) లేదా డబుల్ (డబుల్) రకానికి పని చేస్తుంది. + ఈ పరిష్కారంతో ఉన్న ఏకైక ఇబ్బంది ఏమిటంటే, ఇది ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేస్తుంది, ఎందుకంటే గ్లోబల్ ఫంక్షన్‌తో ఏదైనా ఓవర్‌లోడింగ్ (ఓవర్‌లోడింగ్) ఎన్‌క్యాప్సులేషన్‌ను విచ్ఛిన్నం చేస్తుందని మనకు ఇంకా చాలా తెలుసు. + కాబట్టి సభ్యుల ఫంక్షన్ ద్వారా మనం చేయడానికి ప్రయత్నించే అదే దశలను చేద్దాం. + ఇప్పుడు మనం దీన్ని సభ్యుల ఫంక్షన్ ద్వారా చేయాలనుకుంటే, కేసు ఒకటి అని రెండు అవకాశాలు ఉన్నాయని మేము గుర్తించాము, ఆపరేటర్ అవుట్పుట్ O స్ట్రీమ్ క్లాస్ సభ్యుడని చెప్పారు. + కాబట్టి మనకు ఇలాంటి సంతకం ఉంటుంది. + కాబట్టి మనకు ఇలాంటి సంతకం ఉంటుంది. + ఇప్పుడు ఇది సాధ్యం కాదు. + ఇది ఎందుకు సాధ్యం కాదు? O స్ట్రీమ్ నేను వ్రాసిన తరగతి కానందున, O స్ట్రీమ్ అనేది C ++ ప్రామాణిక లైబ్రరీలో భాగంగా అందించబడిన తరగతి మరియు అక్కడ సభ్యులను చేర్చడానికి మాకు అనుమతి లేదు, ఏ తరగతిలోనైనా మేము ఎడిటింగ్ వెర్షన్ కలిగి ఉండాలి అనుమతించబడదు. + కాబట్టి మనం సవరించలేకపోతే, ఇలాంటి కొత్త సభ్యుల ఫంక్షన్‌ను జోడించలేము. + అందువల్ల ఈ అవకాశం తోసిపుచ్చబడింది.+ + నేను మరొక ఎంపికను కలిగి ఉన్నాను, కాంప్లెక్స్ నా క్లాస్ కాబట్టి నేను కాంప్లెక్స్ క్లాస్‌లో సభ్యుల ఫంక్షన్ సందర్భంలో ఆపరేటర్ అవుట్‌పుట్‌ను ఓవర్‌లోడ్ చేయడానికి ప్రయత్నించగలను, కాబట్టి ఇది ఇలా ఉంటుంది, ఎందుకంటే నేను కాంప్లెక్స్‌లో ఓవర్‌లోడ్ అవుతున్నాను కాబట్టి, క్లాస్ నా డిఫాల్ట్ పరామితి ఒక సంక్లిష్టమైన వస్తువు, దీని నుండి నేను O స్ట్రీమ్ ఆపరేటర్ అని పేర్కొనాలి. + కానీ ఇది తీవ్రమైన పరిణామాన్ని కలిగి ఉంది. + ఫలితం ఏమిటంటే, నా మొదటి ఆర్డర్ ఓ స్ట్రీమ్ ఆబ్జెక్ట్ మరియు తరువాత కాంప్లెక్స్ ఆబ్జెక్ట్ ఎడమ కుడి ఆర్డర్, కానీ కాంప్లెక్స్ అది సభ్యుడైన తరగతి కాబట్టి, కాంప్లెక్స్ (కాంప్లెక్స్) ఆబ్జెక్ట్ మరియు ఓ స్ట్రీమ్ ఆబ్జెక్ట్ అవుతుంది ఎందుకంటే ఇది ఇప్పుడు ఒపెరాండ్ యొక్క కుడి వైపుగా మారింది. + కాబట్టి నేను అలాంటి ఆపరేటర్‌తో చేసిన అవుట్‌పుట్ చేస్తే, దానిని ఈ సంజ్ఞామానం d << cout not cout << d అని వ్రాయవలసి ఉంటుంది, ఈ ఆపరేటర్ మనం చేసే విధానం అర్థం చేసుకోవడానికి ఉపయోగిస్తారు. + O స్ట్రీమ్ క్లాస్ లేదా యూజర్ డిఫైన్డ్ రకంలో సభ్యుల ఫంక్షన్‌ను ఉపయోగించి వాస్తవానికి IO ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడం సాధ్యం కాదని ఈ చర్చ మీకు తెలియజేస్తుంది. + కాబట్టి మనకు ఇక్కడ చూపించని ఫ్రెండ్ ఫంక్షన్ (ఫ్రెండ్ ఫంక్షన్) ను ఉపయోగించడం మాకు ఒకే ఒక ఎంపిక మాత్రమే. ఎందుకంటే మీ అందరికీ తెలిసినట్లుగా, ఇవన్నీ గ్లోబల్ ఫంక్షన్ మరియు క్లాస్ నుండి ఎక్కువ మరియు వారితో ఉపసర్గ తీసుకోవాలి. + స్నేహితుడు మరియు అతను సమస్యను పరిష్కరిస్తాడు. + నేను మూసివేసే ముందు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం కొన్ని మార్గదర్శకాలతో మిమ్మల్ని వదిలివేయాలనుకుంటున్నాను, ఎందుకంటే గ్లోబల్ ఫంక్షన్ ద్వారా ఓవర్‌లోడ్ (ఓవర్‌లోడింగ్), సభ్యుల ఫంక్షన్ మరియు ఫ్రెండ్ ఫంక్షన్ ద్వారా మేము వేర్వేరు సందర్భాలలో చర్చించాము. + మీరు గ్లోబల్ ఫంక్షన్‌తో ఓవర్‌లోడ్ చేస్తుంటే, మీరు అందించిన ఎన్‌క్యాప్సులేషన్ మీరు నిజంగా ఎన్‌క్యాప్సులేషన్ గురించి పట్టించుకోని ఆందోళన కాదు., మరియు మీరు నిర్మాణాలను మాత్రమే ఉపయోగిస్తున్నప్పుడు ఇది సాధారణంగా జరుగుతుంది. + స్ట్రింగ్ ఉదాహరణ వలె, మేము సి-స్ట్రింగ్ ఉదాహరణను చూపించాము, ఇక్కడ మేము చార్ * పాయింటర్‌ను చుట్టడానికి ఒక స్ట్రక్ట్ స్ట్రింగ్‌ను ఉపయోగిస్తున్నాము, కేవలం సి-స్ట్రింగ్‌ను చుట్టడానికి మరియు ఆపై ఆపరేటర్ (ఆపరేటర్) ను ఉపయోగించగలిగేలా చేయగలము మరియు ఓవర్లోడ్ + రెండు స్ట్రింగ్ ఆబ్జెక్ట్ లేదా ఒక స్ట్రింగ్ ఆబ్జెక్ట్ మరియు ఒక చార్ * పాయింటర్ మరియు మొదలైన వాటిని జోడించవచ్చు లేదా ఘనీభవిస్తుంది. + ఎన్‌క్యాప్సులేషన్ కోసం మీకు ఎటువంటి ఆందోళన లేనప్పుడు లేదా ఎన్‌క్యాప్సులేషన్ కోసం పెద్దగా ఆందోళన లేనప్పుడు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం గ్లోబల్ ఫంక్షన్లను ఉపయోగిస్తాడు. + అదేవిధంగా, ఎడమ ఒపెరాండ్ తప్పనిసరిగా మీరు సభ్యునిగా చేయగలిగే తరగతి అని హామీ ఇచ్చినప్పుడు సభ్యుల ఫంక్షన్‌ను ఉపయోగించండి. + అందువల్ల, అది విఫలమయ్యే పరిస్థితులను మేము చూశాము, కాని సంక్లిష్ట సంఖ్యలో ఆపరేటర్ రూపకల్పన చేయబడితే + ఆపరేటర్ చేత సంక్లిష్ట విలువతో నిజమైన సంఖ్యను జోడించగలిగితే. కాదు + కాబట్టి మనం ఆపరేటర్‌ను చాలా ఉంచవచ్చు + ఓవర్‌లోడ్ కాంప్లెక్స్ యొక్క సభ్యుల విధిగా. + కానీ ఇతర సందర్భాల్లో ఒపెరాండ్ అనేక రకాలుగా ఉంటుంది లేదా మీరు ఉపయోగించని సభ్యుల ఫంక్షన్‌ను జోడించగల ఒక రకమైన తగిన ఒపెరాండ్‌ను మీరు సృష్టించడం సాధ్యం కాదు. + కాబట్టి ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం సభ్యుల ఫంక్షన్లను ఉపయోగించినప్పుడు మరియు అన్ని ఇతర సందర్భాల్లో మరియు మేము ఇప్పటికే చూసిన ప్రధాన సందర్భాల్లో మరియు చాలా మంది ఆపరేటర్లు ఒకే శైలిలో ఓవర్‌లోడ్ చేసినట్లు మీరు కనుగొంటారు, మీరు ఆపరేటర్ల ఓవర్‌లోడింగ్ చేయడానికి ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించాలి.   + మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేసినప్పుడల్లా, మీరు ప్రాథమికంగా ఒక ఫంక్షన్‌ను వ్రాస్తున్నారని నేను హైలైట్ చేయాలనుకుంటున్నాను, కాబట్టి మీరు అరిటీ, అసోసియేటివిటీ, ప్రెసిడెన్సీ ప్రిజర్వింగ్ (ప్రాధాన్యత), మీరు ప్రాథమికంగా క్రొత్త ఫంక్షన్‌ను సృష్టించడానికి ప్రయత్నిస్తున్నారు మరియు మీరు ఈ ఫంక్షన్‌ను పూర్తి చేస్తున్నారు. + ఆపరేటర్ గుర్తుతో. + ఇప్పుడు మనలో చాలా మంది, ప్రోగ్రామర్లు ఆపరేటర్ చిహ్నాల కోసం కొన్ని అర్థాలకు అలవాటు పడ్డారు, మేము ఒక నిర్దిష్ట మార్గంలో ఆలోచించడం అలవాటు చేసుకున్నాము. + ఉదాహరణకు, నేను ఒక ఆపరేటర్‌ను చూస్తే, ఏదో ఒకవిధంగా నేను విషయాలను కనెక్ట్ చేయడం మరియు వస్తువులను కలపడం మరియు వస్తువులను తయారు చేయడంలో సహాయపడటం వంటివి కనుగొంటాను. + మీరు ఒక నిర్దిష్ట రకానికి ఆపరేటర్ + ను ఉపయోగిస్తుంటే, మీరు ఆపరేటర్ యొక్క ఓవర్‌లోడ్‌లో ఉంచే సెమాంటిక్స్ ఏమిటో చూడాలి + ఇది ఒక విధమైన అనుబంధం. అదనపు రకాల పనులను చేయడం లాంటిది. + ఉదాహరణకు, మీరు సెట్ క్లాస్ కోసం ఆపరేటర్ + ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తుంటే, అప్పుడు మీరు యూనియన్‌ను లెక్కించడానికి మరియు ఖండనను లెక్కించకుండా ఉపయోగించాలి. + మీ రకమైన ముగింపు సెమాంటిక్స్ కోసం మీరు ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తున్నప్పుడు, ఆపరేటర్ యొక్క ప్రవర్తనకు అంతర్లీన రకం ఏమిటంటే, మీ తరగతి మరింత బాగా ప్రవర్తిస్తుందని మీరు కనుగొంటారు. మరియు ఇతర ప్రోగ్రామర్లు అర్థం చేసుకోగలుగుతారు మరియు మీ తరగతిని బాగా డీబగ్ చేయండి, వారు మీ తరగతిని బాగా ఉపయోగించుకోగలరు. + అదేవిధంగా, మీ ఆపరేటర్ ఫంక్షన్ యొక్క పారామితులను పాస్ చేయడానికి, ఇన్వోకింగ్ డిఫాల్ట్ పరామితిని ఖచ్చితంగా అనుసరించడానికి ప్రయత్నించండి, అంటే నేను చాలాసార్లు చెప్పినట్లుగా, మీరు pass హించడం ద్వారా మీరు దాటిన అవ్యక్త రకం ఉందా మరియు వినియోగదారు నిర్వచించిన రకం ఉంటే మీరు ప్రయత్నించండి స్థిరమైన సూచన ద్వారా పాస్ చేయడానికి. + వాస్తవానికి మీరు అవసరాల గురించి జాగ్రత్తగా ఉండాలి, మేము ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ చేస్తుంటే, డేటా విలువను పారామితికి సూచనగా పంపించాల్సిన అవసరం ఉందని మేము చూశాము.ఇది స్థిరంగా ఉంటుంది ఎందుకంటే ఇన్పుట్ స్ట్రీమింగ్ వాస్తవానికి దీనికి విలువను జోడిస్తుంది, కాని లేకపోతే మొదటి ప్రయత్నం పారామితి పాసింగ్ కన్వెన్షన్‌ను గౌరవించటానికి ప్రయత్నించడం. + రిటర్న్ రకాలు పరంగా, మళ్ళీ మీరు అంతర్లీన రకాల యొక్క సహజ అర్థాలపై ఎక్కువ ఆధారపడటానికి ప్రయత్నిస్తారు, ఉదాహరణకు, మేము ఇన్పుట్ దిశ మరియు అవుట్పుట్ దిశ, ఇన్పుట్ స్ట్రీమింగ్ మరియు చైనీ యొక్క అవుట్పుట్ స్ట్రీమింగ్ ఆపరేటర్లను డిస్కస్ చేస్తాము. + ఇన్పుట్-స్ట్రీమింగ్ మరియు అవుట్పుట్-స్ట్రీమింగ్ ఆపరేటర్లను మీరు ఓవర్లోడ్ చేసినప్పుడు (ఓవర్లోడ్), ఆ ఆస్తి భద్రపరచబడుతుంది. + అవి సీరియలైజ్ చేయబడాలి. అవుట్పుట్ స్ట్రీమ్ లేదా ఇన్పుట్ స్ట్రీమ్ను నేను సీరియలైజ్ చేయలేని విధంగా మీరు దీన్ని వ్రాయకూడదు లేదా వ్రాయకూడదు. + కాబట్టి, ఈ ఆపరేటర్ యొక్క రిటర్న్ రకం ఆపరేటర్ యొక్క ఎడమ చేతి ఆపరేషన్ వలె ఉండాలి అని నిర్ణయించబడింది. + ప్రీ-ఇంక్రిమెంట్ మరియు పోస్ట్-ఇంక్రిమెంట్ కేసులలో మేము చర్చించినట్లు సహజమైన సహజ రకాలైన సెమాంటిక్స్ లేదా సహజ సెమాంటిక్స్ యొక్క మరొక ఉదాహరణ ఉందని దీని అర్థం. + దీని కోసం ప్రీ-ఇంక్రిమెంట్ కోసం అంతర్లీన రకం ఇది మాతృ వస్తువు, ఇది వాస్తవానికి ఇంక్రిమెంట్ మరియు ఆ వస్తువు తిరిగి వస్తుంది కాబట్టి మీరు రిఫరెన్స్ ద్వారా రిఫరెన్స్ పోస్ట్ ఇంక్రిమెంట్‌గా ఉపయోగించాలి, తద్వారా మీరు వస్తువును పొందుతారు పాత ధర పొందండి . + క్రొత్త అంశం ఉంటుంది. + అందువల్ల, మీరు దానిని సందర్భం నుండి పొందలేరు. మీరు దానిని మీ ద్వారా పొందాలి.మీరు దానిని విలువతో తిరిగి ఇవ్వాలి కాబట్టి దయచేసి ఈ నిర్ణయాల గురించి జాగ్రత్తగా ఉండండి. + తరువాత మీరు కార్యకలాపాలపై ప్రసారం యొక్క ప్రభావాన్ని పరిగణనలోకి తీసుకోవాలి, కాస్టింగ్ గురించి మేము చర్చించనందున, నేను దీని గురించి మరింత వివరించే స్థితిలో లేను, కాని మీరు కాస్టింగ్ గురించి చర్చించినప్పుడు నేను తిరిగి సూచిస్తాను + మీ ఆపరేటర్లు ఓవర్‌లోడ్ (ఓవర్‌లోడ్) విధానాన్ని కాస్టింగ్ బాగా ప్రభావితం చేస్తుందని దయచేసి గుర్తుంచుకోండి. + చివరగా, దయచేసి ఒక బలమైన సలహా నాకు ఉంటుంది, ఒకసారి మీరు ఓవర్‌లోడ్ ఆపరేటర్లకు ఒక ఆచారం పొందినప్పుడు, ముఖ్యంగా యువ ప్రోగ్రామర్‌లను నేను తరచుగా చూశాను, వారు ఓవర్‌లోడ్ చేయడానికి అందుబాటులో ఉన్న అన్ని ఆపరేటర్లను (ఓవర్‌లోడ్) ఓవర్‌లోడ్ చేస్తారు. + మరియు 30 ఓవర్లోడ్ ఆపరేటర్లను కలిగి ఉన్న రకాన్ని సృష్టిస్తుంది, కాని ఆచరణలో వాటిలో 5 లేదా 6 మాత్రమే ఉపయోగించబడతాయి. + అందువల్ల, దయచేసి మీరు ఓవర్‌లోడ్ చేస్తున్నప్పుడు, మీరు తక్కువ డిజైన్‌ను సృష్టించారని నిర్ధారించుకోండి. + కనీస రూపకల్పన ఏదైనా మంచి ప్రోగ్రామింగ్ యొక్క ప్రాథమిక అవసరం. + మరియు మీ మొత్తం బీజగణితాన్ని నిర్మించడానికి మీ రకానికి నిజంగా అవసరమైన ఆపరేటర్లను మాత్రమే మీరు ఓవర్‌లోడ్ చేస్తారు. + కాబట్టి దయచేసి ఈ మార్గదర్శకాలను గుర్తుంచుకోండి, ఆపై మీ ఆపరేటర్ల రూపకల్పన నిజంగా మంచిది. + ఈ మాడ్యూల్‌లో, మేము మా మునుపటి మాడ్యూల్, మాడ్యూల్ 18 తో కొనసాగించాము మరియు ఆపరేటర్ యొక్క అనేక సమస్యలను చర్చించాము, ముఖ్యంగా ఆపరేటర్‌ను ఓవర్‌లోడ్ చేస్తాము. (ఓవర్‌లోడింగ్) మీ పారామితి రకాలు వైవిధ్యంగా ఉన్నప్పుడు మరియు ముఖ్యంగా మీ రెండు ఉన్నప్పుడు IO పరంగా పారామితులు రెండు వేర్వేరు తరగతి రకాలు మరియు మొదలైనవి. + ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించడం ఆపరేటర్‌ను ఓవర్‌లోడ్ చేయడానికి చాలా మంచి పరిష్కారాన్ని అందిస్తుందని మేము చూపించాము, కాబట్టి ఫ్రెండ్ ఫంక్షన్ మాడ్యూల్‌పై మా చర్చను కూడా సూచిస్తాను, ఇక్కడ నేను స్నేహితుడిని (స్నేహితుడిని) ఉపయోగించాల్సిన మూడు షరతులను పేర్కొన్నాను. ఫంక్షన్ మరియు ఇది మీరు నిజంగా స్నేహితుడిని ఉపయోగించాల్సిన మూడవ షరతు, మరియు ఇప్పుడు మీరు అనుభూతి చెందుతారు ఓవర్లోడింగ్ యొక్క ఏదైనా మంచి రూపకల్పనలో స్నేహితుడికి ప్రాముఖ్యత ఉంది. + మీ ఆపరేటర్లను మీరు ఎలా ఓవర్లోడ్ చేయాలి లేదా ఏ ఆపరేటర్లను మీరు ఓవర్లోడ్ చేయాలి అనే దానిపై మేము మీ కోసం కొన్ని మార్గదర్శకాలను పూర్తి చేసాము, దయచేసి వాటిని గుర్తుంచుకోండి. + చివరకు, మాడ్యూల్ 18 లో, మేము ప్రారంభించినప్పుడు, పూర్తి రకాన్ని, వివిధ రకాలైన వివిధ రకాలైన మరియు ఇతరులకు పూర్తి బీజగణితాన్ని నిర్మించాలనే ప్రేరణతో ప్రారంభించమని నేను సిఫార్సు చేస్తున్నాను, కాబట్టి సంక్లిష్ట సంఖ్య, భిన్నాలు, స్ట్రింగ్, వెక్టర్ మాత్రికలు మరియు మొదలైనవి . + అందువల్ల, అదే పద్దతిలో ప్రాక్టీస్ చేయమని నేను మిమ్మల్ని కోరుతున్నాను, మీరు పూర్తి రూపాన్ని నిర్మించడం ప్రారంభించండి. + ఉదాహరణకు, ఇంటెంట్ (పూర్ణాంకానికి) రకానికి మద్దతు ఇచ్చే అన్ని ఆపరేటర్లకు పూర్తిగా మద్దతిచ్చే సంక్లిష్ట రకాన్ని నిర్మించడానికి ప్రయత్నించడం మంచి వ్యాయామం, మరికొన్ని ఆపరేటర్లను కలిగి ఉండటం నిజంగా క్లిష్టంగా ఉంటుంది.మీరు సంపూర్ణ విలువను కనుగొనవలసి ఉంటుంది సంఖ్య వంటి సంక్లిష్ట సంఖ్య, సంక్లిష్ట సంఖ్య యొక్క విలువ, మీరు సంక్లిష్ట సంఖ్య యొక్క సంక్లిష్ట సంయోగాన్ని కనుగొనాలి. + అందువల్ల, మీరు తగిన ఆపరేటర్లను గుర్తించి, వాటిని ఓవర్‌లోడ్ చేయాలి. + మరియు ఆ ప్రక్రియలో మీరు పూర్తిగా సంక్లిష్టమైన రకాన్ని కలిగి ఉండాలి, అది మీ పూర్ణాంక (పూర్ణాంక) రకానికి సమానంగా ప్రవర్తిస్తుంది మరియు మీరు మీ సంక్లిష్ట రకం విలువలను మరియు వేరియబుల్స్ యొక్క వ్యక్తీకరణలను వ్రాయగలుగుతారు. తేడా రకం. diff --git a/inhouse/NPTEL/PreFinal/c++/Telugu/49 ProgramminginCplusplus_Recap of C (Lecture 01)-KG4hjVDw-p8.txt b/inhouse/NPTEL/PreFinal/c++/Telugu/49 ProgramminginCplusplus_Recap of C (Lecture 01)-KG4hjVDw-p8.txt index 566089da5f684440cb8874e31d6690b0a8862e9d..7ddda478ecf38e851e06fc44d73f7d87b03b41a2 100644 --- a/inhouse/NPTEL/PreFinal/c++/Telugu/49 ProgramminginCplusplus_Recap of C (Lecture 01)-KG4hjVDw-p8.txt +++ b/inhouse/NPTEL/PreFinal/c++/Telugu/49 ProgramminginCplusplus_Recap of C (Lecture 01)-KG4hjVDw-p8.txt @@ -1,101 +1,101 @@ - 1. C ++ ప్రోగ్రామింగ్  కు స్వాగతం. - 2. ఇది 20-గంటల కోర్సు అవుతుంది, ఇక్కడ మేము C ++ ప్రోగ్రామింగ్ భాష యొక్క వివిధ అంశాల గురించి మాట్లాడుతాము మరియు ఇది సహజంగా 40 గుణకాలుగా విభజించబడుతుంది, మీరు ఒకదాని తరువాత ఒకటి అధ్యయనం చేస్తారు. - 3. సంక్లిష్ట సాఫ్ట్‌వేర్ వ్యవస్థల రూపకల్పన మరియు అమలులో C ++ ప్రోగ్రామింగ్ భాషను ఎలా ఉపయోగించాలో నేర్పడం ఈ కోర్సు యొక్క ప్రధాన ఒత్తిడి. - 4. సి ++ ఒక ఆబ్జెక్ట్ ఓరియెంటెడ్ లేదా ఆబ్జెక్ట్ బేస్డ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ అని మీ అందరికీ తెలుస్తుంది మరియు మీకు సి లాంగ్వేజ్ తెలుసని నేను అంగీకరిస్తున్నాను, మీకు చాలా లోతుగా తెలియకపోవచ్చు, కాని మీకు సి లాంగ్వేజ్ గురించి సాధారణ జ్ఞానం ఉంది కాబట్టి, మేము అక్కడ నుండి ప్రారంభిస్తాము, మాడ్యూల్ 1 లో, సి ప్రోగ్రామింగ్ యొక్క విభిన్న నిర్దిష్ట అంశాలను ఉపయోగించడం గురించి మనం మళ్ళీ మాట్లాడుతాము. - 5. అవసరమైతే మీరు ఆ భావనలను పున it సమీక్షించగలరని మరియు మేము C ++ భాషలోకి లోతుగా వెళ్ళే ముందు, మీరు అన్ని C ప్రోగ్రామింగ్ అవసరాలను తెలుసుకోగలరని నిర్ధారించుకోవడానికి ఇది మాత్రమే. | ఎందుకంటే సి భాష సి ++ యొక్క స్థానిక భాష. - 6. కాబట్టి, మేము మొదట సి భాష యొక్క పునరావృతంతో ప్రారంభిస్తాము. అందువల్ల, సి భాష మరియు ప్రోగ్రామింగ్ అంశాలకు అదనంగా సి స్టాండర్డ్ లైబ్రరీని పరిశీలిస్తాము, ప్రత్యేకించి వివిధ అంశాలను తిరిగి నేర్చుకోవడం కోసం. - 7. సి ప్రోగ్రామ్ యొక్క నిర్మాణం, సి ప్రోగ్రామ్ను ఎలా సాధ్యం చేయాలో మేము క్లుప్తంగా చర్చిస్తాము. - 8. ఇప్పటివరకు, మీరు 1 లేదా 2 ఫంక్షన్‌ను ఉపయోగించి ఒకే ఫైల్‌కు సూచనగా కోడ్‌ను వ్రాశారు. - 9. వాటిలో ఒకటి ప్రధానంగా ఉండాలి (ఫంక్షన్). మీకు తెలిసినట్లుగా, ప్రోగ్రామ్‌లను ఎలా బాగా వ్రాయవచ్చో మేము చూస్తాము మరియు దీనితో మనకు C ++ ప్రోగ్రామింగ్ భాషకు పునాది ఉంటుంది. - 10. మాడ్యూల్ డిజైన్ సందర్భంలో చేయవలసిన వివిధ అంశాలు ఇవి. - 11. ప్రదర్శనగా, మేము మీ స్క్రీన్ యొక్క ఎడమ వైపుకు వెళ్తాము, మీరు ఈ రూపురేఖను చూస్తారు మరియు మేము ఏ ప్రత్యేక అంశం గురించి మాట్లాడుతున్నామో అది హైలైట్ అవుతుంది. - 12. కాబట్టి, ఇది మొదటి కార్యక్రమం "హలో వరల్డ్", మీరందరూ అధ్యయనం చేశారని నేను ఖచ్చితంగా అనుకుంటున్నాను. - 13. ఇది కెర్నింగ్ మరియు రిట్చీల ప్రసిద్ధ పుస్తకంలోని ప్రారంభ కార్యక్రమం. - 14. టెర్మినల్‌లో "హలో వరల్డ్" ను ప్రింట్ చేయడానికి మేము లైబ్రరీ నుండి 'printf' ను ఉపయోగిస్తాము, ఇది అధికారికంగా అవుట్ ఫైల్. - 15. ప్రధాన విధి ఏమిటంటే మీరు ఎక్కడ చూడగలరు, అక్కడ ఎక్సిక్యూషన్ మొదలవుతుంది. అప్పుడు మీరు ఈ స్ట్రింగ్‌ను ప్రింట్ చేసి '\ n' ను ప్రింట్ చేయండి, అంటే మీరు ప్రాథమికంగా, మేము తదుపరి పంక్తికి వెళ్తాము, అంటే కొత్త పంక్తి. - 16. సి లో అనేక రకాల డేటా రకాలు ఉన్నాయి; కెర్ (చార్), క్యారెక్టర్ అని పిలుస్తారు, మొత్తం సంఖ్యలకు పూర్ణాంకం (పూర్ణాంకానికి), ఫ్లోట్ మరియు డబుల్; ఫ్లోటింగ్ పాయింట్లు సంఖ్యల కోసం. - 17. ఇప్పుడు, ఇక్కడ మీరు సాధారణంగా ఉపయోగించే C ను C89 అని పిలుస్తారు, C89 C యొక్క మొదటి ప్రమాణం (స్టాండర్డ్) ANSI చే సృష్టించబడింది, ప్రామాణీకరణ సంస్థ మరియు తరువాత 99 లో, మరొక ప్రమాణం విడుదల చేయబడింది, దీనిని C99 అని పిలుస్తారు, కాబట్టి నేడు చాలా కంపైలర్లు C99 ప్రమాణాన్ని అనుసరిస్తున్నారు. - 18. C99 కూడా అనుసరిస్తుందని మేము ఆశిస్తున్నాము. - 19. కాబట్టి, మేము C గురించి మాట్లాడేటప్పుడు, C99 లో కొన్ని విషయాలు భిన్నంగా ఉంటే హైలైట్ చేయడానికి ప్రయత్నిస్తాము. - 20. కాబట్టి, మీరు చూడగలిగినట్లుగా, డేటా రకం పరంగా, క్రొత్త డేటా రకం బూల్ ఉంది, ఇది C99 కు జోడించబడింది. - 21. C89 లో, మీరు ఇప్పటికీ బూలియన్ విలువలను కలిగి ఉండవచ్చు, ఇది పూర్ణాంక విలువను బట్టి నిజం (నిజం) లేదా తప్పుడు (తప్పుడు) కావచ్చు. - 22. అది 0 అయితే అది అబద్ధం (తప్పుడు); లేకపోతే అది నిజం. - 23. కానీ C99 లో, వేరే రకం బూల్ ఉంది. - 24. మీకు తెలిసిన ప్రతి డేటా రకం (డేటాటైప్), ఈ అంతర్నిర్మిత డేటా రకాల పరిమాణం (పరిమాణం) బైట్‌లలో ఇవ్వబడుతుంది మరియు దాన్ని పొందడానికి మీరు `సైజ్‌ఆఫ్ 'ఆపరేటర్‌ను ఉపయోగిస్తారు. చేయవచ్చు. - 25. మీరు కొన్ని సింబాలిక్ పేర్లు ఇవ్వబడిన పూర్ణాంక విలువలు అయిన గణన రకాలను నిర్వచించవచ్చు. - 26. సి లోని ఇతర డేటా రకాలు శూన్యాలు. - 27. శూన్యమైన (శూన్యమైన డేటాటైప్) ఉపయోగం చాలా ఆసక్తికరంగా ఉంటుంది మరియు మేము C ++ కి వెళ్ళినప్పుడు, శూన్యత (శూన్యత) యొక్క వివిధ ఉపయోగాలను చూస్తాము. - 28. మీరు డేటాటైప్ ఉపయోగించాల్సిన అవసరం వచ్చినప్పుడు, మీరు శూన్యతను ఉపయోగించవచ్చు, కానీ ఇది నిజంగా డేటాటైప్ కాదు. - 29. ఇది ఇలా ఉంటుంది, మనం అంకగణితం చేసినప్పుడు మనకు 0 ఉంటుంది. నేను x కి 0 ని జోడించగలను మరియు అది x ని మార్చదు. - 30. అందువల్ల, ప్రతి వ్యవస్థకు 0 అవసరమని మేము చెప్పినట్లు. కాబట్టి, శూన్యత అనేది ఒక రకమైన వ్యవస్థ, ఎందుకంటే మనం C ++ లో ఎక్కువగా చూస్తాము. - 31. ఈ అంతర్నిర్మిత రకం ఆధారంగా, శ్రేణి, నిర్మాణం, యూనియన్ మరియు పాయింటర్‌కు మద్దతు ఇచ్చే వివిధ ఉత్పన్న రకాలు ఉన్నాయి. మేము సాధారణంగా పిలువబడే ఫంక్షన్లను కలిగి ఉండవచ్చు. సి లో స్ట్రింగ్ ఈ రోజుల్లో సి స్ట్రింగ్ అని పిలుస్తారు. - 32. నిజం స్ట్రింగ్ C లో డేటాటైప్ కాకపోతే, మీరు C ++ కి వెళ్ళినప్పుడు మీకు బాగా అర్థం అవుతుంది. - 33. సి స్ట్రింగ్ వాస్తవానికి ఫంక్షన్ యొక్క హెడర్ సేకరణ, ఇది సి లో తీగలను మార్చటానికి అనుమతిస్తుంది. - 34. చివరగా, డేటాటైప్‌లను వాటి పరిమాణం కోసం సవరించవచ్చు, అవి సంతకం చేయబడతాయి లేదా సంతకం చేయబడవు మరియు ఈ 4 రకాల మాడిఫైయర్‌లను సి లో ఉపయోగిస్తారు. ఇప్పుడు మనం సి వేరియబుల్‌కి వెళ్తాము, వాటి పేర్లు ఆల్ఫా (ఆల్ఫాబేట్స్) తో ప్రారంభమయ్యే కొన్ని మార్గాల్లో నిర్వచించబడతాయి లేదా అండర్ స్కోర్: '_') ఆపై ఆల్ఫా-న్యూమరిక్ విస్తరించబడతాయి. - 35. వేర్వేరు వేరియబుల్ పేర్లకు ఇక్కడ కొన్ని ఉదాహరణలు ఉన్నాయి, ఒకే అక్షరాలతో లేదా 1-2 అక్షరాలతో వేరియబుల్ పేరు పెట్టడం చాలా సౌకర్యంగా ఉన్నప్పుడు, కొంత అర్ధం ఉన్న వేరియబుల్ పేర్లను ఉపయోగించడం ఇంకా మంచిది. హుహ్. - 36. అందువల్ల, మేము పాత్రను 'ఎండ్ఆఫ్ సెషన్' అని పిలుస్తున్నాము, మీరు దానిని 'సి', లేదా 'డి' లేదా 'ఎ' అని పిలవవచ్చు, కాని వేరియబుల్ అంటే ఏమిటో అర్థం చేసుకోవడానికి దీనికి పేరు పెట్టడం మంచిది. - 37. ఇక్కడ ప్రకటించినట్లుగా, ధృవీకరించదగిన డిక్లరేషన్లు ప్రకటించినప్పుడు, వేరియబుల్ కూడా ప్రారంభించబడుతుంది. - 38. ఆ ప్రారంభ ఐచ్ఛికం. - 39. కాబట్టి, int i 10 తో ప్రారంభించబడిందని మేము చెప్పినప్పుడు .. - 40. దీని అర్థం `i 'అనేది పూర్ణాంక రకం వేరియబుల్, ఇది క్షీణతతో 10 ప్రారంభ విలువలను కలిగి ఉంటుంది. - 41. అందువల్ల, మీరు ప్రారంభించకపోతే, ఇది ప్రారంభించని వేరియబుల్, దీని ప్రారంభ విలువ తెలియదు. - 42. వాస్తవానికి, మేము ప్రకటించే మరియు నిర్వచించే అన్ని వేరియబుల్స్ను ప్రారంభించడం చాలా మంచిది. - 43. సి అనేక అక్షరాస్యతలను కలిగి ఉంది, ఇవి అంతర్నిర్మిత రకం యొక్క స్థిర విలువలు, మీరు ఒక నిర్దిష్ట లిట్రల్‌ను ఎలా వ్రాస్తారనే దానిపై ఆధారపడి, ఆ లిట్రల్ రకం పరిష్కరించబడుతుంది. - 44. ఉదాహరణకు, మీరు అంకెల శ్రేణిని మాత్రమే కలిగి ఉంటే అది దశాంశ రకం పూర్ణాంకం అవుతుంది, కానీ మీరు 0 తో ఉపసర్గ చేస్తే, అది అష్ట రకానికి చెందినదని భావించబడుతుంది, దీని ఆధారం 8. - 45. మీరు దీన్ని 0x తో ఉపసర్గ చేస్తే, అది హెక్సాడెసిమల్ లిట్రల్‌గా పరిగణించబడుతుంది. - 46. చార్ రకం లిట్రల్ "లోపల వ్రాయబడింది, స్ట్రింగ్ రకం లిట్రల్" "లోపల వ్రాయబడింది. C99 తో, const రకానికి ఒక పరిచయం ఉంది, అవి ఖరీదైనవి మరియు మేము C ++ చేసేటప్పుడు మరింత లోతుగా చర్చిస్తాము. - 47. అందువల్ల, C89 లో లిట్రల్ ఫిక్స్‌డ్ విలువలు ఉన్నాయి, కానీ C99 లో, అవి కాంటెంట్ టైప్ డేటాగా పరిగణించబడతాయి. - 48. కాబట్టి, C99 లోని '212' ను తారాగణం వలె పరిగణిస్తారు. - 49. సి లో చాలా మంది ఆపరేటర్లు ఉన్నారు, వారిలో చాలా మందికి మీకు పరిచయం ఉంటుంది. - 50. బైనరీ ఆపరేటర్ వంటివి; సంకలనం (+), వ్యవకలనం (-), గుణకారం (*). - 51. నిరాకరణ వలె, అనామక ఆప్టర్లు ఉన్నారు. - 52. ?:. వంటి టెర్నరీ ఆపరేషన్లు కూడా ఉన్నాయి. - 53. ప్రతి ఆపరేటర్‌కు 1, 2 లేదా 3 కావచ్చు ఓప్రాండ్‌పై ఆధారపడి ఉండే ఒక నిర్దిష్ట ధర్మం ఉంది. ఒక వ్యక్తీకరణలో, ఆపరేటర్లు వారి ప్రాధాన్యత క్రమం ప్రకారం మదింపు చేయబడతారు. - 54. కొంతమంది ఆపరేటర్లకు అధిక ప్రాధాన్యత ఉంది, కొన్ని తక్కువ ప్రాధాన్యత కలిగి ఉంటాయి. - 55. కాబట్టి, అదే వ్యక్తీకరణకు గుణకారం (*) అలాగే అదనంగా (+) ఉంటే గుణకారం (*) మొదట చేయవలసి ఉంటుందని మనకు తెలుసు. - 56. అదేవిధంగా, ఒక వ్యక్తీకరణకు ఒకటి కంటే ఎక్కువ ఆపరేటర్లు ఉంటే, వారి మూల్యాంకనం యొక్క క్రమం అసోసియేటివిటీపై ఆధారపడి ఉంటుంది మరియు కొన్ని ఆపరేటర్‌కు కుడి నుండి ఎడమకు, కొన్ని ఆపరేటర్‌కు ఎడమ నుండి కుడికి ఉంటాయి. - 57. అందువల్ల, ఇక్కడ నేను భిన్నమైన ఉదాహరణలు చూపించాను. - 58. ఇది మీ సూచన కోసం మాత్రమే, మీకు ఇది ఖచ్చితంగా తెలుసు. - 59. మీరు దీన్ని చేయకపోతే, దయచేసి దాన్ని బాగా అర్థం చేసుకోవడానికి వచనాన్ని చూడండి. - 60. ఇప్పుడు, సి లోని తదుపరి భావన వ్యక్తీకరణ. - 61. నాకు వేరియబుల్స్ ఉన్నాయి మరియు నాకు ఆపరేటర్ ఉంది. - 62. నేను అక్షరాలను కలిగి ఉన్నాను, దానితో నేను వ్యక్తీకరణలను సృష్టించగలను. - 63. కాబట్టి, వ్యక్తీకరణ ప్రతి లిట్రల్ ఒక వ్యక్తీకరణ అని పునరావృత రూపం చెప్పే విధంగా నిర్వచించబడింది. - 64. నేను 5 సంఖ్యను చెబితే, అది ఒక వ్యక్తీకరణ. - 65. ప్రతి వేరియబుల్ ఒక వ్యక్తీకరణ మరియు నాకు రెండు వ్యక్తీకరణలు ఉంటే మరియు వాటిని బైనరీ ఆపరేటర్‌కు కనెక్ట్ చేస్తే అది కొత్త వ్యక్తీకరణ అవుతుంది. - 66. అదేవిధంగా, నేను యూనిరీ ఆపరేటర్, టెర్నరీ ఆపరేటర్ మొదలైనవాటిని కలిగి ఉంటాను. - 67. ఏదైనా ఫంక్షన్ అని పిలువబడినప్పుడు అది ఒక వ్యక్తీకరణ. - 68. కాబట్టి, ప్రాథమిక విషయం ఏమిటంటే వ్యక్తీకరణకు విలువ ఉండాలి; సికి వ్యక్తీకరణ అని పిలువబడే దేనికైనా విలువ ఉంటుంది.అందువల్ల, ఇక్కడ ఇవ్వబడిన వేరియబుల్స్ కోసం వేర్వేరు ఉదాహరణలు ఇవ్వవచ్చు మరియు విభిన్న వ్యక్తీకరణలు క్రింద ఇవ్వబడ్డాయి. - 69. ఇప్పుడు, సి వ్యక్తీకరణను కలిగి ఉండకూడదు. - 70. కాబట్టి, వ్యక్తీకరణ ఒక ప్రకటనగా ఉండాలి. - 71. కాబట్టి, మీరు కలిగి ఉన్న సరళమైన లేదా చిన్న ప్రకటనను శూన్య ప్రకటన అని పిలుస్తారు, ఇది సెమికోలన్ ';' - 72. లేకపోతే, మీకు వ్యక్తీకరణ ఉంటే, మీరు దానిని సెమికోలన్‌తో ముగించవచ్చు మరియు మీరు దానిని సెమికోలన్‌తో ముగించిన తర్వాత అది ఒక స్టేట్‌మెంట్ అవుతుంది. - 73. కాబట్టి, మీరు ఈ క్రింది ఉదాహరణను పరిశీలిస్తే, 'i + j' వ్యక్తీకరణ ప్రకటనకు వ్యక్తీకరణ ఉంది, ఎందుకంటే 'i' మరియు 'j' వేరియబుల్ మరియు + ఒక ఆపరేటర్ వారితో చేరడం. అంటే, మీరు `i + j; ఇది ఒక ప్రకటన అవుతుంది. - 74. ఇది స్వతంత్రంగా ఎక్కడైనా జరగవచ్చు, ఫంక్షన్ కాల్స్ మరియు అసైన్‌మెంట్‌ల కోసం ఇలాంటి ఉదాహరణలు చూపించబడ్డాయి. - 75. వ్యక్తీకరణ ప్రకటనతో పాటు, సికి అనేక నియంత్రణ ప్రకటనలు లేదా నియంత్రణ నిర్మాణాలు ఉన్నాయి, ఇవి ప్రాథమికంగా ప్రోగ్రామ్‌లో నియంత్రణ ప్రవాహాన్ని నిర్వహించడానికి అనుమతిస్తాయి. - 76. దీని కోసం, సెలక్షన్ స్టేట్మెంట్ మరియు లూప్ స్టేట్మెంట్ మొదలైనవి ఉన్నాయి. - 77. మేము తరువాతి స్లైడ్‌లో వాటి గురించి కొంచెం ఎక్కువ చూస్తాము మరియు ఒకదాని తరువాత ఒకటిగా సమూహపరచవలసిన అనేక స్టేట్‌మెంట్‌లు ఉంటే, ఆపై మేము వంకర కలుపులను '{}' ఉపయోగిస్తాము). - 78. ఇది ఒక బ్లాక్‌గా మారిందని, అలాంటి స్టేట్‌మెంట్‌ను కాంపౌండ్ స్టేట్‌మెంట్ అంటారు. - 79. అందువల్ల, స్టేట్మెంట్ యొక్క మొత్తం విభాగం ఒక సంకలనం, ఇది మీరు క్రింద ఒక ఉదాహరణను చూడవచ్చు. - 80. ఇప్పుడు, సి ప్రోగ్రామ్ యొక్క ప్రధాన ప్రాంతం అయిన నియంత్రణ నిర్మాణాల గురించి మాట్లాడుదాం, ఇది ప్రోగ్రామ్ యొక్క అమలు ఎలా జరుగుతుందో ప్రాథమికంగా మీకు తెలియజేస్తుంది. - 81. ఒక స్టేట్మెంట్ ఎగ్జిక్యూట్ చేసిన తరువాత, ఏ ఇతర స్టేట్మెంట్ ఎగ్జిక్యూట్ అవుతుంది, దీన్ని నియంత్రించడానికి మాకు వేర్వేరు పద్ధతులు ఉన్నాయి. - 82. అప్రమేయంగా సి ప్రోగ్రామ్‌లోని నియంత్రణ పతనం ద్వారా వస్తుంది, అంటే ఒక స్టేట్‌మెంట్ ఎగ్జిక్యూట్ అయిన తర్వాత, తదుపరి స్టేట్‌మెంట్ వెంటనే అమలు అవుతుంది, కాని నియంత్రణ ప్రవాహం ద్వారా దాన్ని మార్చవచ్చు. - 83. కాబట్టి, మొదటి రకం నియంత్రణ ప్రవాహం 'if' లేదా 'if-else' అనే ఎంపిక ప్రకటన. ఉదాహరణలో, (a లైబ్రరీ నుండి 'printf' ను ఉపయోగిస్తాము, ఇది అధికారికంగా అవుట్ ఫైల్. + ప్రధాన విధి ఏమిటంటే మీరు ఎక్కడ చూడగలరు, అక్కడ ఎక్సిక్యూషన్ మొదలవుతుంది. అప్పుడు మీరు ఈ స్ట్రింగ్‌ను ప్రింట్ చేసి '\ n' ను ప్రింట్ చేయండి, అంటే మీరు ప్రాథమికంగా, మేము తదుపరి పంక్తికి వెళ్తాము, అంటే కొత్త పంక్తి. + సి లో అనేక రకాల డేటా రకాలు ఉన్నాయి; కెర్ (చార్), క్యారెక్టర్ అని పిలుస్తారు, మొత్తం సంఖ్యలకు పూర్ణాంకం (పూర్ణాంకానికి), ఫ్లోట్ మరియు డబుల్; ఫ్లోటింగ్ పాయింట్లు సంఖ్యల కోసం. + ఇప్పుడు, ఇక్కడ మీరు సాధారణంగా ఉపయోగించే C ను C89 అని పిలుస్తారు, C89 C యొక్క మొదటి ప్రమాణం (స్టాండర్డ్) ANSI చే సృష్టించబడింది, ప్రామాణీకరణ సంస్థ మరియు తరువాత 99 లో, మరొక ప్రమాణం విడుదల చేయబడింది, దీనిని C99 అని పిలుస్తారు, కాబట్టి నేడు చాలా కంపైలర్లు C99 ప్రమాణాన్ని అనుసరిస్తున్నారు. + C99 కూడా అనుసరిస్తుందని మేము ఆశిస్తున్నాము. + కాబట్టి, మేము C గురించి మాట్లాడేటప్పుడు, C99 లో కొన్ని విషయాలు భిన్నంగా ఉంటే హైలైట్ చేయడానికి ప్రయత్నిస్తాము. + కాబట్టి, మీరు చూడగలిగినట్లుగా, డేటా రకం పరంగా, క్రొత్త డేటా రకం బూల్ ఉంది, ఇది C99 కు జోడించబడింది. + C89 లో, మీరు ఇప్పటికీ బూలియన్ విలువలను కలిగి ఉండవచ్చు, ఇది పూర్ణాంక విలువను బట్టి నిజం (నిజం) లేదా తప్పుడు (తప్పుడు) కావచ్చు. + అది 0 అయితే అది అబద్ధం (తప్పుడు); లేకపోతే అది నిజం. + కానీ C99 లో, వేరే రకం బూల్ ఉంది. + మీకు తెలిసిన ప్రతి డేటా రకం (డేటాటైప్), ఈ అంతర్నిర్మిత డేటా రకాల పరిమాణం (పరిమాణం) బైట్‌లలో ఇవ్వబడుతుంది మరియు దాన్ని పొందడానికి మీరు `సైజ్‌ఆఫ్ 'ఆపరేటర్‌ను ఉపయోగిస్తారు. చేయవచ్చు. + మీరు కొన్ని సింబాలిక్ పేర్లు ఇవ్వబడిన పూర్ణాంక విలువలు అయిన గణన రకాలను నిర్వచించవచ్చు. + సి లోని ఇతర డేటా రకాలు శూన్యాలు. + శూన్యమైన (శూన్యమైన డేటాటైప్) ఉపయోగం చాలా ఆసక్తికరంగా ఉంటుంది మరియు మేము C ++ కి వెళ్ళినప్పుడు, శూన్యత (శూన్యత) యొక్క వివిధ ఉపయోగాలను చూస్తాము. + మీరు డేటాటైప్ ఉపయోగించాల్సిన అవసరం వచ్చినప్పుడు, మీరు శూన్యతను ఉపయోగించవచ్చు, కానీ ఇది నిజంగా డేటాటైప్ కాదు. + ఇది ఇలా ఉంటుంది, మనం అంకగణితం చేసినప్పుడు మనకు 0 ఉంటుంది. నేను x కి 0 ని జోడించగలను మరియు అది x ని మార్చదు. + అందువల్ల, ప్రతి వ్యవస్థకు 0 అవసరమని మేము చెప్పినట్లు. కాబట్టి, శూన్యత అనేది ఒక రకమైన వ్యవస్థ, ఎందుకంటే మనం C ++ లో ఎక్కువగా చూస్తాము. + ఈ అంతర్నిర్మిత రకం ఆధారంగా, శ్రేణి, నిర్మాణం, యూనియన్ మరియు పాయింటర్‌కు మద్దతు ఇచ్చే వివిధ ఉత్పన్న రకాలు ఉన్నాయి. మేము సాధారణంగా పిలువబడే ఫంక్షన్లను కలిగి ఉండవచ్చు. సి లో స్ట్రింగ్ ఈ రోజుల్లో సి స్ట్రింగ్ అని పిలుస్తారు. + నిజం స్ట్రింగ్ C లో డేటాటైప్ కాకపోతే, మీరు C ++ కి వెళ్ళినప్పుడు మీకు బాగా అర్థం అవుతుంది. + సి స్ట్రింగ్ వాస్తవానికి ఫంక్షన్ యొక్క హెడర్ సేకరణ, ఇది సి లో తీగలను మార్చటానికి అనుమతిస్తుంది. + చివరగా, డేటాటైప్‌లను వాటి పరిమాణం కోసం సవరించవచ్చు, అవి సంతకం చేయబడతాయి లేదా సంతకం చేయబడవు మరియు ఈ 4 రకాల మాడిఫైయర్‌లను సి లో ఉపయోగిస్తారు. ఇప్పుడు మనం సి వేరియబుల్‌కి వెళ్తాము, వాటి పేర్లు ఆల్ఫా (ఆల్ఫాబేట్స్) తో ప్రారంభమయ్యే కొన్ని మార్గాల్లో నిర్వచించబడతాయి లేదా అండర్ స్కోర్: '_') ఆపై ఆల్ఫా-న్యూమరిక్ విస్తరించబడతాయి. + వేర్వేరు వేరియబుల్ పేర్లకు ఇక్కడ కొన్ని ఉదాహరణలు ఉన్నాయి, ఒకే అక్షరాలతో లేదా 1-2 అక్షరాలతో వేరియబుల్ పేరు పెట్టడం చాలా సౌకర్యంగా ఉన్నప్పుడు, కొంత అర్ధం ఉన్న వేరియబుల్ పేర్లను ఉపయోగించడం ఇంకా మంచిది. హుహ్. + అందువల్ల, మేము పాత్రను 'ఎండ్ఆఫ్ సెషన్' అని పిలుస్తున్నాము, మీరు దానిని 'సి', లేదా 'డి' లేదా 'ఎ' అని పిలవవచ్చు, కాని వేరియబుల్ అంటే ఏమిటో అర్థం చేసుకోవడానికి దీనికి పేరు పెట్టడం మంచిది. + ఇక్కడ ప్రకటించినట్లుగా, ధృవీకరించదగిన డిక్లరేషన్లు ప్రకటించినప్పుడు, వేరియబుల్ కూడా ప్రారంభించబడుతుంది. + ఆ ప్రారంభ ఐచ్ఛికం. + కాబట్టి, int i 10 తో ప్రారంభించబడిందని మేము చెప్పినప్పుడు .. + దీని అర్థం `i 'అనేది పూర్ణాంక రకం వేరియబుల్, ఇది క్షీణతతో 10 ప్రారంభ విలువలను కలిగి ఉంటుంది. + అందువల్ల, మీరు ప్రారంభించకపోతే, ఇది ప్రారంభించని వేరియబుల్, దీని ప్రారంభ విలువ తెలియదు. + వాస్తవానికి, మేము ప్రకటించే మరియు నిర్వచించే అన్ని వేరియబుల్స్ను ప్రారంభించడం చాలా మంచిది. + సి అనేక అక్షరాస్యతలను కలిగి ఉంది, ఇవి అంతర్నిర్మిత రకం యొక్క స్థిర విలువలు, మీరు ఒక నిర్దిష్ట లిట్రల్‌ను ఎలా వ్రాస్తారనే దానిపై ఆధారపడి, ఆ లిట్రల్ రకం పరిష్కరించబడుతుంది. + ఉదాహరణకు, మీరు అంకెల శ్రేణిని మాత్రమే కలిగి ఉంటే అది దశాంశ రకం పూర్ణాంకం అవుతుంది, కానీ మీరు 0 తో ఉపసర్గ చేస్తే, అది అష్ట రకానికి చెందినదని భావించబడుతుంది, దీని ఆధారం 8. + మీరు దీన్ని 0x తో ఉపసర్గ చేస్తే, అది హెక్సాడెసిమల్ లిట్రల్‌గా పరిగణించబడుతుంది. + చార్ రకం లిట్రల్ "లోపల వ్రాయబడింది, స్ట్రింగ్ రకం లిట్రల్" "లోపల వ్రాయబడింది. C99 తో, const రకానికి ఒక పరిచయం ఉంది, అవి ఖరీదైనవి మరియు మేము C ++ చేసేటప్పుడు మరింత లోతుగా చర్చిస్తాము. + అందువల్ల, C89 లో లిట్రల్ ఫిక్స్‌డ్ విలువలు ఉన్నాయి, కానీ C99 లో, అవి కాంటెంట్ టైప్ డేటాగా పరిగణించబడతాయి. + కాబట్టి, C99 లోని '212' ను తారాగణం వలె పరిగణిస్తారు. + సి లో చాలా మంది ఆపరేటర్లు ఉన్నారు, వారిలో చాలా మందికి మీకు పరిచయం ఉంటుంది. + బైనరీ ఆపరేటర్ వంటివి; సంకలనం (+), వ్యవకలనం (-), గుణకారం (*). + నిరాకరణ వలె, అనామక ఆప్టర్లు ఉన్నారు. + ?:. వంటి టెర్నరీ ఆపరేషన్లు కూడా ఉన్నాయి. + ప్రతి ఆపరేటర్‌కు 1, 2 లేదా 3 కావచ్చు ఓప్రాండ్‌పై ఆధారపడి ఉండే ఒక నిర్దిష్ట ధర్మం ఉంది. ఒక వ్యక్తీకరణలో, ఆపరేటర్లు వారి ప్రాధాన్యత క్రమం ప్రకారం మదింపు చేయబడతారు. + కొంతమంది ఆపరేటర్లకు అధిక ప్రాధాన్యత ఉంది, కొన్ని తక్కువ ప్రాధాన్యత కలిగి ఉంటాయి. + కాబట్టి, అదే వ్యక్తీకరణకు గుణకారం (*) అలాగే అదనంగా (+) ఉంటే గుణకారం (*) మొదట చేయవలసి ఉంటుందని మనకు తెలుసు. + అదేవిధంగా, ఒక వ్యక్తీకరణకు ఒకటి కంటే ఎక్కువ ఆపరేటర్లు ఉంటే, వారి మూల్యాంకనం యొక్క క్రమం అసోసియేటివిటీపై ఆధారపడి ఉంటుంది మరియు కొన్ని ఆపరేటర్‌కు కుడి నుండి ఎడమకు, కొన్ని ఆపరేటర్‌కు ఎడమ నుండి కుడికి ఉంటాయి. + అందువల్ల, ఇక్కడ నేను భిన్నమైన ఉదాహరణలు చూపించాను. + ఇది మీ సూచన కోసం మాత్రమే, మీకు ఇది ఖచ్చితంగా తెలుసు. + మీరు దీన్ని చేయకపోతే, దయచేసి దాన్ని బాగా అర్థం చేసుకోవడానికి వచనాన్ని చూడండి. + ఇప్పుడు, సి లోని తదుపరి భావన వ్యక్తీకరణ. + నాకు వేరియబుల్స్ ఉన్నాయి మరియు నాకు ఆపరేటర్ ఉంది. + నేను అక్షరాలను కలిగి ఉన్నాను, దానితో నేను వ్యక్తీకరణలను సృష్టించగలను. + కాబట్టి, వ్యక్తీకరణ ప్రతి లిట్రల్ ఒక వ్యక్తీకరణ అని పునరావృత రూపం చెప్పే విధంగా నిర్వచించబడింది. + నేను 5 సంఖ్యను చెబితే, అది ఒక వ్యక్తీకరణ. + ప్రతి వేరియబుల్ ఒక వ్యక్తీకరణ మరియు నాకు రెండు వ్యక్తీకరణలు ఉంటే మరియు వాటిని బైనరీ ఆపరేటర్‌కు కనెక్ట్ చేస్తే అది కొత్త వ్యక్తీకరణ అవుతుంది. + అదేవిధంగా, నేను యూనిరీ ఆపరేటర్, టెర్నరీ ఆపరేటర్ మొదలైనవాటిని కలిగి ఉంటాను. + ఏదైనా ఫంక్షన్ అని పిలువబడినప్పుడు అది ఒక వ్యక్తీకరణ. + కాబట్టి, ప్రాథమిక విషయం ఏమిటంటే వ్యక్తీకరణకు విలువ ఉండాలి; సికి వ్యక్తీకరణ అని పిలువబడే దేనికైనా విలువ ఉంటుంది.అందువల్ల, ఇక్కడ ఇవ్వబడిన వేరియబుల్స్ కోసం వేర్వేరు ఉదాహరణలు ఇవ్వవచ్చు మరియు విభిన్న వ్యక్తీకరణలు క్రింద ఇవ్వబడ్డాయి. + ఇప్పుడు, సి వ్యక్తీకరణను కలిగి ఉండకూడదు. + కాబట్టి, వ్యక్తీకరణ ఒక ప్రకటనగా ఉండాలి. + కాబట్టి, మీరు కలిగి ఉన్న సరళమైన లేదా చిన్న ప్రకటనను శూన్య ప్రకటన అని పిలుస్తారు, ఇది సెమికోలన్ ';' + లేకపోతే, మీకు వ్యక్తీకరణ ఉంటే, మీరు దానిని సెమికోలన్‌తో ముగించవచ్చు మరియు మీరు దానిని సెమికోలన్‌తో ముగించిన తర్వాత అది ఒక స్టేట్‌మెంట్ అవుతుంది. + కాబట్టి, మీరు ఈ క్రింది ఉదాహరణను పరిశీలిస్తే, 'i + j' వ్యక్తీకరణ ప్రకటనకు వ్యక్తీకరణ ఉంది, ఎందుకంటే 'i' మరియు 'j' వేరియబుల్ మరియు + ఒక ఆపరేటర్ వారితో చేరడం. అంటే, మీరు `i + j; ఇది ఒక ప్రకటన అవుతుంది. + ఇది స్వతంత్రంగా ఎక్కడైనా జరగవచ్చు, ఫంక్షన్ కాల్స్ మరియు అసైన్‌మెంట్‌ల కోసం ఇలాంటి ఉదాహరణలు చూపించబడ్డాయి. + వ్యక్తీకరణ ప్రకటనతో పాటు, సికి అనేక నియంత్రణ ప్రకటనలు లేదా నియంత్రణ నిర్మాణాలు ఉన్నాయి, ఇవి ప్రాథమికంగా ప్రోగ్రామ్‌లో నియంత్రణ ప్రవాహాన్ని నిర్వహించడానికి అనుమతిస్తాయి. + దీని కోసం, సెలక్షన్ స్టేట్మెంట్ మరియు లూప్ స్టేట్మెంట్ మొదలైనవి ఉన్నాయి. + మేము తరువాతి స్లైడ్‌లో వాటి గురించి కొంచెం ఎక్కువ చూస్తాము మరియు ఒకదాని తరువాత ఒకటిగా సమూహపరచవలసిన అనేక స్టేట్‌మెంట్‌లు ఉంటే, ఆపై మేము వంకర కలుపులను '{}' ఉపయోగిస్తాము). + ఇది ఒక బ్లాక్‌గా మారిందని, అలాంటి స్టేట్‌మెంట్‌ను కాంపౌండ్ స్టేట్‌మెంట్ అంటారు. + అందువల్ల, స్టేట్మెంట్ యొక్క మొత్తం విభాగం ఒక సంకలనం, ఇది మీరు క్రింద ఒక ఉదాహరణను చూడవచ్చు. + ఇప్పుడు, సి ప్రోగ్రామ్ యొక్క ప్రధాన ప్రాంతం అయిన నియంత్రణ నిర్మాణాల గురించి మాట్లాడుదాం, ఇది ప్రోగ్రామ్ యొక్క అమలు ఎలా జరుగుతుందో ప్రాథమికంగా మీకు తెలియజేస్తుంది. + ఒక స్టేట్మెంట్ ఎగ్జిక్యూట్ చేసిన తరువాత, ఏ ఇతర స్టేట్మెంట్ ఎగ్జిక్యూట్ అవుతుంది, దీన్ని నియంత్రించడానికి మాకు వేర్వేరు పద్ధతులు ఉన్నాయి. + అప్రమేయంగా సి ప్రోగ్రామ్‌లోని నియంత్రణ పతనం ద్వారా వస్తుంది, అంటే ఒక స్టేట్‌మెంట్ ఎగ్జిక్యూట్ అయిన తర్వాత, తదుపరి స్టేట్‌మెంట్ వెంటనే అమలు అవుతుంది, కాని నియంత్రణ ప్రవాహం ద్వారా దాన్ని మార్చవచ్చు. + కాబట్టి, మొదటి రకం నియంత్రణ ప్రవాహం 'if' లేదా 'if-else' అనే ఎంపిక ప్రకటన. ఉదాహరణలో, (a