virtual-functions पर टैग किए गए जवाब

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एक वर्चुअल फंक्शन या वर्चुअल मेथड एक फंक्शन या मेथड है, जिसका व्यवहार एक ही सिग्नेचर के साथ एक फंक्शन द्वारा इनहेरिटिंग क्लास के भीतर ओवरराइड किया जा सकता है। यह अवधारणा ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के बहुरूपता वाले हिस्से का एक बहुत महत्वपूर्ण हिस्सा है।

27
सार फ़ंक्शन और वर्चुअल फ़ंक्शन के बीच अंतर क्या है?
सार फ़ंक्शन और वर्चुअल फ़ंक्शन के बीच अंतर क्या है? आभासी या सार का उपयोग करने के लिए किन मामलों में सिफारिश की जाती है? सबसे अच्छा तरीका कौन सा है?

25
हमें C ++ में आभासी कार्यों की आवश्यकता क्यों है?
मैं C ++ सीख रहा हूं और मैं अभी वर्चुअल फ़ंक्शंस में शामिल हो रहा हूं। मैंने जो कुछ पढ़ा है (पुस्तक और ऑनलाइन में) से, वर्चुअल फ़ंक्शंस बेस क्लास में फ़ंक्शंस हैं जिन्हें आप व्युत्पन्न कक्षाओं में ओवरराइड कर सकते हैं। लेकिन पहले किताब में, जब मैं मूल विरासत …

