<पी> कंस्ट्रक्टर्स को अक्सर आवश्यक सदस्य फ़ंक्शन के रूप में संदर्भित किया जाता है जिनका उपयोग क्लास-प्रकार की वस्तुओं और संरचनाओं को आरंभ करने के लिए किया जाता है। अन्य प्रोग्रामिंग भाषाओं की तरह C++ में भी कंस्ट्रक्टर का उपयोग किया जाता है। इसका उपयोग संरचनाओं के लिए अप्रारंभीकृत या अपरिभाषित व्यवहार से बचने के लिए एक विशेष विधि के साथ ऑब्जेक्ट बनाने के लिए किया जाता है। <पी> यह मार्गदर्शिका इनके बारे में बताएगी: - C++ में "स्ट्रक्चर" कंस्ट्रक्टर क्या है?
- C++ में कंस्ट्रक्टर को परिभाषित करने के लिए मुख्य बिंदु
- C++ में "स्ट्रक्चर" कंस्ट्रक्टर का सिंटैक्स
- C++ में "स्ट्रक्चर" कंस्ट्रक्टर का कार्य करना
- C++ में डिफ़ॉल्ट "स्ट्रक्चर" कंस्ट्रक्टर
- C++ में पैरामीटरयुक्त "स्ट्रक्चर" कंस्ट्रक्टर
- C++ में स्ट्रक्चर कंस्ट्रक्टर के लिए पॉइंटर्स कैसे बनाएं?
- मुख्य पंक्ति
C++ में कंस्ट्रक्टर को परिभाषित करने के लिए मुख्य बिंदु
<पी> C++ में कंस्ट्रक्टर को परिभाषित करने के लिए यहां कुछ मुख्य बिंदु दिए गए हैं:- कंस्ट्रक्टर का नाम हमेशा उस क्लास के समान होता है जिसका वह हिस्सा है।
- यदि कंस्ट्रक्टर उपयोगकर्ताओं द्वारा प्रदान नहीं किया गया है, तो यह एक डिफ़ॉल्ट कंस्ट्रक्टर उत्पन्न करेगा।
- कंस्ट्रक्टर का उपयोग इनपुट/आउटपुट संचालन के बजाय आरंभीकरण के लिए किया जाता है।
- ऑपरेटर की मदद से रन टाइम पर मेमोरी का पता लगाने के लिए उपयोग किया जाता है।
- इसे आभासी और स्थिर घोषित नहीं किया जा सकता.
- उपयोगकर्ता एक से अधिक कंस्ट्रक्टर घोषित कर सकते हैं (इसे ओवरलोड किया जा सकता है)।
C++ में "स्ट्रक्चर" कंस्ट्रक्टर का सिंटैक्स
<पी> आइए स्ट्रक्चर कंस्ट्रक्टर्स के सामान्य सिंटैक्स की जाँच करें: <पी> संरचना संरचना-नाम{d_प्रकार चर1;
d_प्रकार चर2;
........
........ <पी> // पैरामीटर कंस्ट्रक्टर के बिना
संरचना-नाम()
{
//कोड
} <पी> // पैरामीटर कंस्ट्रक्टर के साथ
संरचना-नाम (d_प्रकार चर1, d_प्रकार चर2,..)
{
//कोड
} <पी> }; <पी> ऊपर वर्णित सिंटैक्स के अनुसार:
- “संरचना-नाम ” को उपयोगकर्ता के पसंदीदा संरचना नाम से बदल दिया जाएगा और इसे “struct” से परिभाषित किया जाएगा ”कीवर्ड.
- “d_type वेरिएबल1 ” विभिन्न डेटा प्रकारों के साथ चर नाम का प्रतिनिधित्व करता है।
- फिर, "संरचना-नाम() ” कंस्ट्रक्टर को बिना किसी पैरामीटर के परिभाषित किया गया है।
- इसके बाद, पैरामीटरयुक्त कंस्ट्रक्टर के सिंटैक्स को भी परिभाषित किया गया है, जैसे कि "Structure-Name(d_typevariable1,…) ” पैरामीटरयुक्त कंस्ट्रक्टर का प्रतिनिधित्व करता है।
C++ में "स्ट्रक्चर" कंस्ट्रक्टर का कार्य करना
<पी> C++ में, उपयोगकर्ता अपनी आवश्यकताओं के अनुसार पैरामीटर के बिना या पैरामीटर के साथ स्ट्रक्चर कंस्ट्रक्टर का उपयोग कर सकते हैं। आइए बेहतर समझ के लिए निम्नलिखित कोड प्रदर्शन देखें। पी>C++ में डिफ़ॉल्ट "स्ट्रक्चर" कंस्ट्रक्टर बनाएं
<पी> C++ में एक डिफ़ॉल्ट स्ट्रक्चर कंस्ट्रक्टर बनाने के लिए, निम्नलिखित कोड ब्लॉक देखें: <पी> #शामिल करेंनेमस्पेस एसटीडी का उपयोग करना; <पी> संरचना लोक{
स्ट्रिंग नाम;
तैरने की ऊँचाई;
पूर्णांक आयु; <पी> लोक(){
नाम ="डेविड";
ऊँचाई =6.7;
उम्र =26;
cout<<"नाम:"<<नाम<
}; <पी> पूर्णांक मुख्य()
{
लोक();
} <पी> ऊपर दिए गए कोड ब्लॉक में:
- सबसे पहले, हमने “# include
” जोड़ा हेडर फ़ाइल के रूप में इनपुट/आउटपुट स्ट्रीम लाइब्रेरी। - इसके बाद, “नेमस्पेस एसटीडी का उपयोग करना” का उपयोग किया गया मानक पुस्तकालय पहचानकर्ताओं के उपयोग को सक्षम करने के लिए।
- बाद में, हमने “लोक()” बनाया संरचना में विभिन्न डेटा प्रकारों वाले तीन सदस्य हैं, जैसे "नाम ” स्ट्रिंग के रूप में, “ऊंचाई ” फ्लोट के रूप में, और “आयु ”क्रमशः एक पूर्णांक प्रकार के रूप में।
- फिर, संरचना के लिए कंस्ट्रक्टर जोड़ा और सदस्यों को संबंधित मानों के साथ आरंभ किया। कंस्ट्रक्टर बॉडी के अंदर, हमने लोक संरचना के डेटा को परिभाषित किया और "काउट" का उपयोग किया कंसोल पर परिणाम दिखाने के लिए कथन।
पी>
C++ में पैरामीटरयुक्त "स्ट्रक्चर" कंस्ट्रक्टर बनाएं
<पी> C++ में पैरामीटरयुक्त कंस्ट्रक्टर बनाने के लिए, नीचे दिए गए कोड को आज़माएँ: <पी> #शामिल करेंनेमस्पेस एसटीडी का उपयोग करना; <पी> संरचना लोक{
स्ट्रिंग नाम;
तैरने की ऊँचाई;
पूर्णांक आयु; <पी> लोक (स्ट्रिंग एक्स, फ्लोट वाई, इंट जेड) {
नाम =एक्स;
ऊँचाई =y;
आयु =z;
}
}; <पी> पूर्णांक मुख्य()
{
लोक एफ1("एज़ेल", 5.1, 23);
cout<<"नाम:" <
- हमने पहले चर्चा किए गए उदाहरण को बढ़ाया और वेरिएबल्स को उनके संबंधित डेटा प्रकारों के साथ कंस्ट्रक्टर के पैरामीटर के रूप में पास किया, जैसे कि "x ” एक स्ट्रिंग के रूप में, “य ” एक फ्लोट के रूप में, और “z ” एक पूर्णांक के रूप में.
- अंत में, "मुख्य() के अंदर ” फ़ंक्शन हमने “f1” नामक ऑब्जेक्ट बनाया है ” और कंस्ट्रक्टर को मूल्यों के साथ आमंत्रित किया। फिर, “काउट का उपयोग किया कंसोल पर चर के परिणामी मानों को मुद्रित करने के लिए कथन।
C++ में स्ट्रक्चर कंस्ट्रक्टर के लिए पॉइंटर्स कैसे बनाएं?
<पी> पॉइंटर एक वेरिएबल है जिसका उपयोग किसी ऑब्जेक्ट के मेमोरी एड्रेस को स्टोर करने के लिए किया जाता है। C++ में, पॉइंटर्स का उपयोग किसी सरणी के तत्वों या अन्य डेटा संरचनाओं और कई अन्य उद्देश्यों पर पुनरावृत्ति के लिए भी किया जाता है। उपयोगकर्ता-परिभाषित प्रकारों जैसे संरचनाओं के लिए पॉइंटर वैरिएबल भी बनाए जाते हैं। आइए संरचनाओं के लिए पॉइंटर बनाने के लिए दिए गए उदाहरण पर एक नज़र डालें: <पी> #शामिल करें#शामिल करें
नेमस्पेस एसटीडी का उपयोग करना; <पी> संरचना लोक
{
स्ट्रिंग नाम;
पूर्ण आयु;
}; <पी> पूर्णांक मुख्य(){
संरचना लोक एफ ={"एलिस", 28};
संरचना लोक *पीटीआर;
पीटीआर =&एफ;
cout <
वापसी 0;
} <पी> ऊपर दिए गए कोड में:
- हमने “
” जोड़ा है और “” हेडर फ़ाइलें. - फिर, “नेमस्पेस एसटीडी का उपयोग करना” निर्दिष्ट किया मानक पुस्तकालय पहचानकर्ताओं के उपयोग को सक्षम करने के लिए।
- इसके बाद, हमने “लोक()” बनाया संरचना में अलग-अलग डेटा प्रकार वाले दो सदस्य हैं, जैसे "नाम ” एक स्ट्रिंग के रूप में, और “आयु ”क्रमशः एक पूर्णांक प्रकार के रूप में।
- बाद में, हमने एक सूचक "ptr" परिभाषित किया ” से “लोक ”संरचना.
- अब, हमने एक पॉइंटर "ptr बनाया है ” “च की ओर इशारा करने के लिए "संरचना चर। नतीजतन, “ptr ” अब संरचना चर “f” का पता सहेजता है ”.
- अंत में, हमने "-> का उपयोग किया ” ऑपरेटर उस संरचना के लिए एक सूचक का उपयोग करके संरचना के संरचना सदस्यों के डेटा सदस्यों तक पहुंचने के लिए।
निचली रेखा
<पी> C++ में, “struct "एक संरचना के रूप में जाना जाता है जो एक संरचना के भीतर एक विशेष सदस्य फ़ंक्शन है जिसका उपयोग इसके सदस्य चर को आरंभ करने के लिए किया जाता है और उपयोगकर्ताओं को एक ही स्थान पर मिश्रित डेटा प्रकारों से युक्त चर का एक नया समूह बनाने में सक्षम बनाता है। उपयोगकर्ता पैरामीटर कंस्ट्रक्टर के साथ या उसके बिना परिभाषित कर सकते हैं। C++ में, उपयोगकर्ता-परिभाषित प्रकारों जैसे संरचनाओं के लिए पॉइंटर वेरिएबल भी बनाए जाते हैं। हमने C++ में स्ट्रक्चर कंस्ट्रक्टर्स के बारे में विस्तृत जानकारी प्रदर्शित की है।लेखक के बारे में
<पी>