Commit 245eabf3 authored by Vandan Mujadia's avatar Vandan Mujadia

update

parent 827ff95c
...@@ -44,4 +44,3 @@ ...@@ -44,4 +44,3 @@
इस मॉड्यूल(module)में हमने एक्सेस(access) स्पेसर्स को समझा है कि वे क्लास(class) के सदस्यों, सार्वजनिक और निजी लोगों की दृश्यता को नियंत्रित करने में कैसे मदद करते हैं। इस मॉड्यूल(module)में हमने एक्सेस(access) स्पेसर्स को समझा है कि वे क्लास(class) के सदस्यों, सार्वजनिक और निजी लोगों की दृश्यता को नियंत्रित करने में कैसे मदद करते हैं।
इनका उपयोग किया जा सकता है जैसा कि हमने इंटरफ़ेस के माध्यम से व्यवहार को उजागर करते हुए एक क्लास(class) के कार्यान्वयन के बारे में जानकारी छिपाने के लिए देखा है और हमने विशेष रूप से देखा है कि गेट-सेट के तरीकों को एक विशिष्ट मुहावरे(idioms) का उपयोग अक्सर C ++ में बहुत बढ़िया अनाज नियंत्रण प्रदान करने के लिए किया जाता है। इनका उपयोग किया जा सकता है जैसा कि हमने इंटरफ़ेस के माध्यम से व्यवहार को उजागर करते हुए एक क्लास(class) के कार्यान्वयन के बारे में जानकारी छिपाने के लिए देखा है और हमने विशेष रूप से देखा है कि गेट-सेट के तरीकों को एक विशिष्ट मुहावरे(idioms) का उपयोग अक्सर C ++ में बहुत बढ़िया अनाज नियंत्रण प्रदान करने के लिए किया जाता है।
आप अपने डिज़ाइन में जो डेटा(data) सदस्य उपलब्ध कराना चाहते हैं, उसके संदर्भ में इंटरफ़ेस। आप अपने डिज़ाइन में जो डेटा(data) सदस्य उपलब्ध कराना चाहते हैं, उसके संदर्भ में इंटरफ़ेस।
...@@ -121,4 +121,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ ...@@ -121,4 +121,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ
जो कुछ भी निजी(private) है उसे अलग से भी परिभाषित किया जा सकता है। जो कुछ भी निजी(private) है उसे अलग से भी परिभाषित किया जा सकता है।
लेकिन अभी के लिए, हम इसे अभी लेते हैं कि कार्यान्वयन(implementation) और इंटरफ़ेस को एक हेडर फ़ाइल में एक संयुक्त रूप से अलग किया जाएगा जो वर्ग(class) डेटा(data) सदस्यों(members) और वर्ग(class) विधियों को हस्ताक्षर के रूप में परिभाषित करता है। लेकिन अभी के लिए, हम इसे अभी लेते हैं कि कार्यान्वयन(implementation) और इंटरफ़ेस को एक हेडर फ़ाइल में एक संयुक्त रूप से अलग किया जाएगा जो वर्ग(class) डेटा(data) सदस्यों(members) और वर्ग(class) विधियों को हस्ताक्षर के रूप में परिभाषित करता है।
एक क्लास कार्यान्वयन(implementation) फ़ाइल, जिसमें विधियों के सभी कार्यान्वयन(implementation) कोड(code) होते हैं, और एप्लिकेशन में क्लास हेडर फ़ाइल शामिल हो सकती है, क्लास हेडर फ़ाइल में विधियों का उपयोग शामिल होगा और एप्लिकेशन पर काम करने में सक्षम होगा। एक क्लास कार्यान्वयन(implementation) फ़ाइल, जिसमें विधियों के सभी कार्यान्वयन(implementation) कोड(code) होते हैं, और एप्लिकेशन में क्लास हेडर फ़ाइल शामिल हो सकती है, क्लास हेडर फ़ाइल में विधियों का उपयोग शामिल होगा और एप्लिकेशन पर काम करने में सक्षम होगा।
...@@ -11,7 +11,6 @@ C ++ का प्रोग्रामिंग में प्रोग्र ...@@ -11,7 +11,6 @@ C ++ का प्रोग्रामिंग में प्रोग्र
तो, पहला संदेश है एरेस(arrays) का उपयोग C ++ में ठीक उसी तरह किया जा सकता है जैसा कि आप सी। तो, पहला संदेश है एरेस(arrays) का उपयोग C ++ में ठीक उसी तरह किया जा सकता है जैसा कि आप सी।
में जानते हैं। में जानते हैं।
इसलिए, हम यहाँ विभिन्न सरणी(array) तत्वों के लिए कुछ मान निर्दिष्ट कर रहे हैं और उन्हें प्रिंट कर रहे हैं, केवल अंतर प्रिंटफ(printf) का उपयोग करने या cout का उपयोग करने के संदर्भ में है। इसलिए, हम यहाँ विभिन्न सरणी(array) तत्वों के लिए कुछ मान निर्दिष्ट कर रहे हैं और उन्हें प्रिंट कर रहे हैं, केवल अंतर प्रिंटफ(printf) का उपयोग करने या cout का उपयोग करने के संदर्भ में है।
अब, सी में मुख्य मुद्दों में से एक, उन एरेस(arrays) का उपयोग करने के संदर्भ में जो आप सभी का सामना करना पड़ा होगा, जब मैं सी में एक सरणी(array) का उपयोग करना चाहता हूं, तो मुझे जानना होगा; मुझे सरणी(array) के आकार को निर्दिष्ट करने की आवश्यकता है, जिसका अर्थ है कि उन तत्वों की अधिकतम संख्या जो सरणी(array) में पहले से हो सकती हैं, जो कि प्रोग्राम(program) लिखने के समय या प्रोग्राम(program) को संकलित करने के समय विशिष्ट हो। अब, सी में मुख्य मुद्दों में से एक, उन एरेस(arrays) का उपयोग करने के संदर्भ में जो आप सभी का सामना करना पड़ा होगा, जब मैं सी में एक सरणी(array) का उपयोग करना चाहता हूं, तो मुझे जानना होगा; मुझे सरणी(array) के आकार को निर्दिष्ट करने की आवश्यकता है, जिसका अर्थ है कि उन तत्वों की अधिकतम संख्या जो सरणी(array) में पहले से हो सकती हैं, जो कि प्रोग्राम(program) लिखने के समय या प्रोग्राम(program) को संकलित करने के समय विशिष्ट हो।
इसलिए, अगर मुझे वह आकार नहीं पता है, तो मुझे एक आकार प्रदान करने की आवश्यकता है, जो कि मेरे द्वारा निष्पादित किए जाने वाले किसी भी एक मामले में, कार्यक्रम में चलने वाले से अधिक हो सकता है। इसलिए, अगर मुझे वह आकार नहीं पता है, तो मुझे एक आकार प्रदान करने की आवश्यकता है, जो कि मेरे द्वारा निष्पादित किए जाने वाले किसी भी एक मामले में, कार्यक्रम में चलने वाले से अधिक हो सकता है।
निश्चित रूप से इस स्थिति को संभालने के दो तरीके हैं। निश्चित रूप से इस स्थिति को संभालने के दो तरीके हैं।
...@@ -86,4 +85,3 @@ C ++ का प्रोग्रामिंग में प्रोग्र ...@@ -86,4 +85,3 @@ C ++ का प्रोग्रामिंग में प्रोग्र
इसलिए, यहां तक कि सी ++ की गहरी समझ में आए बिना आप केवल स्ट्रिंग(string) का उपयोग करना शुरू कर सकते हैं और अपने सभी कार्यक्रमों को अधिक स्मार्ट और लिखने में आसान बना सकते हैं। इसलिए, यहां तक कि सी ++ की गहरी समझ में आए बिना आप केवल स्ट्रिंग(string) का उपयोग करना शुरू कर सकते हैं और अपने सभी कार्यक्रमों को अधिक स्मार्ट और लिखने में आसान बना सकते हैं।
इस मॉड्यूल(module) में हमने दिखाया है - हम एरेस(arrays) के साथ कैसे काम कर सकते हैं, वेक्टर(vector) कैसे वास्तव में एरेस(arrays) को चर आकार में आसान बना देता है और स्ट्रिंग(string) प्रकारों का उपयोग करके C ++ में स्ट्रिंग्स(strings) का संचालन बहुत आसानी से कैसे किया जा सकता है। इस मॉड्यूल(module) में हमने दिखाया है - हम एरेस(arrays) के साथ कैसे काम कर सकते हैं, वेक्टर(vector) कैसे वास्तव में एरेस(arrays) को चर आकार में आसान बना देता है और स्ट्रिंग(string) प्रकारों का उपयोग करके C ++ में स्ट्रिंग्स(strings) का संचालन बहुत आसानी से कैसे किया जा सकता है।
मानक लाइब्ररी(library)। मानक लाइब्ररी(library)।
...@@ -56,4 +56,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -56,4 +56,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
विधि का नाम भी इसी तरह से परिसर के नाम स्थान में रखा गया है। विधि का नाम भी इसी तरह से परिसर के नाम स्थान में रखा गया है।
तो, एक विधि मानदंड का एक नाम जटिल :: मानदंड()है। तो, एक विधि मानदंड का एक नाम जटिल :: मानदंड()है।
ऑब्जेक्ट्स(objects) कक्षाएं(classes) की तात्कालिकताएं हैं और जब उन्हें त्वरित किया जाता है तो उन्हें इनिशियलाइज़ किया जा सकता है, धुरी का उपयोग डॉट ऑपरेटर के उपयोग के संदर्भ में किया जाता है और इसमें एक विशेष "यह" पॉइंटर होता है जो प्रत्येक वस्तु को उसके स्वयं के पते से पहचानता है, जिसका उपयोग में किया जा सकता है विभिन्न तरीकों। ऑब्जेक्ट्स(objects) कक्षाएं(classes) की तात्कालिकताएं हैं और जब उन्हें त्वरित किया जाता है तो उन्हें इनिशियलाइज़ किया जा सकता है, धुरी का उपयोग डॉट ऑपरेटर के उपयोग के संदर्भ में किया जाता है और इसमें एक विशेष "यह" पॉइंटर होता है जो प्रत्येक वस्तु को उसके स्वयं के पते से पहचानता है, जिसका उपयोग में किया जा सकता है विभिन्न तरीकों।
...@@ -93,7 +93,6 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -93,7 +93,6 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
यह पूरी तरह से नई अवधारणा है और यही सदस्य कार्य करेंगे। यह पूरी तरह से नई अवधारणा है और यही सदस्य कार्य करेंगे।
इसलिए, हम विपरीत कर रहे हैं कि सी के रूप में, अगर हम किसी चीज को संरचना के रूप में परिभाषित करते हैं, तो हर ऑपरेशन हमें इसके साथ करने की आवश्यकता है, हमें कुछ वैश्विक(global) कार्यों के माध्यम से करने की आवश्यकता है जिसे कोई भी और हर कोई देख और उपयोग कर सकता है। इसलिए, हम विपरीत कर रहे हैं कि सी के रूप में, अगर हम किसी चीज को संरचना के रूप में परिभाषित करते हैं, तो हर ऑपरेशन हमें इसके साथ करने की आवश्यकता है, हमें कुछ वैश्विक(global) कार्यों के माध्यम से करने की आवश्यकता है जिसे कोई भी और हर कोई देख और उपयोग कर सकता है।
जबकि C ++ में, क्लास(class) अपने आप में, कई सदस्य फ़ंक्शन(function) या पद्धति को परिभाषित कर सकती है, जिसे ऑब्जेक्ट(object) कुछ कार्यों को करने के लिए आवश्यक के रूप में लागू कर सकता है, और यह वह है जिसे ऑब्जेक्ट(object) के व्यवहार के रूप में जाना जाता है जैसा कि हम धीरे-धीरे देखेंगे। जबकि C ++ में, क्लास(class) अपने आप में, कई सदस्य फ़ंक्शन(function) या पद्धति को परिभाषित कर सकती है, जिसे ऑब्जेक्ट(object) कुछ कार्यों को करने के लिए आवश्यक के रूप में लागू कर सकता है, और यह वह है जिसे ऑब्जेक्ट(object) के व्यवहार के रूप में जाना जाता है जैसा कि हम धीरे-धीरे देखेंगे।
तो, आइए हम कुछ और उदाहरण देखें। तो, आइए हम कुछ और उदाहरण देखें।
आइए हम फिर से आयत(rectangle) बिंदु भाग को वापस लाएँ, इस भाग को आप पहले ही देख चुके हैं, इस भाग को आप पहले ही देख चुके हैं। आइए हम फिर से आयत(rectangle) बिंदु भाग को वापस लाएँ, इस भाग को आप पहले ही देख चुके हैं, इस भाग को आप पहले ही देख चुके हैं।
यहां हम संरचना का उपयोग करके सी के लिए एक फ़ंक्शन(function) लिख रहे हैं, यह एक वैश्विक(global) फ़ंक्शन(function) है, जो आयत(rectangle) के क्षेत्र की गणना करता है। यहां हम संरचना का उपयोग करके सी के लिए एक फ़ंक्शन(function) लिख रहे हैं, यह एक वैश्विक(global) फ़ंक्शन(function) है, जो आयत(rectangle) के क्षेत्र की गणना करता है।
...@@ -153,4 +152,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -153,4 +152,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
और हमने देखा है कि हर ऑब्जेक्ट(object) की एक पहचान होती है, जिसे उस ऑब्जेक्ट(object) के तरीकों के "इस" सूचक में कैद किया जा सकता है, और जो उस पते का पता लगाता है जो ऑब्जेक्ट(object) का पता है। और हमने देखा है कि हर ऑब्जेक्ट(object) की एक पहचान होती है, जिसे उस ऑब्जेक्ट(object) के तरीकों के "इस" सूचक में कैद किया जा सकता है, और जो उस पते का पता लगाता है जो ऑब्जेक्ट(object) का पता है।
इस बिंदु पर, मैं यह भी कहना चाहूंगा कि C ++ में, ऑब्जेक्ट(object)ओं की कोई अलग पहचान नहीं है। इस बिंदु पर, मैं यह भी कहना चाहूंगा कि C ++ में, ऑब्जेक्ट(object)ओं की कोई अलग पहचान नहीं है।
तो, यह पॉइंटर(pointer) या ऑब्जेक्ट(object) का पता हर जगह के पते के रूप में लिया जाता है, जो कि अन्य ऑब्जेक्ट(object)-ओरिएंटेड(oriented) में से कुछ से अलग होता है। तो, यह पॉइंटर(pointer) या ऑब्जेक्ट(object) का पता हर जगह के पते के रूप में लिया जाता है, जो कि अन्य ऑब्जेक्ट(object)-ओरिएंटेड(oriented) में से कुछ से अलग होता है।
...@@ -153,4 +153,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ ...@@ -153,4 +153,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ
यदि आपको एक अवसर मिलता है और सिस्टम सॉफ्टवेयर(software) इंजीनियरिंग(engineering) मॉडलिंग(modelling) के लिए ऑब्जेक्ट(object)-ओरिएंटेड(oriented) विश्लेषण और डिजाइन यूएमएल के माध्यम से जाना जाता है और यहां कुछ बहुत अच्छी किताबें हैं जो सी ++ या इस संबंधित विषयों से संबंधित हैं। यदि आपको एक अवसर मिलता है और सिस्टम सॉफ्टवेयर(software) इंजीनियरिंग(engineering) मॉडलिंग(modelling) के लिए ऑब्जेक्ट(object)-ओरिएंटेड(oriented) विश्लेषण और डिजाइन यूएमएल के माध्यम से जाना जाता है और यहां कुछ बहुत अच्छी किताबें हैं जो सी ++ या इस संबंधित विषयों से संबंधित हैं।
(स्लाइडसमय देखे: 31:03) इसलिए, इसके साथ ही, मुझे यह कहते हुए बंद और संक्षेप में प्रस्तुत करना होगा कि C ++ पर पाठ्यक्रम समाप्त हो गया है। (स्लाइडसमय देखे: 31:03) इसलिए, इसके साथ ही, मुझे यह कहते हुए बंद और संक्षेप में प्रस्तुत करना होगा कि C ++ पर पाठ्यक्रम समाप्त हो गया है।
सी ++ में एक बहुत ही कुशल, कुशल और विपुल प्रोग्रामर बनने के लिए आप सभी को अपनी परीक्षा और उससे आगे के लिए शुभकामनाएं। सी ++ में एक बहुत ही कुशल, कुशल और विपुल प्रोग्रामर बनने के लिए आप सभी को अपनी परीक्षा और उससे आगे के लिए शुभकामनाएं।
...@@ -65,6 +65,5 @@ C++ में प्रोग्रामिंग(Programming) के मॉड ...@@ -65,6 +65,5 @@ C++ में प्रोग्रामिंग(Programming) के मॉड
इसलिए, इसके साथ हम वर्तमान मॉड्यूल के अंत में आते हैं। इसलिए, इसके साथ हम वर्तमान मॉड्यूल के अंत में आते हैं।
यहाँ हमने C ++ में कॉन्स्ट-नेस(Const-ness) का अध्ययन किया है, C ++ में हमने कॉन्स्ट-नेस(Const-ness) के तीन रूपों को देखा है, ऑब्जेक्ट(object) पूरी तरह स्थिर हो सकता है और यदि ऑब्जेक्ट(object) स्थिर है, तो यह केवल निरंतर सदस्य कार्यों को लागू कर सकता है। यहाँ हमने C ++ में कॉन्स्ट-नेस(Const-ness) का अध्ययन किया है, C ++ में हमने कॉन्स्ट-नेस(Const-ness) के तीन रूपों को देखा है, ऑब्जेक्ट(object) पूरी तरह स्थिर हो सकता है और यदि ऑब्जेक्ट(object) स्थिर है, तो यह केवल निरंतर सदस्य कार्यों को लागू कर सकता है।
इसलिए, हमने देखा है कि एक निरंतर सदस्य फ़ंक्शंस ऑब्जेक्ट(object) को बदल नहीं सकते हैं, लेकिन गैर-स्थिर ऑब्जेक्ट(object) भी निरंतर सदस्य फ़ंक्शंस को आमंत्रित कर सकते हैं और अगर हम किसी कर्मचारी की आईडी की तरह किसी वस्तु का चयन करना चाहते हैं, तो वह एक स्टूडेंट(student) का रोल नंबर(roll number) बना सकता है। इसलिए, हमने देखा है कि एक निरंतर सदस्य फ़ंक्शंस ऑब्जेक्ट(object) को बदल नहीं सकते हैं, लेकिन गैर-स्थिर ऑब्जेक्ट(object) भी निरंतर सदस्य फ़ंक्शंस को आमंत्रित कर सकते हैं और अगर हम किसी कर्मचारी की आईडी की तरह किसी वस्तु का चयन करना चाहते हैं, तो वह एक स्टूडेंट(student) का रोल नंबर(roll number) बना सकता है।
; फिर हम संबंधित डेटा(data) सदस्य को निरंतर बना सकते हैं, फिर निरंतर सदस्य फ़ंक्शन(function) या गैर स्थिर सदस्य फ़ंक्शन(function), उनमें से कोई भी निरंतर डेटा(data) सदस्य को बदल नहीं सकता है। फिर हम संबंधित डेटा(data) सदस्य को निरंतर बना सकते हैं, फिर निरंतर सदस्य फ़ंक्शन(function) या गैर स्थिर सदस्य फ़ंक्शन(function), उनमें से कोई भी निरंतर डेटा(data) सदस्य को बदल नहीं सकता है।
हमने यह भी देखा है कि C ++ डिफ़ॉल्ट(default) रूप से कॉन्स्ट(const) उपयोग में बिट वार कॉन्स्ट(const)-नेस(ness) का समर्थन करता है, लेकिन लॉजिकल कॉन्स्ट-नेस(Const-ness) को प्राप्त करने के लिए परस्पर डेटा(data) सदस्य का उपयोग करना संभव है, जो हमारे पास एक तार्किक रूप से स्थिर कॉन्स्ट-नेस(Const-ness) अवधारणा हो सकती है जिसे हम कोड कर सकते हैं उत्परिवर्तित डेटा(data) सदस्य का उपयोग करके C++। हमने यह भी देखा है कि C ++ डिफ़ॉल्ट(default) रूप से कॉन्स्ट(const) उपयोग में बिट वार कॉन्स्ट(const)-नेस(ness) का समर्थन करता है, लेकिन लॉजिकल कॉन्स्ट-नेस(Const-ness) को प्राप्त करने के लिए परस्पर डेटा(data) सदस्य का उपयोग करना संभव है, जो हमारे पास एक तार्किक रूप से स्थिर कॉन्स्ट-नेस(Const-ness) अवधारणा हो सकती है जिसे हम कोड कर सकते हैं उत्परिवर्तित डेटा(data) सदस्य का उपयोग करके C++।
...@@ -155,4 +155,3 @@ ...@@ -155,4 +155,3 @@
इसलिए, हमारे पास किसी स्थान पर 16 की एक सरणी का आवंटन है और फिर हम strcp y का उपयोग करके मेरे इनपुट स्ट्रिंग(string) को कॉपी करते हैं। इसलिए, हमारे पास किसी स्थान पर 16 की एक सरणी का आवंटन है और फिर हम strcp y का उपयोग करके मेरे इनपुट स्ट्रिंग(string) को कॉपी करते हैं।
इसलिए, मेरे कार्ड के सदस्य को इस स्ट्रिंग(string) के लिए आरंभीकृत किया गया है और इसे यहाँ करना होगा, इसे आरंभीकरण सूची में करना होगा क्योंकि दोनों पॉइंटर कार्ड एमईएम(MEM) नंबर पॉइंटर के साथ-साथ स्ट्रिंग जो यह इंगित करेगा कि यह निरंतर हो जाएगा अब, लेकिन इसके साथ हम एक तरह से ऑब्जेक्ट की सुरक्षा और निर्माण करने में सक्षम हैं, ताकि आप क्रेडिट कार्ड(credit card) ऑब्जेक्ट(object) बन जाने के बाद कार्ड नंबर में कोई बदलाव न कर सकें। इसलिए, मेरे कार्ड के सदस्य को इस स्ट्रिंग(string) के लिए आरंभीकृत किया गया है और इसे यहाँ करना होगा, इसे आरंभीकरण सूची में करना होगा क्योंकि दोनों पॉइंटर कार्ड एमईएम(MEM) नंबर पॉइंटर के साथ-साथ स्ट्रिंग जो यह इंगित करेगा कि यह निरंतर हो जाएगा अब, लेकिन इसके साथ हम एक तरह से ऑब्जेक्ट की सुरक्षा और निर्माण करने में सक्षम हैं, ताकि आप क्रेडिट कार्ड(credit card) ऑब्जेक्ट(object) बन जाने के बाद कार्ड नंबर में कोई बदलाव न कर सकें।
हमने अभी देखा है कि कैसे निरंतर वस्तुओं, निरंतर सदस्य कार्यों और निरंतर डेटा सदस्यों को बनाने के लिए और डिजाइन में इसका उपयोग कैसे करें। हमने अभी देखा है कि कैसे निरंतर वस्तुओं, निरंतर सदस्य कार्यों और निरंतर डेटा सदस्यों को बनाने के लिए और डिजाइन में इसका उपयोग कैसे करें।
...@@ -125,4 +125,3 @@ C ++ में प्रोग्रामिंग में फिर से ...@@ -125,4 +125,3 @@ C ++ में प्रोग्रामिंग में फिर से
हमने डेटा(data) की अस्थिरता के लिए धारणा पेश की है और देखा है कि C ++ प्रोग्राम में वोलातिल(volatile) डेटा(data) का उपयोग कैसे किया जा सकता है। हमने डेटा(data) की अस्थिरता के लिए धारणा पेश की है और देखा है कि C ++ प्रोग्राम में वोलातिल(volatile) डेटा(data) का उपयोग कैसे किया जा सकता है।
अगला, हमने पैरामीटर(parameter) फॉर्म सी के साथ मैक्रोज़(macros) को फिर से परिभाषित किया है और दिखाया है कि इनलाइन(inline) फ़ंक्शन(function) या फ़ंक्शन(function) इनलाइनिंग(inlining) का उपयोग मैक्रोज़(macros) के स्थान पर लाभ के साथ किया जा सकता है जो कि मैक्रोज़(macros) ऑफ़र के कई सिंटैक्टिक और सिमेंटिक समस्याओं को हल करता है। अगला, हमने पैरामीटर(parameter) फॉर्म सी के साथ मैक्रोज़(macros) को फिर से परिभाषित किया है और दिखाया है कि इनलाइन(inline) फ़ंक्शन(function) या फ़ंक्शन(function) इनलाइनिंग(inlining) का उपयोग मैक्रोज़(macros) के स्थान पर लाभ के साथ किया जा सकता है जो कि मैक्रोज़(macros) ऑफ़र के कई सिंटैक्टिक और सिमेंटिक समस्याओं को हल करता है।
अंत में, हमने इनलाइन(inline) पर प्रतिबंधों को भी देखा है। अंत में, हमने इनलाइन(inline) पर प्रतिबंधों को भी देखा है।
...@@ -122,4 +122,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -122,4 +122,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
न ही इसे बदला जा सकता है। न ही इसे बदला जा सकता है।
यह दिखाने के लिए एक उदाहरण है कि दोनों तरफ कास्ट-नेस(ness) कैसे लागू होता है। यह दिखाने के लिए एक उदाहरण है कि दोनों तरफ कास्ट-नेस(ness) कैसे लागू होता है।
इसलिए, हमने कॉन्स्ट(const)-नेस(ness) की मूल धारणा पर चर्चा की है और यह बताया है कि पॉइंटर्स के संदर्भ में कॉन्स्ट(const)-नेस(ness) कैसे लागू होता है। इसलिए, हमने कॉन्स्ट(const)-नेस(ness) की मूल धारणा पर चर्चा की है और यह बताया है कि पॉइंटर्स के संदर्भ में कॉन्स्ट(const)-नेस(ness) कैसे लागू होता है।
...@@ -82,4 +82,3 @@ C ++ में प्रोग्रामिंग मॉड्यूल 13 क ...@@ -82,4 +82,3 @@ C ++ में प्रोग्रामिंग मॉड्यूल 13 क
वास्तव में एक जटिल क्लास(class) के लिए एक विध्वंसक(destructor) कुछ भी नहीं कर सकता है, लेकिन खाली शरीर के साथ एक प्रदान करना हमेशा अच्छा होता है। वास्तव में एक जटिल क्लास(class) के लिए एक विध्वंसक(destructor) कुछ भी नहीं कर सकता है, लेकिन खाली शरीर के साथ एक प्रदान करना हमेशा अच्छा होता है।
इसके साथ हम निर्माण और विनाश प्रक्रिया को बंद कर देंगे। इसके साथ हम निर्माण और विनाश प्रक्रिया को बंद कर देंगे।
हमने सीखा है कि हर क्लास(class) में एक विध्वंसक(destructor) होगा, जो अद्वितीय है और जो स्वचालित ऑब्जेक्टस(objects) के लिए होगा, वह इस दायरे के अंत में प्राप्त किया जाएगा और इस विध्वंसक(destructor) के भीतर, हम किसी भी प्रकार के संसाधनों की सफाई कर सकते हैं, जो हम कर चुके हैं पर पकड़ है, और हमने यह भी देखा है कि कंपाइलर(compiler) एक डिफ़ॉल्ट(default) कंस्ट्रक्टर(constructor) प्रदान करता है और एक डिफॉल्ट(default) डिस्ट्रक्टर होता है बशर्ते उपयोगकर्ता ने क्लास के लिए डिस्ट्रक्टर या कंस्ट्रक्टर(constructor) न लिखा हो। हमने सीखा है कि हर क्लास(class) में एक विध्वंसक(destructor) होगा, जो अद्वितीय है और जो स्वचालित ऑब्जेक्टस(objects) के लिए होगा, वह इस दायरे के अंत में प्राप्त किया जाएगा और इस विध्वंसक(destructor) के भीतर, हम किसी भी प्रकार के संसाधनों की सफाई कर सकते हैं, जो हम कर चुके हैं पर पकड़ है, और हमने यह भी देखा है कि कंपाइलर(compiler) एक डिफ़ॉल्ट(default) कंस्ट्रक्टर(constructor) प्रदान करता है और एक डिफॉल्ट(default) डिस्ट्रक्टर होता है बशर्ते उपयोगकर्ता ने क्लास के लिए डिस्ट्रक्टर या कंस्ट्रक्टर(constructor) न लिखा हो।
...@@ -219,4 +219,3 @@ ...@@ -219,4 +219,3 @@
हमारे पास इस मॉड्यूल(module) में चर्चा की गई सभी चीजें इस सारांश में दी गई हैं। हमारे पास इस मॉड्यूल(module) में चर्चा की गई सभी चीजें इस सारांश में दी गई हैं।
तो, आप अभी जांच कर सकते हैं कि आप इन सभी बिंदुओं को समझ चुके हैं। तो, आप अभी जांच कर सकते हैं कि आप इन सभी बिंदुओं को समझ चुके हैं।
और आपका बहुत शुक्रिया। और आपका बहुत शुक्रिया।
...@@ -90,4 +90,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -90,4 +90,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
उदाहरण के लिए, यदि हम c2 के इस तात्कालिकता को देखते हैं, जब c2 को त्वरित रूप से प्राप्त किया जाएगा, तो स्वाभाविक रूप से इस निर्माणकर्ता के पास जो एक पैरामीटर(parameter) होगा, उसे आमंत्रित किया जाएगा। उदाहरण के लिए, यदि हम c2 के इस तात्कालिकता को देखते हैं, जब c2 को त्वरित रूप से प्राप्त किया जाएगा, तो स्वाभाविक रूप से इस निर्माणकर्ता के पास जो एक पैरामीटर(parameter) होगा, उसे आमंत्रित किया जाएगा।
जबकि, अगर c1, जब c1 को तत्काल किया जा रहा है, तो दो मापदंडों वाले निर्माणकर्ता को आमंत्रित किया जाएगा, इसलिए इस मामले में ओवर लोडेड कंस्ट्रक्टर(constructor) के सभी नियम लागू होते हैं। जबकि, अगर c1, जब c1 को तत्काल किया जा रहा है, तो दो मापदंडों वाले निर्माणकर्ता को आमंत्रित किया जाएगा, इसलिए इस मामले में ओवर लोडेड कंस्ट्रक्टर(constructor) के सभी नियम लागू होते हैं।
इस तरह से कंस्ट्रक्टरों को लोड किया जा सकता है और हम विभिन्न प्रकारों के संदर्भ में निर्माण प्रक्रिया लिख सकते हैं मापदंडों और उनके संयोजन और इतने पर और जैसा कि हम आगे बढ़ते हैं, हम कई और उदाहरण देखेंगे कि कैसे अतिभारित निर्माण विभिन्न वर्गों के लिए बहुत प्रभावी निर्माण तंत्र लिखने के लिए महत्वपूर्ण हो जाते हैं जिन्हें हमने बनाया था। इस तरह से कंस्ट्रक्टरों को लोड किया जा सकता है और हम विभिन्न प्रकारों के संदर्भ में निर्माण प्रक्रिया लिख सकते हैं मापदंडों और उनके संयोजन और इतने पर और जैसा कि हम आगे बढ़ते हैं, हम कई और उदाहरण देखेंगे कि कैसे अतिभारित निर्माण विभिन्न वर्गों के लिए बहुत प्रभावी निर्माण तंत्र लिखने के लिए महत्वपूर्ण हो जाते हैं जिन्हें हमने बनाया था।
...@@ -7,7 +7,6 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू ...@@ -7,7 +7,6 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू
तो, आप फिर से उसके लिए कंस्ट्रक्टर(constructor) की नकल करेंगे। तो, आप फिर से उसके लिए कंस्ट्रक्टर(constructor) की नकल करेंगे।
इसलिए, अब हम इस पर त्वरित उदाहरण देंगे। इसलिए, अब हम इस पर त्वरित उदाहरण देंगे।
इसलिए, फिर से हमारे जटिल वर्ग के लिए, यहाँ कुछ भी अलग नहीं है, सिवाय हमने एक फंक्शन डिस्प्ले जोड़ा है जो यहाँ एक कॉम्प्लेक्स(complex) नंबर लेता है और इसे प्रिंट करता है और जिस तरंग को हमने डिज़ाइन किया है, यह डिस्प्ले फंक्शन कॉम्प्लेक्स(complex) नंबर एक मान के रूप में पास होता है। इसलिए, फिर से हमारे जटिल वर्ग के लिए, यहाँ कुछ भी अलग नहीं है, सिवाय हमने एक फंक्शन डिस्प्ले जोड़ा है जो यहाँ एक कॉम्प्लेक्स(complex) नंबर लेता है और इसे प्रिंट करता है और जिस तरंग को हमने डिज़ाइन किया है, यह डिस्प्ले फंक्शन कॉम्प्लेक्स(complex) नंबर एक मान के रूप में पास होता है।
तो, यह मूल्य से एक कॉल है। तो, यह मूल्य से एक कॉल है।
इसलिए, अब यदि आप उस क्रम को देखते हैं जिसमें निर्माणकर्ताओं को स्वाभाविक रूप से कहा जाता है, तो सबसे पहले इसे निष्पादित किया जाएगा। इसलिए, अब यदि आप उस क्रम को देखते हैं जिसमें निर्माणकर्ताओं को स्वाभाविक रूप से कहा जाता है, तो सबसे पहले इसे निष्पादित किया जाएगा।
तो, कंस्ट्रक्टर(constructor) को इनवॉइस किया जाता है; ये आउटपुट(output)। तो, कंस्ट्रक्टर(constructor) को इनवॉइस किया जाता है; ये आउटपुट(output)।
...@@ -74,7 +73,8 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू ...@@ -74,7 +73,8 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू
इसलिए, कृपया इसके माध्यम से जाएं और अपने आप को समझाएं कि आप निर्माण, विनाश और प्रतिलिपि निर्माण की पूरी प्रक्रिया को एक साथ समझते हैं। इसलिए, कृपया इसके माध्यम से जाएं और अपने आप को समझाएं कि आप निर्माण, विनाश और प्रतिलिपि निर्माण की पूरी प्रक्रिया को एक साथ समझते हैं।
अब, निर्माता और विध्वंसक(destructor) की तरह, हमारे पास मुफ्त संस्करण हैं। अब, निर्माता और विध्वंसक(destructor) की तरह, हमारे पास मुफ्त संस्करण हैं।
कॉपी(copy) कंस्ट्रक्टर(constructor) के लिए भी वही तंत्र उपलब्ध हैं। कॉपी(copy) कंस्ट्रक्टर(constructor) के लिए भी वही तंत्र उपलब्ध हैं।
यदि प्रोग्रामर द्वारा उपयोगकर्ता द्वारा कोई कॉपी(copy) कंस्ट्रक्टर(constructor) प्रदान नहीं किया जाता है, अगर मैं एक क्लास लिखता हूं जिसमें कॉपी(copy) कंस्ट्रक्टर(constructor) नहीं है, तो कंपाइलर एक मुफ्त कॉपी(copy) कंस्ट्रक्टर(constructor) की आपूर्ति करेगा और कंपाइलर एक कॉपी(copy) प्रदान करेगा। यदि प्रोग्रामर द्वारा उपयोगकर्ता द्वारा कोई कॉपी(copy) कंस्ट्रक्टर(constructor) प्रदान नहीं किया जाता है, अगर मैं एक क्लास लिखता हूं जिसमें कॉपी(copy) कंस्ट्रक्टर(constructor) नहीं है, तो कंपाइलर एक मुफ्त कॉपी(copy) कंस्ट्रक्टर(constructor) की आपूर्ति करेगा
और कंपाइलर एक कॉपी(copy) प्रदान करेगा।
कन्स्ट्रक्टर निश्चित रूप से ऑब्जेक्ट(object) को इनिशियलाइज़ नहीं कर सकता है क्योंकि यह नहीं जानता कि इसे कैसे करना है। कन्स्ट्रक्टर निश्चित रूप से ऑब्जेक्ट(object) को इनिशियलाइज़ नहीं कर सकता है क्योंकि यह नहीं जानता कि इसे कैसे करना है।
तो, यह क्या करता है, यह बस एक सा प्रतिलिपि बनाता है जिसका अर्थ है कि यह ऑब्जेक्ट(object) की पूरी बिट प्रति को कॉपी(copy) से लेता है और एक अन्य बिट पैटर्न को ऑब्जेक्ट(object) के रूप में प्रतीत होता है। तो, यह क्या करता है, यह बस एक सा प्रतिलिपि बनाता है जिसका अर्थ है कि यह ऑब्जेक्ट(object) की पूरी बिट प्रति को कॉपी(copy) से लेता है और एक अन्य बिट पैटर्न को ऑब्जेक्ट(object) के रूप में प्रतीत होता है।
अब, आप पूछेंगे कि इसमें गलत क्या है। अब, आप पूछेंगे कि इसमें गलत क्या है।
...@@ -190,4 +190,3 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू ...@@ -190,4 +190,3 @@ C ++ में प्रोग्रामिंग 14 के मॉड्यू
कॉपी(copy) असाइनमेंट(assignment) ऑपरेटर(operator) में, हमने विशेष रूप से लिखा है कि कॉपी(copy) क्लोन क्या है, ताकि आप जान सकें कि यह आपके कॉपी(copy) असाइनमेंट(assignment) ऑपरेटर(operator) से क्या हो रहा है। कॉपी(copy) असाइनमेंट(assignment) ऑपरेटर(operator) में, हमने विशेष रूप से लिखा है कि कॉपी(copy) क्लोन क्या है, ताकि आप जान सकें कि यह आपके कॉपी(copy) असाइनमेंट(assignment) ऑपरेटर(operator) से क्या हो रहा है।
तो, यह C1 से C2 की प्रतिलिपि बनाता है और फिर, आप प्रिंट शो देख सकते हैं कि C2 क्या है और फिर ये दोनों जहां पहले C2 को 3 में असाइन किए जाते हैं, फिर परिणाम C1 को सौंपा जाता है और फिर, वे प्रिंट करते हैं और स्वाभाविक रूप से रिवर्स उनके विनाश का क्रम। तो, यह C1 से C2 की प्रतिलिपि बनाता है और फिर, आप प्रिंट शो देख सकते हैं कि C2 क्या है और फिर ये दोनों जहां पहले C2 को 3 में असाइन किए जाते हैं, फिर परिणाम C1 को सौंपा जाता है और फिर, वे प्रिंट करते हैं और स्वाभाविक रूप से रिवर्स उनके विनाश का क्रम।
तो, यह आपको स्पष्ट रूप से एक कक्षा में विभिन्न वस्तुओं के लिए कॉपी(copy) असाइनमेंट(assignment) की प्रक्रिया को दिखाएगा। तो, यह आपको स्पष्ट रूप से एक कक्षा में विभिन्न वस्तुओं के लिए कॉपी(copy) असाइनमेंट(assignment) की प्रक्रिया को दिखाएगा।
...@@ -82,4 +82,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -82,4 +82,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
इसलिए, गहरी प्रति(deep copy)लिपि के बाद 2 पॉइंटर्स मूल रूप से एक ही वस्तु के बाद दो अलग-अलग प्रतियों को इंगित करते हैं, लेकिन वे अलग-अलग ऑब्जेक्ट(object) बन जाते हैं। इसलिए, गहरी प्रति(deep copy)लिपि के बाद 2 पॉइंटर्स मूल रूप से एक ही वस्तु के बाद दो अलग-अलग प्रतियों को इंगित करते हैं, लेकिन वे अलग-अलग ऑब्जेक्ट(object) बन जाते हैं।
इसलिए, गहरी प्रति(deep copy) और गहरी प्रति(shallow copy) का उपयोग स्वाभाविक रूप से विवेकपूर्ण तरीके से किया जाना चाहिए। इसलिए, गहरी प्रति(deep copy) और गहरी प्रति(shallow copy) का उपयोग स्वाभाविक रूप से विवेकपूर्ण तरीके से किया जाना चाहिए।
निश्चित रूप से, यदि इसकी आवश्यकता नहीं है, तो हम गहरी कॉपी(copy) करने की कोशिश नहीं करेंगे क्योंकि इसमें इंगित किए गए डेटा की नकल शामिल होगी जो महंगा हो सकता है क्योंकि फिर से पुनरावर्ती तर्क द्वारा कॉपी(copy) निर्माण की आवश्यकता होगी, लेकिन सुरक्षा के मामले में, गहरी कॉपी(copy) का उपयोग करना गहरी प्रति(shallow copy) का उपयोग करने की तुलना में अक्सर अधिक सुरक्षित होता है। निश्चित रूप से, यदि इसकी आवश्यकता नहीं है, तो हम गहरी कॉपी(copy) करने की कोशिश नहीं करेंगे क्योंकि इसमें इंगित किए गए डेटा की नकल शामिल होगी जो महंगा हो सकता है क्योंकि फिर से पुनरावर्ती तर्क द्वारा कॉपी(copy) निर्माण की आवश्यकता होगी, लेकिन सुरक्षा के मामले में, गहरी कॉपी(copy) का उपयोग करना गहरी प्रति(shallow copy) का उपयोग करने की तुलना में अक्सर अधिक सुरक्षित होता है।
...@@ -138,4 +138,3 @@ C ++ में प्रोग्रामिंग मे मॉड्यूल ...@@ -138,4 +138,3 @@ C ++ में प्रोग्रामिंग मे मॉड्यूल
यहाँ स्थैतिक का क्या मतलब है कि आप संकलन(compile) समय में यह सब करना चाहते हैं जो कि संकलक को इन कई रूपों के बीच तय करने में सक्षम होना चाहिए और आपको यह बताना चाहिए कि इन विभिन्न रूपों में से कौन से पॉलीमॉर्फिक रूप आप अपने फंक्शन(function) कॉल में उपयोग करने का प्रयास कर रहे हैं। यहाँ स्थैतिक का क्या मतलब है कि आप संकलन(compile) समय में यह सब करना चाहते हैं जो कि संकलक को इन कई रूपों के बीच तय करने में सक्षम होना चाहिए और आपको यह बताना चाहिए कि इन विभिन्न रूपों में से कौन से पॉलीमॉर्फिक रूप आप अपने फंक्शन(function) कॉल में उपयोग करने का प्रयास कर रहे हैं।
तो, इस तरह के निर्णय या अधिभार तंत्र को एक साथ मिलाकर स्थैतिक बहुरूपता(polymorphism) के रूप में जाना जाता है। तो, इस तरह के निर्णय या अधिभार तंत्र को एक साथ मिलाकर स्थैतिक बहुरूपता(polymorphism) के रूप में जाना जाता है।
बेशक, बहुरूपता(polymorphism) के अन्य रूप हैं, जिन्हें आमतौर पर गतिशील या रन प्रकार के बहुरूपता(polymorphism) कहा जाता है, जिस पर चर्चा करने के बाद हम C ++ भाषा के ऑब्जेक्ट बेस पार्ट पर चर्चा करते हैं। बेशक, बहुरूपता(polymorphism) के अन्य रूप हैं, जिन्हें आमतौर पर गतिशील या रन प्रकार के बहुरूपता(polymorphism) कहा जाता है, जिस पर चर्चा करने के बाद हम C ++ भाषा के ऑब्जेक्ट बेस पार्ट पर चर्चा करते हैं।
...@@ -197,4 +197,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -197,4 +197,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
इसके साथ हम इस मॉड्यूल(module) को समाप्त कर देंगे। इसके साथ हम इस मॉड्यूल(module) को समाप्त कर देंगे।
और, अगले एक में हम उसी अवधारणा को आगे बढ़ाएंगे। और, अगले एक में हम उसी अवधारणा को आगे बढ़ाएंगे।
और, देखें कि इसी तरह के ओवरलोडिंग(overloading) कॉन्सेप्ट को ऑपरेटरों के मामले में भी C ++ में लागू किया जा सकता है, जिसे ऑपरेटर ओवरलोडिंग(overloading) के रूप में जाना जाएगा। और, देखें कि इसी तरह के ओवरलोडिंग(overloading) कॉन्सेप्ट को ऑपरेटरों के मामले में भी C ++ में लागू किया जा सकता है, जिसे ऑपरेटर ओवरलोडिंग(overloading) के रूप में जाना जाएगा।
...@@ -165,4 +165,3 @@ ...@@ -165,4 +165,3 @@
यदि यह गैर-आभासी है, तो यह स्थैतिक(static) बाइंडिंग(binding) का उपयोग करेगा; यदि यह वर्चुअल(virtual) है, तो यह डायनामिक(Dynamic) बाइंडिंग(binding) के लिए कोड बनाएगा, ताकि रन टाइम में उपयोग किए जा रहे वास्तविक प्रकार के आधार पर बाइंडिंग(binding) का निर्णय लिया जाएगा। यदि यह गैर-आभासी है, तो यह स्थैतिक(static) बाइंडिंग(binding) का उपयोग करेगा; यदि यह वर्चुअल(virtual) है, तो यह डायनामिक(Dynamic) बाइंडिंग(binding) के लिए कोड बनाएगा, ताकि रन टाइम में उपयोग किए जा रहे वास्तविक प्रकार के आधार पर बाइंडिंग(binding) का निर्णय लिया जाएगा।
संक्षेप में, हमने स्थैतिक(static) और डायनामिक(Dynamic) बाइंडिंग(binding) में गहराई से देखा है, और पॉलिमॉर्फिक (polymorphic) को समझने की कोशिश की है। संक्षेप में, हमने स्थैतिक(static) और डायनामिक(Dynamic) बाइंडिंग(binding) में गहराई से देखा है, और पॉलिमॉर्फिक (polymorphic) को समझने की कोशिश की है।
और अगले मॉड्यूल(module) में, हम विभिन्न विशिष्ट मुद्दों पर अपनी चर्चा जारी रखेंगे जो पॉलिमॉर्फिक (polymorphic) प्रकारों के साथ उत्पन्न होती हैं। और अगले मॉड्यूल(module) में, हम विभिन्न विशिष्ट मुद्दों पर अपनी चर्चा जारी रखेंगे जो पॉलिमॉर्फिक (polymorphic) प्रकारों के साथ उत्पन्न होती हैं।
...@@ -163,4 +163,3 @@ ...@@ -163,4 +163,3 @@
फिर आप सी ++ में जाते हैं और इसमें हमने समाधान के तीन चरण दिखाए हैं - पहला, गैर-पॉलीमोर्फिक(polymorphic) पदानुक्रम(hierarchy) के साथ; फिर, पॉलीमोर्फिक(polymorphic) पदानुक्रम(hierarchy) के साथ; और फिर सार आधार क्लास(class) के साथ एक बहुरंगी पदानुक्रम(hierarchy) के साथ। फिर आप सी ++ में जाते हैं और इसमें हमने समाधान के तीन चरण दिखाए हैं - पहला, गैर-पॉलीमोर्फिक(polymorphic) पदानुक्रम(hierarchy) के साथ; फिर, पॉलीमोर्फिक(polymorphic) पदानुक्रम(hierarchy) के साथ; और फिर सार आधार क्लास(class) के साथ एक बहुरंगी पदानुक्रम(hierarchy) के साथ।
और मुझे आशा है कि भविष्य में और अधिक डिजाइन(design) करने में सक्षम होने के मामले में आपको बहुत ताकत मिलेगी। और मुझे आशा है कि भविष्य में और अधिक डिजाइन(design) करने में सक्षम होने के मामले में आपको बहुत ताकत मिलेगी।
अगले मॉड्यूल(module) और दो में हम उन सभी पर एक संक्षिप्त नज़र डालेंगे जो हम पॉलीमॉर्फिज्म(Polymorphism) के संदर्भ में कह रहे हैं कि डायनामिक(Dynamic) बाइंडिंग(binding), यह वास्तव में कैसे काम करता है, और फिर C ++ की अन्य विशेषताओं के साथ जारी रहता है। अगले मॉड्यूल(module) और दो में हम उन सभी पर एक संक्षिप्त नज़र डालेंगे जो हम पॉलीमॉर्फिज्म(Polymorphism) के संदर्भ में कह रहे हैं कि डायनामिक(Dynamic) बाइंडिंग(binding), यह वास्तव में कैसे काम करता है, और फिर C ++ की अन्य विशेषताओं के साथ जारी रहता है।
...@@ -205,4 +205,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल( ...@@ -205,4 +205,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल(
इसलिए, निष्कर्ष निकालने के लिए, हमने इस बात पर चर्चा की है कि विध्वंसक(destructor) वर्चुअल(virtual) क्यों होना चाहिए। इसलिए, निष्कर्ष निकालने के लिए, हमने इस बात पर चर्चा की है कि विध्वंसक(destructor) वर्चुअल(virtual) क्यों होना चाहिए।
और बहुरंगी पदानुक्रम(hierarchy) पर काम करने में सक्षम होने के लिए, हमने शुद्ध वर्चुअल(virtual) कार्यों को शुरू किया है और एब्स्ट्राक्ट(abstract) आधार क्लास(class) की धारणा पेश की है। और बहुरंगी पदानुक्रम(hierarchy) पर काम करने में सक्षम होने के लिए, हमने शुद्ध वर्चुअल(virtual) कार्यों को शुरू किया है और एब्स्ट्राक्ट(abstract) आधार क्लास(class) की धारणा पेश की है।
अगले मॉड्यूल(module) में, हम यह दिखाने के लिए अधिक उदाहरण लेंगे कि इन उपकरणों का उपयोग वास्तव में क्लास(class) पदानुक्रम(hierarchy) पर कुछ निश्चित डिज़ाइन और कोड प्रसंस्करण करने के लिए कैसे किया जा सकता है। अगले मॉड्यूल(module) में, हम यह दिखाने के लिए अधिक उदाहरण लेंगे कि इन उपकरणों का उपयोग वास्तव में क्लास(class) पदानुक्रम(hierarchy) पर कुछ निश्चित डिज़ाइन और कोड प्रसंस्करण करने के लिए कैसे किया जा सकता है।
...@@ -199,4 +199,3 @@ ...@@ -199,4 +199,3 @@
हमने ऐसा इसलिए किया है क्योंकि अगले मॉड्यूल(module) में, हमें बिंडिंग(binding) के संदर्भ में कास्टिंग(casting) की इस धारणा का उपयोग करने की आवश्यकता होगी। हमने ऐसा इसलिए किया है क्योंकि अगले मॉड्यूल(module) में, हमें बिंडिंग(binding) के संदर्भ में कास्टिंग(casting) की इस धारणा का उपयोग करने की आवश्यकता होगी।
उसके बाद हमने स्थैतिक(static) कास्टिंग(casting) और डायनामिक(Dynamic) कास्टिंग(casting) या वर्चुअल फ़ंक्शन(function) की मूल परिभाषा को प्रस्तुत किया है जो एक नए प्रकार का सदस्य कार्य है जिसे हम आगे की कक्षाओं में पेश कर रहे हैं। उसके बाद हमने स्थैतिक(static) कास्टिंग(casting) और डायनामिक(Dynamic) कास्टिंग(casting) या वर्चुअल फ़ंक्शन(function) की मूल परिभाषा को प्रस्तुत किया है जो एक नए प्रकार का सदस्य कार्य है जिसे हम आगे की कक्षाओं में पेश कर रहे हैं।
हम अगले मॉड्यूल(module) में गतिशील(dynamic) बिंडिंग(binding) पर चर्चा जारी रखेंगे। हम अगले मॉड्यूल(module) में गतिशील(dynamic) बिंडिंग(binding) पर चर्चा जारी रखेंगे।
...@@ -75,4 +75,3 @@ ...@@ -75,4 +75,3 @@
और हमने अलग-अलग नए ऑपरेटरों और उनके संबंधित डिलीट(delete) ऑपरेटरों और उनके द्वारा सीखे गए एक मूल सिद्धांत के बीच के अंतरों को ध्यान से समझा है, हम जो भी आवंटित(allocate) या फ़ंक्शन करते हैं, जो आवंटित(allocate) हम करते हैं उसका उपयोग हम संबंधित डी-आवंटित(allocate) फ़ंक्शन या ऑपरेटर(operator) का उपयोग करते हैं - नि: शुल्क के साथ मॉलॉक, ऑपरेटर(operator) हटाने के साथ ऑपरेटर(operator) नया, ऑपरेटर(operator) सरणी(array) हटाने के साथ ऑपरेटर(operator) नया और अगर मैंने प्लेसमेंट नया किया है, तो आपके पास कोई डिलीट(delete) नहीं होना चाहिए, और अन्यथा हमें पूरी तरह से अप्रत्याशित समस्याएं होने की संभावना है। और हमने अलग-अलग नए ऑपरेटरों और उनके संबंधित डिलीट(delete) ऑपरेटरों और उनके द्वारा सीखे गए एक मूल सिद्धांत के बीच के अंतरों को ध्यान से समझा है, हम जो भी आवंटित(allocate) या फ़ंक्शन करते हैं, जो आवंटित(allocate) हम करते हैं उसका उपयोग हम संबंधित डी-आवंटित(allocate) फ़ंक्शन या ऑपरेटर(operator) का उपयोग करते हैं - नि: शुल्क के साथ मॉलॉक, ऑपरेटर(operator) हटाने के साथ ऑपरेटर(operator) नया, ऑपरेटर(operator) सरणी(array) हटाने के साथ ऑपरेटर(operator) नया और अगर मैंने प्लेसमेंट नया किया है, तो आपके पास कोई डिलीट(delete) नहीं होना चाहिए, और अन्यथा हमें पूरी तरह से अप्रत्याशित समस्याएं होने की संभावना है।
हमने अंत में यह भी देखा है कि इन नए ऑपरेटरों को कैसे ओवरलोड(overload) किया जाए और ऑपरेटरों को हटा दिया जाए, जो अब ऑपरेटर(operator) के रूप में होने का फायदा है। हमने अंत में यह भी देखा है कि इन नए ऑपरेटरों को कैसे ओवरलोड(overload) किया जाए और ऑपरेटरों को हटा दिया जाए, जो अब ऑपरेटर(operator) के रूप में होने का फायदा है।
और हमने दिखाया है कि इन ऑपरेटरों को ओवरलोड(overload) करके उपयोगकर्ता द्वारा वांछित रूप से विभिन्न कार्यक्षमता को कैसे रखा जा सकता है। और हमने दिखाया है कि इन ऑपरेटरों को ओवरलोड(overload) करके उपयोगकर्ता द्वारा वांछित रूप से विभिन्न कार्यक्षमता को कैसे रखा जा सकता है।
...@@ -154,4 +154,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -154,4 +154,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
तो, इस तरह के नए के लिए, यहां प्लेसमेंट नया या यहां नए प्लेसमेंट के लिए, आपके पास एक समान डिलीट नहीं है; अन्यथा, आप प्रारंभिक उदाहरण से शुरू होने वाले बाकी उदाहरणों के माध्यम से जा सकते हैं या अन्य बिंदुओं के संदर्भ में उपयोग कर सकते हैं। तो, इस तरह के नए के लिए, यहां प्लेसमेंट नया या यहां नए प्लेसमेंट के लिए, आपके पास एक समान डिलीट नहीं है; अन्यथा, आप प्रारंभिक उदाहरण से शुरू होने वाले बाकी उदाहरणों के माध्यम से जा सकते हैं या अन्य बिंदुओं के संदर्भ में उपयोग कर सकते हैं।
यदि आप इस कोड से गुजरते हैं, तो यह पॉइंटर(pointer) ट्विकिंग का थोड़ा सा हिस्सा है, और यह आदी होने के लिए अच्छा होगा कि आप समझ जाएंगे कि यह बाकी किसी भी अन्य पॉइंटर(pointer) हेरफेर की तरह है। यदि आप इस कोड से गुजरते हैं, तो यह पॉइंटर(pointer) ट्विकिंग का थोड़ा सा हिस्सा है, और यह आदी होने के लिए अच्छा होगा कि आप समझ जाएंगे कि यह बाकी किसी भी अन्य पॉइंटर(pointer) हेरफेर की तरह है।
लेकिन फर्क सिर्फ इतना है कि पते डायनेमिक स्टोर से नहीं आ रहे हैं, फ्री(free) स्टोर से नहीं आ रहे हैं, पते उस बफर(buffer) से आ रहे हैं जो मैंने प्रदान किया है। लेकिन फर्क सिर्फ इतना है कि पते डायनेमिक स्टोर से नहीं आ रहे हैं, फ्री(free) स्टोर से नहीं आ रहे हैं, पते उस बफर(buffer) से आ रहे हैं जो मैंने प्रदान किया है।
...@@ -185,4 +185,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -185,4 +185,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
संक्षेप में, हमने अपवादों, प्रकारों और चरणों की मूल अवधारणा की अवधारणा को पेश किया है और सी में त्रुटि से निपटने पर चर्चा की है। संक्षेप में, हमने अपवादों, प्रकारों और चरणों की मूल अवधारणा की अवधारणा को पेश किया है और सी में त्रुटि से निपटने पर चर्चा की है।
हमने विभिन्न भाषा विशेषताओं का सचित्र वर्णन किया है और वास्तव में उनमें से कई नहीं हैं, और पुस्तकालय समर्थन जो इसके लिए C में मौजूद है, और हम इसे उदाहरणों के साथ प्रदर्शित करते हैं। हमने विभिन्न भाषा विशेषताओं का सचित्र वर्णन किया है और वास्तव में उनमें से कई नहीं हैं, और पुस्तकालय समर्थन जो इसके लिए C में मौजूद है, और हम इसे उदाहरणों के साथ प्रदर्शित करते हैं।
अगले मॉड्यूल(module) में, हम C ++ में अपवादों के मूल में पहुंचेंगे। अगले मॉड्यूल(module) में, हम C ++ में अपवादों के मूल में पहुंचेंगे।
...@@ -185,4 +185,3 @@ C - ++ में प्रोग्रामिंग के मॉड्यू ...@@ -185,4 +185,3 @@ C - ++ में प्रोग्रामिंग के मॉड्यू
वास्तव में यदि आप C ++ में थ्रो थ्रो के साथ ठीक से डिज़ाइन करना जारी रख सकते हैं, तो आपको सी में किसी भी अपवाद(exception) तंत्र की आवश्यकता नहीं होगी। वास्तव में यदि आप C ++ में थ्रो थ्रो के साथ ठीक से डिज़ाइन करना जारी रख सकते हैं, तो आपको सी में किसी भी अपवाद(exception) तंत्र की आवश्यकता नहीं होगी।
बेशक आपको अभी भी उनका उपयोग करने की आवश्यकता होगी, क्योंकि कुछ सिस्टम कॉल उन त्रुटि तंत्रों का उपयोग करते हैं, जैसे सिग्नल या त्रुटि संख्या डाल रहा है। बेशक आपको अभी भी उनका उपयोग करने की आवश्यकता होगी, क्योंकि कुछ सिस्टम कॉल उन त्रुटि तंत्रों का उपयोग करते हैं, जैसे सिग्नल या त्रुटि संख्या डाल रहा है।
तो आपको अभी भी उन मामलों के लिए उपयोग करने की आवश्यकता होगी, लेकिन अपने स्वयं के कोड के लिए आपको कभी भी सी त्रुटि हैंडलिंग(handling) या सी लाइब्रेरी लाइब्रेरी फ़ंक्शंस का उपयोग करने की आवश्यकता नहीं होगी। तो आपको अभी भी उन मामलों के लिए उपयोग करने की आवश्यकता होगी, लेकिन अपने स्वयं के कोड के लिए आपको कभी भी सी त्रुटि हैंडलिंग(handling) या सी लाइब्रेरी लाइब्रेरी फ़ंक्शंस का उपयोग करने की आवश्यकता नहीं होगी।
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
हमने अन्य विशेषताओं के बारे में भी बात की है जो मित्र कार्यों के संदर्भ में, स्टातिक(static) फ़ंक्शंस और इसी तरह के कार्यों के लिए विस्तार या अपवाद की विविधता से संबंधित हैं, और हमने देखा है कि विभिन्न सदस्य कार्यों और वैश्विक कार्यों का ओवरलोडिंग(overloading) कैसे होता है हो सकता है। हमने अन्य विशेषताओं के बारे में भी बात की है जो मित्र कार्यों के संदर्भ में, स्टातिक(static) फ़ंक्शंस और इसी तरह के कार्यों के लिए विस्तार या अपवाद की विविधता से संबंधित हैं, और हमने देखा है कि विभिन्न सदस्य कार्यों और वैश्विक कार्यों का ओवरलोडिंग(overloading) कैसे होता है हो सकता है।
अब, इनहेरिटेंस(Inheritance) एक विषय है जो वस्तु आधारित प्रणालियों के डिजाइन की मुख्य रीढ़ बनाने में इन सभी समझ को जोड़ देगा। अब, इनहेरिटेंस(Inheritance) एक विषय है जो वस्तु आधारित प्रणालियों के डिजाइन की मुख्य रीढ़ बनाने में इन सभी समझ को जोड़ देगा।
इसलिए, इससे पहले कि हम गहराई से इसका अध्ययन करना शुरू करें, मैं आप सभी से आग्रह करूंगा कि आप C ++ की विभिन्न विशेषताओं के बारे में संशोधित करें और उन पर पूरी तरह से चर्चा करें, क्योंकि हम अब तक उन सभी का जिक्र करेंगे, जो अब बहुत नियमित रूप से एक साथ हैं। इसलिए, इससे पहले कि हम गहराई से इसका अध्ययन करना शुरू करें, मैं आप सभी से आग्रह करूंगा कि आप C ++ की विभिन्न विशेषताओं के बारे में संशोधित करें और उन पर पूरी तरह से चर्चा करें, क्योंकि हम अब तक उन सभी का जिक्र करेंगे, जो अब बहुत नियमित रूप से एक साथ हैं।
अब, इनहेरिटेंस(Inheritance) पर चर्चा करने के लिए जैसा कि मैंने पहले ही उल्लेख किया है कि यह कई मॉड्यूलों पर होगा। अब, इनहेरिटेंस(Inheritance) पर चर्चा करने के लिए जैसा कि मैंने पहले ही उल्लेख किया है कि यह कई मॉड्यूलों पर होगा।
इस विशेष मॉड्यूल(module) में, हम आईएसए(ISA) रिलेशनशिप या ऑब्जेक्ट(object) ओरिएंटेड(oriented) विश्लेषण और डिज़ाइन के पदानुक्रम को फिर से देखने की कोशिश करेंगे और देखेंगे कि कैसे C ++ विरासत के संदर्भ में बनाया जा सकता है। इस विशेष मॉड्यूल(module) में, हम आईएसए(ISA) रिलेशनशिप या ऑब्जेक्ट(object) ओरिएंटेड(oriented) विश्लेषण और डिज़ाइन के पदानुक्रम को फिर से देखने की कोशिश करेंगे और देखेंगे कि कैसे C ++ विरासत के संदर्भ में बनाया जा सकता है।
मैं यहाँ जो रूपरेखा प्रस्तुत करता हूँ वह थोड़ा अलग ढंग से आयोजित की जाती है। मैं यहाँ जो रूपरेखा प्रस्तुत करता हूँ वह थोड़ा अलग ढंग से आयोजित की जाती है।
...@@ -115,4 +114,3 @@ ...@@ -115,4 +114,3 @@
इसलिए, यह सभी प्रमुख शब्दार्थों का एक सिरा है, जिसे हमें समझने के संदर्भ में समझने की आवश्यकता है कि विरासत का उपयोग कैसे करें और सी ++ भाषा में बहुत ही कुशल तरीके से पदानुक्रम के विभिन्न वास्तविक विश्व परिदृश्य को कैसे मॉडल करें। इसलिए, यह सभी प्रमुख शब्दार्थों का एक सिरा है, जिसे हमें समझने के संदर्भ में समझने की आवश्यकता है कि विरासत का उपयोग कैसे करें और सी ++ भाषा में बहुत ही कुशल तरीके से पदानुक्रम के विभिन्न वास्तविक विश्व परिदृश्य को कैसे मॉडल करें।
इसलिए संक्षेप में, हमारे पास आईएसए(ISA) संबंध की ओओएडी(OOAD) पदानुक्रम अवधारणा और वस्तु उन्मुख विश्लेषण और डिजाइन की श्रेणी पदानुक्रम अवधारणा का पुनर्मुद्रण है, और हमने सी++ में विरासत की मूल धारणा पेश की है। इसलिए संक्षेप में, हमारे पास आईएसए(ISA) संबंध की ओओएडी(OOAD) पदानुक्रम अवधारणा और वस्तु उन्मुख विश्लेषण और डिजाइन की श्रेणी पदानुक्रम अवधारणा का पुनर्मुद्रण है, और हमने सी++ में विरासत की मूल धारणा पेश की है।
और ध्यान दिया कि शब्दार्थ के विभिन्न पहलू क्या हैं जिन्हें हमें समझने की आवश्यकता है, कि हमें वास्तव में मास्टर होने की आवश्यकता है ताकि हम विरासत का प्रभावी तरीके से उपयोग कर सकें। और ध्यान दिया कि शब्दार्थ के विभिन्न पहलू क्या हैं जिन्हें हमें समझने की आवश्यकता है, कि हमें वास्तव में मास्टर होने की आवश्यकता है ताकि हम विरासत का प्रभावी तरीके से उपयोग कर सकें।
...@@ -119,4 +119,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -119,4 +119,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
इसकी गारंटी नहीं है कि बेस क्लास ऑब्जेक्ट(object) निचले पते पर आएगा और व्युत्पन्न क्लास(class) के डेटा सदस्य उच्च पते पर होंगे या इसके विपरीत या कुछ अन्य मिश्रण किया जाएगा। इसकी गारंटी नहीं है कि बेस क्लास ऑब्जेक्ट(object) निचले पते पर आएगा और व्युत्पन्न क्लास(class) के डेटा सदस्य उच्च पते पर होंगे या इसके विपरीत या कुछ अन्य मिश्रण किया जाएगा।
और हमने यह भी देखा है कि इनहेरिटेंस(Inheritance) के संदर्भ में, सदस्य कार्यों को एक आधार क्लास(class) से व्युत्पन्न क्लास(class) में इनहेरिटेंस(Inheritance) में मिला है, लेकिन इनहेरिटेंस(Inheritance) के बाद बहुत दिलचस्प रूप से सदस्य कार्यों को ओवरराइड(override) किया जा सकता है। और हमने यह भी देखा है कि इनहेरिटेंस(Inheritance) के संदर्भ में, सदस्य कार्यों को एक आधार क्लास(class) से व्युत्पन्न क्लास(class) में इनहेरिटेंस(Inheritance) में मिला है, लेकिन इनहेरिटेंस(Inheritance) के बाद बहुत दिलचस्प रूप से सदस्य कार्यों को ओवरराइड(override) किया जा सकता है।
और उस संदर्भ में, ओवरलोडिंग(overloading) के मूल नियम भी काम करना जारी रखेंगे। और उस संदर्भ में, ओवरलोडिंग(overloading) के मूल नियम भी काम करना जारी रखेंगे।
...@@ -148,4 +148,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -148,4 +148,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
इसलिए, जहां आप वास्तव में वीडियो कॉल कर सकते हैं और फिर आपके पास स्मार्ट फोन(smart phone) हैं जो हमने देखे गए मोबाइल फोन(mobile phone) के विशेषीकरण के रूप में हैं, लेकिन वे फिर से विशिष्ट हैं कि क्या वे आई-फोन या एंड्रॉइड फोन हैं या मुझे किसी तरह का टैबलेट मिल सकता है फोन जो स्मार्ट फोन(smart phone) के साथ-साथ वीडियो फोन आदि के रूप में इस्तेमाल किया जा सकता है। इसलिए, जहां आप वास्तव में वीडियो कॉल कर सकते हैं और फिर आपके पास स्मार्ट फोन(smart phone) हैं जो हमने देखे गए मोबाइल फोन(mobile phone) के विशेषीकरण के रूप में हैं, लेकिन वे फिर से विशिष्ट हैं कि क्या वे आई-फोन या एंड्रॉइड फोन हैं या मुझे किसी तरह का टैबलेट मिल सकता है फोन जो स्मार्ट फोन(smart phone) के साथ-साथ वीडियो फोन आदि के रूप में इस्तेमाल किया जा सकता है।
इसलिए, मैं सिर्फ सुझाव देता हूं कि इन पदानुक्रम(hieracrchy) के आधार पर हम घर पर प्रयास कर सकते हैं और C ++ वंशानुक्रम वर्गों(classes) के समान सेट का निर्माण करने की कोशिश कर सकते हैं जो इस पदानुक्रम(hieracrchy) का प्रतिनिधित्व कर सकते हैं। इसलिए, मैं सिर्फ सुझाव देता हूं कि इन पदानुक्रम(hieracrchy) के आधार पर हम घर पर प्रयास कर सकते हैं और C ++ वंशानुक्रम वर्गों(classes) के समान सेट का निर्माण करने की कोशिश कर सकते हैं जो इस पदानुक्रम(hieracrchy) का प्रतिनिधित्व कर सकते हैं।
इसलिए, संक्षेप में हम इसका उपयोग कर सकते हैं फोन पदानुक्रम(hieracrchy) यहाँ दिखाने के लिए, कैसे एक वास्तविक स्थितियों के लिए प्रभावी C ++ कोड(code) मॉडल बनाने के लिए इनहेरिटेंस(Inheritance) का उपयोग किया जा सकता है। इसलिए, संक्षेप में हम इसका उपयोग कर सकते हैं फोन पदानुक्रम(hieracrchy) यहाँ दिखाने के लिए, कैसे एक वास्तविक स्थितियों के लिए प्रभावी C ++ कोड(code) मॉडल बनाने के लिए इनहेरिटेंस(Inheritance) का उपयोग किया जा सकता है।
C ++ में प्रोग्रामिंग 35 के मॉड्यूल(module) 35 में आपका स्वागत है। C ++ में प्रोग्रामिंग 35 के मॉड्यूल(module) 35 में आपका स्वागत है।
हम कई इनहेरिटेंस(inheritance) पर चर्चा कर रहे हैं और हमने निर्माण, विनाश, लेआउट(layout), डेटा(data) सदस्यों, सदस्य कार्यों के बुनियादी तंत्र को देखा है और क्या होता है, अगर कई आधार वर्गों के बीच, यदि डेटा(data) सदस्य या सदस्य फ़ंक्शन(function) समान नामों की नकल करते हैं। हम कई इनहेरिटेंस(inheritance) पर चर्चा कर रहे हैं और हमने निर्माण, विनाश, लेआउट(layout), डेटा(data) सदस्यों, सदस्य कार्यों के बुनियादी तंत्र को देखा है और क्या होता है, अगर कई आधार वर्गों के बीच, यदि डेटा(data) सदस्य या सदस्य फ़ंक्शन(function) समान नामों की नकल करते हैं।
अब, हम कुछ अधिक एकीकृत उपयोग परिदृश्यों पर गौर करेंगे और बताएंगे कि हमारे पास छात्रों के शिक्षक TA परिदृश्य हैं, जहाँ TA एक छात्र है, TA एक शिक्षक है और दोनों हैं व्यक्ति हैं इसलिए, हमारे पास एक हीरे की तरह की स्थिति है और हम इसे हीरे की समस्या कहते हैं, हम देखेंगे कि हम इसे हीरे की समस्या क्यों कहते हैं। अब, हम कुछ अधिक एकीकृत उपयोग परिदृश्यों पर गौर करेंगे और बताएंगे कि हमारे पास छात्रों के शिक्षक TA परिदृश्य हैं, जहाँ TA एक छात्र है, TA एक शिक्षक है और दोनों हैं व्यक्ति हैं
इसलिए, हमारे पास एक हीरे की तरह की स्थिति है और हम इसे हीरे की समस्या कहते हैं, हम देखेंगे कि हम इसे हीरे की समस्या क्यों कहते हैं।
मैंने पहले ही समझाया है कि यह बहुत सामान्य है कि आपके पास बहु इनहेरिटेंस(inheritance) में मिली क्लास(class) की आधार कक्षाओं के लिए एक सामान्य आधार क्लास(class) होगा। मैंने पहले ही समझाया है कि यह बहुत सामान्य है कि आपके पास बहु इनहेरिटेंस(inheritance) में मिली क्लास(class) की आधार कक्षाओं के लिए एक सामान्य आधार क्लास(class) होगा।
तो, आइए हम कोड व्यक्ति को देखने की कोशिश करते हैं, जो एक क्लास(class) है, यहाँ मैंने इसे संकाय कहा है, उदाहरण में मैंने इसे संकाय कहा है, जिसका अर्थ है कि शिक्षक एक कक्षा का छात्र है एक क्लास(class) है इसलिए वे एक व्यक्ति से इनहेरिटेंस(inheritance) में मिलते हैं। तो, आइए हम कोड व्यक्ति को देखने की कोशिश करते हैं, जो एक क्लास(class) है, यहाँ मैंने इसे संकाय कहा है, उदाहरण में मैंने इसे संकाय कहा है, जिसका अर्थ है कि शिक्षक एक कक्षा का छात्र है एक क्लास(class) है इसलिए वे एक व्यक्ति से इनहेरिटेंस(inheritance) में मिलते हैं।
तो, और फिर टीए दोनों संकाय और छात्र से इनहेरिटेंस(inheritance) में मिला, इसलिए यह परिदृश्य है। तो, और फिर टीए दोनों संकाय और छात्र से इनहेरिटेंस(inheritance) में मिला, इसलिए यह परिदृश्य है।
...@@ -110,4 +111,3 @@ C ++ में प्रोग्रामिंग 35 के मॉड्यू ...@@ -110,4 +111,3 @@ C ++ में प्रोग्रामिंग 35 के मॉड्यू
और अंत में, आपको इनहेरिटेंस(inheritance) के उपयोग के बीच एक डिज़ाइन विकल्प के बारे में कुछ विचार देने की कोशिश करें, क्योंकि दृश्य संरचना और संरचना का केवल एक ही तंत्र इनहेरिटेंस(inheritance) और संरचना का मिश्रण बनाता है और एक प्रमुख बहुरूपिक प्रतिनिधित्व के रूप में ऑब्जेक्ट(object) के प्रमुख पदानुक्रम(hierarchy) पर निर्णय लेता है। और अंत में, आपको इनहेरिटेंस(inheritance) के उपयोग के बीच एक डिज़ाइन विकल्प के बारे में कुछ विचार देने की कोशिश करें, क्योंकि दृश्य संरचना और संरचना का केवल एक ही तंत्र इनहेरिटेंस(inheritance) और संरचना का मिश्रण बनाता है और एक प्रमुख बहुरूपिक प्रतिनिधित्व के रूप में ऑब्जेक्ट(object) के प्रमुख पदानुक्रम(hierarchy) पर निर्णय लेता है।
वस्तुओं का। वस्तुओं का।
और संदर्भ के संदर्भ में अन्य लोगों की रचना का उपयोग करना और फिर उसी के अनुसार अपने पॉलीमोर्फिक(polymorphic) प्रेषण करना। और संदर्भ के संदर्भ में अन्य लोगों की रचना का उपयोग करना और फिर उसी के अनुसार अपने पॉलीमोर्फिक(polymorphic) प्रेषण करना।
...@@ -139,4 +139,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -139,4 +139,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
यह निर्माण प्रक्रिया की मूल गतिशीलता है। यह निर्माण प्रक्रिया की मूल गतिशीलता है।
यदि आप बेस क्लास कंस्ट्रक्टर(constructor) और डिस्ट्रक्टर्स और इतने पर और व्युत्पन्न क्लास कंस्ट्रक्टर(constructor) डिस्ट्रक्टर(destructor) में संदेश डालते हैं, तो आप देख पाएंगे कि पहले बेस क्लास १ का निर्माण किया गया है क्योंकि यह पहले है सूची में, फिर बेस क्लास 2 क्योंकि यह सूची में दूसरे स्थान पर है, और फिर व्युत्पन्न क्लास(class) का निर्माण और विनाश बिल्कुल रिवर्स ऑर्डर में होता है। यदि आप बेस क्लास कंस्ट्रक्टर(constructor) और डिस्ट्रक्टर्स और इतने पर और व्युत्पन्न क्लास कंस्ट्रक्टर(constructor) डिस्ट्रक्टर(destructor) में संदेश डालते हैं, तो आप देख पाएंगे कि पहले बेस क्लास १ का निर्माण किया गया है क्योंकि यह पहले है सूची में, फिर बेस क्लास 2 क्योंकि यह सूची में दूसरे स्थान पर है, और फिर व्युत्पन्न क्लास(class) का निर्माण और विनाश बिल्कुल रिवर्स ऑर्डर में होता है।
यह इनहेरिटेंस(inheritance) का मूल तंत्र है जो किसी विशेष व्युत्पन्न क्लास(class) समस्या के लिए आधार क्लास(class) के कई मामलों के संदर्भ में आगे बढ़ता है। यह इनहेरिटेंस(inheritance) का मूल तंत्र है जो किसी विशेष व्युत्पन्न क्लास(class) समस्या के लिए आधार क्लास(class) के कई मामलों के संदर्भ में आगे बढ़ता है।
...@@ -213,4 +213,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ ...@@ -213,4 +213,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ
उदाहरण के लिए, यदि आप एक लाइब्रेरी विकसित कर रहे हैं, जिसे आप दूसरों के साथ साझा करना चाहते हैं, तो यह हमेशा एक अच्छा विचार है कि आप उस संपूर्ण चीज़ को एक सार्थक नाम स्थान का नाम दें और उस नेमस्पेस(namespace) के अंदर उस संपूर्ण विकास को डालें, जैसे कि मानक लाइब्रेरी std का उपयोग कर रहा है। उदाहरण के लिए, यदि आप एक लाइब्रेरी विकसित कर रहे हैं, जिसे आप दूसरों के साथ साझा करना चाहते हैं, तो यह हमेशा एक अच्छा विचार है कि आप उस संपूर्ण चीज़ को एक सार्थक नाम स्थान का नाम दें और उस नेमस्पेस(namespace) के अंदर उस संपूर्ण विकास को डालें, जैसे कि मानक लाइब्रेरी std का उपयोग कर रहा है।
और फिर इसे उपयोगकर्ता को दें, ताकि यह संभावना न रहे कि, आपने अपनी लाइब्रेरी में कुछ फ़ंक्शन(function) नाम या वर्ग नामों का उपयोग किया है, जिसे उपयोगकर्ता भी उपयोग करना चाहता है, लेकिन ऐसा करने में सक्षम नहीं है। और फिर इसे उपयोगकर्ता को दें, ताकि यह संभावना न रहे कि, आपने अपनी लाइब्रेरी में कुछ फ़ंक्शन(function) नाम या वर्ग नामों का उपयोग किया है, जिसे उपयोगकर्ता भी उपयोग करना चाहता है, लेकिन ऐसा करने में सक्षम नहीं है।
इसलिए, यह नेमस्पेसस(namespaces) के बारे में है और हम यहां बंद हो जाएंगे। इसलिए, यह नेमस्पेसस(namespaces) के बारे में है और हम यहां बंद हो जाएंगे।
...@@ -60,4 +60,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -60,4 +60,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
इसके साथ हम इस मॉड्यूल के करीब आते हैं, जहाँ, हमने ऑपरेटर(operator) को ओवरलोडिंग(overloading) से परिचित कराया है और हमने ऑपरेटर(operator) ओवरलोडिंग(overloading) के लिए अलग-अलग नियम और अपवादों को समझाया है। इसके साथ हम इस मॉड्यूल के करीब आते हैं, जहाँ, हमने ऑपरेटर(operator) को ओवरलोडिंग(overloading) से परिचित कराया है और हमने ऑपरेटर(operator) ओवरलोडिंग(overloading) के लिए अलग-अलग नियम और अपवादों को समझाया है।
और अगले मॉड्यूल में, मॉड्यूल 10 में, हम गतिशील मेमोरी प्रबंधन के संदर्भ में विस्तार के एक और विशेष मामले और ऑपरेटर(operator) के ओवरलोडिंग(overloading) के विशेष मामले को दिखाएंगे। और अगले मॉड्यूल में, मॉड्यूल 10 में, हम गतिशील मेमोरी प्रबंधन के संदर्भ में विस्तार के एक और विशेष मामले और ऑपरेटर(operator) के ओवरलोडिंग(overloading) के विशेष मामले को दिखाएंगे।
हम ऐसे परिचालकों का परिचय देंगे जो C ++ डायनेमिक मेमोरी मैनेजमेंट के लिए प्रदान करते हैं और हम फिर से दिखाएंगे कि डायनेमिक मेमोरी मैनेजमेंट ऑपरेटरों(operators) के संदर्भ में ऑपरेटर(operator) ओवरलोडिंग(overloading) को कैसे लागू किया जा सकता है, C ++ में मेमोरी मैनेजमेंट में विभिन्न प्रकार के मजबूत फायदे देखें। हम ऐसे परिचालकों का परिचय देंगे जो C ++ डायनेमिक मेमोरी मैनेजमेंट के लिए प्रदान करते हैं और हम फिर से दिखाएंगे कि डायनेमिक मेमोरी मैनेजमेंट ऑपरेटरों(operators) के संदर्भ में ऑपरेटर(operator) ओवरलोडिंग(overloading) को कैसे लागू किया जा सकता है, C ++ में मेमोरी मैनेजमेंट में विभिन्न प्रकार के मजबूत फायदे देखें।
...@@ -139,4 +139,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -139,4 +139,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
तो, आप देख सकते हैं कि हमने केवल कुछ अलग प्रकार के दो उदाहरण दिखाए हैं, जहां दोनों मामलों में, ऑपरेटर(operator) प्लस को अधिभारित किया गया है। तो, आप देख सकते हैं कि हमने केवल कुछ अलग प्रकार के दो उदाहरण दिखाए हैं, जहां दोनों मामलों में, ऑपरेटर(operator) प्लस को अधिभारित किया गया है।
स्ट्रिंग(string) में यह मुझे एक जटिल ऑपरेशन को बदलने के लिए सिर्फ एक प्लस ऑपरेशन का उपयोग करके अनुमति देता है। स्ट्रिंग(string) में यह मुझे एक जटिल ऑपरेशन को बदलने के लिए सिर्फ एक प्लस ऑपरेशन का उपयोग करके अनुमति देता है।
और यहां एनम के लिए, मैं एक विशेष शब्दार्थ दे सकता हूं, मैं अपने प्रकार के लिए एक नया शब्दार्थ दे सकता हूं, जबकि अंडरलाइन प्रकार, आप पूर्णांक में बने रहने के लिए निरंतर हो सकते हैं। और यहां एनम के लिए, मैं एक विशेष शब्दार्थ दे सकता हूं, मैं अपने प्रकार के लिए एक नया शब्दार्थ दे सकता हूं, जबकि अंडरलाइन प्रकार, आप पूर्णांक में बने रहने के लिए निरंतर हो सकते हैं।
...@@ -136,4 +136,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल( ...@@ -136,4 +136,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल(
हमने समझाया है कि ऑपरेटरों को ओवरलोड(overload) करना क्यों महत्वपूर्ण है और हमने वैश्विक फ़ंक्शन(function) का उपयोग करके और कक्षाओं (classes) के सदस्य कार्यों(member functions) का उपयोग करके ऑपरेटर(Operator) के ओवरलोडिंग(Overloading) की मूल विधि का चित्रण किया है। हमने समझाया है कि ऑपरेटरों को ओवरलोड(overload) करना क्यों महत्वपूर्ण है और हमने वैश्विक फ़ंक्शन(function) का उपयोग करके और कक्षाओं (classes) के सदस्य कार्यों(member functions) का उपयोग करके ऑपरेटर(Operator) के ओवरलोडिंग(Overloading) की मूल विधि का चित्रण किया है।
इस प्रक्रिया में, हमने यह भी देखा कि आप ओवरलोडिंग(Overloading) के लिए एक फ्रेंड फंक्शन(friend function) का उपयोग कर सकते हैं जो हम अगले मॉड्यूल(Module) में करेंगे। इस प्रक्रिया में, हमने यह भी देखा कि आप ओवरलोडिंग(Overloading) के लिए एक फ्रेंड फंक्शन(friend function) का उपयोग कर सकते हैं जो हम अगले मॉड्यूल(Module) में करेंगे।
इस मॉड्यूल(Module) में, हमारे पास समग्र रूप से द्विआधारी और अनारी ऑपरेटरों के लिए ओवरलोडिंग(Overloading) के मूल शब्दार्थ की रूपरेखा है। इस मॉड्यूल(Module) में, हमारे पास समग्र रूप से द्विआधारी और अनारी ऑपरेटरों के लिए ओवरलोडिंग(Overloading) के मूल शब्दार्थ की रूपरेखा है।
...@@ -141,4 +141,3 @@ ...@@ -141,4 +141,3 @@
उदाहरण के लिए, एक अच्छा व्यायाम एक जटिल प्रकार का निर्माण करने की कोशिश करना होगा जो पूर्ण रूप से सभी ऑपरेटरों का समर्थन करता है जो इंट(int) प्रकार का समर्थन करता है, और यह वास्तव में जटिल हो सकता है कुछ और ऑपरेटरों की आवश्यकता होगी जैसे कि आपको किसी जटिल के पूर्ण मूल्य को खोजने की आवश्यकता है संख्या, एक जटिल संख्या का मान, आपको एक जटिल संख्या के जटिल संयुग्म को खोजने की आवश्यकता है। उदाहरण के लिए, एक अच्छा व्यायाम एक जटिल प्रकार का निर्माण करने की कोशिश करना होगा जो पूर्ण रूप से सभी ऑपरेटरों का समर्थन करता है जो इंट(int) प्रकार का समर्थन करता है, और यह वास्तव में जटिल हो सकता है कुछ और ऑपरेटरों की आवश्यकता होगी जैसे कि आपको किसी जटिल के पूर्ण मूल्य को खोजने की आवश्यकता है संख्या, एक जटिल संख्या का मान, आपको एक जटिल संख्या के जटिल संयुग्म को खोजने की आवश्यकता है।
इसलिए, आपको उचित ऑपरेटरों की पहचान करनी होगी और उन्हें अधिभारित करना होगा। इसलिए, आपको उचित ऑपरेटरों की पहचान करनी होगी और उन्हें अधिभारित करना होगा।
और उस प्रक्रिया में आपको एक पूर्ण जटिल प्रकार होना चाहिए जो आपके इंट(int) प्रकार के समान व्यवहार करेगा और आप अपने जटिल प्रकार के मूल्यों और चर के भावों को लिखने में सक्षम होंगे जैसा कि आप अंतर प्रकार के मामले में करते हैं। और उस प्रक्रिया में आपको एक पूर्ण जटिल प्रकार होना चाहिए जो आपके इंट(int) प्रकार के समान व्यवहार करेगा और आप अपने जटिल प्रकार के मूल्यों और चर के भावों को लिखने में सक्षम होंगे जैसा कि आप अंतर प्रकार के मामले में करते हैं।
...@@ -127,4 +127,3 @@ ...@@ -127,4 +127,3 @@
इसलिए इस मॉड्यूल(module) में, हमने C और C ++ के बीच के बुनियादी अंतर को समझने की कोशिश की है; आप इनपुट(input) आउटपुट(output) कैसे करते हैं? आप चर कैसे घोषित करते हैं? और C ++ में C और C ++ के मानक लाइब्ररी(library) का उपयोग कैसे किया जाता है? हमने यह देखना शुरू कर दिया है कि C ++ हमें और अधिक लचीलापन देता है कि हम कैसे घोषित कर सकते हैं और हम इनपुट(input) आउटपुट(output) कैसे कर सकते हैं। इसलिए इस मॉड्यूल(module) में, हमने C और C ++ के बीच के बुनियादी अंतर को समझने की कोशिश की है; आप इनपुट(input) आउटपुट(output) कैसे करते हैं? आप चर कैसे घोषित करते हैं? और C ++ में C और C ++ के मानक लाइब्ररी(library) का उपयोग कैसे किया जाता है? हमने यह देखना शुरू कर दिया है कि C ++ हमें और अधिक लचीलापन देता है कि हम कैसे घोषित कर सकते हैं और हम इनपुट(input) आउटपुट(output) कैसे कर सकते हैं।
अब, हमें उन जटिल प्रिंटफ(printf) स्टेटमेंट्स, स्ट्रीम प्रिंटफ(printf) फ़ंक्शन(function) कॉल की आवश्यकता नहीं है जहां प्रारूप अलग स्ट्रिंग्स(strings) में हैं, चर अलग-अलग सूचीबद्ध हैं। अब, हमें उन जटिल प्रिंटफ(printf) स्टेटमेंट्स, स्ट्रीम प्रिंटफ(printf) फ़ंक्शन(function) कॉल की आवश्यकता नहीं है जहां प्रारूप अलग स्ट्रिंग्स(strings) में हैं, चर अलग-अलग सूचीबद्ध हैं।
हमें यह याद रखने की आवश्यकता नहीं है कि स्कैनफ(scanf) को चर और इसी तरह के पते की जरूरत है और इस तरह से सी ++ में कई निर्माण और कार्यों को सरल बनाया गया है, जो प्रोग्रामिंग(programming) को बढ़ाने में मदद करेगा। हमें यह याद रखने की आवश्यकता नहीं है कि स्कैनफ(scanf) को चर और इसी तरह के पते की जरूरत है और इस तरह से सी ++ में कई निर्माण और कार्यों को सरल बनाया गया है, जो प्रोग्रामिंग(programming) को बढ़ाने में मदद करेगा।
में प्रोग्रामिंग(programming) हम मॉड्यूल(module) 01 पर जारी रखेंगे। C.++ में प्रोग्रामिंग(programming) हम मॉड्यूल(module) 01 पर जारी रखेंगे।
C. का पुनर्पूंजीकरण यह तीसरा भाग है। C. का पुनर्पूंजीकरण यह तीसरा भाग है।
पहले दो भागों में हमने डेटा(data) प्रकार, चर(variables), भाव, कथन के बारे में बात की है। पहले दो भागों में हमने डेटा(data) प्रकार, चर(variables), भाव, कथन के बारे में बात की है।
और, दूसरे भाग में हमने विभिन्न व्युत्पन्न प्रकारों(derived types), सरणियों, स्ट्रक्चर(structure), संघ और पोइंटर(pointer) के बारे में बात की है। और, दूसरे भाग में हमने विभिन्न व्युत्पन्न प्रकारों(derived types), सरणियों, स्ट्रक्चर(structure), संघ और पोइंटर(pointer) के बारे में बात की है।
...@@ -266,4 +266,3 @@ ...@@ -266,4 +266,3 @@
लेकिन, इस मॉड्यूल(module) के साथ हम उम्मीद करेंगे कि यह C का एक स्तर है जिसे आप C ++ भाषा प्रशिक्षण के साथ आगे बढ़ने में सक्षम होने के लिए तैयार हैं। लेकिन, इस मॉड्यूल(module) के साथ हम उम्मीद करेंगे कि यह C का एक स्तर है जिसे आप C ++ भाषा प्रशिक्षण के साथ आगे बढ़ने में सक्षम होने के लिए तैयार हैं।
हम यहां मॉड्यूल(module) को बंद कर देंगे। हम यहां मॉड्यूल(module) को बंद कर देंगे।
मॉड्यूल(module) दो बाद में, हम आपको दिखाना शुरू कर देंगे कि C ++ में कैसे कुछ सामान्य उदाहरण हैं जो हमने यहां देखे हैं या C में कुछ अन्य सामान्य उदाहरण अधिक कुशलतापूर्वक, प्रभावी ढंग से और C ++ में अधिक मजबूत तरीके से किए जा सकते हैं। मॉड्यूल(module) दो बाद में, हम आपको दिखाना शुरू कर देंगे कि C ++ में कैसे कुछ सामान्य उदाहरण हैं जो हमने यहां देखे हैं या C में कुछ अन्य सामान्य उदाहरण अधिक कुशलतापूर्वक, प्रभावी ढंग से और C ++ में अधिक मजबूत तरीके से किए जा सकते हैं।
...@@ -97,4 +97,3 @@ C++ प्रोग्रामिंग में आपका स्वाग ...@@ -97,4 +97,3 @@ C++ प्रोग्रामिंग में आपका स्वाग
इसलिए, अपने नियंत्रण प्रवाह को प्राप्त करने के लिए अलग-अलग loop या switch स्टेटमेंट के साथ केवल ‘continue’और ‘break’ का उपयोग करने का प्रयास करें, लेकिन आपको फ़ंक्शन से लौटने के लिए ‘return’ की आवश्यकता होगी। इसलिए, अपने नियंत्रण प्रवाह को प्राप्त करने के लिए अलग-अलग loop या switch स्टेटमेंट के साथ केवल ‘continue’और ‘break’ का उपयोग करने का प्रयास करें, लेकिन आपको फ़ंक्शन से लौटने के लिए ‘return’ की आवश्यकता होगी।
तो, ये चार प्रकार के के नियंत्रण निर्माण (control construct) हैं जो मौजूद हैं। तो, ये चार प्रकार के के नियंत्रण निर्माण (control construct) हैं जो मौजूद हैं।
हमने इस मॉड्यूल में अब तक देखा है, कि C प्रोग्राम के मूल घटक क्या हैं, जैसे आप IO कैसे करते हैं, आप डेटा type का उपयोग करते हुए variable कैसे परिभाषित करते हैं? आप उन्हें कैसे initialize करते हैं? ऑपरेटरों का उपयोग करके उन्हें expression कैसे बनाया जाए? program के प्रवाह को नियंत्रित करने के लिए expression को statement और विभिन्न नियंत्रण प्रवाह statement में कैसे परिवर्तित किया जाए? तो इसके साथ, हम इस भाग को समाप्त करेंगे और इसके बाद हम derived types और उनके C में उपयोग करने के बारे में बात करेंगे। हमने इस मॉड्यूल में अब तक देखा है, कि C प्रोग्राम के मूल घटक क्या हैं, जैसे आप IO कैसे करते हैं, आप डेटा type का उपयोग करते हुए variable कैसे परिभाषित करते हैं? आप उन्हें कैसे initialize करते हैं? ऑपरेटरों का उपयोग करके उन्हें expression कैसे बनाया जाए? program के प्रवाह को नियंत्रित करने के लिए expression को statement और विभिन्न नियंत्रण प्रवाह statement में कैसे परिवर्तित किया जाए? तो इसके साथ, हम इस भाग को समाप्त करेंगे और इसके बाद हम derived types और उनके C में उपयोग करने के बारे में बात करेंगे।
...@@ -157,4 +157,3 @@ ...@@ -157,4 +157,3 @@
इसके साथ, रिकैप के इस हिस्से में, हमने मुख्य रूप से विभिन्न व्युत्पन्न प्रकारों(derived types) के बारे में बात की है। इसके साथ, रिकैप के इस हिस्से में, हमने मुख्य रूप से विभिन्न व्युत्पन्न प्रकारों(derived types) के बारे में बात की है।
सबसे पहले, हमने कंटेनरों, सरणियों(arrays), स्ट्रक्चरस(structures) और यूनियनों के बारे में बात की है; सी प्रदान करने वाले तीन मुख्य प्रकार के कंटेनर(container); और हमने पोइंटरस(pointers) के माध्यम से विभिन्न चर(variables) और पतों को प्रबंधित करने की बात की है। सबसे पहले, हमने कंटेनरों, सरणियों(arrays), स्ट्रक्चरस(structures) और यूनियनों के बारे में बात की है; सी प्रदान करने वाले तीन मुख्य प्रकार के कंटेनर(container); और हमने पोइंटरस(pointers) के माध्यम से विभिन्न चर(variables) और पतों को प्रबंधित करने की बात की है।
अगले में, हम कार्यों के बारे में बात करेंगे। अगले में, हम कार्यों के बारे में बात करेंगे।
...@@ -237,4 +237,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -237,4 +237,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
कोई उल्लंघन नहीं है। कोई उल्लंघन नहीं है।
बाईं ओर के कोड में संकलन त्रुटि होगी और हम उस पर आगे नहीं बढ़ पाएंगे। बाईं ओर के कोड में संकलन त्रुटि होगी और हम उस पर आगे नहीं बढ़ पाएंगे।
इस बिंदु पर, हम बंद कर देंगे और हम अगले भाग में जारी रखेंगे। इस बिंदु पर, हम बंद कर देंगे और हम अगले भाग में जारी रखेंगे।
...@@ -187,4 +187,3 @@ C++ में प्रोग्रामिंग(programming) में मॉ ...@@ -187,4 +187,3 @@ C++ में प्रोग्रामिंग(programming) में मॉ
इसलिए, इस मॉड्यूल(module) 7 में, हमने C ++ में संदर्भ(reference) की अवधारणा को पेश किया है और हमने मूल्य द्वारा कॉल और संदर्भ(reference) द्वारा कॉल के बीच के अंतर का अध्ययन किया है। इसलिए, इस मॉड्यूल(module) 7 में, हमने C ++ में संदर्भ(reference) की अवधारणा को पेश किया है और हमने मूल्य द्वारा कॉल और संदर्भ(reference) द्वारा कॉल के बीच के अंतर का अध्ययन किया है।
हमने संदर्भ(reference) द्वारा वापसी की अवधारणा भी पेश की है और दो तंत्रों के बीच के अंतर का अध्ययन किया है। हमने संदर्भ(reference) द्वारा वापसी की अवधारणा भी पेश की है और दो तंत्रों के बीच के अंतर का अध्ययन किया है।
हमने कुछ दिलचस्प नुकसान, चालें, मुश्किल हालात दिखाए हैं जो इससे उत्पन्न हो सकते हैं और हमने संदर्भ(reference) और संकेत के बीच अंतर के बारे में चर्चा की है। हमने कुछ दिलचस्प नुकसान, चालें, मुश्किल हालात दिखाए हैं जो इससे उत्पन्न हो सकते हैं और हमने संदर्भ(reference) और संकेत के बीच अंतर के बारे में चर्चा की है।
...@@ -142,4 +142,3 @@ ...@@ -142,4 +142,3 @@
कोई फर्क नहीं पड़ता कि हम किस प्रकार के कंटेनर और डेटा का उपयोग कर रहे हैं, हम दिखाएंगे कि, यह कई अन्य एल्गोरिदम के लिए भी सही है, जिन्हें हमें उपयोग करने की आवश्यकता है, जिसमें मर्ज, स्वैप, हटाना, ये सभी अलग-अलग हैं। कोई फर्क नहीं पड़ता कि हम किस प्रकार के कंटेनर और डेटा का उपयोग कर रहे हैं, हम दिखाएंगे कि, यह कई अन्य एल्गोरिदम के लिए भी सही है, जिन्हें हमें उपयोग करने की आवश्यकता है, जिसमें मर्ज, स्वैप, हटाना, ये सभी अलग-अलग हैं।
और, मैं आपको इन एल्गोरिथम घटकों का अध्ययन करने और उनका उपयोग शुरू करने के लिए प्रोत्साहित करूंगा। और, मैं आपको इन एल्गोरिथम घटकों का अध्ययन करने और उनका उपयोग शुरू करने के लिए प्रोत्साहित करूंगा।
और फिर पूरी चीज़ की सुंदरता है, आपको वास्तव में बहुत सी सी + जानने की आवश्यकता नहीं है, क्योंकि उनका उपयोग करने में सक्षम होना चाहिए, क्योंकि उनका उपयोग उनके डिजाइन और जिस तरह से वे संगठित हैं, वह काफी सहज है और आप बस मैनुअल से अध्ययन कर सकते हैं और उनका उपयोग करना शुरू करें। और फिर पूरी चीज़ की सुंदरता है, आपको वास्तव में बहुत सी सी + जानने की आवश्यकता नहीं है, क्योंकि उनका उपयोग करने में सक्षम होना चाहिए, क्योंकि उनका उपयोग उनके डिजाइन और जिस तरह से वे संगठित हैं, वह काफी सहज है और आप बस मैनुअल से अध्ययन कर सकते हैं और उनका उपयोग करना शुरू करें।
...@@ -49,7 +49,8 @@ C ++ में प्रोग्रामिंग(programming) के मॉ ...@@ -49,7 +49,8 @@ C ++ में प्रोग्रामिंग(programming) के मॉ
इसलिए, यदि यह शून्य से 1 है, तो हम नामित करते हैं कि स्टैक(stack) खाली है। इसलिए, यदि यह शून्य से 1 है, तो हम नामित करते हैं कि स्टैक(stack) खाली है।
शीर्ष बस शीर्ष पॉज़िटि से तत्व देता हैपर; पुश(push) शीर्ष स्थिति को बढ़ाता है और नए तत्व को देता है जिसे स्टैक(stack) पर स्टैक(stack) में जोड़ा जाता है और पॉप बस शीर्ष बिंदु पर या शीर्ष सूचकांक को घटाता है। शीर्ष बस शीर्ष पॉज़िटि से तत्व देता हैपर; पुश(push) शीर्ष स्थिति को बढ़ाता है और नए तत्व को देता है जिसे स्टैक(stack) पर स्टैक(stack) में जोड़ा जाता है और पॉप बस शीर्ष बिंदु पर या शीर्ष सूचकांक को घटाता है।
इसलिए, जिस तत्व को सबसे ऊपर माना जाता था, उसे अब तक सबसे ऊपर नहीं माना जाता है, इसके ठीक नीचे के तत्व को सबसे ऊपर माना जाता है और चूंकि हम इस ऑपरेशन को नहीं कर सकते हैं यदि स्टैक(stack) पहले से ही खाली है, तो यह जांचना अच्छा होगा कि क्या नीचे है? इससे पहले कि हम वास्तव में पॉप ऑपरेशन करें, स्टैक(stack) खाली है। इसलिए, जिस तत्व को सबसे ऊपर माना जाता था, उसे अब तक सबसे ऊपर नहीं माना जाता है, इसके ठीक नीचे के तत्व को सबसे ऊपर माना जाता है और चूंकि हम इस ऑपरेशन को नहीं कर सकते हैं यदि स्टैक(stack) पहले से ही खाली है, तो यह जांचना अच्छा होगा कि क्या नीचे है? इससे पहले कि हम वास्तव में पॉप ऑपरेशन करें, स्टैक(stack) खाली है।
अब, यह है; हम सभी यह जानते हैं कि यदि आप यहाँ एक स्ट्रिंग(string) A B C D E का उपयोग कर रहे हैं, तो हम बस एक लूप में जा सकते हैं, इन सभी वर्णों A B C D और E को जोड़ लें, एक के बाद एक स्टैक(stack) में और फिर यदि हम शीर्ष का पता लगाते रहें तत्व और उस शीर्ष तत्व को पॉप करने पर निश्चित रूप से E अंतिम जोड़ा गया है। अब, यह है; हम सभी यह जानते हैं कि यदि आप यहाँ एक स्ट्रिंग(string) A B C D E का उपयोग कर रहे हैं, तो हम बस एक लूप में जा सकते हैं, इन सभी वर्णों A B C D और E को जोड़ लें,
एक के बाद एक स्टैक(stack) में और फिर यदि हम शीर्ष का पता लगाते रहें तत्व और उस शीर्ष तत्व को पॉप करने पर निश्चित रूप से E अंतिम जोड़ा गया है।
तो, वह पहले बाहर आ जाएगा, उससे ठीक पहले डी को जोड़ा गया है, इसलिए यह अगले बाहर आ जाएगा और इसके परिणामस्वरूप हमें वह स्ट्रिंग(string) मिलेगी जो हम यहां दिखा रहे हैं, जो EDCBA है और हम सभी इससे परिचित हैं। तो, वह पहले बाहर आ जाएगा, उससे ठीक पहले डी को जोड़ा गया है, इसलिए यह अगले बाहर आ जाएगा और इसके परिणामस्वरूप हमें वह स्ट्रिंग(string) मिलेगी जो हम यहां दिखा रहे हैं, जो EDCBA है और हम सभी इससे परिचित हैं।
तो, यह तरीका है यदि आपको रिवर्स स्ट्रिंग(string) प्रोग्राम करना है, तो न केवल यह है कि आपको यह मुख्य फ़ंक्शन(function) या फ़ंक्शन(function) लिखना है जो स्ट्रिंग(string) को रिवर्स करने के लिए स्टैक(stack) का उपयोग करता है, आपको दिए गए कोड को भी लिखना होगा। तो, यह तरीका है यदि आपको रिवर्स स्ट्रिंग(string) प्रोग्राम करना है, तो न केवल यह है कि आपको यह मुख्य फ़ंक्शन(function) या फ़ंक्शन(function) लिखना है जो स्ट्रिंग(string) को रिवर्स करने के लिए स्टैक(stack) का उपयोग करता है, आपको दिए गए कोड को भी लिखना होगा।
बाएं स्तंभ पर जो C में परिदृश्य है एक समान परिदृश्य पोस्टफिक्स(postfix) अभिव्यक्ति का मूल्यांकन करने के लिए दिया गया है, फिर से C बाएं कॉलम में पिछले उदाहरण के समान है, जहां स्टैक(stack) का कार्यान्वयन दिया गया है और सही कॉलम पर हम दिखाते हैं कि हम इसका उपयोग वास्तव में पोस्टफिक्स(postfix) मूल्यांकन के लिए कैसे कर सकते हैं। बाएं स्तंभ पर जो C में परिदृश्य है एक समान परिदृश्य पोस्टफिक्स(postfix) अभिव्यक्ति का मूल्यांकन करने के लिए दिया गया है, फिर से C बाएं कॉलम में पिछले उदाहरण के समान है, जहां स्टैक(stack) का कार्यान्वयन दिया गया है और सही कॉलम पर हम दिखाते हैं कि हम इसका उपयोग वास्तव में पोस्टफिक्स(postfix) मूल्यांकन के लिए कैसे कर सकते हैं।
...@@ -93,4 +94,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ ...@@ -93,4 +94,3 @@ C ++ में प्रोग्रामिंग(programming) के मॉ
सूचि; एकल लिंक की गई सूची, नक्शा, जो नाम मान जोड़ी की तरह है; सेट, जहां ऑर्डर देना महत्वपूर्ण नहीं है, आप बस उस में यूनियन चौराहा कर सकते हैं। सूचि; एकल लिंक की गई सूची, नक्शा, जो नाम मान जोड़ी की तरह है; सेट, जहां ऑर्डर देना महत्वपूर्ण नहीं है, आप बस उस में यूनियन चौराहा कर सकते हैं।
ये सभी डेटा(data) संरचनाएं C ++ मानक लाइब्ररी(library) में रेडीमेड उपलब्ध हैं। ये सभी डेटा(data) संरचनाएं C ++ मानक लाइब्ररी(library) में रेडीमेड उपलब्ध हैं।
इसलिए, जैसा कि हम प्रोग्रामिंग(programming) भाषा की विस्तृत बारीकियों को समझने से पहले ही C ++ में प्रोग्रामिंग(programming) शुरू कर देते हैं, हम बार-बार C ++ मानक लाइब्ररी(library) पर एक नज़र डालना चाहते हैं और इन सभी डेटा(data) संरचनाओं का उपयोग करने वाले प्रोग्राम लिखते हैं और हमारी प्रोग्रामिंग(programming) को आसान बनाते हैं और अधिक मजबूत उपयोग करने के लिए। इसलिए, जैसा कि हम प्रोग्रामिंग(programming) भाषा की विस्तृत बारीकियों को समझने से पहले ही C ++ में प्रोग्रामिंग(programming) शुरू कर देते हैं, हम बार-बार C ++ मानक लाइब्ररी(library) पर एक नज़र डालना चाहते हैं और इन सभी डेटा(data) संरचनाओं का उपयोग करने वाले प्रोग्राम लिखते हैं और हमारी प्रोग्रामिंग(programming) को आसान बनाते हैं और अधिक मजबूत उपयोग करने के लिए।
...@@ -183,4 +183,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ ...@@ -183,4 +183,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ
तो, यह एक सरल तरीका है कि अगर आप स्थैतिक डेटा मेंबर्स(Static Data Members) और स्टेटिक(static) सदस्य कार्यों का उपयोग करते हैं, तो सिंगलटन(singleton) को बहुत सुरक्षित रूप से लागू किया जा सकता है। तो, यह एक सरल तरीका है कि अगर आप स्थैतिक डेटा मेंबर्स(Static Data Members) और स्टेटिक(static) सदस्य कार्यों का उपयोग करते हैं, तो सिंगलटन(singleton) को बहुत सुरक्षित रूप से लागू किया जा सकता है।
मैंने इसे एक प्रिंटर(printer) क्लास(class) के साथ दिखाया है, लेकिन यह किसी अन्य क्लास(class) के साथ किया जा सकता है, जिसे सिंगलटन(singleton) की आवश्यकता है। मैंने इसे एक प्रिंटर(printer) क्लास(class) के साथ दिखाया है, लेकिन यह किसी अन्य क्लास(class) के साथ किया जा सकता है, जिसे सिंगलटन(singleton) की आवश्यकता है।
तो, सारांश में, हमने स्थैतिक डेटा मेंबर्स(Static Data Members) और स्टेटिक(static) सदस्य फ़ंक्शन(member function) को पेश किया है, और हमने दिखाया है कि उनका उपयोग कक्षा स्तर पर किसी भी डेटा को बनाए रखने के लिए और विशेष रूप से सिंगलटन(singleton) ऑब्जेक्ट(object) बनाने के लिए ऑब्जेक्ट(object)ओं की गिनती के विभिन्न उद्देश्यों के लिए किया जा सकता है। तो, सारांश में, हमने स्थैतिक डेटा मेंबर्स(Static Data Members) और स्टेटिक(static) सदस्य फ़ंक्शन(member function) को पेश किया है, और हमने दिखाया है कि उनका उपयोग कक्षा स्तर पर किसी भी डेटा को बनाए रखने के लिए और विशेष रूप से सिंगलटन(singleton) ऑब्जेक्ट(object) बनाने के लिए ऑब्जेक्ट(object)ओं की गिनती के विभिन्न उद्देश्यों के लिए किया जा सकता है।
...@@ -133,4 +133,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ ...@@ -133,4 +133,3 @@ C ++ में प्रोग्रामिंग(Programming) के मॉ
यह सिर्फ उदाहरण के साथ दिखाता है कि आपका बाध्य सेट डेटा(data) प्रकार कैसे काम करेगा। यह सिर्फ उदाहरण के साथ दिखाता है कि आपका बाध्य सेट डेटा(data) प्रकार कैसे काम करेगा।
संक्षेप में, हमने C ++ में टेम्पलेट(template) पेश किए हैं और हमने चर्चा की है कि क्लास टेम्पलेट(template) में डेटा(data) संरचना का एक सामान्य समाधान है। संक्षेप में, हमने C ++ में टेम्पलेट(template) पेश किए हैं और हमने चर्चा की है कि क्लास टेम्पलेट(template) में डेटा(data) संरचना का एक सामान्य समाधान है।
फ़ंक्शन(funnction) टेम्पलेट(template) के साथ संयुक्त यह हमें जेनेरिक प्रोग्रामिंग(Programming), मेटा प्रोग्रामिंग(Programming) कोड(code) लिखने में सक्षम होने के मामले में एक प्रमुख लाभ देता है और एक मानक टेम्पलेट(template) लाइब्रेरी या सी ++ के एसटीएल के रूप में जाना जाता है की एक नींव देता है। फ़ंक्शन(funnction) टेम्पलेट(template) के साथ संयुक्त यह हमें जेनेरिक प्रोग्रामिंग(Programming), मेटा प्रोग्रामिंग(Programming) कोड(code) लिखने में सक्षम होने के मामले में एक प्रमुख लाभ देता है और एक मानक टेम्पलेट(template) लाइब्रेरी या सी ++ के एसटीएल के रूप में जाना जाता है की एक नींव देता है।
...@@ -190,4 +190,3 @@ ...@@ -190,4 +190,3 @@
और विशेष रूप से समझाया गया कास्ट(cast) ऑपरेटर्स(operators), कास्ट(cast) ऑपरेटर(operator) की एक बुनियादी संरचना और कई उदाहरणों में सी-स्टाइल कास्टिंग(casting) की बुराइयों पर चर्चा करते हैं। और विशेष रूप से समझाया गया कास्ट(cast) ऑपरेटर्स(operators), कास्ट(cast) ऑपरेटर(operator) की एक बुनियादी संरचना और कई उदाहरणों में सी-स्टाइल कास्टिंग(casting) की बुराइयों पर चर्चा करते हैं।
और विशेष रूप से, हमने कास्ट(cast) कास्ट(cast) ऑपरेटर(operator) पर एक नज़र डाली है। और विशेष रूप से, हमने कास्ट(cast) कास्ट(cast) ऑपरेटर(operator) पर एक नज़र डाली है।
अगले मॉड्यूल(module) में, हम अन्य कलाकारों को काम में लेंगे और आगे बढ़ेंगे। अगले मॉड्यूल(module) में, हम अन्य कलाकारों को काम में लेंगे और आगे बढ़ेंगे।
...@@ -192,4 +192,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -192,4 +192,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
यदि आपको पुनर्व्याख्या की आवश्यकता है, तो दूसरी नज़र डालें कि डिज़ाइन में कुछ लकुना होना चाहिए, ताकि आपको डिज़ाइन बदलने की आवश्यकता हो, आप पाएंगे कि आप अन्य तीन प्रकार के कास्ट(cast) ऑपरेटरों के साथ प्रबंधन कर पाएंगे। यदि आपको पुनर्व्याख्या की आवश्यकता है, तो दूसरी नज़र डालें कि डिज़ाइन में कुछ लकुना होना चाहिए, ताकि आपको डिज़ाइन बदलने की आवश्यकता हो, आप पाएंगे कि आप अन्य तीन प्रकार के कास्ट(cast) ऑपरेटरों के साथ प्रबंधन कर पाएंगे।
इसलिए, संक्षेप में, हमने C ++ में टाइप(type) कास्टिंग(casting) की चर्चा जारी रखी है। इसलिए, संक्षेप में, हमने C ++ में टाइप(type) कास्टिंग(casting) की चर्चा जारी रखी है।
और विशेष रूप से, हमने इस मॉड्यूल(module) में स्थिर कास्ट और पुनर्व्याख्या कलाकारों का अध्ययन किया है। और विशेष रूप से, हमने इस मॉड्यूल(module) में स्थिर कास्ट और पुनर्व्याख्या कलाकारों का अध्ययन किया है।
...@@ -191,4 +191,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल ...@@ -191,4 +191,3 @@ C ++ में प्रोग्रामिंग के मॉड्यूल
और हमने दिखाया है कि वे कास्ट(cast) कास्ट(cast) के चार संचालक हैं, स्टैटिक(static) कास्ट(cast), पुनर्व्याख्या कास्ट(cast) और डायनामिक(dynamic) कास्ट(cast) आपके किसी भी कास्ट(cast) रिक्वायरमेंट को हल करने के लिए पर्याप्त हैं। और हमने दिखाया है कि वे कास्ट(cast) कास्ट(cast) के चार संचालक हैं, स्टैटिक(static) कास्ट(cast), पुनर्व्याख्या कास्ट(cast) और डायनामिक(dynamic) कास्ट(cast) आपके किसी भी कास्ट(cast) रिक्वायरमेंट को हल करने के लिए पर्याप्त हैं।
और इसके साथ ही आपको कम से कम करना चाहिए; वास्तव में मैं आपको सलाह दूंगा कि आप अपने कोड में सी स्टाइल कास्टिंग(casting) के किसी भी उपयोग को पूरी तरह से हटा दें, बस इन कास्टिंग(casting) पर भरोसा करें। और इसके साथ ही आपको कम से कम करना चाहिए; वास्तव में मैं आपको सलाह दूंगा कि आप अपने कोड में सी स्टाइल कास्टिंग(casting) के किसी भी उपयोग को पूरी तरह से हटा दें, बस इन कास्टिंग(casting) पर भरोसा करें।
मुख्य रूप से, जब आप एक बहुरूपी पदानुक्रम(hierarchy) पर होते हैं, तो स्थैतिक कास्टिंग(casting) और कास्ट(cast) कास्ट(cast) ऑपरेटर, और डाइनैमिक(dynamic) कास्टिंग(casting) पर भरोसा करते हैं। मुख्य रूप से, जब आप एक बहुरूपी पदानुक्रम(hierarchy) पर होते हैं, तो स्थैतिक कास्टिंग(casting) और कास्ट(cast) कास्ट(cast) ऑपरेटर, और डाइनैमिक(dynamic) कास्टिंग(casting) पर भरोसा करते हैं।
...@@ -164,4 +164,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल( ...@@ -164,4 +164,3 @@ C++ में प्रोग्रामिंग के मॉड्यूल(
तो कृपया इस पर काम करें, कृपया इस निर्माण को बहुत ध्यान से समझने की कोशिश करें और इस स्रोत अभिव्यक्ति के माध्यम से काम करें और जहाँ आप स्थैतिक बाध्यकारी हैं और जहाँ आपके पास डायनामिक(dynamic) बंधन है, की संकलित अभिव्यक्ति के विरुद्ध, ताकि आप इसे भी समझ पाएँगे। तो कृपया इस पर काम करें, कृपया इस निर्माण को बहुत ध्यान से समझने की कोशिश करें और इस स्रोत अभिव्यक्ति के माध्यम से काम करें और जहाँ आप स्थैतिक बाध्यकारी हैं और जहाँ आपके पास डायनामिक(dynamic) बंधन है, की संकलित अभिव्यक्ति के विरुद्ध, ताकि आप इसे भी समझ पाएँगे।
कर्मचारियों के वेतन आवेदन के लिए इसका लाभ और अभिनव समाधान को संक्षेप में प्रस्तुत करने के लिए जो सी में फ़ंक्शन(function) पॉइंटर्स(pointers) का उपयोग करता है हमने यह बताने के लिए नींव रखी है कि वर्चुअल(virtual) फ़ंक्शन(function) पॉइंटर(pointer) टेबल(table) का उपयोग करके वर्चुअल(virtual) फ़ंक्शन(function) कैसे कार्यान्वित किए जाते हैं। कर्मचारियों के वेतन आवेदन के लिए इसका लाभ और अभिनव समाधान को संक्षेप में प्रस्तुत करने के लिए जो सी में फ़ंक्शन(function) पॉइंटर्स(pointers) का उपयोग करता है हमने यह बताने के लिए नींव रखी है कि वर्चुअल(virtual) फ़ंक्शन(function) पॉइंटर(pointer) टेबल(table) का उपयोग करके वर्चुअल(virtual) फ़ंक्शन(function) कैसे कार्यान्वित किए जाते हैं।
कृपया इसे और अधिक स्पष्ट रूप से समझने की कोशिश करें ताकि डायनामिक(dynamic) प्रेषण के बारे में कोई भ्रम आपके दिमाग में स्पष्ट हो। कृपया इसे और अधिक स्पष्ट रूप से समझने की कोशिश करें ताकि डायनामिक(dynamic) प्रेषण के बारे में कोई भ्रम आपके दिमाग में स्पष्ट हो।
...@@ -109,4 +109,3 @@ ...@@ -109,4 +109,3 @@
इसलिए, फ्रेंड(friend) एक शक्तिशाली विशेषता है और किसी भी शक्तिशाली विशेषता की तरह, किसी भी शक्तिशाली हथियार की तरह इसे बहुत सावधानी से और विवेक से इस्तेमाल किया जाना चाहिए। इसलिए, फ्रेंड(friend) एक शक्तिशाली विशेषता है और किसी भी शक्तिशाली विशेषता की तरह, किसी भी शक्तिशाली हथियार की तरह इसे बहुत सावधानी से और विवेक से इस्तेमाल किया जाना चाहिए।
इस मॉड्यूल(module) में संक्षेप में हमने फ्रेंड फंक्शन(friend function) की धारणा और फ्रेंड क्लास(friend class) की धारणा को पेश किया है और हमने मैट्रिक्स(matrix) फंक्शन(function) और रिस्क हेरफेर के उदाहरणों के साथ फ्रेंड फंक्शन(friend function) और फ्रेंड क्लास(friend Class) का अध्ययन किया है, और हम विशेष रूप से उल्लेख किया है कि दोस्त एक अलग तरह की दृश्यता है और कुछ हद तक खतरनाक है, इसका उपयोग करने के लिए कुछ जोखिम भरा है क्योंकि यह मनमाने ढंग से इनकैप्सुलेशन(encapsulation) को तोड़ सकता है और इसलिए दोस्त का उपयोग उचित डिजाइन औचित्य के साथ डिजाइन के बहुत ही विवेकपूर्ण विकल्प के साथ किया जाना चाहिए कि यह विराम क्यों है की आवश्यकता है। इस मॉड्यूल(module) में संक्षेप में हमने फ्रेंड फंक्शन(friend function) की धारणा और फ्रेंड क्लास(friend class) की धारणा को पेश किया है और हमने मैट्रिक्स(matrix) फंक्शन(function) और रिस्क हेरफेर के उदाहरणों के साथ फ्रेंड फंक्शन(friend function) और फ्रेंड क्लास(friend Class) का अध्ययन किया है, और हम विशेष रूप से उल्लेख किया है कि दोस्त एक अलग तरह की दृश्यता है और कुछ हद तक खतरनाक है, इसका उपयोग करने के लिए कुछ जोखिम भरा है क्योंकि यह मनमाने ढंग से इनकैप्सुलेशन(encapsulation) को तोड़ सकता है और इसलिए दोस्त का उपयोग उचित डिजाइन औचित्य के साथ डिजाइन के बहुत ही विवेकपूर्ण विकल्प के साथ किया जाना चाहिए कि यह विराम क्यों है की आवश्यकता है।
जैसा कि आप आगे बढ़ते हैं और बहुत सारे डिजाइन और कार्यान्वयन करना शुरू करते हैं, हम उस तरह के लगभग हमेशा पाएंगे कि आपको एक फ्रेंड(friend) का उपयोग करने की आवश्यकता है यह उन तीन स्थितियों में से एक होगा जिसकी मैंने यहां चर्चा की है, और यदि आप पाते हैं कि आपको एक की आवश्यकता है फ्रेंड फंक्शन(friend function) या फ्रेंड क्लास(friend Class) ऐसी स्थिति में इस्तेमाल किया जाना चाहिए, जो उन तीनों की तरह नहीं है, जिनकी हमने चर्चा की है, तो आपको बहुत सतर्क और सावधान रहना चाहिए और वास्तव में खुद को समझाना चाहिए कि यह एक ऐसी स्थिति है, जिसके लिए फ्रेंड(friend) का इस्तेमाल करने की जरूरत है। जैसा कि आप आगे बढ़ते हैं और बहुत सारे डिजाइन और कार्यान्वयन करना शुरू करते हैं, हम उस तरह के लगभग हमेशा पाएंगे कि आपको एक फ्रेंड(friend) का उपयोग करने की आवश्यकता है यह उन तीन स्थितियों में से एक होगा जिसकी मैंने यहां चर्चा की है, और यदि आप पाते हैं कि आपको एक की आवश्यकता है फ्रेंड फंक्शन(friend function) या फ्रेंड क्लास(friend Class) ऐसी स्थिति में इस्तेमाल किया जाना चाहिए, जो उन तीनों की तरह नहीं है, जिनकी हमने चर्चा की है, तो आपको बहुत सतर्क और सावधान रहना चाहिए और वास्तव में खुद को समझाना चाहिए कि यह एक ऐसी स्थिति है, जिसके लिए फ्रेंड(friend) का इस्तेमाल करने की जरूरत है।
ఇక్కడ నేను ఒక కోడ్‌ను ఇచ్చాను, మీరు పేస్ట్‌ను కాపీ చేసి, సెట్ జంపింగ్ జంప్ యొక్క ఈ ప్రవర్తనను ప్రయత్నించవచ్చు.
అలాగే, ఆపరేటింగ్ సిస్టమ్‌కి సంబంధించి ప్రజలు కొన్ని ప్రోగ్రామింగ్ చేశారని మీకు సంకేతాలు ఉన్నాయి, సిగ్నల్ పంపే విధానం ఉందని వారికి తెలుస్తుంది.
ఈ సిగ్నల్ డాట్ హెచ్ లో ఉందని మీరు ఒక సిగ్నల్ పంపవచ్చు మరియు అనుబంధిత హ్యాండ్లర్ ఉంది, ఇది మీరు చొప్పించగల మీ ఫంక్షన్ పాయింటర్.
అందువల్ల, సిగ్నల్ హ్యాండ్లర్లు అలాంటివి.
కాబట్టి, మీరు హ్యాండ్లర్‌ను నిర్వచించవచ్చు మరియు మీరు భిన్నంగా సూచించవచ్చు.
అలా చెప్పే వివిధ సిగ్నల్స్ కోసం మీరు వేర్వేరు హ్యాండ్లర్లను జోడించవచ్చు.
నేను SIGABRT కలిగి ఉంటే, అది అమలు చేయబడే ఈ ప్రత్యేకమైన సిగ్నల్ హ్యాండ్లర్, ఇన్వాయిస్ పొందండి, తద్వారా ప్రాథమిక సిగ్నలింగ్ విధానం ఉంటుంది మరియు మీరు ఆపివేయాలని నిర్ణయించుకోవచ్చు.
అందువల్ల, ఇది సి లో లభించే మరొక యంత్రాంగం. అందువల్ల, సి నాకు అందించినట్లు మేము చూశాము, ఎందుకంటే సి రూపకల్పన రూపకల్పనలో మినహాయింపు యొక్క స్థితిని పరిగణనలోకి తీసుకోదు, లోపాలను పరిగణనలోకి తీసుకుంటుంది., ఇది ఎక్కువగా a ఆలోచన తర్వాత పోస్ట్.
కాబట్టి, ప్రామాణిక గ్రంథాలయాలు మరియు వాటి యొక్క వైవిధ్యాల ద్వారా అనేక రకాల యంత్రాంగాలు ప్లగ్ చేయబడ్డాయి, కానీ వాటిలో ఏవీ మీకు స్వచ్ఛమైన పరిష్కారాన్ని ఇవ్వవు మరియు ఇవి సి లో లోపం నిర్వహణ యొక్క కొన్ని సూక్ష్మ దృష్టాంతాలు.
మీరు హాజరైనప్పుడు, మీరు ప్రోగ్రామ్ నుండి నిష్క్రమించినప్పుడు, ప్రోగ్రామ్‌ను ముగించడానికి నిష్క్రమణ ఆధారంగా ఇప్పటికే స్కోప్ ఉంది, ప్రస్తుతం వివిధ స్థానిక స్కోప్‌లు నాలోని వస్తువులను నాశనం చేసేవారు నాశనం చేయబడరు, కాబట్టి ఇది మాకు ఉన్న ప్రధాన వనరుల లీకేజీ సమస్య.
రిటర్న్ వాల్యూ లేదా గ్లోబల్ ఫలితాలను చాలా కోడ్ అయోమయంతో ప్రశ్నించడం ఖచ్చితంగా అసహ్యకరమైనది, ఎందుకంటే ఇది సాధారణ ఫంక్షన్ సెమాంటిక్స్ను పాడు చేస్తుంది, ఎందుకంటే సాధారణ సెమాంటిక్స్ ఏమీ ఇవ్వదు.
కానీ లోపాన్ని దృష్టిలో ఉంచుకోవడానికి, మేము ఏదో ఒకటి ఉంచాలి మరియు ఈ స్థితిని ఖచ్చితంగా పొందాలి, మీరు హెడర్‌లో లోపాన్ని ఎలా నిర్వహిస్తారు, ఉదాహరణకు, మీరు పైభాగాన్ని గుర్తుంచుకుంటారు.
కాబట్టి, శీర్ష శీర్షం పూర్ణాంక స్టాక్‌గా భావించబడుతుంది, కాబట్టి శీర్షం మీకు పూర్ణాంకాన్ని తిరిగి ఇవ్వాలి.
అందువల్ల, ఇది ఫంక్షన్ సంతకం అయితే, మీకు లోపం విలువ లేనందున మీరు లోపాన్ని ఎలా తిరిగి ఇస్తారు.
అందువల్ల, మీరు పునరావృత కాల్‌లో ఉంటే జరగని అయోమయమైన గ్లోబల్ విలువను ఉపయోగించండి.
లేకపోతే, మీరు ఒక పరామితి గుండా వెళతారు, దీని ద్వారా మీరు వాస్తవానికి వంగని లోపం విలువను తిరిగి ఇస్తారు, ఇది మన వద్ద ఉన్న పద్ధతుల యొక్క అసలు సంతకాన్ని మారుస్తుంది.
మరియు అది లోపం లేని పరిస్థితులను భాష గ్రహించలేదు మరియు కోర్ యొక్క భాగం కాదు.
అందువల్ల, సి లోని లోపాన్ని పరిష్కరించడంలో ఇవి కొన్ని ప్రధాన ఇబ్బందులు.
వివిధ దశలలో లోపంతో వ్యవహరించే మీరందరూ కొన్ని లేదా అన్ని పద్ధతులను ఉపయోగించారని నాకు ఖచ్చితంగా తెలుసు, అయితే నేను మిమ్మల్ని దీని ద్వారా తీసుకెళ్లాలని అనుకున్నాను, అయితే ఇవన్నీ హైలైట్ చేయాలనుకుంటున్నాను లోపం పరిస్థితులతో తీవ్రమైన పరిస్థితులు.
సంక్షిప్తంగా, మేము మినహాయింపులు, రకాలు మరియు దశల యొక్క ప్రాథమిక భావన యొక్క భావనను ప్రవేశపెట్టాము మరియు సి లో లోపం నిర్వహణ గురించి చర్చించాము.
మేము వివిధ భాషా లక్షణాలను వివరించాము మరియు వాటిలో చాలా వరకు కాదు, మరియు దీని కోసం సి లో ఉన్న లైబ్రరీ మద్దతు, మరియు మేము దానిని ఉదాహరణలతో ప్రదర్శిస్తాము.
తదుపరి మాడ్యూల్‌లో, మేము C ++ లోని మినహాయింపుల మూలాన్ని పొందుతాము.
...@@ -27,8 +27,7 @@ ...@@ -27,8 +27,7 @@
వ్రాసేటప్పుడు ఈ విలువ రాయడానికి ముందు లేదా తరువాత నేను కొన్ని లెక్కలు కూడా చేయగలను. వ్రాసేటప్పుడు ఈ విలువ రాయడానికి ముందు లేదా తరువాత నేను కొన్ని లెక్కలు కూడా చేయగలను.
అందువల్ల, రీడ్ రైట్ యొక్క విలువ మార్చబడిందని లేదా రీడ్ రైట్ యొక్క విలువను ఎవరైనా చదివారని ఆ వస్తువు ఎల్లప్పుడూ తెలుసుకుంటుంది. అందువల్ల, రీడ్ రైట్ యొక్క విలువ మార్చబడిందని లేదా రీడ్ రైట్ యొక్క విలువను ఎవరైనా చదివారని ఆ వస్తువు ఎల్లప్పుడూ తెలుసుకుంటుంది.
కాబట్టి, ఈ డేటా సభ్యుడిని పబ్లిక్ యాక్సెస్‌గా ఉంచడం సరికాదు. కాబట్టి, ఈ డేటా సభ్యుడిని పబ్లిక్ యాక్సెస్‌గా ఉంచడం సరికాదు.
ఇ ప్పుడు, మనం చదవడానికి మాత్రమే చేయాలనుకుంటున్న తదుపరిదాన్ని చూస్తే ఇతర డేటా సభ్యులకు వస్తోంది.
ప్పుడు, మనం చదవడానికి మాత్రమే చేయాలనుకుంటున్న తదుపరిదాన్ని చూస్తే ఇతర డేటా సభ్యులకు వస్తోంది.
అందువల్ల, ఏదైనా మోడల్ యొక్క విభిన్న వాస్తవ-ప్రపంచ డేటా రకాల పరంగా, ఎన్కప్సులేషన్ పుట్టిన తేదీ లాగా మాత్రమే చదివే డేటా చాలా ఉందని మేము కనుగొంటాము. అందువల్ల, ఏదైనా మోడల్ యొక్క విభిన్న వాస్తవ-ప్రపంచ డేటా రకాల పరంగా, ఎన్కప్సులేషన్ పుట్టిన తేదీ లాగా మాత్రమే చదివే డేటా చాలా ఉందని మేము కనుగొంటాము.
ఒక వ్యక్తి పుట్టిన తేదీ మారదు, కాబట్టి ఆ వ్యక్తి కోసం ఒక వస్తువును సృష్టించేటప్పుడు దానిని ఏదో ఒకదానికి అమర్చాలి మరియు ఆ తరువాత దానిని మార్చడం సాధ్యం కాకూడదు, దానిని నియంత్రించడానికి ఉత్తమ మార్గం ఒక ప్రైవేట్ యాక్సెస్‌తో సృష్టించబడుతుంది ఆపై దానిపై ఒక ఫంక్షన్‌ను మాత్రమే స్వీకరించడానికి అనుమతించండి. ఒక వ్యక్తి పుట్టిన తేదీ మారదు, కాబట్టి ఆ వ్యక్తి కోసం ఒక వస్తువును సృష్టించేటప్పుడు దానిని ఏదో ఒకదానికి అమర్చాలి మరియు ఆ తరువాత దానిని మార్చడం సాధ్యం కాకూడదు, దానిని నియంత్రించడానికి ఉత్తమ మార్గం ఒక ప్రైవేట్ యాక్సెస్‌తో సృష్టించబడుతుంది ఆపై దానిపై ఒక ఫంక్షన్‌ను మాత్రమే స్వీకరించడానికి అనుమతించండి.
కాబట్టి, అది ఎవరైనా పుట్టిన తేదీని చదవడానికి మరియు ఆ వ్యక్తి వయస్సును లెక్కించడానికి లేదా ఉద్యోగి ఐడిని చదివి తనిఖీ చేయడానికి, విద్యార్థి యొక్క రోల్ నంబర్‌ను చదవడానికి మరియు విద్యార్థి గ్రేడ్‌ను కనుగొనటానికి అనుమతిస్తుంది. కాబట్టి, అది ఎవరైనా పుట్టిన తేదీని చదవడానికి మరియు ఆ వ్యక్తి వయస్సును లెక్కించడానికి లేదా ఉద్యోగి ఐడిని చదివి తనిఖీ చేయడానికి, విద్యార్థి యొక్క రోల్ నంబర్‌ను చదవడానికి మరియు విద్యార్థి గ్రేడ్‌ను కనుగొనటానికి అనుమతిస్తుంది.
...@@ -45,5 +44,3 @@ ...@@ -45,5 +44,3 @@
ఈ మాడ్యూల్‌లో, తరగతి సభ్యులు, ప్రభుత్వ మరియు ప్రైవేట్ వ్యక్తుల దృశ్యమానతను నియంత్రించడంలో ప్రాప్యత స్పేసర్‌లు ఎలా సహాయపడతాయో మేము అర్థం చేసుకున్నాము. ఈ మాడ్యూల్‌లో, తరగతి సభ్యులు, ప్రభుత్వ మరియు ప్రైవేట్ వ్యక్తుల దృశ్యమానతను నియంత్రించడంలో ప్రాప్యత స్పేసర్‌లు ఎలా సహాయపడతాయో మేము అర్థం చేసుకున్నాము.
ఒక తరగతి అమలు గురించి సమాచారాన్ని దాచడానికి, ఇంటర్‌ఫేస్ ద్వారా ప్రవర్తనను బహిర్గతం చేయడానికి మేము చూసినట్లుగా వీటిని ఉపయోగించవచ్చు మరియు గేట్-సెట్ యొక్క పద్ధతులు నిర్దిష్ట ఇడియమ్‌లను కలిగి ఉన్నాయని మేము ప్రత్యేకంగా చూశాము C ++ నుండి గొప్ప ధాన్యం నియంత్రణను అందిస్తుంది. ఒక తరగతి అమలు గురించి సమాచారాన్ని దాచడానికి, ఇంటర్‌ఫేస్ ద్వారా ప్రవర్తనను బహిర్గతం చేయడానికి మేము చూసినట్లుగా వీటిని ఉపయోగించవచ్చు మరియు గేట్-సెట్ యొక్క పద్ధతులు నిర్దిష్ట ఇడియమ్‌లను కలిగి ఉన్నాయని మేము ప్రత్యేకంగా చూశాము C ++ నుండి గొప్ప ధాన్యం నియంత్రణను అందిస్తుంది.
మీ రూపకల్పనలో మీరు అందించాలనుకుంటున్న డేటా సభ్యుల పరంగా ఇంటర్ఫేస్. మీ రూపకల్పనలో మీరు అందించాలనుకుంటున్న డేటా సభ్యుల పరంగా ఇంటర్ఫేస్.
...@@ -121,4 +121,3 @@ ...@@ -121,4 +121,3 @@
ఏది ప్రైవేటుగా ఉందో కూడా విడిగా నిర్వచించవచ్చు. ఏది ప్రైవేటుగా ఉందో కూడా విడిగా నిర్వచించవచ్చు.
ప్రస్తుతానికి, క్లాస్ డేటా సభ్యులను సూచించే హెడర్ ఫైల్‌లో అమలు మరియు ఇంటర్‌ఫేస్ హెడర్ ఫైల్‌గా వేరు చేయబడుతుందని మేము ఇప్పుడు తీసుకుంటాము మరియు క్లాస్ పద్ధతులు నిర్వచించాయి. ప్రస్తుతానికి, క్లాస్ డేటా సభ్యులను సూచించే హెడర్ ఫైల్‌లో అమలు మరియు ఇంటర్‌ఫేస్ హెడర్ ఫైల్‌గా వేరు చేయబడుతుందని మేము ఇప్పుడు తీసుకుంటాము మరియు క్లాస్ పద్ధతులు నిర్వచించాయి.
క్లాస్ ఇంప్లిమెంటేషన్ ఫైల్, ఇది పద్ధతుల యొక్క అన్ని అమలు కోడ్‌ను కలిగి ఉంటుంది మరియు అప్లికేషన్‌లో క్లాస్ హెడర్ ఫైల్ ఉండవచ్చు, క్లాస్ హెడర్ ఫైల్‌లో పద్ధతుల వాడకం ఉంటుంది మరియు అప్లికేషన్‌ను పని చేయడానికి అనుమతిస్తుంది. క్లాస్ ఇంప్లిమెంటేషన్ ఫైల్, ఇది పద్ధతుల యొక్క అన్ని అమలు కోడ్‌ను కలిగి ఉంటుంది మరియు అప్లికేషన్‌లో క్లాస్ హెడర్ ఫైల్ ఉండవచ్చు, క్లాస్ హెడర్ ఫైల్‌లో పద్ధతుల వాడకం ఉంటుంది మరియు అప్లికేషన్‌ను పని చేయడానికి అనుమతిస్తుంది.
...@@ -85,4 +85,3 @@ ...@@ -85,4 +85,3 @@
అందువల్ల, సి ++ గురించి లోతైన అవగాహన లేకుండా, మీరు స్ట్రింగ్ మాత్రమే ఉపయోగించడం ప్రారంభించవచ్చు మరియు మీ అన్ని ప్రోగ్రామ్‌లను తెలివిగా మరియు సులభంగా వ్రాయవచ్చు. అందువల్ల, సి ++ గురించి లోతైన అవగాహన లేకుండా, మీరు స్ట్రింగ్ మాత్రమే ఉపయోగించడం ప్రారంభించవచ్చు మరియు మీ అన్ని ప్రోగ్రామ్‌లను తెలివిగా మరియు సులభంగా వ్రాయవచ్చు.
ఈ మాడ్యూల్‌లో మనం చూపించాము - మనం శ్రేణులతో ఎలా పని చేయవచ్చు, వెక్టర్ వాస్తవానికి శ్రేణులను వేరియబుల్ పరిమాణానికి ఎలా సులభతరం చేస్తుంది మరియు స్ట్రింగ్ రకాలను ఉపయోగిస్తుంది C ++ లో తీగలను చాలా సులభంగా ఎలా నిర్వహించాలి. ఈ మాడ్యూల్‌లో మనం చూపించాము - మనం శ్రేణులతో ఎలా పని చేయవచ్చు, వెక్టర్ వాస్తవానికి శ్రేణులను వేరియబుల్ పరిమాణానికి ఎలా సులభతరం చేస్తుంది మరియు స్ట్రింగ్ రకాలను ఉపయోగిస్తుంది C ++ లో తీగలను చాలా సులభంగా ఎలా నిర్వహించాలి.
ప్రామాణిక లైబ్రరీ. ప్రామాణిక లైబ్రరీ.
...@@ -56,4 +56,3 @@ ...@@ -56,4 +56,3 @@
ఈ పద్ధతి క్యాంపస్ పేరు స్థలంలో కూడా ఇదే విధంగా పేరు పెట్టబడింది. ఈ పద్ధతి క్యాంపస్ పేరు స్థలంలో కూడా ఇదే విధంగా పేరు పెట్టబడింది.
కాబట్టి, ఒక పద్ధతి ప్రమాణానికి కాంప్లెక్స్ :: ప్రమాణం () అనే పేరు ఉంది. కాబట్టి, ఒక పద్ధతి ప్రమాణానికి కాంప్లెక్స్ :: ప్రమాణం () అనే పేరు ఉంది.
వస్తువులు తరగతుల ఇన్‌స్టాంటియేషన్స్ మరియు అవి వేగవంతం అయినప్పుడు ప్రారంభించబడతాయి, అక్షం డాట్ ఆపరేటర్ యొక్క ఉపయోగాన్ని సూచించడానికి ఉపయోగించబడుతుంది మరియు ప్రత్యేకమైన "ఈ" పాయింటర్‌ను కలిగి ఉంటుంది, ఇది ప్రతి వస్తువును దాని స్వంత చిరునామా ద్వారా గుర్తిస్తుంది, దీనిని ఉపయోగించవచ్చు వివిధ మార్గాలు.  వస్తువులు తరగతుల ఇన్‌స్టాంటియేషన్స్ మరియు అవి వేగవంతం అయినప్పుడు ప్రారంభించబడతాయి, అక్షం డాట్ ఆపరేటర్ యొక్క ఉపయోగాన్ని సూచించడానికి ఉపయోగించబడుతుంది మరియు ప్రత్యేకమైన "ఈ" పాయింటర్‌ను కలిగి ఉంటుంది, ఇది ప్రతి వస్తువును దాని స్వంత చిరునామా ద్వారా గుర్తిస్తుంది, దీనిని ఉపయోగించవచ్చు వివిధ మార్గాలు. 
...@@ -153,5 +153,3 @@ ...@@ -153,5 +153,3 @@
మీకు అవకాశం లభిస్తే, సిస్టమ్స్ మోడలింగ్ (సాఫ్ట్‌వేర్) ఇంజనీరింగ్ (మోడలింగ్) కోసం ఆబ్జెక్ట్-ఓరియెంటెడ్ ఎనాలిసిస్ మరియు డిజైన్ యుఎంఎల్ ద్వారా వెళితే మరియు సి. ++ లేదా ఈ సంబంధిత విషయానికి సంబంధించిన కొన్ని మంచి పుస్తకాలు ఉన్నాయి. మీకు అవకాశం లభిస్తే, సిస్టమ్స్ మోడలింగ్ (సాఫ్ట్‌వేర్) ఇంజనీరింగ్ (మోడలింగ్) కోసం ఆబ్జెక్ట్-ఓరియెంటెడ్ ఎనాలిసిస్ మరియు డిజైన్ యుఎంఎల్ ద్వారా వెళితే మరియు సి. ++ లేదా ఈ సంబంధిత విషయానికి సంబంధించిన కొన్ని మంచి పుస్తకాలు ఉన్నాయి.
అందువల్ల, దీనితో పాటు, సి ++ లోని సిలబస్ ముగిసిందని చెప్పడం ద్వారా నేను మూసివేసి సంగ్రహించాలి. అందువల్ల, దీనితో పాటు, సి ++ లోని సిలబస్ ముగిసిందని చెప్పడం ద్వారా నేను మూసివేసి సంగ్రహించాలి.
సి ++ లో చాలా నైపుణ్యం, నైపుణ్యం మరియు ఫలవంతమైన ప్రోగ్రామర్ కావడానికి మీ పరీక్షలకు మరియు అంతకు మించి మీ అందరికీ శుభాకాంక్షలు. సి ++ లో చాలా నైపుణ్యం, నైపుణ్యం మరియు ఫలవంతమైన ప్రోగ్రామర్ కావడానికి మీ పరీక్షలకు మరియు అంతకు మించి మీ అందరికీ శుభాకాంక్షలు.
...@@ -65,7 +65,5 @@ ...@@ -65,7 +65,5 @@
కాబట్టి, దీనితో మనం ప్రస్తుత మాడ్యూల్ చివరికి వస్తాము. కాబట్టి, దీనితో మనం ప్రస్తుత మాడ్యూల్ చివరికి వస్తాము.
ఇక్కడ మేము C ++ లో Const-ness ను అధ్యయనం చేసాము, C ++ లో మేము Const-ness యొక్క మూడు రూపాలను చూశాము, ఆబ్జెక్ట్ పూర్తిగా స్థిరంగా ఉంటుంది మరియు వస్తువు స్థిరంగా ఉంటే, అది నిరంతర సభ్యుల విధులను మాత్రమే అమలు చేయగలదు. ఇక్కడ మేము C ++ లో Const-ness ను అధ్యయనం చేసాము, C ++ లో మేము Const-ness యొక్క మూడు రూపాలను చూశాము, ఆబ్జెక్ట్ పూర్తిగా స్థిరంగా ఉంటుంది మరియు వస్తువు స్థిరంగా ఉంటే, అది నిరంతర సభ్యుల విధులను మాత్రమే అమలు చేయగలదు.
అందువల్ల, స్థిరమైన సభ్యుల ఫంక్షన్లు వస్తువును మార్చలేవని మేము చూశాము, కాని స్థిరమైన వస్తువు (ఆబ్జెక్ట్) కూడా స్థిరమైన సభ్యుల ఫంక్షన్లను ప్రారంభించగలదు మరియు మేము ఉద్యోగి యొక్క ID వంటి వస్తువును ఎంచుకుంటే మీరు చేయాలనుకుంటే, అతను ఒక విద్యార్థి యొక్క రోల్ సంఖ్య. అందువల్ల, స్థిరమైన సభ్యుల ఫంక్షన్లు వస్తువును మార్చలేవని మేము చూశాము, కాని స్థిరమైన వస్తువు (ఆబ్జెక్ట్) కూడా స్థిరమైన సభ్యుల ఫంక్షన్లను ప్రారంభించగలదు మరియు మేము ఉద్యోగి యొక్క ID వంటి వస్తువును ఎంచుకుంటే మీరు చేయాలనుకుంటే, అతను ఒక విద్యార్థి యొక్క రోల్ సంఖ్య.
; అప్పుడు మేము సంబంధిత డేటా సభ్యుని సభ్యుడిని స్థిరంగా చేయవచ్చు, తరువాత నిరంతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) లేదా నాన్-స్టేషనరీ మెంబర్ ఫంక్షన్ (ఫంక్షన్), వాటిలో ఏవీ స్థిరమైన డేటా సభ్యుడిని మార్చలేవు. అప్పుడు మేము సంబంధిత డేటా సభ్యుని సభ్యుడిని స్థిరంగా చేయవచ్చు, తరువాత నిరంతర సభ్యుల ఫంక్షన్ (ఫంక్షన్) లేదా నాన్-స్టేషనరీ మెంబర్ ఫంక్షన్ (ఫంక్షన్), వాటిలో ఏవీ స్థిరమైన డేటా సభ్యుడిని మార్చలేవు.
సి ++ డిఫాల్ట్‌గా కాస్ట్ వాడకంలో బిట్ వారీగా ఉండే కాన్-నెస్‌కు మద్దతు ఇస్తుందని మేము చూశాము, కాని తార్కిక కాన్-నెస్ సాధించడానికి ఒక పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించడం సాధ్యమవుతుంది, ఇది మనకు తార్కికంగా స్థిరమైన కాన్-నెస్ భావనను కలిగి ఉంటుంది మేము C ++ లోని పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించి కోడ్ చేయవచ్చు. సి ++ డిఫాల్ట్‌గా కాస్ట్ వాడకంలో బిట్ వారీగా ఉండే కాన్-నెస్‌కు మద్దతు ఇస్తుందని మేము చూశాము, కాని తార్కిక కాన్-నెస్ సాధించడానికి ఒక పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించడం సాధ్యమవుతుంది, ఇది మనకు తార్కికంగా స్థిరమైన కాన్-నెస్ భావనను కలిగి ఉంటుంది మేము C ++ లోని పరివర్తన చెందిన డేటా సభ్యుడిని ఉపయోగించి కోడ్ చేయవచ్చు.
...@@ -155,4 +155,3 @@ ...@@ -155,4 +155,3 @@
అందువల్ల, మనకు కొన్ని చోట్ల 16 యొక్క శ్రేణి కేటాయింపు ఉంది, ఆపై మేము strcp y ని ఉపయోగించి నా ఇన్పుట్ స్ట్రింగ్ (str) ను కాపీ చేస్తాము. అందువల్ల, మనకు కొన్ని చోట్ల 16 యొక్క శ్రేణి కేటాయింపు ఉంది, ఆపై మేము strcp y ని ఉపయోగించి నా ఇన్పుట్ స్ట్రింగ్ (str) ను కాపీ చేస్తాము.
అందువల్ల, నా కార్డు యొక్క సభ్యుడు ఈ స్ట్రింగ్‌కు ప్రారంభించబడ్డాడు మరియు దీన్ని ఇక్కడ తప్పక చేయాలి, దీన్ని ప్రారంభ జాబితాలో చేయండి ఎందుకంటే పాయింటర్ కార్డ్ రెండూ MEM నంబర్ పాయింటర్ అలాగే స్ట్రింగ్ ఇది ఇప్పుడు నిరంతరంగా ఉంటుందని సూచిస్తుంది, కానీ తో క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించబడిన తర్వాత మీరు కార్డ్ నంబర్‌లో ఎటువంటి మార్పు చేయలేని విధంగా మేము ఆ వస్తువును ఒక విధంగా రక్షించగలము మరియు సృష్టించగలము. అందువల్ల, నా కార్డు యొక్క సభ్యుడు ఈ స్ట్రింగ్‌కు ప్రారంభించబడ్డాడు మరియు దీన్ని ఇక్కడ తప్పక చేయాలి, దీన్ని ప్రారంభ జాబితాలో చేయండి ఎందుకంటే పాయింటర్ కార్డ్ రెండూ MEM నంబర్ పాయింటర్ అలాగే స్ట్రింగ్ ఇది ఇప్పుడు నిరంతరంగా ఉంటుందని సూచిస్తుంది, కానీ తో క్రెడిట్ కార్డ్ ఆబ్జెక్ట్ సృష్టించబడిన తర్వాత మీరు కార్డ్ నంబర్‌లో ఎటువంటి మార్పు చేయలేని విధంగా మేము ఆ వస్తువును ఒక విధంగా రక్షించగలము మరియు సృష్టించగలము.
నిరంతర వస్తువులు, స్థిరమైన సభ్యుల విధులు మరియు స్థిరమైన డేటా సభ్యులను ఎలా సృష్టించాలో మరియు దానిని డిజైన్‌లో ఎలా ఉపయోగించాలో మనం చూశాము. నిరంతర వస్తువులు, స్థిరమైన సభ్యుల విధులు మరియు స్థిరమైన డేటా సభ్యులను ఎలా సృష్టించాలో మరియు దానిని డిజైన్‌లో ఎలా ఉపయోగించాలో మనం చూశాము.
...@@ -68,7 +68,6 @@ ...@@ -68,7 +68,6 @@
కాబట్టి మేము ఇంతకుముందు చూపిస్తున్న ప్రతికూలతలను మీరు కలిగి ఉండకూడదు, ఇది మొదట పారామితిని అక్షరాలా అంచనా వేస్తుంది మరియు ఆ మూల్యాంకన విలువను తీసుకొని ఫంక్షన్‌ను పిలుస్తుంది. కాబట్టి మేము ఇంతకుముందు చూపిస్తున్న ప్రతికూలతలను మీరు కలిగి ఉండకూడదు, ఇది మొదట పారామితిని అక్షరాలా అంచనా వేస్తుంది మరియు ఆ మూల్యాంకన విలువను తీసుకొని ఫంక్షన్‌ను పిలుస్తుంది.
కాబట్టి మీరు ఇక్కడ + 1 ను పాస్ చేస్తే, అది మొదట 1 గా 4 గా చేసి, తరువాత పాస్ అవుతుంది, మీరు ++ a చేస్తే అది 3 నుండి 4 కి పెరుగుతుంది మరియు పాస్ అవుతుంది. కాబట్టి మీరు ఇక్కడ + 1 ను పాస్ చేస్తే, అది మొదట 1 గా 4 గా చేసి, తరువాత పాస్ అవుతుంది, మీరు ++ a చేస్తే అది 3 నుండి 4 కి పెరుగుతుంది మరియు పాస్ అవుతుంది.
అందువల్ల, మీకు హాని జరగదు అందువల్ల, మీకు హాని జరగదు
 I
కానీ మీరు హాష్ నిర్వచించిన మాక్రోలతో మాక్రోల యొక్క ప్రయోజనాన్ని పొందుతారు, మీరు ఫంక్షన్ యొక్క తలపై నివారించగలిగారు, అన్ని పారామితులను కోపింగ్ అని పిలుస్తారు, తరువాత బదిలీని నియంత్రించండి, తరువాత గణన చేసి ఆపై నియంత్రించండి మరియు తిరిగి బదిలీ చేయండి కానీ మీరు హాష్ నిర్వచించిన మాక్రోలతో మాక్రోల యొక్క ప్రయోజనాన్ని పొందుతారు, మీరు ఫంక్షన్ యొక్క తలపై నివారించగలిగారు, అన్ని పారామితులను కోపింగ్ అని పిలుస్తారు, తరువాత బదిలీని నియంత్రించండి, తరువాత గణన చేసి ఆపై నియంత్రించండి మరియు తిరిగి బదిలీ చేయండి
రిటర్న్ విలువ కారణంగా ఇవన్నీ వాయిదా వేయవచ్చు ఎందుకంటే కంపైలర్ వాస్తవానికి నేను ఇక్కడ చేస్తున్న సైట్‌లో ఫంక్షన్ అని పిలువబడే x సార్లు x ఉంచడానికి ప్రయత్నిస్తుంది. రిటర్న్ విలువ కారణంగా ఇవన్నీ వాయిదా వేయవచ్చు ఎందుకంటే కంపైలర్ వాస్తవానికి నేను ఇక్కడ చేస్తున్న సైట్‌లో ఫంక్షన్ అని పిలువబడే x సార్లు x ఉంచడానికి ప్రయత్నిస్తుంది.
కాబట్టి, ఇన్లైన్ యొక్క ప్రాథమిక లక్షణం ఇది. కాబట్టి, ఇన్లైన్ యొక్క ప్రాథమిక లక్షణం ఇది.
...@@ -126,5 +125,3 @@ ...@@ -126,5 +125,3 @@
డేటా యొక్క అస్థిరత కోసం మేము పరిచయం చేసాము మరియు సి ++ ప్రోగ్రామ్‌లలో అస్థిర డేటాను ఎలా ఉపయోగించవచ్చో చూశాము. డేటా యొక్క అస్థిరత కోసం మేము పరిచయం చేసాము మరియు సి ++ ప్రోగ్రామ్‌లలో అస్థిర డేటాను ఎలా ఉపయోగించవచ్చో చూశాము.
తరువాత, మేము మాక్రోలను సి పారామితి రూపంతో పునర్నిర్వచించాము మరియు మాక్రోలను మార్చడానికి ఇన్లైన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ఇన్లైనింగ్ ఉపయోగించబడుతుందని చూపించాము.అయితే మాక్రోలు అందించే అనేక వాక్యనిర్మాణ మరియు అర్థ సమస్యల ప్రయోజనంతో ఇది చేయవచ్చు. తరువాత, మేము మాక్రోలను సి పారామితి రూపంతో పునర్నిర్వచించాము మరియు మాక్రోలను మార్చడానికి ఇన్లైన్ (ఫంక్షన్) లేదా ఫంక్షన్ (ఫంక్షన్) ఇన్లైనింగ్ ఉపయోగించబడుతుందని చూపించాము.అయితే మాక్రోలు అందించే అనేక వాక్యనిర్మాణ మరియు అర్థ సమస్యల ప్రయోజనంతో ఇది చేయవచ్చు.
చివరగా, మేము ఇన్లైన్పై పరిమితులను కూడా చూశాము. చివరగా, మేము ఇన్లైన్పై పరిమితులను కూడా చూశాము.
...@@ -122,5 +122,3 @@ ...@@ -122,5 +122,3 @@
అలాగే మార్చలేరు. అలాగే మార్చలేరు.
రెండు వైపులా కాస్ట్-నెస్ ఎలా వర్తించబడుతుందో చూపించడానికి ఒక ఉదాహరణ. రెండు వైపులా కాస్ట్-నెస్ ఎలా వర్తించబడుతుందో చూపించడానికి ఒక ఉదాహరణ.
అందువల్ల, const - ness యొక్క ప్రాథమిక భావనను మరియు పాయింటర్ల పరంగా const - ness ఎలా వర్తించబడుతుందో చర్చించాము. అందువల్ల, const - ness యొక్క ప్రాథమిక భావనను మరియు పాయింటర్ల పరంగా const - ness ఎలా వర్తించబడుతుందో చర్చించాము.
...@@ -90,4 +90,3 @@ ...@@ -90,4 +90,3 @@
ఉదాహరణకు, సి 2 యొక్క ఈ ఆవశ్యకతను మనం చూసినట్లయితే, ఎప్పుడు సి 2 త్వరగా పొందబడుతుందో, అప్పుడు సహజంగానే ఈ కన్స్ట్రక్టర్‌తో ఒక కన్స్ట్రక్టర్ ఆహ్వానించబడతారు. ఉదాహరణకు, సి 2 యొక్క ఈ ఆవశ్యకతను మనం చూసినట్లయితే, ఎప్పుడు సి 2 త్వరగా పొందబడుతుందో, అప్పుడు సహజంగానే ఈ కన్స్ట్రక్టర్‌తో ఒక కన్స్ట్రక్టర్ ఆహ్వానించబడతారు.
అయితే, సి 1, సి 1 తక్షణం చేయబడినప్పుడు, రెండు పారామితులతో కూడిన కన్స్ట్రక్టర్ ఆహ్వానించబడతారు, కాబట్టి ఈ సందర్భంలో ఓవర్‌లోడ్ చేసిన కన్స్ట్రక్టర్ (ల) యొక్క అన్ని నియమాలు వర్తిస్తాయి. అయితే, సి 1, సి 1 తక్షణం చేయబడినప్పుడు, రెండు పారామితులతో కూడిన కన్స్ట్రక్టర్ ఆహ్వానించబడతారు, కాబట్టి ఈ సందర్భంలో ఓవర్‌లోడ్ చేసిన కన్స్ట్రక్టర్ (ల) యొక్క అన్ని నియమాలు వర్తిస్తాయి.
ఈ విధంగా కన్స్ట్రక్టర్లను లోడ్ చేయవచ్చు మరియు మేము వివిధ రకాల పారామితులు మరియు వాటి కలయికల పరంగా బిల్డ్ ప్రాసెస్‌ను వ్రాయవచ్చు మరియు మనం వెళ్తున్నప్పుడు, వివిధ తరగతుల కోసం ఓవర్‌లోడ్ నిర్మాణాలు ఎలా జరుగుతాయో చెప్పడానికి ఇంకా చాలా ఉదాహరణలు చూస్తాము. మేము నిర్మించిన చాలా ప్రభావవంతమైన నిర్మాణ విధానాలను వ్రాయడానికి. ఈ విధంగా కన్స్ట్రక్టర్లను లోడ్ చేయవచ్చు మరియు మేము వివిధ రకాల పారామితులు మరియు వాటి కలయికల పరంగా బిల్డ్ ప్రాసెస్‌ను వ్రాయవచ్చు మరియు మనం వెళ్తున్నప్పుడు, వివిధ తరగతుల కోసం ఓవర్‌లోడ్ నిర్మాణాలు ఎలా జరుగుతాయో చెప్పడానికి ఇంకా చాలా ఉదాహరణలు చూస్తాము. మేము నిర్మించిన చాలా ప్రభావవంతమైన నిర్మాణ విధానాలను వ్రాయడానికి.
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
కాబట్టి, మీరు దాని కోసం మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేస్తారు. కాబట్టి, మీరు దాని కోసం మళ్ళీ కన్స్ట్రక్టర్‌ను కాపీ చేస్తారు.
కాబట్టి, ఇప్పుడు మేము దీనిపై శీఘ్ర ఉదాహరణ ఇస్తాము. కాబట్టి, ఇప్పుడు మేము దీనిపై శీఘ్ర ఉదాహరణ ఇస్తాము.
కాబట్టి, మళ్ళీ మా సంక్లిష్ట తరగతికి, ఇక్కడ వేరే ఏమీ లేదు, మనం ఇక్కడ ఒక ఫంక్షన్ డిస్‌ప్లేను జోడించాము, అది ఇక్కడ ఒక సంక్లిష్ట సంఖ్యను తీసుకుంటుంది మరియు దానిని ప్రింట్ చేస్తుంది మరియు మేము రూపొందించిన తరంగ రూపాన్ని ఈ ప్రదర్శనను ప్రదర్శిస్తుంది. కాబట్టి, మళ్ళీ మా సంక్లిష్ట తరగతికి, ఇక్కడ వేరే ఏమీ లేదు, మనం ఇక్కడ ఒక ఫంక్షన్ డిస్‌ప్లేను జోడించాము, అది ఇక్కడ ఒక సంక్లిష్ట సంఖ్యను తీసుకుంటుంది మరియు దానిని ప్రింట్ చేస్తుంది మరియు మేము రూపొందించిన తరంగ రూపాన్ని ఈ ప్రదర్శనను ప్రదర్శిస్తుంది.
కాబట్టి, ఇది విలువ ద్వారా పిలుపు. కాబట్టి, ఇది విలువ ద్వారా పిలుపు.
అందువల్ల, ఇప్పుడు మీరు కన్స్ట్రక్టర్లను సహజంగా పిలిచే క్రమాన్ని పరిశీలిస్తే, మొదటిది అమలు అవుతుంది. అందువల్ల, ఇప్పుడు మీరు కన్స్ట్రక్టర్లను సహజంగా పిలిచే క్రమాన్ని పరిశీలిస్తే, మొదటిది అమలు అవుతుంది.
కాబట్టి, కన్స్ట్రక్టర్ ఇన్వాయిస్ చేయబడింది; ఈ అవుట్పుట్. కాబట్టి, కన్స్ట్రక్టర్ ఇన్వాయిస్ చేయబడింది; ఈ అవుట్పుట్.
...@@ -191,5 +190,3 @@ ...@@ -191,5 +190,3 @@
కాపీ ఆపరేటర్ అసైన్‌మెంట్‌లో, కాపీ క్లోన్ అంటే ఏమిటో మేము ప్రత్యేకంగా వ్రాసాము, తద్వారా ఇది మీ కాపీ అసైన్‌మెంట్ అసైన్‌మెంట్ ఆపరేటర్ నుండి ఏమిటో మీకు తెలుస్తుంది. కాపీ ఆపరేటర్ అసైన్‌మెంట్‌లో, కాపీ క్లోన్ అంటే ఏమిటో మేము ప్రత్యేకంగా వ్రాసాము, తద్వారా ఇది మీ కాపీ అసైన్‌మెంట్ అసైన్‌మెంట్ ఆపరేటర్ నుండి ఏమిటో మీకు తెలుస్తుంది.
కాబట్టి, ఇది C1 కు C2 ను కాపీ చేస్తుంది మరియు తరువాత, మీరు C2 అంటే ఏమిటో ప్రింట్ షోను చూడవచ్చు, ఆపై ఈ రెండు మొదటి C2 ను 3 కి కేటాయించిన తరువాత, ఫలితం C1 కు కేటాయించబడుతుంది మరియు తరువాత, అవి ముద్రించి సహజంగా వాటి క్రమాన్ని రివర్స్ చేస్తాయి విధ్వంసం. కాబట్టి, ఇది C1 కు C2 ను కాపీ చేస్తుంది మరియు తరువాత, మీరు C2 అంటే ఏమిటో ప్రింట్ షోను చూడవచ్చు, ఆపై ఈ రెండు మొదటి C2 ను 3 కి కేటాయించిన తరువాత, ఫలితం C1 కు కేటాయించబడుతుంది మరియు తరువాత, అవి ముద్రించి సహజంగా వాటి క్రమాన్ని రివర్స్ చేస్తాయి విధ్వంసం.
కాబట్టి, తరగతిలోని వేర్వేరు వస్తువులకు కాపీ కేటాయింపు ప్రక్రియను ఇది స్పష్టంగా మీకు చూపుతుంది. కాబట్టి, తరగతిలోని వేర్వేరు వస్తువులకు కాపీ కేటాయింపు ప్రక్రియను ఇది స్పష్టంగా మీకు చూపుతుంది.
...@@ -82,5 +82,3 @@ ...@@ -82,5 +82,3 @@
అందువల్ల, డీపైన కాపీ(deep copy)తర్వాత 2 గమనికలు బహుశా ఈ రెండు విభిన్న కాపీలు ఇదే బహుశా ఒకే ఆబ్జెక్ట్ తరువాత, కానీ అవి వివిధ ఆబ్జెక్ట్ లు మారింది. అందువల్ల, డీపైన కాపీ(deep copy)తర్వాత 2 గమనికలు బహుశా ఈ రెండు విభిన్న కాపీలు ఇదే బహుశా ఒకే ఆబ్జెక్ట్ తరువాత, కానీ అవి వివిధ ఆబ్జెక్ట్ లు మారింది.
కాబట్టి, డీపైన కాపీ(deep copy)మరియు షాలో కాపీ(shallow copy)సహజంగా న్యాయంగా ఉపయోగించబడుతుంది. కాబట్టి, డీపైన కాపీ(deep copy)మరియు షాలో కాపీ(shallow copy)సహజంగా న్యాయంగా ఉపయోగించబడుతుంది.
ఇది అవసరమైతే ఖచ్చితంగా ఉండకపోతే, మేము డీప్ కాపీని చేయటానికి ప్రయత్నించము ఎందుకంటే ఎందుకంటే అది సున్నితమైనదిగా ఉన్న కాచెడ్ డేటా యొక్క కాపీని కలిగి ఉంటుంది, ఎందుకంటే పునరావృత తర్కం ద్వారా మళ్లీ కాపీ కన్స్ట్రక్షన్(copy construction) అవసరం అవుతుంది, కానీ భద్రత పరంగా, డీపైన కాపీ(deep copy)ని ఉపయోగించి షాలో కాపీ(shallow copy)ని ఉపయోగించి పోలిస్తే తరచూ మరింత సురక్షితం. ఇది అవసరమైతే ఖచ్చితంగా ఉండకపోతే, మేము డీప్ కాపీని చేయటానికి ప్రయత్నించము ఎందుకంటే ఎందుకంటే అది సున్నితమైనదిగా ఉన్న కాచెడ్ డేటా యొక్క కాపీని కలిగి ఉంటుంది, ఎందుకంటే పునరావృత తర్కం ద్వారా మళ్లీ కాపీ కన్స్ట్రక్షన్(copy construction) అవసరం అవుతుంది, కానీ భద్రత పరంగా, డీపైన కాపీ(deep copy)ని ఉపయోగించి షాలో కాపీ(shallow copy)ని ఉపయోగించి పోలిస్తే తరచూ మరింత సురక్షితం.
...@@ -153,5 +153,3 @@ ...@@ -153,5 +153,3 @@
ఆబ్జెక్ట్ యొక్క జీవితకాలం యొక్క మునుపటి ఉదాహరణలలో మేము క్రమం తప్పకుండా ఒక విలువను మరొకదానికి కాపీ చేస్తున్నామని మీరు ఇప్పటికే చూశారు, కాని కాపీ చేసిన విలువలు సాధారణంగా నిర్మించిన చోట ఉంటాయి. మన వద్ద ఉన్న డేటా సభ్యుల కోసం సాధారణంగా అంతర్లీన రకానికి చెందినవి, కానీ నేను కలిగి ఉంటే యూజర్ యొక్క విలువను కాపీ చేయడం డేటా సభ్యునిగా నిర్వచించబడుతుంది, అప్పుడు నేను విలువ స్థితి ద్వారా కాల్ చేసిన పరిస్థితిని ఎదుర్కొంటాను. ఆబ్జెక్ట్ యొక్క జీవితకాలం యొక్క మునుపటి ఉదాహరణలలో మేము క్రమం తప్పకుండా ఒక విలువను మరొకదానికి కాపీ చేస్తున్నామని మీరు ఇప్పటికే చూశారు, కాని కాపీ చేసిన విలువలు సాధారణంగా నిర్మించిన చోట ఉంటాయి. మన వద్ద ఉన్న డేటా సభ్యుల కోసం సాధారణంగా అంతర్లీన రకానికి చెందినవి, కానీ నేను కలిగి ఉంటే యూజర్ యొక్క విలువను కాపీ చేయడం డేటా సభ్యునిగా నిర్వచించబడుతుంది, అప్పుడు నేను విలువ స్థితి ద్వారా కాల్ చేసిన పరిస్థితిని ఎదుర్కొంటాను.
అందువల్ల, UDT యొక్క డేటా సభ్యులను పరిచయం చేయడానికి కాపీ కన్స్ట్రక్టర్ ఉనికి అవసరం, అది లేకుండా ఆ సంబంధిత రకానికి చెందిన డేటా సభ్యుడిని నిర్వచించలేము. అందువల్ల, UDT యొక్క డేటా సభ్యులను పరిచయం చేయడానికి కాపీ కన్స్ట్రక్టర్ ఉనికి అవసరం, అది లేకుండా ఆ సంబంధిత రకానికి చెందిన డేటా సభ్యుడిని నిర్వచించలేము.
మేము ఇప్పుడే చూశాము; మేము ఆబ్జెక్ట్ జీవితకాలం పున ited సమీక్షించాము మరియు వేర్వేరు ఆబ్జెక్ట్ జీవితకాల దృశ్యాలకు, ప్రత్యేకించి వినియోగదారు నిర్వచించిన రకాలు మరియు డేటా సభ్యుల ఆదేశాలతో మేము మరింత లోతుగా శ్రద్ధ వహించాము.) ఇష్యూ మరియు ఆబ్జెక్ట్ యొక్క జీవితకాలంపై వాటి ఫలితం చర్చించబడింది మరియు మనకు ఇప్పుడే ఉంది కాపీ కన్స్ట్రక్టర్‌ను ప్రారంభించారు. మేము ఇప్పుడే చూశాము; మేము ఆబ్జెక్ట్ జీవితకాలం పున ited సమీక్షించాము మరియు వేర్వేరు ఆబ్జెక్ట్ జీవితకాల దృశ్యాలకు, ప్రత్యేకించి వినియోగదారు నిర్వచించిన రకాలు మరియు డేటా సభ్యుల ఆదేశాలతో మేము మరింత లోతుగా శ్రద్ధ వహించాము.) ఇష్యూ మరియు ఆబ్జెక్ట్ యొక్క జీవితకాలంపై వాటి ఫలితం చర్చించబడింది మరియు మనకు ఇప్పుడే ఉంది కాపీ కన్స్ట్రక్టర్‌ను ప్రారంభించారు.
...@@ -197,5 +197,3 @@ ...@@ -197,5 +197,3 @@
దీనితో, మేము ఈ మాడ్యూల్‌ను ముగించాము. దీనితో, మేము ఈ మాడ్యూల్‌ను ముగించాము.
మరియు, తరువాతి వాటిలో మేము అదే భావనను కొనసాగిస్తాము. మరియు, తరువాతి వాటిలో మేము అదే భావనను కొనసాగిస్తాము.
మరియు, ఆపరేటర్ల విషయంలో C ++ లో కూడా ఇలాంటి ఓవర్‌లోడింగ్ భావనను అమలు చేయవచ్చని చూడండి, దీనిని ఆపరేటర్ ఓవర్‌లోడింగ్ అని పిలుస్తారు. మరియు, ఆపరేటర్ల విషయంలో C ++ లో కూడా ఇలాంటి ఓవర్‌లోడింగ్ భావనను అమలు చేయవచ్చని చూడండి, దీనిని ఆపరేటర్ ఓవర్‌లోడింగ్ అని పిలుస్తారు.
...@@ -118,5 +118,3 @@ ...@@ -118,5 +118,3 @@
కాబట్టి, అన్ని డిఫాల్ట్లను వాడాలి; మీరు ఈ వంటి ఏదో చేయాలని ఉంటే వాటిని అన్ని శీర్షిక ఫైళ్ళకు తరలించబడింది చేయాలి కాబట్టి ఒక సమయంలో మీరు డిఫాల్ట్ పారామితులు ఉన్నాయి ఏమి చూడగలరు మరియు వారి విలువలు ఏమిటి, లేకపోతే ఈ పద్దతి యొక్క ఈ విధానం డిఫాల్ట్ పారామితులు కోడ్ వ్రాయడం నిజంగా చాలా గందరగోళంగా పొందండి. కాబట్టి, అన్ని డిఫాల్ట్లను వాడాలి; మీరు ఈ వంటి ఏదో చేయాలని ఉంటే వాటిని అన్ని శీర్షిక ఫైళ్ళకు తరలించబడింది చేయాలి కాబట్టి ఒక సమయంలో మీరు డిఫాల్ట్ పారామితులు ఉన్నాయి ఏమి చూడగలరు మరియు వారి విలువలు ఏమిటి, లేకపోతే ఈ పద్దతి యొక్క ఈ విధానం డిఫాల్ట్ పారామితులు కోడ్ వ్రాయడం నిజంగా చాలా గందరగోళంగా పొందండి.
ఇది ఆచరణాత్మక పాయింట్ నుండి ఒక పరిమితిగా ఉంటుంది, మీరు భాషా చివరికి చూస్తే, మీరు ఈ నిర్వచనాలతో మీరు నిజంగానే నాలుగు వేర్వేరు రూపాలతో ఫంక్షన్ గ్రానికే పిలుస్తారని నేను చూపించినట్లు చూపించాయి ఎందుకంటే మూడు పారామితులు చివరికి అప్రమేయం చేయబడ్డాయి, కానీ ఒకే స్థలంలో వాటిని ఎల్లప్పుడూ అప్రమత్తంగా ఉండేలా చేస్తాయి, తద్వారా ఒకే సంతకం లో వాటిని మూడు వేర్వేరు సంతకాలలో వరుసగా మూడుసార్లు వేరు చేయటానికి బదులు వాటిని ఉపయోగించడం కోసం చాలా గందరగోళంగా మారుతుంది. ఇది ఆచరణాత్మక పాయింట్ నుండి ఒక పరిమితిగా ఉంటుంది, మీరు భాషా చివరికి చూస్తే, మీరు ఈ నిర్వచనాలతో మీరు నిజంగానే నాలుగు వేర్వేరు రూపాలతో ఫంక్షన్ గ్రానికే పిలుస్తారని నేను చూపించినట్లు చూపించాయి ఎందుకంటే మూడు పారామితులు చివరికి అప్రమేయం చేయబడ్డాయి, కానీ ఒకే స్థలంలో వాటిని ఎల్లప్పుడూ అప్రమత్తంగా ఉండేలా చేస్తాయి, తద్వారా ఒకే సంతకం లో వాటిని మూడు వేర్వేరు సంతకాలలో వరుసగా మూడుసార్లు వేరు చేయటానికి బదులు వాటిని ఉపయోగించడం కోసం చాలా గందరగోళంగా మారుతుంది.
కాబట్టి, C ++ యొక్క డిఫాల్ట్ పారామితుల( default parameter) లక్షణాన్ని మేము చూశాము మరియు దానిని ఎలా ఉపయోగించాలో మరియు మేము ఉపయోగించే పరిమితులు ఏమిటి? కాబట్టి, C ++ యొక్క డిఫాల్ట్ పారామితుల( default parameter) లక్షణాన్ని మేము చూశాము మరియు దానిని ఎలా ఉపయోగించాలో మరియు మేము ఉపయోగించే పరిమితులు ఏమిటి?
...@@ -165,5 +165,3 @@ ...@@ -165,5 +165,3 @@
ఇది వర్చువల్ కానిది అయితే, ఇది స్టాటిక్ బైండింగ్‌ను ఉపయోగిస్తుంది; ఇది వర్చువల్ అయితే, ఇది డైనమిక్ బైండింగ్ కోసం కోడ్‌ను సృష్టిస్తుంది, తద్వారా రన్ టైమ్‌లో ఉపయోగించబడే వాస్తవ రకాన్ని బట్టి బైండింగ్ నిర్ణయించబడుతుంది. ఇది వర్చువల్ కానిది అయితే, ఇది స్టాటిక్ బైండింగ్‌ను ఉపయోగిస్తుంది; ఇది వర్చువల్ అయితే, ఇది డైనమిక్ బైండింగ్ కోసం కోడ్‌ను సృష్టిస్తుంది, తద్వారా రన్ టైమ్‌లో ఉపయోగించబడే వాస్తవ రకాన్ని బట్టి బైండింగ్ నిర్ణయించబడుతుంది.
సంక్షిప్తంగా, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి లోతుగా చూశాము మరియు పాలిమార్ఫిక్ అర్థం చేసుకోవడానికి ప్రయత్నించాము. సంక్షిప్తంగా, మేము స్టాటిక్ మరియు డైనమిక్ బైండింగ్ గురించి లోతుగా చూశాము మరియు పాలిమార్ఫిక్ అర్థం చేసుకోవడానికి ప్రయత్నించాము.
మరియు తరువాతి మాడ్యూల్‌లో, పాలిమార్ఫిక్ రకాలతో తలెత్తే వివిధ నిర్దిష్ట సమస్యలపై మా చర్చను కొనసాగిస్తాము. మరియు తరువాతి మాడ్యూల్‌లో, పాలిమార్ఫిక్ రకాలతో తలెత్తే వివిధ నిర్దిష్ట సమస్యలపై మా చర్చను కొనసాగిస్తాము.
...@@ -163,5 +163,3 @@ ...@@ -163,5 +163,3 @@
అప్పుడు మీరు C ++ లోకి వెళ్ళండి మరియు దీనిలో మేము పరిష్కారం యొక్క మూడు దశలను చూపించాము - మొదట, పాలిమార్ఫిక్ కాని సోపానక్రమంతో; అప్పుడు, పాలిమార్ఫిక్ సోపానక్రమంతో; ఆపై నైరూప్య బేస్ క్లాస్‌తో మల్టీకలర్డ్ సోపానక్రమంతో. అప్పుడు మీరు C ++ లోకి వెళ్ళండి మరియు దీనిలో మేము పరిష్కారం యొక్క మూడు దశలను చూపించాము - మొదట, పాలిమార్ఫిక్ కాని సోపానక్రమంతో; అప్పుడు, పాలిమార్ఫిక్ సోపానక్రమంతో; ఆపై నైరూప్య బేస్ క్లాస్‌తో మల్టీకలర్డ్ సోపానక్రమంతో.
భవిష్యత్తులో మరిన్ని డిజైన్ చేయగలిగే పరంగా మీకు చాలా బలం వస్తుందని నేను ఆశిస్తున్నాను. భవిష్యత్తులో మరిన్ని డిజైన్ చేయగలిగే పరంగా మీకు చాలా బలం వస్తుందని నేను ఆశిస్తున్నాను.
తరువాతి మాడ్యూల్ మరియు రెండింటిలో, పాలిమార్ఫిజం, డైనమిక్ బైండింగ్, వాస్తవానికి ఇది ఎలా పనిచేస్తుంది, ఆపై C + పరంగా మనం సూచిస్తున్న అన్నిటిని క్లుప్తంగా పరిశీలిస్తాము. C++ యొక్క ఇతర లక్షణాలతో కొనసాగుతుంది. తరువాతి మాడ్యూల్ మరియు రెండింటిలో, పాలిమార్ఫిజం, డైనమిక్ బైండింగ్, వాస్తవానికి ఇది ఎలా పనిచేస్తుంది, ఆపై C + పరంగా మనం సూచిస్తున్న అన్నిటిని క్లుప్తంగా పరిశీలిస్తాము. C++ యొక్క ఇతర లక్షణాలతో కొనసాగుతుంది.
...@@ -205,5 +205,3 @@ ...@@ -205,5 +205,3 @@
కాబట్టి, ముగియడానికి, మేము ఎందుకు డిస్ట్రక్టర్స్ వర్చువల్ గా ఉండాలి గురించి చర్చించారు. కాబట్టి, ముగియడానికి, మేము ఎందుకు డిస్ట్రక్టర్స్ వర్చువల్ గా ఉండాలి గురించి చర్చించారు.
మరియు పాలిమార్ఫిక్ హైరార్కీ పని చేయగలగడానికి, మేము ప్యూర్ వర్చువల్ ఫంక్షన్లను పరిచయం చేసాము మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ భావనను ప్రవేశపెట్టింది. మరియు పాలిమార్ఫిక్ హైరార్కీ పని చేయగలగడానికి, మేము ప్యూర్ వర్చువల్ ఫంక్షన్లను పరిచయం చేసాము మరియు అబ్స్ట్రాక్ట్ బేస్ క్లాస్ భావనను ప్రవేశపెట్టింది.
తదుపరి మాడ్యూల్లో, క్లాస్ హైరార్కీ పై కొన్ని డిజైన్ మరియు కోడ్ ప్రాసెసింగ్ను వాస్తవంగా చేయడానికి ఈ టూల్స్ ను ఎలా ఉపయోగించవచ్చో చూపించడానికి మేము మరిన్ని ఉదాహరణలను తీసుకుంటాము. తదుపరి మాడ్యూల్లో, క్లాస్ హైరార్కీ పై కొన్ని డిజైన్ మరియు కోడ్ ప్రాసెసింగ్ను వాస్తవంగా చేయడానికి ఈ టూల్స్ ను ఎలా ఉపయోగించవచ్చో చూపించడానికి మేము మరిన్ని ఉదాహరణలను తీసుకుంటాము.
...@@ -199,5 +199,3 @@ ...@@ -199,5 +199,3 @@
మేము దీన్ని చేసాము, ఎందుకంటే తరువాతి మాడ్యూల్‌లో, కాస్టింగ్ యొక్క ఈ భావనను బైండింగ్ సందర్భంలో ఉపయోగించాల్సి ఉంటుంది. మేము దీన్ని చేసాము, ఎందుకంటే తరువాతి మాడ్యూల్‌లో, కాస్టింగ్ యొక్క ఈ భావనను బైండింగ్ సందర్భంలో ఉపయోగించాల్సి ఉంటుంది.
ఆ తరువాత మేము స్టాటిక్ కాస్టింగ్ మరియు డైనమిక్ కాస్టింగ్ లేదా వర్చువల్ ఫంక్షన్ యొక్క ప్రాథమిక నిర్వచనాన్ని ప్రవేశపెట్టాము, ఇది కొత్త రకం సభ్యుల ఫంక్షన్, ఇది మేము మరిన్ని తరగతులలో ప్రదర్శిస్తున్నాము. ఆ తరువాత మేము స్టాటిక్ కాస్టింగ్ మరియు డైనమిక్ కాస్టింగ్ లేదా వర్చువల్ ఫంక్షన్ యొక్క ప్రాథమిక నిర్వచనాన్ని ప్రవేశపెట్టాము, ఇది కొత్త రకం సభ్యుల ఫంక్షన్, ఇది మేము మరిన్ని తరగతులలో ప్రదర్శిస్తున్నాము.
మేము తదుపరి మాడ్యూల్‌లో డైనమిక్ బైండింగ్ గురించి చర్చించడం కొనసాగిస్తాము. మేము తదుపరి మాడ్యూల్‌లో డైనమిక్ బైండింగ్ గురించి చర్చించడం కొనసాగిస్తాము.
...@@ -75,5 +75,3 @@ ...@@ -75,5 +75,3 @@
వేర్వేరు కొత్త ఆపరేటర్లు మరియు వాటి సంబంధిత డిలీట్ ఆపరేటర్ల మధ్య తేడాలు మరియు వారు నేర్చుకున్న ప్రాథమిక సూత్రం, మనం కేటాయించినా లేదా ఫంక్షన్ చేసినా, కేటాయించిన వాటిని మేము జాగ్రత్తగా అర్థం చేసుకున్నాము. మేము దానిని ఉపయోగిస్తాము సంబంధిత డి-కేటాయింపు ఫంక్షన్ లేదా ఆపరేటర్ - మల్లాక్ ఉచితంగా, ఆపరేటర్ తొలగింపుతో ఆపరేటర్ కొత్తది, ఆపరేటర్ అర్రే, ఆపరేటర్ అర్రేతో) తొలగింపు, ఆపరేటర్ (లు) కొత్తవి మరియు నేను ప్లేస్‌మెంట్‌ను పునరుద్ధరించినట్లయితే, మీకు ఎటువంటి తొలగింపు ఉండకూడదు మరియు లేకపోతే మాకు పూర్తిగా unexpected హించని సమస్యలు వచ్చే అవకాశం ఉంది. వేర్వేరు కొత్త ఆపరేటర్లు మరియు వాటి సంబంధిత డిలీట్ ఆపరేటర్ల మధ్య తేడాలు మరియు వారు నేర్చుకున్న ప్రాథమిక సూత్రం, మనం కేటాయించినా లేదా ఫంక్షన్ చేసినా, కేటాయించిన వాటిని మేము జాగ్రత్తగా అర్థం చేసుకున్నాము. మేము దానిని ఉపయోగిస్తాము సంబంధిత డి-కేటాయింపు ఫంక్షన్ లేదా ఆపరేటర్ - మల్లాక్ ఉచితంగా, ఆపరేటర్ తొలగింపుతో ఆపరేటర్ కొత్తది, ఆపరేటర్ అర్రే, ఆపరేటర్ అర్రేతో) తొలగింపు, ఆపరేటర్ (లు) కొత్తవి మరియు నేను ప్లేస్‌మెంట్‌ను పునరుద్ధరించినట్లయితే, మీకు ఎటువంటి తొలగింపు ఉండకూడదు మరియు లేకపోతే మాకు పూర్తిగా unexpected హించని సమస్యలు వచ్చే అవకాశం ఉంది.
చివరకు ఈ కొత్త ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం మరియు ఆపరేటర్లను ఎలా తొలగించాలో కూడా చూశాము, ఇది ఇప్పుడు ఆపరేటర్‌గా ఉండటం వల్ల ప్రయోజనం. చివరకు ఈ కొత్త ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం మరియు ఆపరేటర్లను ఎలా తొలగించాలో కూడా చూశాము, ఇది ఇప్పుడు ఆపరేటర్‌గా ఉండటం వల్ల ప్రయోజనం.
మరియు ఈ ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం ద్వారా వినియోగదారు కోరుకున్న విధంగా విభిన్న కార్యాచరణను ఎలా నిర్వహించవచ్చో మేము చూపించాము. మరియు ఈ ఆపరేటర్లను ఓవర్‌లోడ్ చేయడం ద్వారా వినియోగదారు కోరుకున్న విధంగా విభిన్న కార్యాచరణను ఎలా నిర్వహించవచ్చో మేము చూపించాము.
...@@ -154,5 +154,3 @@ ...@@ -154,5 +154,3 @@
కాబట్టి, ఇక్కడ అలాంటి క్రొత్త, క్రొత్త ప్లేస్‌మెంట్ కోసం లేదా ఇక్కడ కొత్త ప్లేస్‌మెంట్ కోసం, మీకు ఇలాంటి తొలగింపు లేదు; లేకపోతే, మీరు ప్రారంభ ఉదాహరణ నుండి ప్రారంభమయ్యే మిగిలిన ఉదాహరణల ద్వారా వెళ్ళవచ్చు లేదా ఇతర అంశాలను సూచించడానికి వాటిని ఉపయోగించవచ్చు. కాబట్టి, ఇక్కడ అలాంటి క్రొత్త, క్రొత్త ప్లేస్‌మెంట్ కోసం లేదా ఇక్కడ కొత్త ప్లేస్‌మెంట్ కోసం, మీకు ఇలాంటి తొలగింపు లేదు; లేకపోతే, మీరు ప్రారంభ ఉదాహరణ నుండి ప్రారంభమయ్యే మిగిలిన ఉదాహరణల ద్వారా వెళ్ళవచ్చు లేదా ఇతర అంశాలను సూచించడానికి వాటిని ఉపయోగించవచ్చు.
మీరు ఈ కోడ్ ద్వారా వెళితే, ఇది కొంచెం పాయింటర్ (పాయింటర్) ట్వీకింగ్, మరియు ఇది ఏ ఇతర పాయింటర్ (పాయింటర్) మానిప్యులేషన్ మాదిరిగానే ఉందని మీరు అర్థం చేసుకోవడం అలవాటు చేసుకోవడం మంచిది. మీరు ఈ కోడ్ ద్వారా వెళితే, ఇది కొంచెం పాయింటర్ (పాయింటర్) ట్వీకింగ్, మరియు ఇది ఏ ఇతర పాయింటర్ (పాయింటర్) మానిప్యులేషన్ మాదిరిగానే ఉందని మీరు అర్థం చేసుకోవడం అలవాటు చేసుకోవడం మంచిది.
కానీ ఒకే తేడా ఏమిటంటే, చిరునామాలు డైనమిక్ స్టోర్ నుండి రావడం లేదు, అవి ఉచిత స్టోర్ నుండి రావడం లేదు, నేను అందించిన బఫర్ నుండి చిరునామాలు వస్తున్నాయి. కానీ ఒకే తేడా ఏమిటంటే, చిరునామాలు డైనమిక్ స్టోర్ నుండి రావడం లేదు, అవి ఉచిత స్టోర్ నుండి రావడం లేదు, నేను అందించిన బఫర్ నుండి చిరునామాలు వస్తున్నాయి.
...@@ -98,7 +98,6 @@ ...@@ -98,7 +98,6 @@
కాలర్ f, కాలర్ g అని పిలిచారు మరియు మీరు విసిరారు, మీ మినహాయింపు వస్తువు ఏమిటి? మినహాయింపు వస్తువు మీరు h నుండి అందుకున్నది, నా మినహాయింపు వస్తువు. కాలర్ f, కాలర్ g అని పిలిచారు మరియు మీరు విసిరారు, మీ మినహాయింపు వస్తువు ఏమిటి? మినహాయింపు వస్తువు మీరు h నుండి అందుకున్నది, నా మినహాయింపు వస్తువు.
కాబట్టి మీరు మినహాయింపు ద్వారా ఇక్కడకు వచ్చినప్పటి నుండి, మీరు క్యాచ్ క్లాజ్‌లో కొనసాగుతారు. కాబట్టి మీరు మినహాయింపు ద్వారా ఇక్కడకు వచ్చినప్పటి నుండి, మీరు క్యాచ్ క్లాజ్‌లో కొనసాగుతారు.
కాబట్టి, ఇప్పుడు మీరు నా మినహాయింపు వస్తువును కలిగి ఉన్నారు మరియు మీకు నా మినహాయింపు క్యాచ్ నిబంధన ఉంది, కాబట్టి ఇది నా మినహాయింపును మరొక క్యాచ్ నిబంధనపై వదిలివేసి, ఆపై మీరు మిగిలిన ఫంక్షన్‌ను చేయవచ్చు మరియు కొనసాగించండి. కాబట్టి, ఇప్పుడు మీరు నా మినహాయింపు వస్తువును కలిగి ఉన్నారు మరియు మీకు నా మినహాయింపు క్యాచ్ నిబంధన ఉంది, కాబట్టి ఇది నా మినహాయింపును మరొక క్యాచ్ నిబంధనపై వదిలివేసి, ఆపై మీరు మిగిలిన ఫంక్షన్‌ను చేయవచ్చు మరియు కొనసాగించండి.
.
అందువల్ల, మీరు విసిరిన మినహాయింపును కాలర్ నిర్వహించగలగడం అవసరం లేదు, కాలర్ దానిని నిర్వహించగలడు, కాలర్ దానిని నిర్వహించడానికి కాల్ చేయడానికి అధిక ప్రచారం చేయగలడు మరియు అది ఒక మినహాయింపును విసిరిందని మేము చెప్తాము. అందువల్ల, మీరు విసిరిన మినహాయింపును కాలర్ నిర్వహించగలగడం అవసరం లేదు, కాలర్ దానిని నిర్వహించగలడు, కాలర్ దానిని నిర్వహించడానికి కాల్ చేయడానికి అధిక ప్రచారం చేయగలడు మరియు అది ఒక మినహాయింపును విసిరిందని మేము చెప్తాము.
ఇక్కడ మీకు ప్రత్యేకత ఏమిటి? ఇక్కడ మీకు ప్రత్యేకత ఏమిటి?
నా మినహాయింపు స్పెషలైజేషన్ అయిన తరగతి మినహాయింపును వదిలివేస్తే ఏమి జరుగుతుందో చూద్దాం. నా మినహాయింపు స్పెషలైజేషన్ అయిన తరగతి మినహాయింపును వదిలివేస్తే ఏమి జరుగుతుందో చూద్దాం.
...@@ -186,5 +185,3 @@ ...@@ -186,5 +185,3 @@
వాస్తవానికి, మీరు C ++ లో త్రో త్రోతో సరిగ్గా రూపకల్పన చేయగలిగితే, మీకు C లో మినహాయింపు విధానం అవసరం లేదు. వాస్తవానికి, మీరు C ++ లో త్రో త్రోతో సరిగ్గా రూపకల్పన చేయగలిగితే, మీకు C లో మినహాయింపు విధానం అవసరం లేదు.
కొన్ని సిస్టమ్ కాల్స్ సిగ్నల్ లేదా ఎర్రర్ నంబర్‌ను చొప్పించడం వంటి లోపం విధానాలను ఉపయోగిస్తున్నందున, మీరు ఇప్పటికీ వాటిని ఉపయోగించాల్సి ఉంటుంది. కొన్ని సిస్టమ్ కాల్స్ సిగ్నల్ లేదా ఎర్రర్ నంబర్‌ను చొప్పించడం వంటి లోపం విధానాలను ఉపయోగిస్తున్నందున, మీరు ఇప్పటికీ వాటిని ఉపయోగించాల్సి ఉంటుంది.
కాబట్టి మీరు వాటిని ఇప్పటికీ ఆ సందర్భాలలో ఉపయోగించాల్సి ఉంటుంది, కానీ మీ స్వంత కోడ్ కోసం మీరు ఎప్పటికీ సి ఎర్రర్ హ్యాండ్లింగ్ లేదా సి లైబ్రరీ లైబ్రరీ ఫంక్షన్లను ఉపయోగించాల్సిన అవసరం లేదు. కాబట్టి మీరు వాటిని ఇప్పటికీ ఆ సందర్భాలలో ఉపయోగించాల్సి ఉంటుంది, కానీ మీ స్వంత కోడ్ కోసం మీరు ఎప్పటికీ సి ఎర్రర్ హ్యాండ్లింగ్ లేదా సి లైబ్రరీ లైబ్రరీ ఫంక్షన్లను ఉపయోగించాల్సిన అవసరం లేదు.
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
వివిధ రకాల ఎక్స్టెన్షన్ లేదా ఎక్సెప్షన్ యొక్కఎన్కాప్సులేషన్ అనుగుణంగా ఉండే ఇతర లక్షణాల గురించి మనం మాట్లాడాము, ఫ్రెండ్ ఫంక్షన్ పరంగా, ఫంక్షన్ యాక్సెస్ మరియు స్టాక్ ఫంక్షన్ల పరంగా ఫంక్షన్స్, మరియు వివిధ మెంబర్ ఫంక్షన్ మరియు గ్లోబల్ ఫంక్షన్ల ఓవర్లోడింగ్ చేయవచ్చు. వివిధ రకాల ఎక్స్టెన్షన్ లేదా ఎక్సెప్షన్ యొక్కఎన్కాప్సులేషన్ అనుగుణంగా ఉండే ఇతర లక్షణాల గురించి మనం మాట్లాడాము, ఫ్రెండ్ ఫంక్షన్ పరంగా, ఫంక్షన్ యాక్సెస్ మరియు స్టాక్ ఫంక్షన్ల పరంగా ఫంక్షన్స్, మరియు వివిధ మెంబర్ ఫంక్షన్ మరియు గ్లోబల్ ఫంక్షన్ల ఓవర్లోడింగ్ చేయవచ్చు.
ఇప్పుడు, ఇన్హెరిటెన్స్ అనేది ఆబ్జెక్ట్ యొక్క ఆధార రూపకల్పనల డిజైన్ యొక్క ప్రధాన వెన్నెముకను నిర్మించడానికి ఈ అవగాహనను అన్నిటినీ మిళితం చేస్తుంది. ఇప్పుడు, ఇన్హెరిటెన్స్ అనేది ఆబ్జెక్ట్ యొక్క ఆధార రూపకల్పనల డిజైన్ యొక్క ప్రధాన వెన్నెముకను నిర్మించడానికి ఈ అవగాహనను అన్నిటినీ మిళితం చేస్తుంది.
అందువలన, మనము ఈ లోతైన అధ్యయనం మొదలు ముందు నేను అన్ని మీరు సవరించడానికి మరియు మేము చాలా చర్చించారు అని C + + యొక్క వివిధ లక్షణాల గురించి చాలా క్షుణ్ణంగా ఉద్భవించటానికి ముందు మేము ఇప్పుడు చాలా తరచుగా క్రమంగా వాటిని అన్ని సూచిస్తూ ఉంటాను . అందువలన, మనము ఈ లోతైన అధ్యయనం మొదలు ముందు నేను అన్ని మీరు సవరించడానికి మరియు మేము చాలా చర్చించారు అని C + + యొక్క వివిధ లక్షణాల గురించి చాలా క్షుణ్ణంగా ఉద్భవించటానికి ముందు మేము ఇప్పుడు చాలా తరచుగా క్రమంగా వాటిని అన్ని సూచిస్తూ ఉంటాను .
ఇప్పుడు, నేను చెప్పినట్లుగా ఇన్హెరిటెన్స్ గురించి చర్చించడం కోసం ఇది అనేక మాడ్యూల్స్పై విస్తరించింది. ఇప్పుడు, నేను చెప్పినట్లుగా ఇన్హెరిటెన్స్ గురించి చర్చించడం కోసం ఇది అనేక మాడ్యూల్స్పై విస్తరించింది.
ఈ ప్రత్యేక మాడ్యూల్ లో, ISA రిలేషన్షిప్ లేదా ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క క్రమానుగత పునఃసృష్టిని మేము పరిశీలించాము మరియు C ++ ఇన్హెరిటెన్స్ పరంగా ఎలా క్రియేట్ చేయాలో చూద్దాం. ఈ ప్రత్యేక మాడ్యూల్ లో, ISA రిలేషన్షిప్ లేదా ఆబ్జెక్ట్ ఓరియెంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క క్రమానుగత పునఃసృష్టిని మేము పరిశీలించాము మరియు C ++ ఇన్హెరిటెన్స్ పరంగా ఎలా క్రియేట్ చేయాలో చూద్దాం.
నేను ఇక్కడ అందించే ఆకారం కొద్దిగా భిన్నంగా నిర్వహించబడింది. నేను ఇక్కడ అందించే ఆకారం కొద్దిగా భిన్నంగా నిర్వహించబడింది.
...@@ -115,5 +114,3 @@ ...@@ -115,5 +114,3 @@
కాబట్టి, ఇది ఇన్హెరిటెన్స్ ను ఎలా ఉపయోగించాలో అర్ధం చేసుకోవడానికి మరియు C ++ ల్యాంగ్వేజ్ చాలా సమర్థవంతమైన రీతిలో వేర్వేరు వాస్తవ ప్రపంచ scenario hierarchy ను ఎలా నిర్దేశించాలో అర్థం చేసుకోవడానికి అవసరమైన అన్ని ప్రధాన అర్థాల సిమాంటిక్స్(semantics) ఇది. కాబట్టి, ఇది ఇన్హెరిటెన్స్ ను ఎలా ఉపయోగించాలో అర్ధం చేసుకోవడానికి మరియు C ++ ల్యాంగ్వేజ్ చాలా సమర్థవంతమైన రీతిలో వేర్వేరు వాస్తవ ప్రపంచ scenario hierarchy ను ఎలా నిర్దేశించాలో అర్థం చేసుకోవడానికి అవసరమైన అన్ని ప్రధాన అర్థాల సిమాంటిక్స్(semantics) ఇది.
ఈ విధంగా సంగ్రహించేందుకు, మనకు OOAD hierarchy యొక్క శ్రేణిని ISA సంబంధం మరియు క్లాస్ హైరార్కీ భావన ఆబ్జెక్ట్ ఓరియంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క పునర్వ్యవస్థీకరణలో ఉంది మరియు C ++ లో ఇన్హెరిటెన్స్ యొక్క ప్రాథమిక భావనను పరిచయం చేసాము. ఈ విధంగా సంగ్రహించేందుకు, మనకు OOAD hierarchy యొక్క శ్రేణిని ISA సంబంధం మరియు క్లాస్ హైరార్కీ భావన ఆబ్జెక్ట్ ఓరియంటెడ్ అనాలిసిస్ అండ్ డిజైన్ యొక్క పునర్వ్యవస్థీకరణలో ఉంది మరియు C ++ లో ఇన్హెరిటెన్స్ యొక్క ప్రాథమిక భావనను పరిచయం చేసాము.
మరియు అర్థం చేసుకోవడానికి అవసరమైన అర్థాల యొక్క విభిన్న అంశాలను ఏవి గమనించాలో, మేము నిజంగా ప్రభావవంతమైన పద్ధతిలో ఇన్హెరిటెన్స్ ని ఉపయోగించుకునే విధంగా మాస్టర్స్గా ఉండాలి. మరియు అర్థం చేసుకోవడానికి అవసరమైన అర్థాల యొక్క విభిన్న అంశాలను ఏవి గమనించాలో, మేము నిజంగా ప్రభావవంతమైన పద్ధతిలో ఇన్హెరిటెన్స్ ని ఉపయోగించుకునే విధంగా మాస్టర్స్గా ఉండాలి.
...@@ -119,5 +119,3 @@ ...@@ -119,5 +119,3 @@
బేస్ క్లాస్ ఆబ్జెక్ట్ తక్కువ చిరునామాకు చేరుకుంటుందని మరియు ఉత్పన్నమైన క్లాస్ యొక్క డేటా సభ్యులు అధిక చిరునామా వద్ద ఉంటారని లేదా దీనికి విరుద్ధంగా లేదా ఇతర మిశ్రమంలో ఉంటారని హామీ లేదు. బేస్ క్లాస్ ఆబ్జెక్ట్ తక్కువ చిరునామాకు చేరుకుంటుందని మరియు ఉత్పన్నమైన క్లాస్ యొక్క డేటా సభ్యులు అధిక చిరునామా వద్ద ఉంటారని లేదా దీనికి విరుద్ధంగా లేదా ఇతర మిశ్రమంలో ఉంటారని హామీ లేదు.
మరియు వారసత్వ పరంగా, సభ్యుల విధులు ఒక తరగతి నుండి ఉద్భవించిన వారసత్వంలోని ఒక బేస్ తరగతి నుండి ఉద్భవించాయని మేము చూశాము, కానీ వారసత్వం తరువాత చాలా ఆసక్తికరంగా ఉంటుంది. సభ్యుల విధులను భర్తీ చేయవచ్చు. మరియు వారసత్వ పరంగా, సభ్యుల విధులు ఒక తరగతి నుండి ఉద్భవించిన వారసత్వంలోని ఒక బేస్ తరగతి నుండి ఉద్భవించాయని మేము చూశాము, కానీ వారసత్వం తరువాత చాలా ఆసక్తికరంగా ఉంటుంది. సభ్యుల విధులను భర్తీ చేయవచ్చు.
మరియు ఆ సందర్భంలో, ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు కూడా పని చేస్తూనే ఉంటాయి. మరియు ఆ సందర్భంలో, ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక నియమాలు కూడా పని చేస్తూనే ఉంటాయి.
...@@ -148,6 +148,3 @@ ...@@ -148,6 +148,3 @@
కాబట్టి, మీరు నిజంగా వీడియో కాల్స్ చేయగలరు మరియు తరువాత మేము చూసిన మొబైల్ ఫోన్‌ల యొక్క స్పెషలైజేషన్‌గా మీకు స్మార్ట్ ఫోన్‌లు ఉన్నాయి, కాని అవి ఐ-ఫోన్ లేదా ఆండ్రాయిడ్ ఫోన్ నుండి వచ్చాయా లేదా నేను కొంత రకాన్ని పొందవచ్చా అనే దానిపై అవి మళ్లీ నిర్దిష్టంగా ఉన్నాయి. టాబ్లెట్ ఫోన్‌ను స్మార్ట్ ఫోన్‌గా, వీడియో ఫోన్‌గా ఉపయోగించవచ్చు. కాబట్టి, మీరు నిజంగా వీడియో కాల్స్ చేయగలరు మరియు తరువాత మేము చూసిన మొబైల్ ఫోన్‌ల యొక్క స్పెషలైజేషన్‌గా మీకు స్మార్ట్ ఫోన్‌లు ఉన్నాయి, కాని అవి ఐ-ఫోన్ లేదా ఆండ్రాయిడ్ ఫోన్ నుండి వచ్చాయా లేదా నేను కొంత రకాన్ని పొందవచ్చా అనే దానిపై అవి మళ్లీ నిర్దిష్టంగా ఉన్నాయి. టాబ్లెట్ ఫోన్‌ను స్మార్ట్ ఫోన్‌గా, వీడియో ఫోన్‌గా ఉపయోగించవచ్చు.
అందువల్ల, ఈ సోపానక్రమం (సోపానక్రమం) ఆధారంగా మనం ఇంట్లో ప్రయత్నించవచ్చు మరియు ఈ సోపానక్రమం (సోపానక్రమం) లో భాగమైన C ++ వారసత్వ తరగతుల (క్రమానుగత) సమితిని నిర్మించడానికి ప్రయత్నించవచ్చని నేను సూచిస్తున్నాను. అందువల్ల, ఈ సోపానక్రమం (సోపానక్రమం) ఆధారంగా మనం ఇంట్లో ప్రయత్నించవచ్చు మరియు ఈ సోపానక్రమం (సోపానక్రమం) లో భాగమైన C ++ వారసత్వ తరగతుల (క్రమానుగత) సమితిని నిర్మించడానికి ప్రయత్నించవచ్చని నేను సూచిస్తున్నాను.
కాబట్టి, క్లుప్తంగా, వాస్తవ పరిస్థితుల కోసం సమర్థవంతమైన C ++ కోడ్ మోడల్‌ను రూపొందించడానికి వారసత్వం ఎలా ఉపయోగపడుతుందో ఇక్కడ చూపించడానికి మేము ఫోన్ సోపానక్రమం (సోపానక్రమం) ను ఉపయోగించవచ్చు. కాబట్టి, క్లుప్తంగా, వాస్తవ పరిస్థితుల కోసం సమర్థవంతమైన C ++ కోడ్ మోడల్‌ను రూపొందించడానికి వారసత్వం ఎలా ఉపయోగపడుతుందో ఇక్కడ చూపించడానికి మేము ఫోన్ సోపానక్రమం (సోపానక్రమం) ను ఉపయోగించవచ్చు.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
ఇప్పుడు, మేము మరికొన్ని ఇంటిగ్రేటెడ్ వినియోగ దృశ్యాలను పరిశీలిస్తాము మరియు మనకు విద్యార్థి ఉపాధ్యాయుడు టిఎ దృష్టాంతం ఉందని చూపిస్తాము, ఇక్కడ టిఎ విద్యార్థి, టిఎ ఒక ఉపాధ్యాయుడు మరియు ఇద్దరూ వ్యక్తులు. ఇప్పుడు, మేము మరికొన్ని ఇంటిగ్రేటెడ్ వినియోగ దృశ్యాలను పరిశీలిస్తాము మరియు మనకు విద్యార్థి ఉపాధ్యాయుడు టిఎ దృష్టాంతం ఉందని చూపిస్తాము, ఇక్కడ టిఎ విద్యార్థి, టిఎ ఒక ఉపాధ్యాయుడు మరియు ఇద్దరూ వ్యక్తులు.
అందువల్ల, మనకు వజ్రం లాంటి పరిస్థితి ఉంది మరియు మేము దీనిని డైమండ్ సమస్య అని పిలవండి, దాన్ని ఎందుకు డైమండ్ సమస్య అని పిలుస్తామో చూద్దాం. అందువల్ల, మనకు వజ్రం లాంటి పరిస్థితి ఉంది మరియు మేము దీనిని డైమండ్ సమస్య అని పిలవండి, దాన్ని ఎందుకు డైమండ్ సమస్య అని పిలుస్తామో చూద్దాం.
బహుళ వారసత్వంలో కనిపించే తరగతి యొక్క ప్రాథమిక తరగతుల కోసం మీకు సాధారణ బేస్ క్లాస్ ఉండడం చాలా సాధారణమని నేను ఇప్పటికే వివరించాను. బహుళ వారసత్వంలో కనిపించే తరగతి యొక్క ప్రాథమిక తరగతుల కోసం మీకు సాధారణ బేస్ క్లాస్ ఉండడం చాలా సాధారణమని నేను ఇప్పటికే వివరించాను.
కాబట్టి, కోడ్ వ్యక్తిని చూడటానికి ప్రయత్నిద్దాం, ఇది ఒక తరగతి, ఇక్కడ నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, ఉదాహరణలో నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, అంటే ఉపాధ్యాయుడు ఒక తరగతి విద్యార్థి అని అర్ధం.) కాబట్టి వారు వారసత్వంగా ఒక వ్యక్తిని కలుస్తారు . కాబట్టి, కోడ్ వ్యక్తిని చూడటానికి ప్రయత్నిద్దాం, ఇది ఒక తరగతి, ఇక్కడ నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, ఉదాహరణలో నేను దానిని ఫ్యాకల్టీ అని పిలిచాను, అంటే ఉపాధ్యాయుడు ఒక తరగతి విద్యార్థి అని అర్ధం. కాబట్టి వారు వారసత్వంగా ఒక వ్యక్తిని కలుస్తారు .
కాబట్టి, ఆపై TA అధ్యాపకులు మరియు విద్యార్థి రెండింటి నుండి వారసత్వంగా పొందారు, కాబట్టి ఇది దృష్టాంతం. కాబట్టి, ఆపై TA అధ్యాపకులు మరియు విద్యార్థి రెండింటి నుండి వారసత్వంగా పొందారు, కాబట్టి ఇది దృష్టాంతం.
మరియు ప్రతి బిల్డర్‌కు బిల్డ్‌లో ఏమి జరుగుతుందో చూడటానికి సందేశం ఉంది. మరియు ప్రతి బిల్డర్‌కు బిల్డ్‌లో ఏమి జరుగుతుందో చూడటానికి సందేశం ఉంది.
అందువల్ల, నిర్మాణం ఖచ్చితంగా బేస్ క్లాస్‌ని నిర్మించాలి. అందువల్ల, నిర్మాణం ఖచ్చితంగా బేస్ క్లాస్‌ని నిర్మించాలి.
...@@ -111,5 +111,3 @@ ...@@ -111,5 +111,3 @@
చివరకు, వారసత్వ ఉపయోగం మధ్య డిజైన్ ఎంపిక గురించి మీకు కొంత ఆలోచన ఇవ్వడానికి ప్రయత్నించండి, ఎందుకంటే దృశ్య నిర్మాణం మరియు నిర్మాణం యొక్క ఒక వ్యవస్థ మాత్రమే వారసత్వం మరియు నిర్మాణం యొక్క మిశ్రమాన్ని సృష్టిస్తుంది మరియు ఒక ప్రధాన పాలిమార్ఫిక్ వస్తువు యొక్క ప్రధాన సోపానక్రమంపై నిర్ణయిస్తుంది ప్రాతినిధ్యం. చివరకు, వారసత్వ ఉపయోగం మధ్య డిజైన్ ఎంపిక గురించి మీకు కొంత ఆలోచన ఇవ్వడానికి ప్రయత్నించండి, ఎందుకంటే దృశ్య నిర్మాణం మరియు నిర్మాణం యొక్క ఒక వ్యవస్థ మాత్రమే వారసత్వం మరియు నిర్మాణం యొక్క మిశ్రమాన్ని సృష్టిస్తుంది మరియు ఒక ప్రధాన పాలిమార్ఫిక్ వస్తువు యొక్క ప్రధాన సోపానక్రమంపై నిర్ణయిస్తుంది ప్రాతినిధ్యం.
వస్తువుల. వస్తువుల.
మరియు సందర్భానుసారంగా ఇతరుల సృష్టిని ఉపయోగించడం మరియు తదనుగుణంగా వారి పాలిమార్ఫిక్‌ను పంపించడం. మరియు సందర్భానుసారంగా ఇతరుల సృష్టిని ఉపయోగించడం మరియు తదనుగుణంగా వారి పాలిమార్ఫిక్‌ను పంపించడం.
...@@ -139,5 +139,3 @@ ...@@ -139,5 +139,3 @@
తయారీ ప్రక్రియ యొక్క ప్రాథమిక డైనమిక్స్ ఇది. తయారీ ప్రక్రియ యొక్క ప్రాథమిక డైనమిక్స్ ఇది.
మీరు సందేశాన్ని బేస్ క్లాస్ కన్స్ట్రక్టర్ మరియు కన్స్ట్రక్టర్లలో మరియు ఉత్పన్నమైన క్లాస్ కన్స్ట్రక్టర్ కన్స్ట్రక్టర్ డిస్ట్రక్టర్లో ఉంచితే, మొదటి బేస్ క్లాస్ 1 సృష్టించబడిందని మీరు చూస్తారు ఎందుకంటే ఇది జాబితాలో మొదటిది, అప్పుడు బేస్ క్లాస్ 2 ఎందుకంటే ఇది జాబితాలో రెండవది, ఆపై ఉత్పన్నమైన తరగతి యొక్క సృష్టి మరియు విధ్వంసం సరిగ్గా రివర్స్ క్రమంలో జరుగుతుంది. మీరు సందేశాన్ని బేస్ క్లాస్ కన్స్ట్రక్టర్ మరియు కన్స్ట్రక్టర్లలో మరియు ఉత్పన్నమైన క్లాస్ కన్స్ట్రక్టర్ కన్స్ట్రక్టర్ డిస్ట్రక్టర్లో ఉంచితే, మొదటి బేస్ క్లాస్ 1 సృష్టించబడిందని మీరు చూస్తారు ఎందుకంటే ఇది జాబితాలో మొదటిది, అప్పుడు బేస్ క్లాస్ 2 ఎందుకంటే ఇది జాబితాలో రెండవది, ఆపై ఉత్పన్నమైన తరగతి యొక్క సృష్టి మరియు విధ్వంసం సరిగ్గా రివర్స్ క్రమంలో జరుగుతుంది.
ఇది వారసత్వం యొక్క ప్రాథమిక విధానం, ఇది ఒక నిర్దిష్ట ఉత్పన్న తరగతి సమస్యకు బేస్ క్లాస్ యొక్క అనేక కేసులను సూచిస్తుంది. ఇది వారసత్వం యొక్క ప్రాథమిక విధానం, ఇది ఒక నిర్దిష్ట ఉత్పన్న తరగతి సమస్యకు బేస్ క్లాస్ యొక్క అనేక కేసులను సూచిస్తుంది.
...@@ -213,5 +213,3 @@ ...@@ -213,5 +213,3 @@
ఉదాహరణకు, మీరు ఇతరులతో పంచుకోవాలనుకునే లైబ్రరీని అభివృద్ధి చేస్తుంటే, ఆ మొత్తం విషయానికి అర్ధవంతమైన నేమ్‌స్పేస్ అని పేరు పెట్టడం మంచిది మరియు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఆ మొత్తం అభివృద్ధిని లోపల ఉంచండి, ప్రామాణిక లైబ్రరీ వంటివి std ఉపయోగించి . ఉదాహరణకు, మీరు ఇతరులతో పంచుకోవాలనుకునే లైబ్రరీని అభివృద్ధి చేస్తుంటే, ఆ మొత్తం విషయానికి అర్ధవంతమైన నేమ్‌స్పేస్ అని పేరు పెట్టడం మంచిది మరియు నేమ్‌స్పేస్ (నేమ్‌స్పేస్) ఆ మొత్తం అభివృద్ధిని లోపల ఉంచండి, ప్రామాణిక లైబ్రరీ వంటివి std ఉపయోగించి .
ఆపై దానిని వినియోగదారుకు ఇవ్వండి, తద్వారా మీరు మీ లైబ్రరీలో కొన్ని ఫంక్షన్ పేర్లు లేదా తరగతి పేర్లను ఉపయోగించినట్లు చెప్పలేము, ఇది వినియోగదారు కూడా ఉపయోగించాలనుకుంటుంది, కానీ చేయలేకపోతుంది. ఆపై దానిని వినియోగదారుకు ఇవ్వండి, తద్వారా మీరు మీ లైబ్రరీలో కొన్ని ఫంక్షన్ పేర్లు లేదా తరగతి పేర్లను ఉపయోగించినట్లు చెప్పలేము, ఇది వినియోగదారు కూడా ఉపయోగించాలనుకుంటుంది, కానీ చేయలేకపోతుంది.
కాబట్టి, ఇది నేమ్‌స్పేస్‌ల గురించి మరియు మేము ఇక్కడ మూసివేస్తాము. కాబట్టి, ఇది నేమ్‌స్పేస్‌ల గురించి మరియు మేము ఇక్కడ మూసివేస్తాము.
...@@ -60,5 +60,3 @@ ...@@ -60,5 +60,3 @@
దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము. దీనితో మేము ఈ మాడ్యూల్‌కు దగ్గరగా వస్తాము, ఇక్కడ, మేము ఆపరేటర్‌ను ఓవర్‌లోడింగ్‌కు పరిచయం చేసాము మరియు ఆపరేటర్ ఓవర్‌లోడింగ్ కోసం వివిధ నియమాలు మరియు మినహాయింపులను వివరించాము.
మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము. మరియు తరువాతి మాడ్యూల్‌లో, మాడ్యూల్ 10 లో, డైనమిక్ మెమరీ నిర్వహణ పరంగా మరొక ప్రత్యేక విస్తరణ కేసు మరియు ఆపరేటర్ ఓవర్‌లోడ్ యొక్క ప్రత్యేక కేసును చూపిస్తాము.
మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి. మేము C ++ డైనమిక్ మెమరీ నిర్వహణ కోసం అందించే ఆపరేటర్లను పరిచయం చేస్తాము మరియు డైనమిక్ మెమరీ మేనేజ్‌మెంట్ ఆపరేటర్ల సందర్భంలో ఆపరేటర్ ఓవర్‌లోడింగ్ ఎలా అమలు చేయవచ్చో మేము మళ్ళీ చూపిస్తాము, C ++ లో మెమరీ నిర్వహణలో పలు రకాల బలమైన ప్రయోజనాలను చూడండి.
...@@ -136,5 +136,3 @@ ...@@ -136,5 +136,3 @@
ఆపరేటర్లను ఓవర్లోడ్ చేయడం ఎందుకు ముఖ్యమో మేము వివరించాము మరియు గ్లోబల్ ఫంక్షన్లు మరియు క్లాసుల సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ల ఓవర్లోడ్ యొక్క మూలాన్ని వివరించాము. పద్ధతి వివరించబడింది. ఆపరేటర్లను ఓవర్లోడ్ చేయడం ఎందుకు ముఖ్యమో మేము వివరించాము మరియు గ్లోబల్ ఫంక్షన్లు మరియు క్లాసుల సభ్యుల ఫంక్షన్లను ఉపయోగించి ఆపరేటర్ల ఓవర్లోడ్ యొక్క మూలాన్ని వివరించాము. పద్ధతి వివరించబడింది.
ఈ ప్రక్రియలో, ఓవర్‌లోడ్ కోసం మీరు ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించవచ్చని కూడా మేము చూశాము, ఇది మేము తదుపరి మాడ్యూల్‌లో చేస్తాము. ఈ ప్రక్రియలో, ఓవర్‌లోడ్ కోసం మీరు ఫ్రెండ్ ఫంక్షన్‌ను ఉపయోగించవచ్చని కూడా మేము చూశాము, ఇది మేము తదుపరి మాడ్యూల్‌లో చేస్తాము.
ఈ మాడ్యూల్‌లో, మొత్తం బైనరీ మరియు బైనరీయేతర ఆపరేటర్లకు ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక సెమాంటిక్స్ యొక్క రూపురేఖలు ఉన్నాయి. ఈ మాడ్యూల్‌లో, మొత్తం బైనరీ మరియు బైనరీయేతర ఆపరేటర్లకు ఓవర్‌లోడింగ్ యొక్క ప్రాథమిక సెమాంటిక్స్ యొక్క రూపురేఖలు ఉన్నాయి.
...@@ -141,4 +141,3 @@ ...@@ -141,4 +141,3 @@
ఉదాహరణకు, ఇంటెంట్ (పూర్ణాంకానికి) రకానికి మద్దతు ఇచ్చే అన్ని ఆపరేటర్లకు పూర్తిగా మద్దతిచ్చే సంక్లిష్ట రకాన్ని నిర్మించడానికి ప్రయత్నించడం మంచి వ్యాయామం, మరికొన్ని ఆపరేటర్లను కలిగి ఉండటం నిజంగా క్లిష్టంగా ఉంటుంది.మీరు సంపూర్ణ విలువను కనుగొనవలసి ఉంటుంది సంఖ్య వంటి సంక్లిష్ట సంఖ్య, సంక్లిష్ట సంఖ్య యొక్క విలువ, మీరు సంక్లిష్ట సంఖ్య యొక్క సంక్లిష్ట సంయోగాన్ని కనుగొనాలి. ఉదాహరణకు, ఇంటెంట్ (పూర్ణాంకానికి) రకానికి మద్దతు ఇచ్చే అన్ని ఆపరేటర్లకు పూర్తిగా మద్దతిచ్చే సంక్లిష్ట రకాన్ని నిర్మించడానికి ప్రయత్నించడం మంచి వ్యాయామం, మరికొన్ని ఆపరేటర్లను కలిగి ఉండటం నిజంగా క్లిష్టంగా ఉంటుంది.మీరు సంపూర్ణ విలువను కనుగొనవలసి ఉంటుంది సంఖ్య వంటి సంక్లిష్ట సంఖ్య, సంక్లిష్ట సంఖ్య యొక్క విలువ, మీరు సంక్లిష్ట సంఖ్య యొక్క సంక్లిష్ట సంయోగాన్ని కనుగొనాలి.
అందువల్ల, మీరు తగిన ఆపరేటర్లను గుర్తించి, వాటిని ఓవర్‌లోడ్ చేయాలి. అందువల్ల, మీరు తగిన ఆపరేటర్లను గుర్తించి, వాటిని ఓవర్‌లోడ్ చేయాలి.
మరియు ఆ ప్రక్రియలో మీరు పూర్తిగా సంక్లిష్టమైన రకాన్ని కలిగి ఉండాలి, అది మీ పూర్ణాంక (పూర్ణాంక) రకానికి సమానంగా ప్రవర్తిస్తుంది మరియు మీరు మీ సంక్లిష్ట రకం విలువలను మరియు వేరియబుల్స్ యొక్క వ్యక్తీకరణలను వ్రాయగలుగుతారు. తేడా రకం. మరియు ఆ ప్రక్రియలో మీరు పూర్తిగా సంక్లిష్టమైన రకాన్ని కలిగి ఉండాలి, అది మీ పూర్ణాంక (పూర్ణాంక) రకానికి సమానంగా ప్రవర్తిస్తుంది మరియు మీరు మీ సంక్లిష్ట రకం విలువలను మరియు వేరియబుల్స్ యొక్క వ్యక్తీకరణలను వ్రాయగలుగుతారు. తేడా రకం.
...@@ -266,5 +266,3 @@ ...@@ -266,5 +266,3 @@
కానీ, ఈ మాడ్యూల్‌తో ఇది సి స్థాయి అని మేము ఆశించాము, మీరు సి ++ భాషా శిక్షణతో ముందుకు సాగడానికి సిద్ధంగా ఉన్నారు. కానీ, ఈ మాడ్యూల్‌తో ఇది సి స్థాయి అని మేము ఆశించాము, మీరు సి ++ భాషా శిక్షణతో ముందుకు సాగడానికి సిద్ధంగా ఉన్నారు.
మేము ఇక్కడ మాడ్యూల్ను మూసివేస్తాము. మేము ఇక్కడ మాడ్యూల్ను మూసివేస్తాము.
మాడ్యూల్ రెండు తరువాత, C ++ లో మనం ఇక్కడ చూసిన కొన్ని సాధారణ ఉదాహరణలు లేదా C లోని కొన్ని ఇతర సాధారణ ఉదాహరణలు C ++ లో మరింత సమర్థవంతంగా, సమర్థవంతంగా మరియు మరింత బలమైన పద్ధతులను ఎలా చేయవచ్చో మీకు చూపించడం ప్రారంభిస్తాము. మాడ్యూల్ రెండు తరువాత, C ++ లో మనం ఇక్కడ చూసిన కొన్ని సాధారణ ఉదాహరణలు లేదా C లోని కొన్ని ఇతర సాధారణ ఉదాహరణలు C ++ లో మరింత సమర్థవంతంగా, సమర్థవంతంగా మరియు మరింత బలమైన పద్ధతులను ఎలా చేయవచ్చో మీకు చూపించడం ప్రారంభిస్తాము.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment