Notes in Hindi

Object as Argument in Hindi

/ BCA / Programming with C and CPP

Object as Argument in Hindi

Object as Argument in Hindi

What is Object as Argument in Hindi

जब हम function को किसी class के object को argument के रूप में भेजते हैं, तो इसे Object as Argument कहा जाता है। यह Object oriented programming की एक बहुत ही महत्वपूर्ण विशेषता होती है, खासकर C++ जैसी भाषाओं में। जैसे हम एक normal variable (int, float, char) को function में parameter के रूप में भेजते हैं, वैसे ही हम object को भी भेज सकते हैं।

इसका मुख्य उद्देश्य होता है कि हम एक function को किसी class के object का उपयोग करके data provide करें, ताकि वह function उस object पर कोई operation कर सके। इससे हमारा code modular, reusable और readable बनता है।

Passing Object by Value in Hindi

जब हम किसी function को object को value के रूप में भेजते हैं, तो इसका मतलब यह होता है कि object की एक copy function को दी जाती है। इसका सीधा मतलब यह है कि function के अंदर object में जो भी बदलाव होते हैं, वे केवल उस copy तक सीमित रहते हैं। original object पर कोई असर नहीं पड़ता।

उदाहरण:

#include <iostream>
using namespace std;

class Student {
  public:
    int marks;

    void setMarks(int m) {
      marks = m;
    }

    void showMarks() {
      cout << "Marks: " << marks << endl;
    }
};

void update(Student s) {
  s.marks += 10;
  cout << "Updated inside function: " << s.marks << endl;
}

int main() {
  Student s1;
  s1.setMarks(80);
  update(s1);
  s1.showMarks();
  return 0;
}

Output:

Updated inside function: 90
Marks: 80

इस example से साफ पता चलता है कि function में जो object गया था, उसकी copy में बदलाव हुआ, original object में कोई बदलाव नहीं हुआ।

Passing Object by Reference in Hindi

जब हम किसी function को object को reference के रूप में पास करते हैं, तो इसका अर्थ होता है कि हम actual object का address function को दे रहे हैं। अब अगर function उस object में कोई भी change करता है, तो वह actual object में reflect होता है।

उदाहरण:

#include <iostream>
using namespace std;

class Student {
  public:
    int marks;

    void setMarks(int m) {
      marks = m;
    }

    void showMarks() {
      cout << "Marks: " << marks << endl;
    }
};

void update(Student &s) {
  s.marks += 10;
  cout << "Updated inside function: " << s.marks << endl;
}

int main() {
  Student s1;
  s1.setMarks(80);
  update(s1);
  s1.showMarks();
  return 0;
}

Output:

Updated inside function: 90
Marks: 90

यहां object को reference के रूप में pass किया गया, इसलिए function द्वारा किया गया बदलाव actual object में भी reflect हुआ।

Benefits of Object as Argument in Hindi

  • Code Reusability: जब हम object को argument के रूप में पास करते हैं, तो एक ही function को multiple objects के साथ use किया जा सकता है। इससे code बार-बार लिखने की आवश्यकता नहीं होती।
  • Encapsulation का पालन: object में data और function दोनों encapsulated रहते हैं, और जब हम object को pass करते हैं, तो उसी structure का पालन होता है।
  • Data Sharing: जब object को reference से pass किया जाता है, तो functions के बीच actual data share होता है।
  • Memory Efficient: reference से object को pass करना memory के लिए efficient होता है क्योंकि यह object की copy नहीं बनाता।
  • Real-world representation: object-based arguments से हम real-world scenarios को program में आसानी से simulate कर सकते हैं, जैसे student, employee, product आदि।

Difference Table between Value and Reference

Aspect Passing by Value Passing by Reference
Object Copy एक copy बनती है कोई copy नहीं बनती
Original Object पर असर नहीं पड़ता सीधा असर पड़ता है
Memory Usage ज्यादा memory use होती है कम memory use होती है
Speed थोड़ा slow हो सकता है fast होता है

Important Points in Hindi

  • Object को argument के रूप में pass करना एक बहुत ही जरूरी concept है Object Oriented Programming में।
  • Value से pass करने पर function object की copy पर काम करता है।
  • Reference से pass करने पर function actual object को modify कर सकता है।
  • Reference passing ज्यादा efficient और real-time applications के लिए उपयुक्त होता है।

Real Life Example for Better Understanding

मान लीजिए आपके पास एक Student class है और आप 100 students के लिए result calculate करना चाहते हैं। आप एक function बनाते हैं जो result निकालता है और उसमें हर बार student का object भेजते हैं। यह function उसी object के data को पढ़ता और modify करता है। इस तरह object को function में भेजना बहुत ही powerful technique होती है।

उसी तरह bank application में account object को function में भेजकर balance update किया जा सकता है। यह सभी काम object as argument द्वारा ही संभव होते हैं।

FAQs

जब हम किसी function को class के object को parameter के रूप में भेजते हैं, तो उसे Object as Argument कहा जाता है। इससे हम उस object के data को function के अंदर use या modify कर सकते हैं।
Value से pass करने पर object की copy function को दी जाती है और changes original object पर असर नहीं डालते। Reference से pass करने पर original object का address function को मिलता है और changes original object को प्रभावित करते हैं।
इससे code reusable, modular और efficient बनता है। साथ ही, data encapsulation और memory efficiency में भी मदद मिलती है। यह real-world problems को logically represent करने में भी उपयोगी होता है।
हाँ, जब object को reference से pass किया जाता है तो function original object पर सीधे काम करता है, जिससे उसमें बदलाव संभव होता है।
C++ एक Object Oriented Language है और object को argument के रूप में pass करना programming को modular, readable और real-world के closer बनाता है। इससे same function को multiple objects के साथ use किया जा सकता है।

Please Give Us Feedback