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

C++ में कंस्ट्रक्टर्स को कब कॉल किया जाता है?

यहां हम देखेंगे, जब कंस्ट्रक्टर्स को बुलाया जाता है। यहां कंस्ट्रक्टर विभिन्न प्रकार के होते हैं। वैश्विक, स्थानीय, स्थिर स्थानीय, गतिशील।

वैश्विक वस्तु के लिए, मुख्य कार्य में प्रवेश करने से पहले निर्माणकर्ताओं को बुलाया जाता है।

उदाहरण

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
MyClass myObj; //Global object
int main() {
   cout << "Inside Main";
}

आउटपुट

Calling Constructor
Inside Main

जब ऑब्जेक्ट नॉन-स्टेटिक होता है, तो कंस्ट्रक्टर को तब कहा जाता है जब निष्पादन उस बिंदु तक पहुंच जाता है, जहां ऑब्जेक्ट बनाया जाता है।

उदाहरण

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
int main() {
   cout << "Inside Main\n";
   MyClass myObj; //Local object
   cout << "After creating object";
}

आउटपुट

Inside Main
Calling Constructor
After creating object

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

उदाहरण

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
void func() {
   static MyClass myObj; //Local static object
}
int main() {
   cout << "Inside Main\n";
   func();
   cout << "After creating object\n";
   func();
   cout << "After second time";
}

आउटपुट

Inside Main
Calling Constructor
After creating object
After second time

अंत में डायनेमिक ऑब्जेक्ट के लिए, कंस्ट्रक्टर को कॉल किया जाएगा, जब ऑब्जेक्ट नए ऑपरेटर का उपयोग करके बनाया जाता है।

उदाहरण

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
int main() {
   cout << "Inside Main\n";
   MyClass *ptr;
   cout << "Declaring pointer\n";
   ptr = new MyClass;
   cout << "After creating dynamic object";
}

आउटपुट

Inside Main
Declaring pointer
Calling Constructor
After creating dynamic object

  1. C++ में गुणक ऑपरेटर क्या हैं?

    गुणात्मक संकारक हैं - गुणा (*) डिवीजन (/) मापांक या भाग से शेष (%) इन बाइनरी ऑपरेटरों में बाएं से दाएं सहयोगीता होती है। गुणक ऑपरेटर अंकगणितीय प्रकार के ऑपरेंड लेते हैं। मापांक ऑपरेटर (%) में एक सख्त आवश्यकता होती है, इसके ऑपरेंड अभिन्न प्रकार के होने चाहिए। गुणा संकारक पहले संकार्य को दूसरे से गु

  1. सी ++ में पायथन ऑब्जेक्ट का उपयोग कैसे करें?

    यहां एक उदाहरण दिया गया है जिसमें एक साधारण पायथन ऑब्जेक्ट लपेटा और एम्बेड किया गया है। हम इसके लिए .c का उपयोग कर रहे हैं, c++ के समान चरण हैं - class PyClass(object):     def __init__(self):         self.data = []     def add(self, val):      

  1. पाइथन ऑब्जेक्ट्स कचरा संग्रहण के लिए उम्मीदवार कब हैं?

    एक अजगर वस्तु या चर कचरा संग्रह के लिए योग्य होगा जैसे ही इसके सभी संदर्भ दायरे से बाहर हो जाते हैं या मैन्युअल रूप से हटा दिए जाते हैं (del x)। हमें यह मानना ​​होगा कि कचरा एकत्र करने के लिए वस्तु का कहीं और कोई संदर्भ नहीं था।