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

C++ ক্লাসে const মেম্বার ভেরিয়েবল ইনিশিয়ালাইজ করা

C++-এ const মেম্বার ভেরিয়েবল ইনিশিয়ালাইজ করতে হলে কনস্ট্রাক্টরের মেম্বার ইনিশিয়ালাইজার লিস্ট (member initializer list) ব্যবহার করতে হয়। বডির ভেতরে অ্যাসাইনমেন্ট কাজ করে না (কারণ কনস্ট্রাক্টর বডি রান হওয়ার আগে কনস্ট মেম্বার ইনিশিয়ালাইজ হয়ে যাবে)।

সিনট্যাক্স

class MyClass {
    const int x;
public:
    MyClass(int a) : x(a) { } // ইনিশিয়ালাইজার লিস্ট
    void show() { cout << "x = " << x; }
};

উদাহরণ কোড

#include <iostream>
using namespace std;

class MyClass {
private:
    const int x;
public:
    MyClass(int a) : x(a) { }
    void show_x() { cout << "Value of constant x: " << x; }
};

int main() {
    MyClass ob1(40);
    ob1.show_x();
    return 0;
}

আউটপুট

Value of constant x: 40

নোট: রেফারেন্স মেম্বার (int& ref) ও বেস ক্লাস কনস্ট্রাক্টর কলের জন্যও ইনিশিয়ালাইজার লিস্ট বাধ্যতামূলক। C++11-এ নন-স্ট্যাটিক ডেটা মেম্বার ইনিশিয়ালাইজার (NSDMI) দিয়ে ক্লাস বডিতে ডিফল্ট ভ্যালু দেওয়া যায়: const int x = 10;।

  1. C++-এ ভেরিয়েবল কীভাবে ডিক্লেয়ার করবেন?

  2. কি C++ ভেরিয়েবল একসাথে const এবং volatile হতে পারে?

  3. C#-তে ভেরিয়েবল ইনিশিয়ালাইজেশন (Variable Initialization)

  4. জাভাতে ইন্টারফেস অবজেক্ট দিয়ে ডারাইভড ক্লাসের মেম্বার ভেরিয়েবল কীভাবে অ্যাক্সেস করবেন?