/ Undifined / Introduction to C++ virtual functions

Introduction to C++ virtual functions



Introduction to C++ virtual functions
C++ आपको polymorphism की capability provide करती है। Polymorphism का मतलब एक interface से कई तरह के अलग अलग codes को execute करना होता है। जैसा की function overloading और constructor overloading में आप करते है।

Function overloading में आप एक ही नाम के function को अलग अलग data types के साथ create करते है। इसके बाद function को call करवाते समय user जिस तरह का data type pass करते है उसके अनुसार function की appropriate definition execute हो जाती है। इसे run-time polymorphism कहा जाता है। क्योंकि इसमें run time पर decide किया जाता है की function की कौनसी definition execute होगी।

उसी प्रकार pointers के माध्यम से भी आप polymorphism achieve कर सकते है। सिर्फ base class के pointer से ही आप दोनों classes के functions को execute करवा सकते है। ऐसा virtual functions के माध्यम से किया जाता है। Virtual functions के बारे में और अधिक जानने से पहले आपको ये जानने की जरुरत है की virtual functions की जरुरत क्यों पड़ी। इसे निचे एक उदाहरण के माध्यम से समझाया जा रहा है।

उदाहरण के लिए मान लीजिये आपने एक class create की है जिसका नाम color है। इस class में आपने display() नाम से एक function भी create किया हुआ है।

class Color
{
     public:
            void display()
            {
                 cout<<"Red Green Blue";
            } 
};
  
Color class को एक दूसरी class inherit करती है जिसका नाम RedColor है। इस class में भी एक display() नाम का function create किया गया है।

class RedColor : public Color
{
      public:
              void display()
              {
                       cout<<"Red";              
              }
};
 
मान लीजिये आपmain() function मेंbase class का एक pointer create करते है। सबसे पहले आप इस pointer कोbase class object assign करते है और फिरpointer के माध्यम सेbase class काdisplay() function call करते है। जब आप ऐसा करते है तोdisplay() function "Red Green Blue" print करता है।

about author

Blogger Sens it website about blogger templates and blogger widgets you can find us on social media
Previous Post :Go to tne previous Post
Next Post:Go to tne Next Post

No comments:

Post a Comment