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

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

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

यदि डेटा सदस्य सार्वजनिक हैं, तो उन्हें व्युत्पन्न वर्ग, समान वर्ग और कक्षा के बाहर पहुँचा जा सकता है। यदि डेटा सदस्यों को संरक्षित किया जाता है, तो उन्हें केवल व्युत्पन्न और समान वर्ग द्वारा पहुँचा जा सकता है, लेकिन कक्षा के बाहर, उन्हें एक्सेस नहीं किया जा सकता है। यदि डेटा सदस्य निजी हैं, तो केवल वही वर्ग उन तक पहुंच सकता है।

यहाँ C++ भाषा में वंशानुक्रम का एक उदाहरण दिया गया है,

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Base {
   public: int a;
   protected: int b;
   private: int c;
};
class Derived : public Base {
   public: int x;
};
int main() {
   Derived d;
   d.a = 10;
   d.x = 20;
   cout << "Derived class data member vale : " << d.x << endl;
   cout << "Base class data member value : " << d.a << endl;
   return 0;
}

आउटपुट

Derived class data member vale : 20
Base class data member value : 10

उपरोक्त कार्यक्रम में, व्युत्पन्न वर्ग बेस क्लास और उसके डेटा सदस्यों को विरासत में मिला है। व्युत्पन्न वर्ग वस्तु d बनाया गया है और आधार और व्युत्पन्न वर्ग a और x के डेटा सदस्यों को कॉल करने के लिए उपयोग किया जाता है। लेकिन यह बेस क्लास के वेरिएबल बी और सी तक नहीं पहुंच सकता क्योंकि वे संरक्षित और निजी हैं, अगर हम उन्हें एक्सेस करने का प्रयास करेंगे तो यह त्रुटियां दिखाएगा।

Derived d;
d.a = 10;
d.x = 20;

  1. C++ . में सभी भवनों से सबसे कम दूरी

    मान लीजिए हम एक खाली जमीन पर एक घर बनाना चाहते हैं जो कम से कम दूरी में सभी इमारतों तक पहुंच जाए। हम केवल चार दिशाओं को ऊपर, नीचे, बाएँ और दाएँ घुमा सकते हैं। हमारे पास 0, 1 या 2 मानों का 2D ग्रिड है, जहां - 0 एक खाली भूमि का प्रतिनिधित्व करता है जिसे हम स्वतंत्र रूप से पारित कर सकते हैं। 1 एक

  1. सी++ में स्रोत से लक्ष्य तक के सभी पथ

    मान लीजिए कि हमारे पास एन नोड्स के साथ एक निर्देशित, चक्रीय ग्राफ है। हमें नोड 0 से नोड N-1 तक के सभी संभावित रास्तों को खोजना होगा, और उन्हें किसी भी क्रम में वापस करना होगा। ग्राफ़ इस प्रकार दिया गया है:नोड 0, 1, ..., ग्राफ़ हैं। लंबाई - 1. ग्राफ़ [i] सभी नोड्स की एक सूची है जिसके लिए किनारे (i, j

  1. C++ में दिए गए नोड से k दूरी पर सभी नोड्स प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री, एक लक्ष्य नोड और एक पूर्णांक K दिया जाता है। हमें ट्री के सभी नोड्स को प्रिंट करना होता है जो लक्ष्य नोड से K की दूरी पर होते हैं। । बाइनरी ट्री एक विशेष पेड़ है जिसके प्रत्येक नोड में अधिकतम दो नोड (एक/दो/कोई नहीं) होते हैं। आइए समस्या को समझने के लिए एक उदाहरण