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

सी ++ में टेम्पलेट विशेषज्ञता

सी ++ में, टेम्प्लेट का उपयोग सामान्यीकृत कार्यों और कक्षाओं को बनाने के लिए किया जाता है। इसलिए हम किसी भी प्रकार के डेटा का उपयोग कर सकते हैं जैसे int, char, float, या कुछ उपयोगकर्ता परिभाषित डेटा भी टेम्प्लेट का उपयोग करके।

इस खंड में, हम देखेंगे कि टेम्पलेट विशेषज्ञता का उपयोग कैसे करें। तो अब हम विभिन्न प्रकार के डेटा के लिए कुछ सामान्यीकृत टेम्पलेट को परिभाषित कर सकते हैं। और विशेष प्रकार के डेटा के लिए कुछ विशेष टेम्पलेट फ़ंक्शन। आइए बेहतर विचार प्राप्त करने के लिए कुछ उदाहरण देखें।

उदाहरण कोड

#include<iostream>
using namespace std;
template<typename T>
void my_function(T x) {
   cout << "This is generalized template: The given value is: " << x << endl;
}
template<>
void my_function(char x) {
   cout << "This is specialized template (Only for characters): The given value is: " << x << endl;
}
main() {
   my_function(10);
   my_function(25.36);
   my_function('F');
   my_function("Hello");
}

आउटपुट

This is generalized template: The given value is: 10
This is generalized template: The given value is: 25.36
This is specialized template (Only for characters): The given value is: F
This is generalized template: The given value is: Hello

कक्षाओं के लिए टेम्पलेट विशेषज्ञता भी बनाई जा सकती है। आइए सामान्यीकृत वर्ग और विशिष्ट वर्ग बनाकर एक उदाहरण देखें।

उदाहरण कोड

#include<iostream>
using namespace std;
template<typename T>
class MyClass {
   public:
      MyClass() {
         cout << "This is constructor of generalized class " << endl;
      }
};
template<>
class MyClass <char>{
   public:
      MyClass() {
         cout << "This is constructor of specialized class (Only for characters)" << endl;
      }
};
main() {
   MyClass<int> ob_int;
   MyClass<float> ob_float;
   MyClass<char> ob_char;
   MyClass<string> ob_string;
}

आउटपुट

This is constructor of generalized class
This is constructor of generalized class
This is constructor of specialized class (Only for characters)
This is constructor of generalized class

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

    इस लेख में हम सी++ एसटीएल में काम करने, वाक्य रचना और std::is_final टेम्पलेट के उदाहरणों पर चर्चा करेंगे। is_final एक टेम्प्लेट है जो हैडर फ़ाइल के अंतर्गत आता है। इस टेम्पलेट का उपयोग यह जांचने के लिए किया जाता है कि दिया गया प्रकार T अंतिम वर्ग है या नहीं। C++ में फाइनल क्लास क्या है? जब हम अंत

  1. सी++ प्रोग्राम में खाका विशेषज्ञता?

    इस ट्यूटोरियल में, हम C++ में टेम्प्लेट विशेषज्ञता को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे। सॉर्ट () जैसे मानक कार्यों का उपयोग किसी भी डेटा प्रकार के साथ किया जा सकता है और वे उनमें से प्रत्येक के साथ समान व्यवहार करते हैं। लेकिन अगर आप किसी विशेष डेटा प्रकार (यहां तक ​​कि उपयोगकर्ता परिभाषित

  1. सी ++ में टेम्पलेट मेटाप्रोग्रामिंग

    जब हम एक टेम्पलेट का उपयोग करके संकलन समय पर गणना करने के लिए प्रोग्राम लिखते हैं, जिसे टेम्प्लेट मेटाप्रोग्रामिंग कहा जाता है। उदाहरण कोड #include <iostream> using namespace std; template<int n>struct power {    enum { value = 4*power<n-1>::value }; }; template<>