Static Data Member: Instance Data Member, वे Variables होते हैं, जो प्रत्येक Object के लिए अलग-अलग Create होते हैं, लेकिन Static Data Member ऐसे Variable होते हैं, तो उस Class के सभी Objects के लिए Common होते हैं और सभी Objects द्वारा Share होते हैं। इसलिए Class का कोई भी Object यदि Static Data Member के मान को Change कर दे, तो उस Class के सभी अन्य Objects के लिए भी उस Data Member का मान Change हो जाता है। जबकि कोई Object जब अपने Instance Data Member का मान Change करता है, तो उस Change का प्रभाव किसी भी अन्य Object के Instance Data Member पर नहीं पडता, क्योंकि समान Class के भी सभी Objects का अपना Separate Instance Data Member होता है, जो कि Static Data Member की तरह Class के सभी Objects के बीच Share नहीं होता।
जब हमें किसी Class में किसी Variable को Static Declare करना होता है, तब हमें ये काम थोडा अलग तरीके से करना पडता है। हमें Static Variable को Class के अन्दर Declare करके Variable को Class से बाहर Define करना पडता है। यानी-
class aclass { private: static int stavar; // declaration … }; int aclass::stavar = 77; // definition
Variable के Declaration के समय हमें Class में static Keyword का प्रयोग करना पडता है और Variable को Define करते समय Variable के नाम के साथ उस Class का नाम Scope Resolution Operator का प्रयोग करके जोडना पडता है, जिस Class में उस Static Variable को Declare किया गया है। जब हम किसी Variable को किसी Class के अन्दर Define करते हैं तो वह Variable हमेंशा Object का Instance Data होता है जो कि उस Class के हर Object के लिए अलग होता है।
लेकिन जब हम किसी Data Item को किसी Class से बाहर Define करते हैं तब वह Data Item Class के सभी Objects के लिए एक ही होता है जिसे Class के सभी Objects समान रूप से Share कर सकते हैं। किसी Static Data Member को Define करते समय उसे Initialize भी किया जा सकता है। यदि हम किसी Static Data Member को Initialize ना करें, तो Static Data Member में Automatically 0 Initialized हो जाता है।
एक बार किसी Static Data Member को Define करने के बाद उस Data Member को उस Class के Member Function द्वारा ही Access किया जा सकता है जिस Class में Static Data Member को Define किया गया है। Static Data Member का Scope Class तक होता है। (Static Data Member – TutorialsPoint)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C++ Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C++ Programming Language in Hindi | Page: 666 | Format: PDF