C ++ प्रोग्रामिंग डिफ़ॉल्ट तर्क (पैरामीटर)

इस ट्यूटोरियल में, हम उदाहरणों की मदद से C ++ डिफ़ॉल्ट तर्क और उनके काम सीखेंगे।

C ++ प्रोग्रामिंग में, हम फंक्शन पैरामीटर के लिए डिफ़ॉल्ट मान प्रदान कर सकते हैं।

यदि डिफ़ॉल्ट तर्कों के साथ एक फ़ंक्शन को पास किए गए तर्कों के बिना कहा जाता है, तो डिफ़ॉल्ट मापदंडों का उपयोग किया जाता है।

हालाँकि, यदि फ़ंक्शन को कॉल करते समय तर्क पारित किए जाते हैं, तो डिफ़ॉल्ट तर्क को अनदेखा कर दिया जाता है।

डिफ़ॉल्ट तर्कों का कार्य करना

डिफ़ॉल्ट तर्क C ++ में कैसे काम करते हैं

हम ऊपर की छवि से डिफ़ॉल्ट तर्कों के काम को समझ सकते हैं:

  1. जब temp()कहा जाता है, तो फ़ंक्शन द्वारा दोनों डिफ़ॉल्ट पैरामीटर का उपयोग किया जाता है।
  2. जब temp(6)कहा जाता है, तो पहला तर्क बन जाता है 6जबकि दूसरे पैरामीटर के लिए डिफ़ॉल्ट मान का उपयोग किया जाता है।
  3. जब temp(6, -2.3)कहा जाता है, तो दोनों डिफ़ॉल्ट पैरामीटर ओवरराइड होते हैं, जिसके परिणामस्वरूप i = 6और f = -2.3
  4. जब temp(3.4)पारित किया जाता है, तो फ़ंक्शन अवांछित तरीके से व्यवहार करता है क्योंकि पहले तर्क को पारित किए बिना दूसरा तर्क पारित नहीं किया जा सकता है।
    इसलिए, 3.4पहले तर्क के रूप में पारित किया जाता है। चूंकि पहले तर्क को परिभाषित किया गया है int, इसलिए वास्तव में पारित मूल्य है 3

उदाहरण: डिफ़ॉल्ट तर्क

 #include using namespace std; // defining the default arguments void display(char = '*', int = 3); int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both arguments passed: "; // $, 5 will be parameters display('$', count); return 0; ) void display(char c, int count) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; )

आउटपुट

 कोई तर्क नहीं दिया गया: *** पहला तर्क पारित: ### दोनों तर्क पारित: $$$$$

यहां बताया गया है कि यह कार्यक्रम कैसे काम करता है:

  1. display()किसी भी तर्क को पारित किए बिना कहा जाता है। इस स्थिति में, display()डिफ़ॉल्ट पैरामीटर c = '*'और दोनों का उपयोग करता है n = 1
  2. display('#')केवल एक तर्क के साथ कहा जाता है। इस मामले में, पहला बन जाता है '#'। दूसरा डिफ़ॉल्ट पैरामीटर n = 1बरकरार है।
  3. display('#', count)दोनों तर्कों के साथ कहा जाता है। इस स्थिति में, डिफ़ॉल्ट तर्क का उपयोग नहीं किया जाता है।

हम फ़ंक्शन परिभाषा में डिफ़ॉल्ट मापदंडों को भी परिभाषित कर सकते हैं। नीचे दिया गया कार्यक्रम ऊपर दिए गए के बराबर है।

 #include using namespace std; // defining the default arguments void display(char c = '*', int count = 3) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; ) int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both argument passed: "; // $, 5 will be parameters display('$', count); return 0; )

याद रखने वाली चीज़ें

  1. एक बार जब हम एक पैरामीटर के लिए एक डिफ़ॉल्ट मान प्रदान करते हैं, तो बाद के सभी मापदंडों में डिफ़ॉल्ट मान भी होना चाहिए। उदाहरण के लिए,
     // Invalid void add(int a, int b = 3, int c, int d); // Invalid void add(int a, int b = 3, int c, int d = 4); // Valid void add(int a, int c, int b = 3, int d = 4);
  2. यदि हम फ़ंक्शन प्रोटोटाइप के बजाय फ़ंक्शन परिभाषा में डिफ़ॉल्ट तर्कों को परिभाषित कर रहे हैं, तो फ़ंक्शन को फ़ंक्शन कॉल से पहले परिभाषित किया जाना चाहिए।
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

दिलचस्प लेख...