जब स्थिर कीवर्ड का उपयोग किया जाता है, तो चर या डेटा सदस्यों या कार्यों को फिर से संशोधित नहीं किया जा सकता है। यह कार्यक्रम के जीवनकाल के लिए आवंटित किया जाता है। स्थिर कार्यों को सीधे वर्ग नाम का उपयोग करके बुलाया जा सकता है।
स्टेटिक वेरिएबल्स को केवल एक बार इनिशियलाइज़ किया जाता है। कंपाइलर प्रोग्राम के अंत तक वेरिएबल को बनाए रखता है। स्टेटिक वैरिएबल को फंक्शन के अंदर या बाहर परिभाषित किया जा सकता है। वे ब्लॉक के स्थानीय हैं। स्थिर चर का डिफ़ॉल्ट मान शून्य है। स्थिर चर कार्यक्रम के निष्पादन तक जीवित रहते हैं।
स्थिर कीवर्ड का सिंटैक्स निम्नलिखित है।
static datatype variable_name = value; // Static variable static return_type function_name { // Static functions ... }
यहां,
डेटाटाइप - वेरिएबल का डेटाटाइप जैसे इंट, चार, फ्लोट आदि।
variable_name - यह उपयोगकर्ता द्वारा दिए गए वेरिएबल का नाम है।
मान - वैरिएबल को इनिशियलाइज़ करने के लिए कोई भी वैल्यू। डिफ़ॉल्ट रूप से, यह शून्य होता है।
रिटर्न_टाइप - मान वापस करने के लिए फ़ंक्शन का डेटाटाइप।
function_name - समारोह का कोई भी नाम।
निम्नलिखित स्थिर कीवर्ड का एक उदाहरण है।
उदाहरण
#include <bits/stdc++.h> using namespace std; class Base { public : static int val; static int func(int a) { cout << "\nStatic member function is called"; cout << "\nThe value of a : " << a; } }; int Base::val=28; int main() { Base b; Base::func(8); cout << "\nThe static variable value : " << b.val; return 0; }
आउटपुट
Static member function is called The value of a : 8 The static variable value : 28
उपरोक्त कार्यक्रम में, एक स्थिर चर घोषित किया गया है। क्लास बेस में एक स्टैटिक फंक्शन परिभाषित किया गया है जैसा कि नीचे दिखाया गया है -
public : static int val; static int func(int a) { cout << "\nStatic member function called"; cout << "\nThe value of a : " << a; }
कक्षा के बाद और मुख्य () से पहले, स्थिर चर को इस प्रकार आरंभ किया जाता है।
int Base::val=28;
फंक्शन मेन () में बेस क्लास का ऑब्जेक्ट बनाया जाता है और स्टैटिक वेरिएबल कहा जाता है। स्टैटिक फंक्शन को बेस क्लास के ऑब्जेक्ट का उपयोग किए बिना भी कहा जाता है।
Base b; Base::func(8); cout << "\nThe static variable value : " << b.val;