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

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 << "डेराइव्ड क्लास डेटा मेंबर मान: " << d.x << endl;    cout << "बेस क्लास डेटा मेंबर मान: " << d.a << endl;    return 0; }

आउटपुट

डेराइव्ड क्लास डेटा मेंबर मान: 20 बेस क्लास डेटा मेंबर मान: 10

उपरोक्त प्रोग्राम में, डेराइव्ड क्लास बेस क्लास और उसके डेटा मेंबर्स को इनहेरिट कर रही है। डेराइव्ड क्लास ऑब्जेक्ट d बनाया गया है और बेस और डेराइव्ड क्लास के डेटा मेंबर्स a और x को कॉल करने के लिए उपयोग किया जाता है। लेकिन यह बेस क्लास के वेरिएबल b और c को एक्सेस नहीं कर सकता क्योंकि वे प्रोटेक्टेड और प्राइवेट हैं, यदि हम उन्हें एक्सेस करने का प्रयास करेंगे तो एरर दिखाएगा।

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

  1. - सभी इमारतों से सबसे छोटी दूरी - C++

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

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

    मान लीजिए हमारे पास N नोड्स के साथ एक निर्देशित, चक्रीय ग्राफ है। हमें नोड 0 से नोड N-1 तक सभी संभावित पथ ढूंढने हैं, और उन्हें किसी भी क्रम में लौटाना है। ग्राफ निम्नानुसार दिया गया है: नोड्स 0, 1, ..., graph.length - 1 हैं। graph[i] उन सभी नोड्स j की सूची है जिनके लिए किनारा (i, j) मौजूद है।उदाहरण

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

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