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

वर्चुअल विनाश C++ में shared_ptr का उपयोग कर

इस ट्यूटोरियल में, हम C++ में Shared_ptr का उपयोग करके वर्चुअल विनाश को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे।

किसी वर्ग के उदाहरणों को हटाने के लिए, हम आधार वर्ग के विनाशक को आभासी होने के लिए परिभाषित करते हैं। इसलिए यह विभिन्न ऑब्जेक्ट इंस्टेंस को उस उल्टे क्रम में विरासत में मिला है जिसमें वे बनाए गए थे।

उदाहरण

#include <iostream>
#include <memory>
using namespace std;
class Base {
   public:
   Base(){
      cout << "Constructing Base" << endl;
   }
   ~Base(){
      cout << "Destructing Base" << endl;
   }
};
class Derived : public Base {
   public:
   Derived(){
      cout << "Constructing Derived" << endl;
   }
   ~Derived(){
      cout << "Destructing Derived" << endl;
   }
};
int main(){
   std::shared_ptr<Base> sp{ new Derived };
   return 0;
}

आउटपुट

Constructing Base
Constructing Derived
Destructing Derived
Destructing Base

  1. C++ . का प्रयोग करते हुए बार-बार इकाई विभाज्यता

    इस लेख में, हम N द्वारा विभाज्य दोहराई जाने वाली इकाइयों की संख्या खोजने पर चर्चा करेंगे। दोहराई गई इकाइयाँ केवल 1 की दोहराव वाली संख्याएँ हैं, मान लीजिए कि R(k) दोहराई जाने वाली इकाई है जहाँ k 1 की लंबाई है। जैसे R(4) =1111. इसलिए हमें k की न्यूनतम संख्या ज्ञात करनी होगी जिसके लिए R(k) N से विभाज्य

  1. आधार B में अनुगामी शून्यों की संख्या ज्ञात कीजिए जो N का प्रतिनिधित्व करते हैं! सी ++ का उपयोग करना

    इस लेख में, हम किसी दी गई संख्या N के अनुगामी शून्य को उसके भाज्य के आधार B निरूपण में खोजने की समस्या को समझेंगे। उदाहरण के लिए Input : N = 7 Base = 2 Output : 4 Explanation : fact(7) = 5040 in base10 and 1001110110000 in base16 having 4 trailing zero. Input : N = 11 Base = 5 Output : 2 Explanatio

  1. N के आधार 16 निरूपण में अनुगामी शून्यों की संख्या ज्ञात कीजिए! सी ++ का उपयोग करना

    इस लेख में, हम उदाहरण के लिए इसके भाज्य के आधार 16 निरूपण में दी गई संख्या N के अनुगामी शून्यों को खोजने की समस्या को समझेंगे Input : N = 7 Output : 1 Explanation : fact(7) = 5040 in base10 and 13B0 in base16 having 1 trailing zero. Input : N = 11 Output : 2 Explanation : fact(11) = 39916800 in bas