यहां हम देखेंगे कि किसी विशिष्ट क्लास से बने ऑब्जेक्ट्स की संख्या को कुछ स्टैटिक मेंबर फंक्शंस का उपयोग करके कैसे गिना जाए। स्टैटिक मेंबर्स क्लास प्रॉपर्टीज हैं, ऑब्जेक्ट प्रॉपर्टीज नहीं। एक क्लास के लिए स्टैटिक मेंबर्स का केवल एक इंस्टेंस होगा। प्रत्येक ऑब्जेक्ट के लिए कोई नया मेंबर नहीं बनाया जाता।
इस समस्या में हम ऑब्जेक्ट्स की संख्या का ट्रैक रखने के लिए एक स्टैटिक काउंटर वेरिएबल का उपयोग कर रहे हैं, फिर काउंट मान प्रदर्शित करने के लिए एक स्टैटिक मेंबर होगा।
जब एक नया ऑब्जेक्ट बनाया जाता है, तो कंस्ट्रक्टर कॉल किया जाएगा। कंस्ट्रक्टर के अंदर, काउंट मान बढ़ाया जाता है। इस प्रकार हम आउटपुट प्राप्त कर सकते हैं।
उदाहरण
#include <iostream>
using namespace std;
class My_Class{
private:
static int count;
public:
My_Class() { //कंस्ट्रक्टर में काउंट मान बढ़ाएं
cout << "Calling Constructor" << endl;
count++;
}
static int objCount() {
return count;
}
};
int My_Class::count;
main() {
My_Class my_obj1, my_obj2, my_obj3;
int cnt;
cnt = My_Class::objCount();
cout << "Number of objects:" << cnt;
}
आउटपुट
Calling Constructor Calling Constructor Calling Constructor Number of objects:3