C एवं C++ में समानताएं/असमानताएं
C एवं C++ में समानताएं :-
प्रोग्रामिंग भाषा C++ तथा C में निम्न समानताएं हैं :-
1. प्रोग्रामिंग भाषा C++, C के समान केस सेन्सेटिव है ।
2. प्रोग्रामिंग भाषा C++ में तथा C में लिखे जाने वाले प्रोग्राम में स्टेटमेन्ट के अंत में ‘;’ सेमीकोलोन लगाया जाता है ।
3. प्रोग्रामिंग भाषा C++ में लिखे प्रोग्राम में भी C के समान परिवर्तनांकों को उनके प्रयोग के पूर्व घोषित करना आवश्यक है ।
4. लोकल एवं ग्लोबल परिवर्तनांक का मान समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।
प्रोग्रामिंग भाषा C++ तथा C में निम्न समानताएं हैं :-
1. प्रोग्रामिंग भाषा C++, C के समान केस सेन्सेटिव है ।
2. प्रोग्रामिंग भाषा C++ में तथा C में लिखे जाने वाले प्रोग्राम में स्टेटमेन्ट के अंत में ‘;’ सेमीकोलोन लगाया जाता है ।
3. प्रोग्रामिंग भाषा C++ में लिखे प्रोग्राम में भी C के समान परिवर्तनांकों को उनके प्रयोग के पूर्व घोषित करना आवश्यक है ।
4. लोकल एवं ग्लोबल परिवर्तनांक का मान समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।
C तथा C++ में असमानताएं :-
1. लोकल एवं ग्लोबल परिवर्तनांकों का नाम समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।
2. प्रोग्रामिंग भाषा C स्ट्रक्चर्ड प्रोग्रामिंग है । जबकि C++ वस्तु केन्द्रित प्रोग्रामिंग भाषा है ।
3. C++ में आइडेन्टीफायर में कितनी भी संख्या में कैरेक्टर हो सकते हैं । जबकि C में आइडेन्टीफायर में 32 कैरेक्टर ही हो सकते हैं ।
4. C++ प्रोग्रामिंग formfree प्रोग्रामिंग है जबकि C में एक Form के अनुरूप प्रोग्रामिंग करनी होती है ।
5. प्रोग्रामिंग भाषा C++ में हम नए डेटाटाइप भी बना सकते हैं । जबकि C में ऐसा सम्भव नहीं है ।
6. प्रोग्रामिंग भाषा C में किसी परिवर्तनांक के पास में सीधे-सीधे प्रयोग एवं परिवर्तन किया जा सकता है जबकि प्रोग्रािमंग भाषा C++ में परिवर्तनांक के मान का प्रयोग परिवर्तन अप्रत्यक्ष रूप से किया जाता है ।
7. प्रोग्रामिंग भाषा C में हैडर फाइल Stdio.h को इन्क्लूड करवाया जाता है जबकि C++ में iostream.h हैडर करवा कर इन्क्लूड करवाया जाता है ।
8. C++ में main() फंक्शन int टाइप की मान रिटर्न करता है । जबकि C++ में यह फंक्शन किसी प्रकार का कोई मान रिटर्न नहीं करता है ।
9. प्रोग्रामिंग भाषा C++ में निर्देश में C की अपेक्षा अधिक सरल और सुगम बनाया गया है ।
1. लोकल एवं ग्लोबल परिवर्तनांकों का नाम समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।
2. प्रोग्रामिंग भाषा C स्ट्रक्चर्ड प्रोग्रामिंग है । जबकि C++ वस्तु केन्द्रित प्रोग्रामिंग भाषा है ।
3. C++ में आइडेन्टीफायर में कितनी भी संख्या में कैरेक्टर हो सकते हैं । जबकि C में आइडेन्टीफायर में 32 कैरेक्टर ही हो सकते हैं ।
4. C++ प्रोग्रामिंग formfree प्रोग्रामिंग है जबकि C में एक Form के अनुरूप प्रोग्रामिंग करनी होती है ।
5. प्रोग्रामिंग भाषा C++ में हम नए डेटाटाइप भी बना सकते हैं । जबकि C में ऐसा सम्भव नहीं है ।
6. प्रोग्रामिंग भाषा C में किसी परिवर्तनांक के पास में सीधे-सीधे प्रयोग एवं परिवर्तन किया जा सकता है जबकि प्रोग्रािमंग भाषा C++ में परिवर्तनांक के मान का प्रयोग परिवर्तन अप्रत्यक्ष रूप से किया जाता है ।
7. प्रोग्रामिंग भाषा C में हैडर फाइल Stdio.h को इन्क्लूड करवाया जाता है जबकि C++ में iostream.h हैडर करवा कर इन्क्लूड करवाया जाता है ।
8. C++ में main() फंक्शन int टाइप की मान रिटर्न करता है । जबकि C++ में यह फंक्शन किसी प्रकार का कोई मान रिटर्न नहीं करता है ।
9. प्रोग्रामिंग भाषा C++ में निर्देश में C की अपेक्षा अधिक सरल और सुगम बनाया गया है ।
वस्तु केन्द्रित प्रोग्रामिंग एक परिचय

