এখানে আমরা দেখব, কখন কনস্ট্রাক্টর বলা হয়। এখানে কনস্ট্রাক্টর বিভিন্ন ধরনের হয়। বিশ্বব্যাপী, স্থানীয়, স্ট্যাটিক স্থানীয়, গতিশীল।
গ্লোবাল অবজেক্টের জন্য, প্রধান ফাংশনে প্রবেশ করার আগে কনস্ট্রাক্টরদের ডাকা হয়।
উদাহরণ
#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