हेल्लो दोस्तों आज के इस पोस्ट में आपको c++ template in hindi के बारे में बताया गया है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
c++ templates का परिचय
templates c++ का एक important feature होता है templates c++ में generic programming की ability provide करते है generic programming में आप generic type के function और classes को क्रिएट करते है
generic type के functions और classes दुसरे types (int,float,double आदि) से independent होते है इसलिए जो data type आप parameter के रूप में pass करते है generic function और class उसी type के लिए अलग से function और classes लिखने की आवश्यकता नहीं होती है और आपके program में unnecessary कोड नहो होती है
templates के मध्यम से आप c++ में generic type के function और classes को क्रिएट करते है templates classes और function को parameters के साथ डिफाइन किया जाता है ये parameter actual data type के द्वारा replace कर दिया जाता है और फिर function और classes उसी type के बन जाते है
तो आएये अब c++ में tempate function और classes के बारे में जानने का प्रयास करते है
c++ template function
एक template function किसी normal function की तरह ही होती है बस फर्क सिर्फ इतना होता है की एक template function कई तरह के data type (int,float आदि) के लिएय execute हो सकता है यदि आप function के द्वारा अलग अलग data types के लिएय को identical task को perform करना चाहते है तो आप एक template function को क्रिएट कर सकते है
example के लिएय यदि आप addition का function को create करते है तो हर data type(int,float आदि) के लिए आपको अलग function को क्रिएट करना होगा integer type के लिए क्रिएट किया गया addition function float वैल्यूज को नहीं add करेगा
जैसा की आपको पता है की task एक ही (addition) है पर आपको function अलग अलग क्रिएट करने होंगे ऐसी situation में आप सिर्फ एक addition का template function क्रिएट कर सकते है जो जरूरत पड़ने पर integer और float दोनों को add कर देगा
हलाकि ये काम आप function overloading के द्वारा भी कर सकते है लेकिन उसमे भी आपको बहुत ही अधिक कोड लिखना होगा template function को क्रिएट करने से आपको कोड भी कम लिखना पड़ेगा और काम भी आप आसानी से कर पायेगा
तो आएये अब देखते है की c++ में आप किस प्रकार एक template function को क्रिएट कर सकते है इसका general syntax निचे दिया जा रहा है
template<class T> return-type function-name(argument with type T) { //statement to be executed (with T type) }
उपर दिए गए syntax में T एक parameter है जो की अलग अलग data type के द्वारा replace कर दिया जाता है और class के keyword है class की जगह आप typename भी प्रयोग कर सकते है basically ये बताता है की यहाँ के data type का नाम pass किया जायेगा तो आएये अब इसे एक example से समझने करते है
#include<iostream> Using namespace std; Template<class T> //template Function T add(T x,T y) { Return x+y; } Int main() { Cout<<”sum of 5 & 3 is : ”<<add(5,3); //adding integers Cout<<”sum of 5.2 & 3.2 is <<add(5.2,3.2); //adding floats Return 0; }
जैसा की आप उपर दिए गए example में देख प् रहा है की एक ही function के द्वारा integer और floating point दोनों तरह की वैल्यूज को add किया जा रहा है ऐसा सिर्फ template function के द्वारा ही संभव है ये program निचे दिया गया output को generate करती है
sum of 5 & 3 is : 8 sum of 5.3 & 3.2 is : 8.4
c++ template classes
कभी कभी ऐसा भी होता है की आप अलग अलग data type के साथ ऐसा एक साथ जैसी classes को क्रिएट करते है जैसे की आप एक class बनाते है तो की किसी number को object construct करते समय argument के रूप में लेती है और बाद में display() function के द्वारा इस number को display करती है इस प्रकार आपको हर तरह (int,float,double) के number के लिए अलग से class क्रिएट करनी होगी ऐसी situation में आप template class क्रिएट कर सकते है
कभी ऐसा भी हो सकता है की आपको program बनाते समय ये पता न हो की यूजर किस प्रकार की वैल्यूज enter करेगा यानी की आपको ये पता न हो तो आपकी class के data members (variable) किस type के होंगे example के लिए यूजर का current bank balance whole number भी हो सकती है और floating point number भी हो सकती है इस situation में भी आप template classes को क्रिएट कर सकते है
जब आप template class को क्रिएट करते है तो उसके सभी function को आप आसानी से template function बना सकते है तो आएये अब देखते है की आप किस प्रकार एक template class को क्रिएट कर सकते है जिसका general syntax निचे दिया जा रहा है
template<class T> class class-name { //statement with T data type as required }
उपर दिए गए उपर दिए गए syntax में जैसा की आपको पता है की template एक keyword है और <class T> actual data type के लिए placeholder है
template class के object को क्रिएट करने का तरीका भी आलग होता है जिसका syntax निचे दिया जा रहा है
class-name<data-type>object-name(argument-list);
तो आएये अब template classes को एक complete example के माध्यम से समझने का प्रयास करते है
#include<iostream> Using namespace std; Template<class T> Class NumDisplay { Private: T num; Public: NumDisplay(T n) { Num=n; } Void display() { Cout<<”number is :”<<num; } }; Int main() { NumDisplay<float>obj(5.2); //passing data type & float value to constructor Obj.display(); Return 0; }
उपर दिए गए example में जब object construct होगा तो T float के द्वारा replace कर दिया जायेगा और class में declare किया गया num variable float type का बन जायगा इस प्रकार template classes के मध्यम से ऐसी situation को भी handle कर सकते है जब आपको पता न तो हो की यूजर किस तरह की value enter करेगा ये program निचे दिया गया output को generate करता है
Number : 5.2
reference-https://www.geeksforgeeks.org/templates-cpp/
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c++ template in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों(c++ template in hindi) को जरुर बताये और -अगर कोई topic(c++ template in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(c++ template in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट करे