7
अगर मैं इसे ओवरराइड कर रहा हूं तो क्या मैं बेस क्लास के वर्चुअल फंक्शन को कॉल कर सकता हूं?
कहो कि मेरे पास कक्षाएं हैं Fooऔर Barइस तरह सेट करें: class Foo { public: int x; virtual void printStuff() { std::cout << x << std::endl; } }; class Bar : public Foo { public: int y; void printStuff() { // I would like to call Foo.printStuff() here... std::cout << …

13
क्या एक क्लास मेंबर फंक्शन टेम्पलेट वर्चुअल हो सकता है?
मैंने सुना है कि C ++ वर्ग के सदस्य फ़ंक्शन टेम्पलेट वर्चुअल नहीं हो सकते। क्या ये सच है? यदि वे आभासी हो सकते हैं, तो ऐसे परिदृश्य का क्या उदाहरण है जिसमें कोई ऐसे फ़ंक्शन का उपयोग करेगा?

5
क्या 'ओवरराइड' कीवर्ड केवल ओवरराइड वर्चुअल विधि के लिए एक जांच है?
जहां तक ​​मैं समझता हूं, overrideC ++ 11 में कीवर्ड की शुरूआत यह सुनिश्चित करने के लिए एक जांच से अधिक कुछ नहीं है कि कार्यान्वित किया जा रहा फ़ंक्शन बेस क्लास में फ़ंक्शन overrideका आईएनजी है virtual। क्या यही है?

9
व्युत्पन्न वर्गों में कार्यों के लिए C ++ "आभासी" कीवर्ड। क्या ये ज़रूरी हैं?
नीचे दी गई संरचनात्मक परिभाषा के साथ ... struct A { virtual void hello() = 0; }; दृष्टिकोण # 1: struct B : public A { virtual void hello() { ... } }; दृष्टिकोण # 2: struct B : public A { void hello() { ... } }; क्या हेलो …

13
क्या इनलाइन वर्चुअल फ़ंक्शंस वास्तव में एक गैर-भावना हैं?
मुझे यह प्रश्न तब मिला जब मुझे एक कोड समीक्षा टिप्पणी मिली जिसमें कहा गया था कि वर्चुअल फ़ंक्शन को इनलाइन नहीं होना चाहिए। मैंने सोचा कि इनलाइन वर्चुअल फ़ंक्शंस उन परिदृश्यों में काम आ सकते हैं जहाँ फ़ंक्शंस को सीधे ऑब्जेक्ट्स पर बुलाया जाता है। लेकिन मेरे दिमाग में …

6
क्या आप जावा में वर्चुअल फ़ंक्शंस / तरीके लिख सकते हैं?
क्या जावा में वर्चुअल तरीके लिखना संभव है , जैसा कि C ++ में कोई करेगा? या, क्या एक उचित जावा दृष्टिकोण है जिसे आप लागू कर सकते हैं जो समान व्यवहार पैदा करता है? क्या मुझे कुछ उदाहरण मिल सकते हैं?

15
वर्चुअल फ़ंक्शंस और प्रदर्शन - C ++
अपने वर्ग डिजाइन में, मैं अमूर्त कक्षाओं और आभासी कार्यों का बड़े पैमाने पर उपयोग करता हूं। मुझे लग रहा था कि आभासी कार्य प्रदर्शन को प्रभावित करते हैं। क्या ये सच है? लेकिन मुझे लगता है कि यह प्रदर्शन अंतर ध्यान देने योग्य नहीं है और ऐसा लगता है …

12
आभासी कार्य और व्यवहार्य कैसे लागू होते हैं?
हम सभी जानते हैं कि C ++ में कौन से वर्चुअल फ़ंक्शंस हैं, लेकिन उन्हें गहरे स्तर पर कैसे लागू किया जाता है? क्या वीटबल को संशोधित किया जा सकता है या यहां तक ​​कि सीधे रनटाइम पर भी पहुँचा जा सकता है? क्या सभी वर्गों के लिए वाइटेबल मौजूद …

6
C # इंटरफ़ेस विधियों को सार या आभासी घोषित क्यों नहीं किया जाता है?
इंटरफेस के बिना सी # तरीके virtualकीवर्ड का उपयोग किए बिना घोषित किए जाते हैं , और overrideकीवर्ड का उपयोग किए बिना व्युत्पन्न वर्ग में ओवरराइड किया जाता है । क्या इसका कोई कारण है? मुझे लगता है कि यह सिर्फ एक भाषा की सुविधा है, और जाहिर है सीएलआर …

9
C ++ क्लास में वर्चुअल मेथड होने की परफॉर्मेंस कॉस्ट क्या है?
C ++ क्लास (या उसके किसी भी पैरेंट क्लास) में कम से कम एक वर्चुअल तरीका होने का मतलब है कि क्लास में वर्चुअल टेबल होगी और हर इंस्टेंस में वर्चुअल पॉइंटर होगा। इसलिए मेमोरी कॉस्ट काफी स्पष्ट है। उदाहरणों पर सबसे महत्वपूर्ण स्मृति लागत है (विशेषकर यदि उदाहरण छोटे …

8
"शुद्ध आभासी फ़ंक्शन कॉल" क्रैश कहां से आते हैं?
मैं कभी-कभी उन प्रोग्रामों को नोटिस करता हूं जो मेरे कंप्यूटर पर त्रुटि के साथ क्रैश होते हैं: "शुद्ध आभासी फ़ंक्शन कॉल"। जब एक वस्तु एक अमूर्त वर्ग से नहीं बनाई जा सकती है तो ये कार्यक्रम कैसे संकलित करते हैं?

9
डिफ़ॉल्ट रूप से C # लागू करने के तरीके गैर-आभासी क्यों हैं?
जावा के विपरीत, C # तरीकों को डिफ़ॉल्ट रूप से गैर-आभासी कार्यों के रूप में क्यों मानता है? क्या अन्य संभावित परिणामों के बजाय प्रदर्शन का मुद्दा होने की अधिक संभावना है? मुझे एंडर्स हेजलबर्ग के एक पैराग्राफ को पढ़ने के बारे में याद दिलाया गया है, जिसमें मौजूदा आर्किटेक्चर …

9
C ++ वर्चुअल फ़ंक्शंस को सुरक्षित रूप से ओवरराइड करें
मेरे पास वर्चुअल फ़ंक्शन के साथ एक बेस क्लास है और मैं उस फ़ंक्शन को एक व्युत्पन्न वर्ग में ओवरराइड करना चाहता हूं। क्या संकलक जांच करने का कोई तरीका है यदि मैं व्युत्पन्न वर्ग में घोषित फ़ंक्शन वास्तव में बेस क्लास में एक फ़ंक्शन को ओवरराइड करता है? मैं …

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.