सिंगलटन डिज़ाइन पैटर्न एक सॉफ्टवेयर डिज़ाइन सिद्धांत है जिसका उपयोग क्लास के इंस्टेंटिएशन को एक ऑब्जेक्ट तक सीमित करने के लिए किया जाता है। यह तब उपयोगी होता है जब सिस्टम भर में कार्यों को समन्वयित करने के लिए ठीक एक ऑब्जेक्ट की आवश्यकता होती है। उदाहरण के लिए, यदि आप एक लॉगर का उपयोग कर रहे हैं जो लॉग को फाइल में लिखता है, तो आप ऐसा लॉगर बनाने के लिए सिंगलटन क्लास का उपयोग कर सकते हैं। आप निम्न कोड का उपयोग करके एक सिंगलटन क्लास बना सकते हैं:
उदाहरण
#include <iostream> using namespace std; class Singleton { static Singleton *instance; int data; // प्राइवेट कंस्ट्रक्टर ताकि कोई ऑब्जेक्ट न बनाया जा सके। Singleton() { data = 0; } public: static Singleton *getInstance() { if (!instance) instance = new Singleton; return instance; } int getData() { return this -> data; } void setData(int data) { this -> data = data; } }; // getInstance में पहली कॉल में इनिशियलाइज़ करने के लिए पॉइंटर को शून्य से इनिशियलाइज़ करें Singleton *Singleton::instance = 0; int main(){ Singleton *s = s->getInstance(); cout << s->getData() << endl; s->setData(100); cout << s->getData() << endl; return 0; }
आउटपुट
यह आउटपुट देगा:
0 100