কম্পিউটার টিউটোরিয়াল

C++-এ সুপারক্লাস কনস্ট্রাক্টর (Superclass Constructor) কল করার নিয়ম

C++-এ আমরা কিছু ক্লাস ডেরাইভ (derive) করতে পারি। কখনও কখনও ডেরাইভড ক্লাসের কনস্ট্রাক্টর কল করার সময় সুপার ক্লাস (বেস ক্লাস) কনস্ট্রাক্টর কল করতে হয়। Java-এর মতো সুপার ক্লাসের জন্য কোনো রেফারেন্স ভেরিয়েবল নেই। যদি কনস্ট্রাক্টর নন-প্যারামিটারাইজড (non-parameterized) হয়, তবে ডেরাইভড ক্লাসের সাথে আটোমেটিক্যালি কল হবে, অন্যথায় ডেরাইভড ক্লাসের ইনিশিয়ালাইজার লিস্টে (initializer list) সুপার ক্লাস কনস্ট্রাক্টর রাখতে হয়।

এই উদাহরণে প্রথমে আর্গুমেন্ট-রহিত কনস্ট্রাক্টর দেখব।

উদাহরণ কোড (নন-প্যারামিটারাইজড কনস্ট্রাক্টর)

#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 { // বেস কনস্ট্রাক্টর ইনিশিয়ালাইজার লিস্টে
    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
  1. C#-এ ক্লাস নামকরণের নিয়মাবলী (Naming Conventions)

  2. জাভা ৯-এ Publisher ইন্টারফেসের নিয়মাবলী

  3. জাভা ৯-এ Subscription ইন্টারফেসের নিয়মাবলী

  4. জাভা ৯-এ Subscriber ইন্টারফেসের নিয়মাবলী