Static Member Function - NayiPathshala

Breaking

Total Pageviews

Loading...

Search Here

11/18/2017

Static Member Function



Static Member Function:
हम किसी Static Data Member को किसी भी Member Function द्वारा Access कर सकते हैं। लेकिन किसी Static Data Member को Access करने के लिए एक विशेष प्रकार के Function को Use करना चाहिए। इस Special प्रकार के Member Function कोStatic Member Function याStatic Methodकहते हैं। ये Function किसी Object पर Apply नहीं होता बल्कि Static Variables की तरह ये Function पूरी Class पर Apply होता है।Static Member FunctionStatic Member Function को Define करने के लिए हमें Static Keyword का प्रयोग करनापडता है। यदि हम Static Keyword का प्रयोग नहीं करते हैं तो ये Function एक सामान्य Member Function की तरह होता है। किसी Static Member Function को Call करने के लिए Object के नाम के साथ DOT Operator का प्रयोग करके Function का नाम लिखने की जरूरतनहीं होती है, बल्कि किसी Static Member Function को Call करने के लिए Class के नाम के साथ Scope Resolution Operator का प्रयोग करके Static Member Function का नाम लिखा जाता है। इस Concept को समझने के लिए निम्न Code Segment देखें:?

{
private:
…public:
staticintstafunc()
// function definition
{
// can access only static member data
}
}
;
main()
{
…aclass::stafunc();
      // function call…
}

एक Static Member Function किसी Non – static Data Member को Refer नहीं कर सकताहै, क्योंकि एक Static Function उस Class के किसी Object के बारे में कुछ नहीं जानता। ये Function केवल Class से सम्बंधित Static Data को ही Access कर सकता है। हम किसी Static Function को तभी Call कर सकते हैं जब हमने Class के Object नहीं Create किए होते। यानी किसी Class के Object Create किए बिना भी हम किसी Class के Static Member Function को Call कर सकते हैं।Read also:Static Data MemberCount-the-Objects Exampleकई बार किसी Function या किसी Individual Object को ये जानने की जरूरत पडती है कि किसीसमय किसी Class के कितने Objects Program में Create होने के बाद उपलब्ध (Exist) हैं। जैसे एक Race Car उदाहरण में कोई कार ये जानने की कोशिश कर सकता है कि उससे पीछे और उससे आगे कितनी कारें हैं।मानलो कि हम एक Car Race Program में अपनीइच्छानुसार Cars Create करते हैं और हम ये जानना चाहते हैं कि Program में किसी समय कितनी Car Created जीवित हैं। इस आवश्यकता को पूरा करने के लिए हम निम्नानुसार एक Class बना सकते हैं और MainProgram में ये पता लगा सकते हैं कि कितनी Car Program में Exists हैं। हम यहां ये मान रहे हैं कि हर Car का एक Attribute उसका Serial Number है और दूसरा Attribute Car की Current संख्या है।?



इस Program को Compile करके Run करने पर Program कोई भी Car Create करने से पहले getTotal() Member Function को Call करता है। फिर तीन Car Create करता है और उन्हें init() Member Function को Call करके एक Serial Number प्रदान करता है। फिर तीनों Cars के Serial Numbers को Display करता है और getTotal() Member Function को फिर से Call करता है।ध्यान दें कि Non –Static Member Function init() Static Variable totalCars को Access कर सकता है, लेकिन Non – Static Member Function getTotal() किसी Non – Static Data Member को Access नहीं कर सकता है।हमने इस Program में Object को Create करते ही उसे Initialize करने के लिए init() Member Function को Call किया है क्योंकि हम किसी Class के Data Members को Directly मान Initialize नहीं कर सकते हैं। लेकिन Constructors का प्रयोग करके हम ऐसे Objects Create कर सकते हैं, जो Create होते ही Default Values से Initialized हों।
 

No comments:

Post a Comment