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

सी ++ में निजी विनाशक

यहां हम देखेंगे कि क्या मामला होगा यदि विनाशक सी ++ में निजी हैं। आइए विचार प्राप्त करने के लिए कुछ उदाहरण कोड देखें।

इस कोड में निजी विनाशक है, लेकिन यह कोई त्रुटि उत्पन्न नहीं करेगा क्योंकि कोई वस्तु नहीं बनाई गई है।

उदाहरण

#शामिल करें 


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

उदाहरण

#include नामस्थान का उपयोग करना;वर्ग my_class {निजी:~my_class() {//private destructor}};int main() { my_class obj;}

आउटपुट

[त्रुटि] 'my_class::~my_class()' निजी है

अब अगर हम उस वर्ग के लिए एक पॉइंटर बनाते हैं, तो यह त्रुटि उत्पन्न नहीं करेगा क्योंकि कोई वास्तविक वस्तु नहीं बनाई गई है।

उदाहरण

#include  नेमस्पेस std का उपयोग करके; क्लास my_class {निजी:~my_class() {//private destructor}};int main() { my_class *obj;}


यदि नए ऑपरेटर का उपयोग करके एक ऑब्जेक्ट बनाया जाता है, तो भी कोई त्रुटि उत्पन्न नहीं होगी। संकलक सोचता है कि स्मृति से वस्तु को हटाना प्रोग्रामर की जिम्मेदारी है।

उदाहरण

#include  नेमस्पेस std का उपयोग करके; क्लास my_class {निजी:~my_class() {//private destructor}};int main() { my_class *obj =new my_class;}

आउटपुट

 

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

उदाहरण

#include  नेमस्पेस std का उपयोग करके; क्लास my_class {निजी:~ my_class() {//private destructor}};int main() { my_class *obj =new my_class; ओबीजे हटाएं;}

आउटपुट

[त्रुटि] 'my_class::~my_class()' निजी है

  1. C++ में निजी और संरक्षित सदस्य

    C++ में एक वर्ग में सार्वजनिक, निजी और संरक्षित अनुभाग होते हैं जिनमें संबंधित वर्ग के सदस्य होते हैं। निजी डेटा सदस्यों को कक्षा के बाहर से एक्सेस नहीं किया जा सकता है। उन्हें केवल क्लास या फ्रेंड फंक्शन्स द्वारा ही एक्सेस किया जा सकता है। डिफ़ॉल्ट रूप से कक्षा के सभी सदस्य निजी होते हैं। एक वर्ग

  1. सी++ में इनकैप्सुलेशन

    Encapsulation डेटा और विधियों को एक साथ लाता है जो डेटा को एक घटक में हेरफेर करता है और उन्हें बाहरी हस्तक्षेप से बचाता है। संक्षेप में, एनकैप्सुलेशन में डेटा के साथ-साथ डेटा का उपयोग करने वाले कार्यों को बंडल करना शामिल है। डेटा इनकैप्सुलेशन डेटा छिपाने की बहुत महत्वपूर्ण अवधारणा की ओर ले जाता है।

  1. C++ . में पहचानकर्ता

    C++ पहचानकर्ता एक ऐसा नाम है जिसका उपयोग किसी चर, फ़ंक्शन, वर्ग, मॉड्यूल, या किसी अन्य उपयोगकर्ता-परिभाषित आइटम की पहचान करने के लिए किया जाता है। एक पहचानकर्ता अक्षर A से Z या a से z या अंडरस्कोर (_) से शुरू होता है और उसके बाद शून्य या अधिक अक्षर, अंडरस्कोर और अंक (0 से 9) होते हैं। C++ पहचानकर्त