स्टेटिक डेटा मेंबर्स वे क्लास मेंबर्स हैं जिन्हें static कीवर्ड का उपयोग करके घोषित किया जाता है। क्लास में स्टेटिक डेटा मेंबर की केवल एक प्रति होती है, भले ही कई क्लास ऑब्जेक्ट्स हों। ऐसा इसलिए है क्योंकि सभी ऑब्जेक्ट्स स्टेटिक डेटा मेंबर को शेयर करते हैं। जब पहला क्लास ऑब्जेक्ट बनाया जाता है तो स्टेटिक डेटा मेंबर हमेशा शून्य से इनिशियलाइज़ होता है।
सिंटैक्स
static data_type data_member_name;
उपरोक्त सिंटैक्स में, static कीवर्ड का उपयोग किया जाता है। data_type C++ डेटा टाइप है जैसे int, float आदि। data_member_name डेटा मेंबर को दिया गया नाम है।
उदाहरण
#include <iostream>
#include <string.h>
using namespace std;
class Student {
private:
int rollNo;
char name[10];
int marks;
public:
static int objectCount;
Student() {
objectCount++;
}
void getdata() {
cout << "रोल नंबर दर्ज करें: " << endl;
cin >> rollNo;
cout << "नाम दर्ज करें: " << endl;
cin >> name;
cout << "अंक दर्ज करें: " << endl;
cin >> marks;
}
void putdata() {
cout << "रोल नंबर = " << rollNo << endl;
cout << "नाम = " << name << endl;
cout << "अंक = " << marks << endl;
cout << endl;
}
};
int Student::objectCount = 0;
int main(void) {
Student s1;
s1.getdata();
s1.putdata();
Student s2;
s2.getdata();
s2.putdata();
Student s3;
s3.getdata();
s3.putdata();
cout << "कुल ऑब्जेक्ट्स बनाए गए = " << Student::objectCount << endl;
return 0;
}
आउटपुट
रोल नंबर दर्ज करें: 1 नाम दर्ज करें: Mark अंक दर्ज करें: 78 रोल नंबर = 1 नाम = Mark अंक = 78 रोल नंबर दर्ज करें: 2 नाम दर्ज करें: Nancy अंक दर्ज करें: 55 रोल नंबर = 2 नाम = Nancy अंक = 55 रोल नंबर दर्ज करें: 3 नाम दर्ज करें: Susan अंक दर्ज करें: 90 रोल नंबर = 3 नाम = Susan अंक = 90 कुल ऑब्जेक्ट्स बनाए गए = 3
उपरोक्त प्रोग्राम में, क्लास Student में तीन डेटा मेंबर्स हैं जो छात्र के रोल नंबर, नाम और अंक दर्शाते हैं। objectCount डेटा मेंबर एक स्टेटिक डेटा मेंबर है जिसमें क्लास Student के ऑब्जेक्ट्स की संख्या होती है। Student() एक कंस्ट्रक्टर है जो हर बार एक नया क्लास ऑब्जेक्ट बनने पर objectCount को बढ़ाता है।
क्लास में 2 मेंबर फ़ंक्शन्स हैं। फ़ंक्शन getdata() यूज़र से डेटा प्राप्त करता है और putdata() डेटा प्रदर्शित करता है।
main() फ़ंक्शन में, क्लास Student के तीन ऑब्जेक्ट्स हैं: s1, s2 और s3। इनमें से प्रत्येक ऑब्जेक्ट के लिए getdata() और putdata() कॉल किए जाते हैं। अंत में, objectCount का मान प्रदर्शित किया जाता है।