मान लीजिए कि हम एक त्रिभुज वर्ग और एक अन्य बाल वर्ग बनाना चाहते हैं जिसे समद्विबाहु कहा जाता है। त्रिभुज वर्ग में एक फ़ंक्शन होता है जो प्रिंट करता है कि वस्तु त्रिभुज प्रकार की है, और समद्विबाहु के दो कार्य हैं जो यह दिखाते हैं कि यह एक समद्विबाहु त्रिभुज और एक विवरण है। हमें समद्विबाहु वर्ग ऑब्जेक्ट के माध्यम से पैरेंट क्लास फ़ंक्शन को भी कॉल करने की आवश्यकता है। ऐसा कोई उचित इनपुट नहीं है, हम केवल फ़ंक्शन को उचित तरीके से कहते हैं।
इसलिए, यदि इनपुट trg नामक ऑब्जेक्ट को परिभाषित करने जैसा है, तो trg.isosceles(), trg.description(), trg.triangle() पर कॉल करें, तो आउटपुट होगा
यह एक समद्विबाहु त्रिभुज है
समद्विबाहु त्रिभुज में दो भुजाएँ बराबर होती हैं
यह एक त्रिभुज है
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सार्वजनिक/संरक्षित फ़ंक्शन त्रिकोण के साथ पहले त्रिभुज वर्ग को परिभाषित करें ()
-
सार्वजनिक विरासत के साथ समद्विबाहु वर्ग को परिभाषित करें जहाँ दो विधियाँ मौजूद हैं जिन्हें समद्विबाहु () और विवरण () कहा जाता है
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream> using namespace std; class Triangle{ public: void triangle(){ cout<<"This is a triangle" << endl; } }; class Isosceles : public Triangle{ public: void isosceles(){ cout<<"This is an isosceles triangle" << endl; } void description(){ cout<<"There are two sides are equal in an isosceles triangle" << endl; } }; int main(){ Isosceles trg; trg.isosceles(); trg.description(); trg.triangle(); }
इनपुट
Isosceles trg; trg.isosceles(); trg.description(); trg.triangle();
आउटपुट
This is an isosceles triangle There are two sides are equal in an isosceles triangle This is a triangle