सी ++ में, हम कुछ कक्षाएं प्राप्त कर सकते हैं। कभी-कभी हमें व्युत्पन्न वर्ग के निर्माता को कॉल करते समय सुपर क्लास (बेस क्लास) कंस्ट्रक्टर को कॉल करने की आवश्यकता होती है। जावा के विपरीत सुपर क्लास के लिए कोई संदर्भ चर नहीं है। यदि कंस्ट्रक्टर गैर-पैरामीटरयुक्त है, तो इसे स्वचालित रूप से व्युत्पन्न वर्ग के साथ बुलाया जाएगा, अन्यथा हमें सुपर क्लास कंस्ट्रक्टर को व्युत्पन्न वर्ग की इनिशियलाइज़र सूची में रखना होगा।
इस उदाहरण में सबसे पहले हम बिना तर्क के कंस्ट्रक्टर देखेंगे।
उदाहरण
#include <iostream> using namespace std; class MyBaseClass { public: MyBaseClass() { cout << "Constructor of base class" << endl; } }; class MyDerivedClass : public MyBaseClass { public: MyDerivedClass() { cout << "Constructor of derived class" << endl; } }; int main() { MyDerivedClass derived; }
आउटपुट
Constructor of base class Constructor of derived class
अब हम कंस्ट्रक्टर को देखते हैं जो पैरामीटर ले सकता है।
उदाहरण
#include <iostream> using namespace std; class MyBaseClass { public: MyBaseClass(int x) { cout << "Constructor of base class: " << x << endl; } }; class MyDerivedClass : public MyBaseClass { //base constructor as initializer list public: MyDerivedClass(int y) : MyBaseClass(50) { cout << "Constructor of derived class: " << y << endl; } }; int main() { MyDerivedClass derived(100); }
आउटपुट
Constructor of base class: 50 Constructor of derived class: 100