Hello दोस्तों! आज हम इस पोस्ट में Virtual Function in C++ in Hindi (वर्चुअल फंक्शन क्या है?) के बारें में पढेंगे और इसके examples को भी देखेंगे. इसे आप पूरा पढ़िए, आपको यह आसानी से समझ में आ जायेगा. तो चलिए start करते हैं:-
Virtual Function in C++ in Hindi
C++ में, Virtual function एक member function होता है जिसे base class के अंदर declare किया जाता है और इसे derived class के द्वारा override किया जाता है.
- इसे virtual कीवर्ड का प्रयोग करके declare किया जाता है.
- Virtual function का प्रयोग मुख्यतया runtime polymorphism को प्राप्त करने के लिए किया जाता है. अर्थात् इसका प्रयोग function पर late binding करने के लिए किया जाता है.
- इसमें function call जो है वह run-time में पूरा होता है.
- वर्चुअल फंक्शन यह सुनिश्चित करता है कि object के लिए सही function को call किया गया है.
Rules for Virtual Function – वर्चुअल फंक्शन के नियम
इसके लिए rules निम्नलिखित है जिन्हें हमें ध्यान में रखना जरुरी होता है.
- virtual functions कभी-भी static members नहीं हो सकते.
- ये दूसरी class के friend function नहीं हो सकते.
- वर्चुअल फंक्शन को class के public section में अवश्य declare किया जाना चाहिए.
- Run time polymorphism को प्राप्त करने के लिए वर्चुअल फंक्शन को pointer का प्रयोग करके access किया जाना चाहिए.
- virtual functions का prototype हमेशा base class और derived class में same होना चाहिए.
- एक class के पास virtual destructor तो हो सकता है परन्तु इसके पास virtual constructor नहीं हो सकता.
- Virtual function को base class में अवश्य define किया जाना चाहिए.
Virtual function का example –
#include <iostream>
using namespace std;
class Base
{
public:
virtual void show()
{
cout << "Base class\n";
}
};
class Derived:public Base
{
public:
void show()
{
cout << "Derived Class";
}
}
int main()
{
Base* b;
Derived d;
b = &d;
// // virtual function, binded at runtime
b->show();
}
इसका आउटपुट – Derived class
ऊपर दिए गये program में base class के show() फंक्शन को virtual के रूप में declare किया है. इसलिए इसे function को override किया जा सकता है.
Pure virtual function in C++ in Hindi
एक pure virtual function एक virtual function होता है जिसके लिए हमें function definition को लिखने की जरूरत नहीं पड़ती और इसे सिर्फ declare किया जाता है. इसे declaration में 0 assign करके declare किया जाता है.
C++ में, वह class जिसके पास कम से कम एक virtual function होता है उसे abstract class कहते हैं.
इसका example –
#include<iostream>
using namespace std;
class B {
public:
virtual void s() = 0; // Pure Virtual Function
};
class D:public B {
public:
void s() {
cout << "Virtual Function in Derived class";
}
};
int main() {
B *b;
D dobj;
b = &dobj;
b->s();
}
इसका आउटपुट – Virtual Function in Derived class
निवेदन:- मुझे आशा है कि आपके लिए यह आर्टिकल उपयोगी रहा होगा. अगर आपके लिए यह helpful रहा हो तो इसे friends और classmates के साथ अवश्य share कीजिये. जिससे कि उनकी भी मदद हो पाए.