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

C++-এ ফরওয়ার্ড ডিক্লেরেশন (Forward Declaration) কী?

ফরওয়ার্ড ডিক্লেরেশন কম্পাইলারকে বলে দেয় যে একটি নির্দিষ্ট নামের ক্লাস/স্ট্রাক্ট/ক্লাস টেমপ্লেট অস্তিত্ব আছে, কিন্তু এর সংজ্ঞা (definition) পরে দেওয়া হবে।

উদাহরণ

class Person; // ফরওয়ার্ড ডিক্লেরেশন

void myFunc(Person p1) { // Person incomplete type, কিন্তু পয়েন্টার/রেফারেন্স ব্যবহার করা যায়
    // ...
}

class Person { // সংজ্ঞা পরে
    // ক্লাস ডেফিনিশন
};

কখন ব্যবহার করা হয়?

  • সার্কুলার ডিপেন্ডেন্সি ভাঙতে (A.h B-র/include করে, B.h A-র/include করে)
  • কম্পাইল টাইম হ্রাস করতে (হেডার ফাইলে ফুল ডেফিনিশন না দিয়ে শুধু ফরওয়ার্ড ডিক্লেরেশন)
  • Pimpl ইডিওম (Pointer to Implementation) - প্রাইভেট ডেটা হেডার থেকে লুকাতে

সীমাবদ্ধতা: ইনকমপ্লিট টাইপের ওপর: সাইজ জানা যায় না, মেম্বার অ্যাক্সেস করা যায় না, বেস ক্লাস হিসেবে ব্যবহার করা যায় না। শুধু পয়েন্টার/রেফারেন্স ব্যবহার করা যায়।

  1. C++-এ অ্যারো অপারেটর (->) কী?

  2. C++-এ ডট অপারেটর (.) কী?

  3. C++-এ অ্যাক্সেস মডিফায়ার

  4. C++-এ ভেরিয়েবলের স্টোরেজ ক্লাস