Function overloading in C++ in Hindi

What is function overloading in C++ in Hindi

Function overloading एक ऐसी प्रक्रिया है जिसमें एक ही function name का प्रयोग अलग – अलग कार्यों को करने के लिए किया जाता हैं। इसमें एक ही नाम के एक से अधिक function होते हैं तथा कौन से function को call व execute किया जायेगा यह उनके arguments पर निर्भर करता हैं। Compiler pass किए गए arguments की संख्या एवं टाईप के अनुसार function को call करता हैं।

C++ में Operator Overloading क्या होता है? यह कितने प्रकार का होता है? जानने के लिए देखें—Operator overloading in C++

Function overloading का उपयोग उस समय होता है जब हम एक ही तरह के एक से अधिक कार्य करना चाहते है किन्तु कार्य समान होने के कारण कार्य को करने वाले function का नाम भी समान रखना चाहते है। C++ में ऐसा हम function overloading की सहायता से बड़ी आसानी से कर सकते है। उदाहरण के लिए गणित में विभिन्न आकृतियों जैसे— वर्ग, आयत आदि का क्षेत्रफल ज्ञात करते समय हम area() नाम से function बनाकर यह कार्य करना चाहेंगें न कि अलग-अलग नाम से function बनाना चाहेंगें।

Function overloading compile time polymorphism का उदाहरण हैं जिसमें कौन से function को call लगना है यह program के compilation के समय ही निर्धारित हो जाता हैं।

Function overloading in C++ in Hindi

Example program for function overloading in C++

#include<iostream>
using namespace std;
class maths
{
    private:
        int a,b,res;
    public:
        void area(int);
        void area(int,int);
};
void maths::area(int x)
{
    a=x;
    res=a*a;
    cout<<"Area of square = "<<res<<endl;
}
void maths::area(int x, int y)
{
    a=x, b=y;
    res=a*b;
    cout<<"Area of rectangle = "<<res<<endl;
}
int main()
{
    int a,b;
    maths m;
    cout<<"Enter side of square: ";
    cin>>a;
    m.area(a);
    cout<<"Enter length and width of rectangle: ";
    cin>>a>>b;
    m.area(a,b);
    return 0;
}

Output:

Enter side of square: 3
Area of square = 9
Enter length and width of rectangle: 3 4
Area of rectangle = 12

C++ में Friend function क्या होता है जानने के लिए देखें—Friend Function in C++

Share it to:

Friend function in C++ in Hindi

What is friend function in C++ in Hindi

हम जानते हैं कि OOPs को किसी एक class के private member के द्वारा ही access किया जा सकता हैं। किसी दूसरे class के member function private data को access नहीं कर सकते हैं किन्तु कई बार program बनाते समय ऐसी आवश्यकता होती है कि दूसरे class के function class के private data को access करे। ऐसा करने के लिए एक class के member function को किसी दूसरे class का friend function declare करना पड़ता हैं।

C++ में function क्या होता है अधिक जानने के लिए देखें—Functions in C++

इसके लिए C++ में friend keyword का प्रयोग किया जाता हैं। जब हम एक class के member function को friend keyword का प्रयोग कर दूसरे class का friend function बनाते हैं, तो इसको दूसरे class के private member को access करने का अधिकार मिल जाता हैं। किन्तु friend function private members को सीधे- सीधे access नहीं कर सकता है इसके लिए उसको उस class के object का प्रयोग करना पड़ता हैं।

Friend function in C++ in Hindi

Characteristics of friend function in C++ in Hindi

  1. Friend function उस class का member नहीं होता जिसमें इसे friend declare किया जाता हैं।
  2. चूंकि यह class का member नहीं होता इसलिए इसे उस class के object के द्वारा call भी नहीं किया जा सकता है।
  3. इसे बिना किसी object के किसी normal function की तरह call किया जा सकता हैं।
  4. यह class के private member को member function की तरह सीधे-सीधे use नहीं कर सकता हैं। इसके लिए यह उस class के object का प्रयोग करता हैं।
  5. इसे class के public व private दोनों ही section में प्रयोग किया जा सकता हैं।
  6. सामान्यतः friend function  में object को argument के रूप में pass किया जाता हैं।

C++ में this pointer क्या है जानने के लिए देखें—This pointer in C++

Example program for friend function in C++

#include<iostream>
using namespace std;
class A;
class B
{
    private:
        int r, s, res;
    public:
        void sum(A);
};
class A
{
    private:
        int p, q, res;
    public:
        friend void B::sum(A);
};
void B::sum(A a)
{
    cout<<"Enter p: ";
    cin>>a.p;
    cout<<"Enter q: ";
    cin>>a.q;
    a.res=a.p+a.q;
    cout<<"sum p+q = "<<a.res<<endl;
    cout<<"Enter r: ";
    cin>>r;
    cout<<"Enter s: ";
    cin>>s;
    res=r+s;
    cout<<"sum r+s = "<<res<<endl;
}
int main()
{
    A a1;
    B b1;
    b1.sum(a1);
    return 0;
}

Output:

Enter p: 2
Enter q: 3
sum p+q = 5

Enter r: 4
Enter s: 1
sum r+s = 5
Share it to: