Transcript for:
वर्चुअल और प्योर वर्चुअल फंक्शन के सिद्धांत

Hello friends, welcome to my YouTube channel Extra Lectures आज हम पढ़ेंगे Virtual Function and Pure Virtual Function Virtual Function ऐसे function होते हैं जिनके आगे keyword लगा रहता है Virtual और जो सिर्फ base class में declare होते हैं और उन्हें हम define, derive class में करते हैं, मतलब ऐसे function जिनके आगे virtual keyword लगा हो और उनका सिर्फ declare होते हैं, परेशन हुआ हो उनकी जो बॉडी रहेगी एक्चुल में उनकी जो फंक्शनालिटी रहेगी वह हम जो डिराइव क्लास या चाइल्ड क्लास रहेगी उसमें हम डिफाइन करेंगे तो ऐसे फंक्शन क्या होते हैं वर्च वर्चुअल फंक्शन जिनकी बॉडी नहीं रहती है जिनकी फंक्शनालिटी नहीं रहती है सिर्फ डिक्लेरेशन रहता है वह फंक्शन होते हैं वर्चुअल फंक्शन डायनमिक होते हैं मींस रन टाइम पर ही एक्सिस्ट करते हैं उन्हें हम स्टाइटिक नहीं बना सकते हैं मतलब कंपाइल टाइम पर हम उन्हें बाइंड नहीं कर सकते हैं वह डाइनमिक इन नेचर रहते हैं हमेशा वह बेस क्लास में ही डिक्लेयर होते हैं और उसे हम रिडिफाइन करते हैं चाइल्ड क्लास में रिडिफाइन रिडिफाइन कैसे करेंगे ओवर राइट करके ओवर राइट में हम उसे उसकी जो फंक्शनालिटी है वो लिखेंगे ओवर राइडिंग के थ्रू तो सिफ बेस क्लास में होने डिक्लेयर करना पड़ता है और उनको ओवर राइट करके हम चाइल क्लास में रिडिफाइन कर सक यहाँ पर हम virtual function को run time पे call करते हैं क्योंकि वो dynamic रहते हैं run time पे ही exist करेंगे static नहीं रहते हैं हम virtual function को access कैसे कर पाएंगे तो हमने कर दिया, redefine कैसे करेंगे, override के थूँ, access कैसे करेंगे हम, उन्हें pointer या reference के थूँ, virtual function को हम access कैसे करेंगे, means call कैसे करेंगे, बाकी function को हम object का नाम dot function के नाम से call कर लेते हैं, but virtual function ऐसे call नहीं होते हैं, virtual function हमेशा pointer, पॉइंटर या रिफरेंस के थूँ ही एकसेस कर पाएंगे हम अब इससे वर्चुअल फंक्शन से हम क्या अचीव कर सकते हैं रन्टाइम पॉलिमोफिस्म पॉइंटर और रिफरेंस के थूँ हम उन्हें एकसेस करेंगे कॉल करेंगे तो अगर इस टाइप से हमने पॉलिमो� वर्चुअल डिस्ट्रक्टर ही होता है वर्चुअल कंस्ट्रक्टर नहीं होता है यहाँ पे हम वर्चुअल कीवर्ड का यूज़ करते हैं वर्चुअल फंक्शन के लिए हम वर्चुअल कीवर्ड का यूज़ करते हैं वर्चुअल कीवर्ड एक और जगे यूज़ होता है मल्टिपल इनहेरिटेंस में डाइमन प्रॉब्लम जो रेज होती है वहाँ पे हम वर्चुल कीवर्ट का यूज़ करते हैं डाइमन प्रॉब्लम को सॉल्व करने के लिए अब प्यॉर वर्चुल फंक्शन क्या होता है प्यॉर वर्चुल फंक्शन तब हम यूज़ करते हैं जब हमें उस क्लास का नाम पता है, उस class के अंदर function क्या-क्या होंगे ये पता है, but उनकी functionality क्या-क्या रहेगी ये नहीं पता है, तो वहाँ पे हम virtual functions का use करते हैं, अब pure virtual function में हम जो भी function, जो भी virtual function, जीरो से इनिशलाइज रहता है वो वर्जुअल फंक्शन क्या हो जाता है प्योर वर्जुअल फंक्शन ऐसा virtual function या ऐसा function जो zero से initialize हो, मतलब उसका सिर्फ नाम पता हो, उसकी body अभी नहीं पता हो, तो ऐसा function क्या हो जाएगा, उसकी body किस से initialize हो, zero से, आगे जाके override करके हम उसे redefine कर सकते हैं, तो ऐसा function जो zero से initialize हो, वो function होता है, वर pure virtual function pure virtual function से हम abstraction या abstract concept को achieve कर सकते हैं एक ऐसी class जिसके अंदर pure virtual function होता है वो class normal class नहीं रहती वो class अब abstract class हो जाती है एक ऐसी class जिसके अंदर pure virtual function, कम से कम एक pure virtual function है अगर, तो वो class अब क्या हो जाएगी, abstract class, यहाँ पे जिसे एक example दिया है, एक animal class के अंदर हमें पता है, उस animal का एक function है move, यह function हमें पता है कि move नाम का एक function होगा, but आगे जाके जब हम उसे inherit करेंगे, तो dog inherit करेगा, तो dog का अपना एक move function रहेगा, वो अलग तरीके से move करता है, उसकी functionality अलग रहेगी, cat है, तो cat भी move करती है, move function को achieve करती है, but inherit कर रही है वो, but उसकी अपनी एक functionality रहेगी, वो अलग type से move करेगी, एक और class है kangaroo, तो kangaroo अलग type से move करता है, वो इस function को use कर रहा है, but उसकी उसकी जो body रहेगी, उसकी जो functionality रहेगी, या उसकी जो definition रहेगी, वो अलग-अलग रहेगी, तो वहाँ पे हम pure virtual function का use कर सकते हैं, प्यूर वर्चुअल फंक्शन जीरो से इनिशलाइज होता है, कैसे चेक करेंगे हम कि ये प्यूर वर्चुअल फंक्शन है कि नहीं, ऐसा कोई भी फंक्शन जो जीरो से इनिशलाइज हो, वो फंक्शन प्यूर वर्चुअल फंक्शन होता है, इससे हम आगे ओवराइट कर स एक pure virtual function है अगर तो वो class क्या हो जाती है abstract class, abstract class क्या होती है एसी class जिसके अंदर pure virtual function होता है, pure virtual function क्या होता है जो function 0 से initialize किया जाता है, कैसे syntax क्या है pure virtual function का, कैसे हम बनाएंगे pure virtual function, virtual keyword का use करेंगे, function की return type लिखेंगे, function का नाम लिखेंगे, zero से initialize कर देंगे अब आगे child class या derived class में हम उसे define करेंगे, overwrite करने के through, तो आज हमने देखा virtual function क्या होता है pure virtual function क्या होता है और appsec class क्या होती है so I hope so आपको ये concept clear है thank you, like, share, comments