Default Argument in Hindi
/ BCA / Programming with C and CPP
Default Argument in C Explained
Default Argument in Hindi
What is Default Argument in C in Hindi
जब हम किसी function को बनाते हैं, तो उसमें कुछ parameters या arguments होते हैं जिनकी मदद से हम values पास करते हैं। लेकिन कई बार हम चाहते हैं कि अगर कोई user किसी argument की value न दे, तो भी function सही तरीके से काम करे। ऐसे मामलों में हम Default Argument का इस्तेमाल करते हैं।
Default Argument का मतलब है – एक ऐसी value जो किसी argument को पहले से ही दी हुई हो। अगर function call करते समय उस argument के लिए कोई value नहीं दी जाती, तो वो default value अपने आप ले लेता है। लेकिन अगर value दी जाती है, तो वही value उपयोग होती है।
Syntax and Rules of Default Argument in Hindi
C language में default arguments की direct support नहीं होती, लेकिन C++ language में इसका use बहुत अच्छे से किया जाता है। इसलिए Default Argument की concept ज्यादा C++ से जुड़ी हुई होती है। फिर भी concept समझने के लिए ये syntax देखें:
void functionName(int a, int b = 10);
ऊपर वाले example में parameter b को default value 10 दी गई है। इसका मतलब ये है कि अगर हम function को सिर्फ एक value देकर call करें, तो दूसरी value अपने आप 10 ले लेगी।
Important Rules:
- Default arguments को हमेशा right-most यानी आखिरी parameters को ही दिए जा सकते हैं।
- अगर किसी function में एक से ज्यादा parameters हैं, तो default arguments सबसे आखिर में दिए जाने चाहिए।
- Function call करते समय अगर आप default value के बदले खुद से value देंगे, तो वही मानी जाएगी।
- Default Argument को सिर्फ function के declaration में define करना चाहिए, definition में नहीं।
Function Overloading with Default Argument in Hindi
Function Overloading का मतलब है एक ही नाम के कई function, लेकिन उनके parameters अलग-अलग हो सकते हैं। जब हम function overloading के साथ default arguments का use करते हैं, तो थोड़ा ध्यान देना पड़ता है क्योंकि इससे compiler को confusion हो सकता है कि किस function को call किया जाए।
// Example in C++
#include <iostream>
using namespace std;
void display(int a) {
cout << "Value: " << a << endl;
}
void display(int a, int b = 20) {
cout << "Values: " << a << ", " << b << endl;
}
int main() {
display(5); // Error: Ambiguity due to overloading with default argument
return 0;
}
ऊपर के code में compiler को समझ नहीं आता कि कौन सा display() function call करना है क्योंकि दोनों match करते हैं। इस स्थिति को ambiguity कहते हैं। इसलिए function overloading करते समय default argument का इस्तेमाल ध्यान से करना चाहिए।
Benefits and Limitations of Default Argument in Hindi
Benefits (फायदे):
- Code Reusability: एक ही function को अलग-अलग तरीकों से call किया जा सकता है।
- Function Call आसान बनाता है: User को हमेशा सभी parameters देने की जरूरत नहीं पड़ती।
- Readability बढ़ती है: Function concise और simple दिखते हैं।
- Overloading की जरूरत कम होती है: कई बार सिर्फ default argument से ही जरूरत पूरी हो जाती है।
Limitations (सीमाएँ):
- C Language में सपोर्ट नहीं: Default Argument C में available नहीं होता, यह C++ की विशेषता है।
- Ambiguity की संभावना: Function Overloading के साथ इस्तेमाल करने पर compiler को confusion हो सकता है।
- Readability की कमी: अगर बहुत सारे default arguments दिए जाएँ तो समझना मुश्किल हो सकता है कि कौन सी value कहाँ से आ रही है।
- Debugging मुश्किल हो सकती है: कई बार गलत value pass होने पर पता लगाना कठिन हो जाता है कि किस argument की वजह से issue आया।
Default Argument का एक Simple Example in Hindi
// C++ Program using default argument
#include <iostream>
using namespace std;
void greet(string name = "Student") {
cout << "Hello, " << name << "!" << endl;
}
int main() {
greet(); // Output: Hello, Student!
greet("Anjali"); // Output: Hello, Anjali!
return 0;
}
ऊपर के उदाहरण में function greet को दो बार call किया गया है। पहली बार बिना कोई parameter दिए और दूसरी बार "Anjali" नाम का parameter दिया। अगर कोई parameter न मिले तो default value "Student" का इस्तेमाल होता है।
Default Argument के साथ Real-Life Example in Hindi
#include <iostream>
using namespace std;
void bookTicket(string name, string train = "Rajdhani Express", int seat = 1) {
cout << "Passenger Name: " << name << endl;
cout << "Train Name: " << train << endl;
cout << "Seat Number: " << seat << endl;
}
int main() {
bookTicket("Rahul"); // सिर्फ नाम देने पर train और seat default होगी
bookTicket("Sita", "Shatabdi Express", 5); // सभी values manually
return 0;
}
यह एक practical उदाहरण है जहां किसी यात्री की train ticket बुक की जा रही है। अगर सिर्फ नाम दिया जाए तो बाकी values default से भर जाएँगी।
Default Argument और Function Overloading में अंतर in Hindi
| बिंदु | Default Argument | Function Overloading |
|---|---|---|
| मूल विचार | Parameters को default value देना | एक ही नाम से multiple function बनाना |
| Syntax | void fun(int a = 10) | void fun(int), void fun(float) |
| Code Size | Code छोटा होता है | Code बड़ा होता है |
| Usage | सिर्फ कुछ parameters देना हो | जब अलग-अलग प्रकार के parameters देने हों |
इस table से आपको साफ समझ में आ जाएगा कि कब Default Argument का use करना चाहिए और कब Function Overloading का।
FAQs
void functionName(int a, int b = 10);इसमें parameter
b को 10 की default value दी गई है। अगर function call करते समय b की value न दी जाए तो ये अपने आप 10 ले लेगा।