C++ এ, আমরা কিছু ক্লাস বের করতে পারি। প্রাপ্ত শ্রেণীর কন্সট্রাক্টরকে কল করার সময় কখনও কখনও আমাদের সুপার ক্লাস (বেস ক্লাস) কনস্ট্রাক্টরকে কল করতে হবে। জাভার বিপরীতে সুপার ক্লাসের জন্য কোন রেফারেন্স ভেরিয়েবল নেই। যদি কনস্ট্রাক্টরটি নন-প্যারামিটারাইজড হয়, তাহলে এটিকে ডেরাইভড ক্লাসের সাথে স্বয়ংক্রিয়ভাবে কল করা হবে, অন্যথায় আমাদেরকে প্রাপ্ত ক্লাসের ইনিশিয়ালাইজার তালিকায় সুপার ক্লাস কনস্ট্রাক্টর রাখতে হবে।
এই উদাহরণে প্রথমে আমরা কোন যুক্তি ছাড়াই কনস্ট্রাক্টর দেখতে পাব।
উদাহরণ
#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