কম্পিউটার

কন্সট্রাক্টরদের কখন C++ এ ডাকা হয়?


এখানে আমরা দেখব, কখন কনস্ট্রাক্টর বলা হয়। এখানে কনস্ট্রাক্টর বিভিন্ন ধরনের হয়। বিশ্বব্যাপী, স্থানীয়, স্ট্যাটিক স্থানীয়, গতিশীল।

গ্লোবাল অবজেক্টের জন্য, প্রধান ফাংশনে প্রবেশ করার আগে কনস্ট্রাক্টরদের ডাকা হয়।

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
MyClass myObj; //Global object
int main() {
   cout << "Inside Main";
}

আউটপুট

Calling Constructor
Inside Main

যখন অবজেক্টটি নন-স্ট্যাটিক হয়, তখন কনস্ট্রাক্টর বলা হয় যখন এক্সিকিউশন পয়েন্টে পৌঁছায়, যেখানে অবজেক্ট তৈরি হয়।

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
int main() {
   cout << "Inside Main\n";
   MyClass myObj; //Local object
   cout << "After creating object";
}

আউটপুট

Inside Main
Calling Constructor
After creating object

যখন বস্তুটি স্থানীয় স্থির থাকে, তখন শুধুমাত্র প্রথমবারের জন্য, এর কনস্ট্রাক্টরকে কল করা হবে, যদি একই ফাংশন আবার ব্যবহার করা হয়, এটি প্রভাবিত করবে না৷

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
void func() {
   static MyClass myObj; //Local static object
}
int main() {
   cout << "Inside Main\n";
   func();
   cout << "After creating object\n";
   func();
   cout << "After second time";
}

আউটপুট

Inside Main
Calling Constructor
After creating object
After second time

অবশেষে ডাইনামিক অবজেক্টের জন্য কনস্ট্রাক্টর বলা হবে, যখন নতুন অপারেটর ব্যবহার করে অবজেক্ট তৈরি করা হবে।

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         cout << "Calling Constructor" << endl;
      }
};
int main() {
   cout << "Inside Main\n";
   MyClass *ptr;
   cout << "Declaring pointer\n";
   ptr = new MyClass;
   cout << "After creating dynamic object";
}

আউটপুট

Inside Main
Declaring pointer
Calling Constructor
After creating dynamic object

  1. C++ এ আক্ষরিক কি?

  2. C++ এ গুনগত অপারেটর কি?

  3. কিভাবে C++ এ পাইথন অবজেক্ট ব্যবহার করবেন?

  4. যখন পাইথন বস্তু আবর্জনা সংগ্রহের জন্য প্রার্থী হয়?