कभी-कभी हम फंक्शन डिक्लेरेशन के आखिरी में मौजूद कीवर्ड 'कॉन्स्ट' को ढूंढ सकते हैं। तो इसका क्या मतलब है?
इसका उपयोग करके एक फ़ंक्शन को स्थिर बनाया जा सकता है। निरंतर कार्य का विचार यह है कि, फ़ंक्शन को उन वस्तुओं से संशोधित नहीं किया जा सकता है, जहां उन्हें कहा जाता है। हमारे कार्यक्रम में निरंतर कार्यों का उपयोग करने की अनुशंसा की जाती है।
आइए हम निरंतर कार्य का एक उदाहरण देखें।
उदाहरण
#include<iostream> using namespace std; class MyClass { int value; public: MyClass(int val = 0) { value = val; } int getVal() const { //value = 10; [This line will generate compile time error as the function is constant] return value; } };
आउटपुट
The value is: 80
अब हम अचर फलन से संबंधित एक और महत्वपूर्ण बिंदु देखेंगे। स्थिर कार्यों को किसी भी प्रकार की वस्तुओं से बुलाया जा सकता है, जैसा कि आपने ऊपर दिए गए उदाहरण से देखा है। लेकिन कुछ गैर-स्थिर कार्यों को स्थिर वस्तुओं से नहीं कहा जा सकता है।
उदाहरण
#include<iostream> using namespace std; class MyClass { int value; public: MyClass(int val = 0) { value = val; } int getVal(){ return value; } }; main() { const MyClass ob(80); cout<< "The value is: " << ob.getVal(); }
आउटपुट
[Error] passing 'const MyClass' as 'this' argument of 'int MyClass::getVal()' discards qualifiers [-fpermissive]निकल जाते हैं।