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

C++ ইন্টারভিউ কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর সম্বন্ধীয় প্রশ্নোত্তর

C++ ইন্টারভিউ প্রশ্ন কনস্ট্রাক্টর সম্পর্কে

কনস্ট্রাক্টর কী? (What is a constructor?)

এক কনস্ট্রাক্টর হল একটি ক্লাসের ফাংশন যার নাম ক্লাসের নামের সাথে একই। কনস্ট্রাক্টরটি অবজেক্ট ইনিশিয়ালাইজেশনের সময় কল হয়। কনস্ট্রাক্টর তিন প্রকারের -

  • ডিফল্ট কনস্ট্রাক্টর
  • প্যারামিটারাইজড কনস্ট্রাক্টর
  • কপি কনস্ট্রাক্টর

সিনট্যাক্স

class cl_name {
    cl_name() {
        // This is constructor..
    }
}

ডেস্ট্রাক্টর কী? (What is a destructor?)

এক ডেস্ট্রাক্টর হল একটি ক্লাসের মেথড যার নাম ক্লাসের নামের সাথে একই কিন্তু সামনে একটি টিলড ~ সিম্বল থাকে। এটি কোডের শেষে বা যখন অবজেক্ট ডিস্ট্রয় হয় বা স্কোপের বাইরে চলে যায় তখন কল হয়।

সিনট্যাক্স

class cl_name {
    ~ cl_name() {} // destructor
}

কনস্ট্রাক্টর ক্যো ব্যবহার করা হয়? (What is the use of constructor?)

এক কনস্ট্রাক্টর হল একটি মেথড যার নাম ক্লাসের নামের সাথে একই। এবং কনস্ট্রাক্টর ব্যবহারের উদ্দেশ্য হল অবজেক্ট তৈরি হওয়ার সময় সেটি ইনিশিয়ালাইজ করা যখন new কিওয়ার্ড ব্যবহার করা হয়।

যখন একটি অবজেক্ট তৈরি হয়, ভেরিয়েবল গুলো ইনিশিয়ালাইজড চাঙ্কস অফ মেমরি এবং বেস ভ্যালু হয় যদি থাকে।

ডেস্ট্রাক্টর ক্যো ব্যবহার করা হয়? (What is the use of destructor?)

এক ডেস্ট্রাক্টর হল একটি মেথড যার নাম ক্লাসের নামের সাথে একই কিন্তু সামনে ~ সিম্বল থাকে। ডেস্ট্রাক্টর ব্যবহারের উদ্দেশ্য হল মেমরি চাঙ্ক গুলো ডি-অ্যালোকেট করা একবার কোড অবজেক্টের স্কোপের বাইরে চলে গেলে বা delete keyword ব্যবহার করে ডিলিট করা হলে।

যখন অবজেক্ট ডিলিট হয়, ডেস্ট্রাক্টর কল হয় এবং এটি সকল মেমরি ব্লক ডি-অ্যালোকেট করে দেয় যা অবজেক্ট তৈরি হয়ে রয়েছিল।

C++-এ কনস্ট্রাক্টর এক্সিকিউশনের অর্ডার কী? (What is the order of constructor execution in C++?)

এক কনস্ট্রাক্টর আহ্বান করা হয় যখন একটি ক্লাসের অবজেক্ট তৈরি হয়। কনস্ট্রাক্টর আহ্বান হওয়ার অর্ডার ইনহেরিট্যান্স হায়ারার্কির সাথে একই। এর মানে হল প্রথমে বেস ক্লাসের অবজেক্ট আহ্বান হয় তারপর চাইল্ড ক্লাসের অবজেক্ট গুলো আহ্বান হয় এবং এভাবেই চলে।

C++-এ ডেস্ট্রাক্টর এক্সিকিউশনের অর্ডার কী? (What is the order of destructor execution in C++?)

এক ডেস্ট্রাক্টর কনস্ট্রাক্টর-এর উল্টো অর্ডারে আহ্বান হয় এবং এটি কল হয় যখন ক্লাসের অবজেক্ট ডিলিট হয়। ডেস্ট্রাক্টর আহ্বান হওয়ার অর্ডার ইনহেরিট্যান্স হায়ারার্কির ঠিক বিপরীত। এর মানে হল প্রথমে চাইল্ড ক্লাসের অবজেক্ট ডিস্ট্রয় হয় তারপর প্যারেন্ট ক্লাসের অবজেক্ট গুলো ডিস্ট্রয় হয় এবং এভাবেই চলে।

ডিফল্ট কনস্ট্রাক্টর কি তৈরি হয় যদি আমরা অন্য কোনো কনস্ট্রাক্টর তৈরি করি? (Is the default constructor created even if we create any other constructor?)

যদি প্রোগ্রামার কোনো কনস্ট্রাক্টর এক্সপ্লিসিটলি ডিফাইন না করে তবে কম্পাইলার ডিফল্টরূপে কনস্ট্রাক্টর তৈরি করে। যদি প্রোগ্রামার একটি কনস্ট্রাক্টর ডিফাইন করে তবে কম্পাইলার তার কাজ বন্ধ করে দেয় এবং কনস্ট্রাক্টর তৈরি করে না।

  1. OpenCV-এ C++ ব্যবহার করে ট্র্যাকবার যোগ করা

  2. PHP কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

  3. জাভাতে কনস্ট্রাক্টর কী?

  4. জাভা কনস্ট্রাক্টর সম্পর্কে ইন্টারভিউ প্রশ্নাবলী