किसी फ़ंक्शन के अंदर घोषित एक वर्ग को C++ में स्थानीय वर्ग के रूप में जाना जाता है क्योंकि यह उस फ़ंक्शन के लिए स्थानीय होता है।
स्थानीय वर्ग का एक उदाहरण इस प्रकार दिया गया है।
#include<iostream> using namespace std; void func() { class LocalClass { }; } int main() { return 0; }
उपरोक्त उदाहरण में, func() एक फ़ंक्शन है और फ़ंक्शन के अंदर क्लास लोकलक्लास को परिभाषित किया गया है। इसलिए, इसे स्थानीय वर्ग के रूप में जाना जाता है।
एक स्थानीय वर्ग का नाम केवल उसके कार्य में उपयोग किया जा सकता है, न कि उसके बाहर। साथ ही, स्थानीय वर्ग के तरीकों को इसके अंदर ही परिभाषित किया जाना चाहिए। एक स्थानीय वर्ग में स्थिर डेटा सदस्य नहीं हो सकते हैं लेकिन इसमें स्थिर कार्य हो सकते हैं।
एक प्रोग्राम जो C++ में एक स्थानीय वर्ग को प्रदर्शित करता है, वह इस प्रकार दिया गया है।
उदाहरण
#include<iostream> using namespace std; void func() { class LocalClass { private: int num; public: void getdata( int n) { num = n; } void putdata() { cout<<"The number is "<<num; } }; LocalClass obj; obj.getdata(7); obj.putdata(); } int main() { cout<<"Demonstration of a local class"<<endl; func(); return 0; }
आउटपुट
Demonstration of a local class The number is 7
उपरोक्त कार्यक्रम में, स्थानीय क्लास को फ़ंक्शन func() में घोषित किया गया है, इसलिए यह एक स्थानीय वर्ग है। वर्ग एक चर संख्या और दो सदस्य कार्य करता है जो संख्या को प्रारंभ और प्रदर्शित करता है। वर्ग के निर्माण के बाद, इसके ऑब्जेक्ट obj को फ़ंक्शन func () में परिभाषित किया गया है और getdata () और putdata () को obj का उपयोग करके कहा जाता है। इसे इस प्रकार देखा जाता है।
void func() { class LocalClass { private: int num; public: void getdata( int n) { num = n; } void putdata() { cout<<"The number is "<<num; } }; LocalClass obj; obj.getdata(7); obj.putdata(); }
फ़ंक्शन में मुख्य (), फ़ंक्शन func () कहा जाता है। यह नीचे दिखाया गया है।
cout<<"Demonstration of a local class"<<endl; func();