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

C++ में स्टेटिक डेटा मेंबर्स

स्टेटिक डेटा मेंबर्स वे क्लास मेंबर्स हैं जिन्हें 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 का मान प्रदर्शित किया जाता है।

  1. - C++ में स्टेटिक मेंबर फंक्शन का उपयोग करके ऑब्जेक्ट्स की संख्या गिनना

    यहां लक्ष्य एक क्लास के उन ऑब्जेक्ट्स की संख्या गिनना है जो स्टेटिक मेंबर फंक्शन का उपयोग करके बनाए जा रहे हैं। एक स्टेटिक डेटा मेंबर उस क्लास के सभी ऑब्जेक्ट्स द्वारा साझा किया जाता है। यदि कोई मान नहीं दिया जाता है, तो एक स्टेटिक डेटा मेंबर हमेशा 0 से आरंभ होता है। एक स्टेटिक मेंबर फंक्शन केवल उस

  1. - C++ में सर्कुलर क्यू डेटा संरचना

    एक क्यू एक अमूर्त डेटा संरचना है जिसमें तत्वों का संग्रह होता है। क्यू FIFO तंत्र को लागू करता है यानी वह तत्व जो पहले डाला गया है वह पहले हटाया भी जाता है। क्यू एक रैखिक डेटा संरचना हो सकती है। लेकिन यदि हम सरणी का उपयोग करके क्यू को लागू करते हैं तो यह कुछ समस्याएं पैदा कर सकती है। कभी-कभी लगाता

  1. C++ में बाइनरी ट्री का संक्षिप्त एन्कोडिंग C++ में बाइनरी ट्री का संक्षिप्त एन्कोडिंग

    समस्या विवरण मान लीजिए हमारे पास एक बाइनरी ट्री है। जैसा कि हम जानते हैं, बाइनरी ट्री का संक्षिप्त एन्कोडिंग न्यूनतम संभव स्थान के करीब प्रदर्शन करता है। n-वां कैटलन संख्या n अलग-अलग नोड्स वाले संरचनात्मक रूप से अलग बाइनरी ट्री की संख्या को दर्शाती है। यदि n बड़ा है, तो यह लगभग 4^n है; इस प्रकार, इस