मुख्य गुण
· प्रक्रिया से ज्यादा आंकड़ों को महत्व दिया जाता है ।
· प्रोग्राम का ऑब्जेक्ट में विभाजन किया जाता है ।
· आंकड़ों का रूपांकन इस प्रकार किया जाता है कि वह ऑब्जेक्ट की विशेषताओं को दिखायें ।
· ऑब्जेक्ट में काम करने वाले फलनों को डेटा-स्ट्रकचर में साथ-साथ रखा जाता है ।
· आंकड़ों को गुप्त रखा जाता है तथा बाह्य फलनों को उनके परिग्रहण की अनुमति नहीं होती है ।
· ऑब्जेक्टों का आपसी सम्पर्क फलनों के द्वारा होता है ।
कम्प्यूटर प्रोग्राम लिखने की परम्परागत प्रोग्रामिंग शैली में हम परिवर्तनों (VARIABLES) का प्रयोग फंक्शन (FUNCTION) के अन्दर करते हैं । इन्हीं परिवर्तनांकों के आधार पर प्रोग्रामिंग में अनेक प्रकार के कार्य; जैसे – गणनाएं, आकड़ें प्रिंट करना, आकड़ें संचित करना आदि कार्य होते हैं । छोटे प्रोग्राम में हम इन परिवर्तनांक को सरलता से नियंत्रित कर सकते हैं, परन्तु जैसे-जैसे प्रोग्राम बड़ा होता जाता है इन परिवर्तनांकों को नियंत्रित करना कठिन होता जाता है और प्रोग्रामिंग में गलतियां होने की सम्भावनाएं बढ़ती जाती है । वस्तु केन्द्रित प्रोग्रामिंग में परिवर्तनांकों एवं प्रोग्राम्स को एक वर्ग (CLASS) में सम्बद्ध कर दिया जाता है, जिससे अन्य प्रोग्राम द्वारा किसी वर्ग के आंकड़े प्रभावित नहीं होते हैं । इससे प्रोग्राम को नियंत्रण करना सरल हो जाता है । इस कार्य को वस्तु केन्द्रित प्रोग्रामिंग भाषा में एनकैप्स्यूलेशन (ENCAPSULATION) जिसका शाब्दिक अर्थ एक के भीतर दूसरा रखने का किया है, कहा जाता है । प्रोग्रामिंग की वस्तु केन्द्रित शैली में पहने से बने किसी प्रोग्राम अथवा वर्ग के आधार पर नए प्रोग्राम को बना सकते हैं । वस्तु केन्द्रित प्रोग्रामिंग की इस विशेषता को उत्तराधिकार (INHERITANCE) कहा जाता है । प्रोग्रामिंग की इस विशेष शैली का प्रयोग करते हुए हम पहले से बने किसी प्रोग्राम अथवा वर्ग (CLASS) का प्रयोग करके एक नया और समृद्ध सॉफ्टवेयर अत्यंत अल्प समय में विकसित कर सकते हैं ।
· प्रक्रिया से ज्यादा आंकड़ों को महत्व दिया जाता है ।
· प्रोग्राम का ऑब्जेक्ट में विभाजन किया जाता है ।
· आंकड़ों का रूपांकन इस प्रकार किया जाता है कि वह ऑब्जेक्ट की विशेषताओं को दिखायें ।
· ऑब्जेक्ट में काम करने वाले फलनों को डेटा-स्ट्रकचर में साथ-साथ रखा जाता है ।
· आंकड़ों को गुप्त रखा जाता है तथा बाह्य फलनों को उनके परिग्रहण की अनुमति नहीं होती है ।
· ऑब्जेक्टों का आपसी सम्पर्क फलनों के द्वारा होता है ।
कम्प्यूटर प्रोग्राम लिखने की परम्परागत प्रोग्रामिंग शैली में हम परिवर्तनों (VARIABLES) का प्रयोग फंक्शन (FUNCTION) के अन्दर करते हैं । इन्हीं परिवर्तनांकों के आधार पर प्रोग्रामिंग में अनेक प्रकार के कार्य; जैसे – गणनाएं, आकड़ें प्रिंट करना, आकड़ें संचित करना आदि कार्य होते हैं । छोटे प्रोग्राम में हम इन परिवर्तनांक को सरलता से नियंत्रित कर सकते हैं, परन्तु जैसे-जैसे प्रोग्राम बड़ा होता जाता है इन परिवर्तनांकों को नियंत्रित करना कठिन होता जाता है और प्रोग्रामिंग में गलतियां होने की सम्भावनाएं बढ़ती जाती है । वस्तु केन्द्रित प्रोग्रामिंग में परिवर्तनांकों एवं प्रोग्राम्स को एक वर्ग (CLASS) में सम्बद्ध कर दिया जाता है, जिससे अन्य प्रोग्राम द्वारा किसी वर्ग के आंकड़े प्रभावित नहीं होते हैं । इससे प्रोग्राम को नियंत्रण करना सरल हो जाता है । इस कार्य को वस्तु केन्द्रित प्रोग्रामिंग भाषा में एनकैप्स्यूलेशन (ENCAPSULATION) जिसका शाब्दिक अर्थ एक के भीतर दूसरा रखने का किया है, कहा जाता है । प्रोग्रामिंग की वस्तु केन्द्रित शैली में पहने से बने किसी प्रोग्राम अथवा वर्ग के आधार पर नए प्रोग्राम को बना सकते हैं । वस्तु केन्द्रित प्रोग्रामिंग की इस विशेषता को उत्तराधिकार (INHERITANCE) कहा जाता है । प्रोग्रामिंग की इस विशेष शैली का प्रयोग करते हुए हम पहले से बने किसी प्रोग्राम अथवा वर्ग (CLASS) का प्रयोग करके एक नया और समृद्ध सॉफ्टवेयर अत्यंत अल्प समय में विकसित कर सकते हैं ।
वस्तु केन्द्रित प्रोग्रामिंग के सिद्धांत

