कंस्ट्रक्टर को अक्सर उन आवश्यक सदस्य कार्यों के रूप में संदर्भित किया जाता है जिनका उपयोग क्लास-टाइप ऑब्जेक्ट्स और संरचनाओं को इनिशियलाइज़ करने के लिए किया जाता है। अन्य प्रोग्रामिंग भाषाओं की तरह, कंस्ट्रक्टर का उपयोग C++ में भी किया जाता है। इसका उपयोग ऑब्जेक्ट्स को बनाने के लिए एक विशेष विधि के साथ किया जाता है ताकि संरचनाओं के लिए अनइनिशियलाइज़्ड या अपरिभाषित व्यवहार से बचा जा सके।
यह गाइड वर्णन करेगा:
- C++ में "struct" कंस्ट्रक्टर क्या है?
- C++ में कंस्ट्रक्टर परिभाषित करने के लिए मुख्य बिंदु
- C++ में "struct" कंस्ट्रक्टर का सिंटैक्स
- C++ में "struct" कंस्ट्रक्टर का कार्य
- C++ में डिफ़ॉल्ट "struct" कंस्ट्रक्टर
- C++ में पैरामीट्राइज़्ड "struct" कंस्ट्रक्टर
- C++ में स्ट्रक्चर कंस्ट्रक्टर के लिए पॉइंटर्स कैसे बनाएं?
- निष्कर्ष
C++ में, "struct" एक संरचना के रूप में जाना जाता है जो एक struct के भीतर एक विशेष सदस्य फ़ंक्शन है। "struct" कंस्ट्रक्टर का उपयोग इसके सदस्य चरों को इनिशियलाइज़ करने और उपयोगकर्ताओं को मिश्रित डेटा प्रकारों से युक्त चरों का एक नया समूह एक ही स्थान पर बनाने में सक्षम बनाने के लिए किया जाता है। सरल शब्दों में, "struct" कंस्ट्रक्टर एक विशेष विधि है जो स्वचालित रूप से तब लागू होती है जब भी उपयोगकर्ता क्लास के लिए ऑब्जेक्ट घोषित करते हैं।
C++ में कंस्ट्रक्टर परिभाषित करने के लिए मुख्य बिंदु
C++ में कंस्ट्रक्टर परिभाषित करने के लिए यहां कुछ मुख्य बिंदु दिए गए हैं:
- कंस्ट्रक्टर का नाम हमेशा उसी क्लास के समान होता है जिसका वह हिस्सा है।
- यदि उपयोगकर्ताओं द्वारा कंस्ट्रक्टर प्रदान नहीं किया जाता है, तो यह एक डिफ़ॉल्ट कंस्ट्रक्टर उत्पन्न करेगा।
- कंस्ट्रक्टर का उपयोग इनिशियलाइज़ेशन के लिए किया जाता है न कि इनपुट/आउटपुट ऑपरेशन के लिए।
- ऑपरेटर की मदद से रन टाइम पर मेमोरी लोकेट करने के लिए उपयोग किया जाता है।
- इसे वर्चुअल और स्टैटिक घोषित नहीं किया जा सकता।
- उपयोगकर्ता एक से अधिक कंस्ट्रक्टर घोषित कर सकते हैं (इसे ओवरलोड किया जा सकता है)।
C++ में "struct" कंस्ट्रक्टर का सिंटैक्स
आइए struct कंस्ट्रक्टर के सामान्य सिंटैक्स को देखें:
struct Structure-Name{
d_type variable1;
d_type variable2;
........
........
// पैरामीटर रहित कंस्ट्रक्टर
Structure-Name()
{
// code
}
// पैरामीटर वाला कंस्ट्रक्टर
Structure-Name (d_type variable1, d_type variable2,..)
{
// code
}
};
उपरोक्त वर्णित सिंटैक्स के अनुसार:
- "Structure-Name" को उपयोगकर्ता के पसंदीदा संरचना नाम से बदल दिया जाएगा और इसे "struct" कीवर्ड के साथ परिभाषित किया जाएगा।
- "d_type variable1" अलग-अलग डेटा प्रकारों के साथ चर नाम का प्रतिनिधित्व करता है।
- फिर, "Structure-Name()" कंस्ट्रक्टर को बिना पैरामीटर के परिभाषित किया गया है।
- अगला, पैरामीट्राइज़्ड कंस्ट्रक्टर का सिंटैक्स भी परिभाषित किया गया है, जैसे "Structure-Name(d_type variable1,…)" पैरामीट्राइज़्ड कंस्ट्रक्टर का प्रतिनिधित्व करता है।
नोट: C++ में "struct" घोषणा क्लास की घोषणा के समान है।
C++ में "struct" कंस्ट्रक्टर का कार्य
C++ में, उपयोगकर्ता अपनी आवश्यकताओं के अनुसार पैरामीटर के साथ या बिना struct कंस्ट्रक्टर का उपयोग कर सकते हैं। बेहतर समझ के लिए निम्नलिखित कोड प्रदर्शन देखें।
C++ में डिफ़ॉल्ट "struct" कंस्ट्रक्टर बनाएं
C++ में डिफ़ॉल्ट struct कंस्ट्रक्टर बनाने के लिए, निम्नलिखित कोड ब्लॉक देखें:
#include <iostream>
using namespace std;
struct folk{
string name;
float height;
int age;
folk(){
name= "David";
height = 6.7;
age = 26;
cout<<"Name: "<<name<<endl<<"Height: "<<height<<endl<<"Age: "<<age<<endl;
}
};
int main()
{
folk();
}
उपरोक्त कोड ब्लॉक में:
- सबसे पहले, हमने “# include <iostream>” इनपुट/आउटपुट स्ट्रीम लाइब्रेरी को हेडर फ़ाइल के रूप में जोड़ा।
- अगला, मानक लाइब्रेरी पहचानकर्ताओं के उपयोग को सक्षम करने के लिए “using namespace std” का उपयोग किया।
- इसके बाद, हमने तीन सदस्यों के साथ “folk()” संरचना बनाई, जिनके डेटा प्रकार अलग-अलग हैं, जैसे "name" स्ट्रिंग के रूप में, "height" फ्लोट के रूप में, और "age" पूर्णांक प्रकार के रूप में।
- फिर, struct के लिए कंस्ट्रक्टर जोड़ा और सदस्यों को संबंधित मानों से इनिशियलाइज़ किया। कंस्ट्रक्टर बॉडी के अंदर, हमने folk संरचना का डेटा परिभाषित किया और कंसोल पर परिणाम दिखाने के लिए "cout" स्टेटमेंट का उपयोग किया।
आउटपुट
C++ में पैरामीट्राइज़्ड "struct" कंस्ट्रक्टर बनाएं
C++ में पैरामीट्राइज़्ड कंस्ट्रक्टर बनाने के लिए, नीचे दिए गए कोड को आज़माएं:
#include <iostream>
using namespace std;
struct folk{
string name;
float height;
int age;
folk(string x, float y, int z){
name = x;
height = y;
age = z;
}
};
int main()
{
folk f1("Ayzel", 5.1, 23);
cout<<"Name: " <<f1.name<<endl<<"Height: "<<f1.height<<endl<<"Age: "<<f1.age<<endl;
}
यहां:
- हमने पिछले उदाहरण को विस्तारित किया और चरों को उनके संबंधित डेटा प्रकारों के साथ पैरामीटर के रूप में कंस्ट्रक्टर में पास किया, जैसे "x" स्ट्रिंग के रूप में, "y" फ्लोट के रूप में, और "z" पूर्णांक के रूप में।
- अंत में, "main()" फ़ंक्शन के अंदर हमने "f1" नाम का ऑब्जेक्ट बनाया और मानों के साथ कंस्ट्रक्टर को लागू किया। फिर, कंसोल पर चरों के परिणाम मान प्रिंट करने के लिए "cout" स्टेटमेंट का उपयोग किया।
आउटपुट
C++ में स्ट्रक्चर कंस्ट्रक्टर के लिए पॉइंटर्स कैसे बनाएं?
एक पॉइंटर एक चर है जिसका उपयोग ऑब्जेक्ट के मेमोरी एड्रेस को संग्रहीत करने के लिए किया जाता है। C++ में, पॉइंटर्स का उपयोग किसी सरणी के तत्वों या अन्य डेटा संरचनाओं पर पुनरावृति करने और कई अन्य उद्देश्यों के लिए भी किया जाता है। उपयोगकर्ता-परिभाषित प्रकारों जैसे संरचनाओं के लिए पॉइंटर चर भी बनाए जाते हैं। संरचनाओं के लिए पॉइंटर बनाने के लिए प्रदान किए गए उदाहरण पर एक नज़र डालें:
#include <iostream>
#include <cstring>
using namespace std;
struct folk
{
string name;
int age;
};
int main(){
struct folk f = {"Elice ", 28};
struct folk *ptr;
ptr = &f;
cout << f.name << f.age << endl;
cout <name <age << endl;
return 0;
}
उपरोक्त प्रदान कोड में:
- हमने “<iostream>” और “<cstring>” हेडर फ़ाइलें जोड़ी हैं।
- फिर, मानक लाइब्रेरी पहचानकर्ताओं के उपयोग को सक्षम करने के लिए “using namespace std” निर्दिष्ट किया।
- अगला, हमने दो सदस्यों के साथ “folk()” संरचना बनाई, जिनके डेटा प्रकार अलग-अलग हैं, जैसे "name" स्ट्रिंग के रूप में, और "age" पूर्णांक प्रकार के रूप में।
- इसके बाद, हमने "folk" संरचना के लिए एक पॉइंटर "ptr" परिभाषित किया।
- अब, हमने "f" संरचना चर की ओर इंगित करने के लिए एक पॉइंटर "ptr" बनाया। नतीजतन, "ptr" अब संरचना चर "f" का पता सहेजता है।
- अंत में, हमने उस संरचना के पॉइंटर का उपयोग करके संरचना के डेटा सदस्यों तक पहुंचने के लिए "->" ऑपरेटर का उपयोग किया।
उपरोक्त वर्णित कोड का आउटपुट यहां है:
निष्कर्ष
C++ में, "struct" एक संरचना के रूप में जाना जाता है जो एक struct के भीतर एक विशेष सदस्य फ़ंक्शन है जिसका उपयोग इसके सदस्य चरों को इनिशियलाइज़ करने और उपयोगकर्ताओं को मिश्रित डेटा प्रकारों से युक्त चरों का एक नया समूह एक ही स्थान पर बनाने में सक्षम बनाने के लिए किया जाता है। उपयोगकर्ता पैरामीटर के साथ या बिना कंस्ट्रक्टर परिभाषित कर सकते हैं। C++ में, उपयोगकर्ता-परिभाषित प्रकारों जैसे संरचनाओं के लिए पॉइंटर चर भी बनाए जाते हैं। हमने C++ में struct कंस्ट्रक्टर के बारे में विस्तृत जानकारी प्रदर्शित की है।
लेखक के बारे में
Maria Naz
मेरे पास कंप्यूटर साइंस में मास्टर डिग्री है। मैं अपने काम के प्रति भावुक हूं, नई तकनीकों की खोज करना, प्रोग्रामिंग भाषाएं सीखना, और दुनिया के साथ अपना ज्ञान साझा करना पसंद करती हूं।