Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में डिफॉल्ट कंस्ट्रक्टर


कंस्ट्रक्टर क्या है?

कंस्ट्रक्टर क्लास का विशेष सदस्य फ़ंक्शन है जो ऑब्जेक्ट बनने पर स्वचालित रूप से 실행 होता है। क्लास के समान नाम, कोई रिटर्न टाइप नहीं। सदस्यों को प्रारंभिक मान देने के लिए उपयोगी।

डिफॉल्ट कंस्ट्रक्टर

कोई पैरामीटर नहीं लेता। यदि प्रोग्रामर परिभाषित न करे तो कंपाइलर अंतर्निहित डिफॉल्ट कंस्ट्रक्टर प्रदान करता है (सदस्यों को 0/NULL से आरंभ करता है)।

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

class DemoDC {
private:
    int num1, num2;
public:
    DemoDC() {          // डिफॉल्ट कंस्ट्रक्टर
        num1 = 10;
        num2 = 20;
    }
    void display() {
        cout << "num1 = " << num1 << endl;
        cout << "num2 = " << num2 << endl;
    }
};

int main() {
    DemoDC obj;         // कंस्ट्रक्टर स्वचालित रूप से कॉल होता है
    obj.display();
    return 0;
}

आउटपुट

num1 = 10
num2 = 20

कोड व्याख्या

DemoDC क्लास

दो प्राइवेट सदस्य num1, num2। डिफॉल्ट कंस्ट्रक्टर उन्हें 10 और 20 से आरंभ करता है। display() फ़ंक्शन मान प्रिंट करता है।

मुख्य फ़ंक्शन

DemoDC प्रकार का ऑब्जेक्ट बनाता है (कंस्ट्रक्टर स्वचालित कॉल होता है), फिर display() कॉल करता है।

महत्वपूर्ण बिंदु

  • डिफॉल्ट कंस्ट्रक्टर का उपयोग ऑब्जेक्ट को वैध प्रारंभिक स्थिति में लाने के लिए किया जाता है
  • यदि कोई कंस्ट्रक्टर परिभाषित नहीं है, तो कंपाइलर एक खाली डिफॉल्ट कंस्ट्रक्टर बनाता है
  • एक बार पैरामीट्रिक कंस्ट्रक्टर परिभाषित हो जाने पर, कंपाइलर डिफॉल्ट कंस्ट्रक्टर नहीं बनाता (यदि चाहिए तो स्पष्ट रूप से परिभाषित करना पड़ता है)
  1. - C++ में कंस्ट्रक्टर्स (Constructors)

    कंस्ट्रक्टर क्या हैं? क्लास के विशेष सदस्य फ़ंक्शन जो ऑब्जेक्ट बनने पर स्वचालित रूप से चलते हैं। क्लास के समान नाम, कोई रिटर्न टाइप नहीं। सदस्यों को प्रारंभिक मान देने के लिए प्राथमिक उपयोग। कंस्ट्रक्टर के दो मुख्य प्रकार 1. डिफॉल्ट कंस्ट्रक्टर कोई पैरामीटर नहीं लेता। यदि स्पष्ट रूप से परिभाषित न

  1. - C++ में कंस्ट्रक्टर के अंदर वर्चुअल फ़ंक्शन कैसे कॉल करें?

    कंस्ट्रक्टर या डिस्ट्रक्टर से वर्चुअल फ़ंक्शन्स को कॉल करना खतरनाक है और जब भी संभव हो इससे बचा जाना चाहिए। ऐसा इसलिए है क्योंकि आप जिस वर्चुअल फ़ंक्शन को कॉल करते हैं, वह बेस क्लास से कॉल होता है न कि डेराइव्ड क्लास से। C++ में हर क्लास अपने स्वयं के निर्माण में प्रवेश करने से पहले वर्चुअल मेथड टे

  1. - लिनक्स पर C++ के लिए सर्वश्रेष्ठ IDE कौन सा है?

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। लिनक्स पर C++ के लिए कोई एक सर्वश्रेष्ठ IDE नहीं है; आपको अपने टूल को