ऑब्जेक्ट
दैनिक दिनचर्या में हम जिस ओर भी दृष्टि डालते है।, चारों ओर वस्तु ही पाते हैं । यह संसार वस्तुमय है । जिसे पहचाना जा सके, जिसका एक आकार होता है, संरचना होती है, व्यवहार होता है, वस्तु कहलाती है प्रोग्रामिंग की वस्तु केन्द्रित शैली का भी यही मुख्य आधार है । विभिन्न वस्तुओं को एकत्र करके प्रयोग का एक नमूना तैयार किया जाता है, जोकि सार्वजनिक लक्ष्य को प्राप्त करने के लिए आपस में सूचनाओं का आदान-प्रदान करते हैं । ऑब्जेक्ट किसी वर्ग का एक दृष्टांत होता है ऑब्जेक्ट एवं पब्लिक फंक्शन की सहायता से ही वर्ग में घोषित किए गए परिवर्तनांकों के मान में परिवर्तन किया जाता है ।
दैनिक दिनचर्या में हम जिस ओर भी दृष्टि डालते है।, चारों ओर वस्तु ही पाते हैं । यह संसार वस्तुमय है । जिसे पहचाना जा सके, जिसका एक आकार होता है, संरचना होती है, व्यवहार होता है, वस्तु कहलाती है प्रोग्रामिंग की वस्तु केन्द्रित शैली का भी यही मुख्य आधार है । विभिन्न वस्तुओं को एकत्र करके प्रयोग का एक नमूना तैयार किया जाता है, जोकि सार्वजनिक लक्ष्य को प्राप्त करने के लिए आपस में सूचनाओं का आदान-प्रदान करते हैं । ऑब्जेक्ट किसी वर्ग का एक दृष्टांत होता है ऑब्जेक्ट एवं पब्लिक फंक्शन की सहायता से ही वर्ग में घोषित किए गए परिवर्तनांकों के मान में परिवर्तन किया जाता है ।
वर्ग (Class)
वर्ग वर्ग विभिन्न फंक्शन्स एवं परिवर्तनांकों का एक समूह है किसी भी ऑब्जेक्ट ओरिएण्टेड प्रोग्राम में कम-से-कम एक वर्ग का घोषित किया जाना आवश्यक होता है । वर्ग एक प्रयोगकर्ता द्वारा परिभाषित डेटा-टाइप है ।
वर्ग वर्ग विभिन्न फंक्शन्स एवं परिवर्तनांकों का एक समूह है किसी भी ऑब्जेक्ट ओरिएण्टेड प्रोग्राम में कम-से-कम एक वर्ग का घोषित किया जाना आवश्यक होता है । वर्ग एक प्रयोगकर्ता द्वारा परिभाषित डेटा-टाइप है ।
आंकड़ों का पृथककरण एवं नियंत्रण
1.गुण पृथककरण(Abstraction)
आंकड़ों के पृथककरण का आशय सम्पूर्ण जटिलता के सरलीकरण से है । इस प्रकार समझें कि हम लाइट ऑन करने के लिए स्विच को दबाने से स्विच के अन्दर क्या हुआ, स्विच दबाने से लाइट कैसे ऑन हुई । हमें यह सब जानने की आवश्यकता नहीं होती । यही गुण पृथककरण कहलाता है ।
1.गुण पृथककरण(Abstraction)
आंकड़ों के पृथककरण का आशय सम्पूर्ण जटिलता के सरलीकरण से है । इस प्रकार समझें कि हम लाइट ऑन करने के लिए स्विच को दबाने से स्विच के अन्दर क्या हुआ, स्विच दबाने से लाइट कैसे ऑन हुई । हमें यह सब जानने की आवश्यकता नहीं होती । यही गुण पृथककरण कहलाता है ।
2.आंकड़ा नियन्त्रण(Encapsulation)
आंकड़ा नियन्त्रण वस्तु केन्द्रित प्रोग्रामिंग शैली का एक अत्यंत महत्वपूर्ण तथ्य है । यहडेटा स्ट्रक्चर एवं Functionality को वस्तु (Object) में मिलाता है । एनकैप्स्यूलेशन ऑब्जेक्ट के आन्तरिक रूप को उसके उपयोगकर्ता से छुपाता भी है और उपयोग हो सकने वाले ऑब्जेक्ट को सूचित भी करता है । आंकड़ा नियन्त्रण अर्थात् फंक्शन्स व आंकड़ों का एकीकरण करना । ऑब्जेक्ट ओरिएण्टेड प्रोग्रामिंग शैली की इस विशेषता के कारण हम प्रोग्राम और एवं आंकड़ों दोनों को बाहरी नियंत्रण से बचा सकते हैं ।
आंकड़ा नियन्त्रण वस्तु केन्द्रित प्रोग्रामिंग शैली का एक अत्यंत महत्वपूर्ण तथ्य है । यहडेटा स्ट्रक्चर एवं Functionality को वस्तु (Object) में मिलाता है । एनकैप्स्यूलेशन ऑब्जेक्ट के आन्तरिक रूप को उसके उपयोगकर्ता से छुपाता भी है और उपयोग हो सकने वाले ऑब्जेक्ट को सूचित भी करता है । आंकड़ा नियन्त्रण अर्थात् फंक्शन्स व आंकड़ों का एकीकरण करना । ऑब्जेक्ट ओरिएण्टेड प्रोग्रामिंग शैली की इस विशेषता के कारण हम प्रोग्राम और एवं आंकड़ों दोनों को बाहरी नियंत्रण से बचा सकते हैं ।
उत्तराधिकार(Inheritance)
उत्तराधिकार भी ऑब्जेक्ट्स ओरिएण्टेड प्रोग्रामिंग शैली की एक महत्वपूर्ण एवं उपयोगी विशेषता है । इसके द्वारा हम एक वर्ग की विशेषताएं किसी दूसरे वर्ग से प्राप्त करवा सकते हैं । उत्तराधिकार की धारणा का प्रयोग करके पुराने वर्ग से नए वर्ग का निर्माण सम्भव है । नए वर्ग को व्यूत्पन्नवर्ग (Derived Class) तथा पुराने वर्ग, जिससे इसे बनाया गया है, को मूल वर्ग (Base Class) कहा जाता है यह व्यूत्पन्नवर्ग (Derived Class) का मूल वर्ग की आंकड़ा डाटा संरचनाओं एवं फंक्शन्स पर समान अधिकार रखता है । यह नया वर्ग मूल वर्ग से लिए गए आंकड़ों एवं फंक्शन्स में नए आंकड़ें एवं फंक्शन्स को जोड़ सकता है ।
उत्तराधिकार भी ऑब्जेक्ट्स ओरिएण्टेड प्रोग्रामिंग शैली की एक महत्वपूर्ण एवं उपयोगी विशेषता है । इसके द्वारा हम एक वर्ग की विशेषताएं किसी दूसरे वर्ग से प्राप्त करवा सकते हैं । उत्तराधिकार की धारणा का प्रयोग करके पुराने वर्ग से नए वर्ग का निर्माण सम्भव है । नए वर्ग को व्यूत्पन्नवर्ग (Derived Class) तथा पुराने वर्ग, जिससे इसे बनाया गया है, को मूल वर्ग (Base Class) कहा जाता है यह व्यूत्पन्नवर्ग (Derived Class) का मूल वर्ग की आंकड़ा डाटा संरचनाओं एवं फंक्शन्स पर समान अधिकार रखता है । यह नया वर्ग मूल वर्ग से लिए गए आंकड़ों एवं फंक्शन्स में नए आंकड़ें एवं फंक्शन्स को जोड़ सकता है ।
यह वस्तु केन्द्रित प्रोग्रामिंग का एक अनिवार्य गुण है इसमें पृष्ठ-भूमि या किसी स्पष्टीकरण की आवश्यकता नहीं है ।
· यह एक प्रक्रिया है जिसमें एक वस्तु किसी दूसरे वस्तु के गुणों का उपार्जन करती है ।
· यह कि यह विधि किसी सामान्य वस्तु विशिष्ट करने का गुण रखती है ।
· यह reusability का विचार प्रदान करती है ।
· हम पहले बने वर्ग में बिना किसी परिवर्तन के नये गुणों को जोड़ सकते हैं ।
· यह एक प्रक्रिया है जिसमें एक वस्तु किसी दूसरे वस्तु के गुणों का उपार्जन करती है ।
· यह कि यह विधि किसी सामान्य वस्तु विशिष्ट करने का गुण रखती है ।
· यह reusability का विचार प्रदान करती है ।
· हम पहले बने वर्ग में बिना किसी परिवर्तन के नये गुणों को जोड़ सकते हैं ।
बहुरूपण(Polymorphism)
बहुरूपण का शाब्दिक अर्थ है । एक नाम पर अनेक कार्य । इस विधि से हम किसी कार्य को पृथक परिस्थिति में उसी के अनुसार करवा सकते हैं । बहुरूपण हमें समान बाहरी स्ट्रक्चर के आन्तिरक भिन्नता लिए हुए ऑब्जेक्ट्स को प्रयोग करने से की सुविधा प्रदान करता है । · बहुरूपण एक से अधिक रूप लेने की क्षमता प्रदान करता है ।
· विभिन्न वस्तुओं के संदर्भ में प्रचालन एक से अधिक व्यवहार प्रदर्शित करता है ।
· फंक्शन तथा ऑपरेटर का व्यवहार प्रचालन में प्रयोग किए गए आंकड़ों पर निर्भर करता है ।
बहुरूपण का शाब्दिक अर्थ है । एक नाम पर अनेक कार्य । इस विधि से हम किसी कार्य को पृथक परिस्थिति में उसी के अनुसार करवा सकते हैं । बहुरूपण हमें समान बाहरी स्ट्रक्चर के आन्तिरक भिन्नता लिए हुए ऑब्जेक्ट्स को प्रयोग करने से की सुविधा प्रदान करता है । · बहुरूपण एक से अधिक रूप लेने की क्षमता प्रदान करता है ।
· विभिन्न वस्तुओं के संदर्भ में प्रचालन एक से अधिक व्यवहार प्रदर्शित करता है ।
· फंक्शन तथा ऑपरेटर का व्यवहार प्रचालन में प्रयोग किए गए आंकड़ों पर निर्भर करता है ।
बहुरूपण दो प्रकार के होते हैं –
1. फंक्शन ओवरलोडिंग(Function Overloading)–फंक्शन एक से अधिक व्यवहार प्रदर्शित करता है ।
2. ऑपरेटर ओव्हरलोडिंग (Operator Overloading)-– ऑपरेटर विभिन्न वस्तुओं के सन्दर्भ एक से अधिक व्यवहार प्रदर्शित करता है ।
1. फंक्शन ओवरलोडिंग(Function Overloading)–फंक्शन एक से अधिक व्यवहार प्रदर्शित करता है ।
2. ऑपरेटर ओव्हरलोडिंग (Operator Overloading)-– ऑपरेटर विभिन्न वस्तुओं के सन्दर्भ एक से अधिक व्यवहार प्रदर्शित करता है ।
संदेश प्रवहन
ऑब्जेक्ट ओरिएण्टेड प्रोग्राम एक अनेक ऑब्जेक्ट्स का समूह होता है, जो आपस में एक-दूसरे को आवश्यकता पड़ने पर संदेश भेजते भी हैं और प्राप्त भी करते हैं । किसी ऑब्जैक्ट के लिए एक सन्देश एक निश्चित प्रक्रिया अथवा प्रक्रिया को कार्यान्वित करने के लिए होता है । अतः सन्देश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया को कार्यान्वित करके परिणाम प्रस्तुत करता है । संदेश प्रवहन एक निश्चित प्रक्रिया कार्यान्वित करने के लिए होता है अतः संदेश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया कार्यान्वित करके परिणाम प्रस्तुत करते हैं । संदेश प्रवहन के लिए हमें ऑब्जेक्ट का नाम, फंक्शन का नाम तथा उपयोगी जानकारी देनी पड़ती है ।
ऑब्जेक्ट ओरिएण्टेड प्रोग्राम एक अनेक ऑब्जेक्ट्स का समूह होता है, जो आपस में एक-दूसरे को आवश्यकता पड़ने पर संदेश भेजते भी हैं और प्राप्त भी करते हैं । किसी ऑब्जैक्ट के लिए एक सन्देश एक निश्चित प्रक्रिया अथवा प्रक्रिया को कार्यान्वित करने के लिए होता है । अतः सन्देश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया को कार्यान्वित करके परिणाम प्रस्तुत करता है । संदेश प्रवहन एक निश्चित प्रक्रिया कार्यान्वित करने के लिए होता है अतः संदेश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया कार्यान्वित करके परिणाम प्रस्तुत करते हैं । संदेश प्रवहन के लिए हमें ऑब्जेक्ट का नाम, फंक्शन का नाम तथा उपयोगी जानकारी देनी पड़ती है ।
cplusplus प्रोग्रामिंग नमूना कोड
ReplyDeleteडीले को एलोकेटर मिलता है - मेम्बर फंक्शन एलोकेटर c ++ सैंपल कोड देता है