কম্পিউটার

কনস্ট্রাক্টর/ডিস্ট্রাক্টর ভিত্তিক C++ ইন্টারভিউ প্রশ্ন


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

কনস্ট্রাক্টর কি?

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

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

সিনট্যাক্স

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

একটি ধ্বংসকারী কি?

একটি ধ্বংসকারী একটি ক্লাসের একটি পদ্ধতি যার নাম টিল্ড ~ দ্বারা পূর্ববর্তী ক্লাসের মতো প্রতীক এটিকে কোডের শেষে বলা হয় বা যখন বস্তুটি ধ্বংস হয়ে যায় বা সুযোগের বাইরে চলে যায়।

সিনট্যাক্স

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

কন্সট্রাক্টরের ব্যবহার কি?

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

যখন একটি অবজেক্ট তৈরি করা হয়, তখন ভেরিয়েবলগুলি মেমরি এবং বেস মানগুলির প্রারম্ভিক অংশগুলি যদি থাকে৷

ডিস্ট্রাক্টরের ব্যবহার কি?

ডেস্ট্রাক্টর হল এমন একটি পদ্ধতি যার নাম ~ চিহ্নের পূর্ববর্তী ক্লাসের মতো। একটি ধ্বংসকারীর ব্যবহার হল মেমরির অংশগুলিকে ডিলোকেট করা যা কোড অবজেক্টের সুযোগের বাইরে চলে যায় বা ডিলিট কীওয়ার্ড ব্যবহার করে মুছে ফেলা হয়। .

যখন বস্তুটি মুছে ফেলা হয় তখন ধ্বংসকারীকে বলা হয় এবং এটি একটি বস্তু তৈরি করার সময় তৈরি হওয়া সমস্ত মেমরি ব্লকগুলিকে ডিলোকেট করে৷

C++ এ কনস্ট্রাক্টর এক্সিকিউশনের ক্রম কী?

যখন একটি শ্রেণীর অবজেক্ট তৈরি করা হয় তখন একটি কনস্ট্রাক্টরকে আমন্ত্রণ জানানো হয়৷ যে ক্রমে একটি কনস্ট্রাক্টরকে আহ্বান করা হয় সেটি উত্তরাধিকারের অনুক্রমের মতোই৷ এর মানে হল প্রথমে একটি বেস ক্লাসের অবজেক্টকে আহ্বান করা হয় তারপর চাইল্ড ক্লাসের অবজেক্টগুলিকে আহ্বান করা হয় ইত্যাদি।

C++ এ ডেস্ট্রাক্টর এক্সিকিউশনের অর্ডার কি?

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

আমরা অন্য কোন কনস্ট্রাক্টর তৈরি করলেও কি ডিফল্ট কনস্ট্রাক্টর তৈরি করা হয়?

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


  1. কিভাবে C++ ব্যবহার করে OpenCV-তে ট্র্যাক-বার যোগ করবেন?

  2. পিএইচপি কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

  3. জাভা কনস্ট্রাক্টর কি?

  4. কনস্ট্রাক্টরদের উপর জাভা ইন্টারভিউ প্রশ্ন