Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में बेस क्लास में सभी अतिभारित विधियों को छुपाना

सी ++ में, हम फ़ंक्शन ओवरलोडिंग तकनीकों का उपयोग कर सकते हैं। लेकिन अगर कुछ बेस क्लास में ओवरलोडेड फॉर्म (एक ही नाम के साथ अलग-अलग फंक्शन सिग्नेचर) में एक मेथड है, और व्युत्पन्न क्लास किसी एक फंक्शन को फिर से परिभाषित करता है जो बेस के अंदर मौजूद है, तो उस फंक्शन के सभी ओवरलोडेड वर्जन को छिपा दिया जाएगा। व्युत्पन्न वर्ग।

आइए स्पष्ट विचार प्राप्त करने के लिए एक उदाहरण देखें।

उदाहरण

#include <iostream>
using namespace std;
class MyBaseClass {
   public:
      void my_function() {
         cout << "This is my_function. This is taking no arguments" << endl;
      }
      void my_function(int x) {
         cout << "This is my_function. This is taking one argument x" << endl;
      }
};
class MyDerivedClass : public MyBaseClass {
   public:
      void my_function() {
         cout << "This is my_function. From derived class, This is taking no arguments" << endl;
      }
};
main() {
   MyDerivedClass ob;
   ob.my_function(10);
}

आउटपुट

[Error] no matching function for call to 'MyDerivedClass::my_function(int)'
[Note] candidate is:
[Note] void MyDerivedClass::my_function()
[Note] candidate expects 0 arguments, 1 provided

  1. C++ में आधार और व्युत्पन्न वर्ग अपवादों को पकड़ना

    बेस और व्युत्पन्न वर्ग दोनों के लिए एक अपवाद को पकड़ने के लिए हमें बेस क्लास से पहले व्युत्पन्न वर्ग के कैच ब्लॉक को रखना होगा। अन्यथा, व्युत्पन्न वर्ग के पकड़ ब्लॉक तक कभी नहीं पहुंचा जा सकेगा। एल्गोरिदम Begin    Declare a class B.    Declare another class D which inherits class

  1. सी ++ में मूल वर्ग से सभी को क्या विरासत में मिला है?

    ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, हम पैरेंट क्लास की विशेषताओं को इनहेरिट कर सकते हैं। मूल वर्ग को बेस क्लास के रूप में जाना जाता है जबकि चाइल्ड क्लास को व्युत्पन्न वर्ग के रूप में जाना जाता है। व्युत्पन्न वर्ग डेटा सदस्यों, बेस क्लास के सदस्य कार्यों को इनहेरिट कर सकता है। यदि डेटा सदस्य सार्वजन

  1. सी ++ में स्थानीय कक्षा

    किसी फ़ंक्शन के अंदर घोषित एक वर्ग को C++ में स्थानीय वर्ग के रूप में जाना जाता है क्योंकि यह उस फ़ंक्शन के लिए स्थानीय होता है। स्थानीय वर्ग का एक उदाहरण इस प्रकार दिया गया है। #include<iostream> using namespace std; void func() {    class LocalClass {    }; } int main()