Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ में is_final टेम्पलेट

इस लेख में हम सी++ एसटीएल में काम करने, वाक्य रचना और std::is_final टेम्पलेट के उदाहरणों पर चर्चा करेंगे।

is_final एक टेम्प्लेट है जो हैडर फ़ाइल के अंतर्गत आता है। इस टेम्पलेट का उपयोग यह जांचने के लिए किया जाता है कि दिया गया प्रकार T अंतिम वर्ग है या नहीं।

C++ में फाइनल क्लास क्या है?

जब हम अंतिम विनिर्देशक के साथ एक वर्ग घोषित करते हैं तो इसे अंतिम वर्ग कहा जाता है। अंतिम वर्ग एक विशेष प्रकार का वर्ग है जिसे अन्य वर्ग बनाने के लिए विस्तारित नहीं किया जा सकता है। C++ में किसी क्लास को फ़ाइनल बनाने के लिए हम एक क्लास को एक दोस्त के रूप में बनाते हैं और फिर उस क्लास को वर्चुअली इनहेरिट करते हैं, ताकि उस क्लास को एक्स्टेंडेबल नहीं बनाया जा सके।

अंतिम कक्षा का उदाहरण

class final_abc; //Class which is to be made final
class abc {
   private:
   abc(){cout<<"abc constructor";}
   friend class final_abc;
};
class final_abc : virtual abc //made it final class. {
   public:
   final_abc(){cout<<"Final class constructor";}
};
class derive : public final_abc; //Error can't be extended

सिंटैक्स

template <class T> is_final;

पैरामीटर

टेम्प्लेट में केवल T प्रकार का पैरामीटर हो सकता है, और जांच सकता है कि दिया गया प्रकार अंतिम श्रेणी का प्रकार है या नहीं।

रिटर्न वैल्यू

यह एक बूलियन मान देता है, यदि दिया गया प्रकार अंतिम वर्ग है, तो सत्य है, और यदि दिया गया प्रकार अंतिम वर्ग नहीं है, तो यह गलत है।

उदाहरण

Input: class final_abc;
   class abc { friend class final_abc; };
   class final_abc : virtual abc{ };
   is_final<abc>::value;
Output: False

Input: class final_abc;
   class abc
   { friend class final_abc; };
   class final_abc : virtual abc{ };
   is_final<final_abc>::value;
Output: True

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
class TP {
   //Same if it will be a structure instead of a class
};
class T_P final {
   //Same if it will be a structure instead of a class
};
int main() {
   cout << boolalpha;
   cout << "Using is_final";
   cout << "\nTutorials Point: "<<is_final<TP>::value;
   cout << "\nT_P Final: "<<is_final<T_P>::value;
   cout << "\ncheck for char: "<<is_final<int>::value;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Using is_final
Tutorials Point: false
T_P Final: true
check for char: false

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
union TP {
   //Union
};
union T_P final {
   //Union
};
int main() {
   cout << boolalpha;
   cout << "Using is_final";
   cout << "\nTutorials Point: "<<is_final<TP>::value;
   cout << "\nT_P Final: "<<is_final<T_P>::value;
   cout << "\ncheck for char: "<<is_final<int>::value;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Using is_final
Tutorials Point: false
T_P Final: true
check for char: false

  1. सी ++ में अंतिम कक्षा सिम्युलेट करना

    जावा या सी # में, हम अंतिम कक्षाओं का उपयोग कर सकते हैं। अंतिम कक्षाएं विशेष प्रकार की कक्षा हैं। हम दूसरी क्लास बनाने के लिए उस क्लास का विस्तार नहीं कर सकते। सी ++ में ऐसा कोई सीधा तरीका नहीं है। यहां हम देखेंगे कि C++ में फाइनल क्लास का अनुकरण कैसे किया जाता है। यहां हम MakeFinalClass नामक एक अत

  1. सी ++ में संरचना बनाम वर्ग

    C++ में संरचना और वर्ग मूल रूप से समान हैं। लेकिन कुछ मामूली अंतर हैं। ये अंतर नीचे की तरह हैं। वर्ग के सदस्य डिफ़ॉल्ट रूप से निजी होते हैं, लेकिन संरचना के सदस्य सार्वजनिक होते हैं। अंतर देखने के लिए आइए इन दो कोडों को देखें। उदाहरण कोड #include <iostream> using namespace std; class my_class

  1. सी ++ में स्थानीय कक्षा

    किसी फ़ंक्शन के अंदर घोषित एक वर्ग को C++ में स्थानीय वर्ग के रूप में जाना जाता है क्योंकि यह उस फ़ंक्शन के लिए स्थानीय होता है। स्थानीय वर्ग का एक उदाहरण इस प्रकार दिया गया है। #include<iostream> using namespace std; void func() {    class LocalClass {    }; } int main()