यहाँ लक्ष्य एक वर्ग की वस्तुओं की संख्या की गणना करना है जो एक स्थिर सदस्य फ़ंक्शन का उपयोग करके बनाए जा रहे हैं।
एक स्थिर डेटा सदस्य आमतौर पर कक्षा की सभी वस्तुओं द्वारा साझा किया जाता है। यदि कोई मान नहीं दिया जाता है, तो एक स्थिर डेटा सदस्य को हमेशा 0 से प्रारंभ किया जाता है।
एक स्थिर सदस्य फ़ंक्शन केवल उस वर्ग के स्थिर डेटा सदस्यों का उपयोग कर सकता है।
हम यहां एक कक्षा छात्र का उपयोग कर रहे हैं। हम एक स्थिर डेटा सदस्य गणना की घोषणा करेंगे जो वस्तुओं की गिनती को संग्रहीत करेगा। एक स्थिर सदस्य फ़ंक्शन रोलकॉल (शून्य) जो एक कक्षा में छात्रों के रोल नंबर के रूप में वस्तुओं की गिनती प्रदर्शित करेगा।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम एक कक्षा छात्र घोषित करते हैं जिसमें सार्वजनिक डेटा सदस्य रोलनो और स्थिर डेटा सदस्य संख्या में होते हैं।
-
एक कंस्ट्रक्टर है जो रोलकॉल () को कॉल करता है और गिनती के साथ रोलनो को इनिशियलाइज़ करता है।
-
एक विध्वंसक है जो गिनती घटाता है।
-
स्टेटिक मेंबर फंक्शन रोलकॉल () स्टूडेंट काउंट के रूप में ऑब्जेक्ट्स की गिनती को प्रदर्शित करता है और काउंट को बढ़ाता है।
-
हर बार स्टूडेंट का ऑब्जेक्ट बनाया जाता है, कंस्ट्रक्टर रोलकॉल () को कॉल करता है और गिनती बढ़ जाती है। यह गिनती उस विद्यार्थी वस्तु के रोलनो को दी गई है।
-
मुख्य में हमने छात्र के stu1, stu2, stu3, stu4 के रूप में 4 ऑब्जेक्ट बनाए और सत्यापित किया कि गिनती और रोलनो संख्या के समान है। वस्तुओं की।
उदाहरण
// C++ program to Count the number of objects // using the Static member function #include <iostream> using namespace std; class Student { public: int rollno; static int count; public: Student(){ rollCall(); rollno=count; } ~Student() { --count; } static void rollCall(void){ cout <<endl<<"Student Count:" << ++count<< "\n"; //object count } }; int Student::count; int main(){ Student stu1; cout<<"Student 1: Roll No:"<<stu1.rollno; Student stu2; cout<<"Student 2: Roll No:"<<stu2.rollno; Student stu3; cout<<"Student 3: Roll No:"<<stu3.rollno; Student stu4; cout<<"Student 4: Roll No:"<<stu4.rollno; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Student Count:1 Student 1: Roll No:1 Student Count:2 Student 2: Roll No:2 Student Count:3 Student 3: Roll No:3 Student Count:4 Student 4: Roll No:4