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

सी ++ आंतरिक?

यहां हम क्लास इंटर्नल देखेंगे। इससे पहले हम डिफॉल्ट कंस्ट्रक्टर देखेंगे, जो इंटर्नल से संबंधित हैं। डिफ़ॉल्ट कंस्ट्रक्टर एक कंस्ट्रक्टर (उपयोगकर्ता या कंपाइलर द्वारा परिभाषित) होता है जो कोई तर्क नहीं लेता है। अब सवाल आता है कि डिफ़ॉल्ट कंस्ट्रक्टर का उपयोग क्यों किया जाता है?

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

आइए विचार प्राप्त करने के लिए एक कोड देखें।

उदाहरण

#include<iostream>
using namespace std;
class Base {
   public:
      // compiler will create one constructor for the class "Base"
};
class ClassA {
   public:
   ClassA(){
      cout << "ClassA Constructor defined by user" << endl;
   }
   int x; //it will not be initialized
};
class ClassB : public ClassA {
   //compiler will create ClassB constructor and add some code to call
   ClassA constructor
};
class ClassC : public ClassA {
   public:
      ClassC() { //user defined consturctor, but compiler will add
         code to call A constructor
         cout << "User defined ClassC Constructor" << endl;
   }
};
class ClassD {
   public:
      ClassD(){
         // User defined default constructor. The compiler will add
         code to call object of ClassA
         cout << "User-defined consturctor for ClassD Constructor" <<
         endl;
   }
   private:
      ClassA obj;
};
int main() {
   Base baseObj;
   ClassB b;
   ClassC c;
   ClassD d;
}

आउटपुट

ClassA Constructor defined by user
ClassA Constructor defined by user
User defined ClassC Constructor
ClassA Constructor defined by user
User-defined consturctor for ClassD Constructor

  1. सी ++ में संरचना बनाम वर्ग

    C++ में संरचना और वर्ग मूल रूप से समान हैं। लेकिन कुछ मामूली अंतर हैं। ये अंतर नीचे की तरह हैं। वर्ग के सदस्य डिफ़ॉल्ट रूप से निजी होते हैं, लेकिन संरचना के सदस्य सार्वजनिक होते हैं। अंतर देखने के लिए आइए इन दो कोडों को देखें। उदाहरण कोड #include <iostream> using namespace std; class my_class

  1. सी ++ में कन्स्ट्रक्टर को वेक्टर पास करना

    यह एक कंस्ट्रक्टर को वेक्टर पास करने के लिए एक सरल C++ प्रोग्राम है। एल्गोरिदम Begin    Declare a class named as vector.       Declare vec of vector type.       Declare a constructor of vector class.          Pass a vector object v as

  1. सी ++ में स्थानीय कक्षा

    किसी फ़ंक्शन के अंदर घोषित एक वर्ग को C++ में स्थानीय वर्ग के रूप में जाना जाता है क्योंकि यह उस फ़ंक्शन के लिए स्थानीय होता है। स्थानीय वर्ग का एक उदाहरण इस प्रकार दिया गया है। #include<iostream> using namespace std; void func() {    class LocalClass {    }; } int main()