কন্সট্রাক্টর (Constructor):
C++-এ কন্সট্রাক্টর হল একটি বিশেষ ফাংশন যা একটি অবজেক্ট তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়। এটি সাধারণত অবজেক্টের প্রাথমিক মান সেট করতে ব্যবহৃত হয়।
- কন্সট্রাক্টরের নাম ক্লাসের নামের সাথে মিলে থাকে।
- কন্সট্রাক্টর কোন রিটার্ন টাইপ গ্রহণ করে না।
- একটি ক্লাসে একাধিক কন্সট্রাক্টর থাকতে পারে, যেগুলি প্যারামিটারাইজড কন্সট্রাক্টর বা ডিফল্ট কন্সট্রাক্টর হতে পারে।
উদাহরণ:
class MyClass {
public:
int x;
// কন্সট্রাক্টর
MyClass(int val) {
x = val; // অবজেক্ট তৈরি হওয়ার সময় x এর মান সেট করা হবে
}
};
ডেস্ট্রাক্টর (Destructor):
C++-এ ডেস্ট্রাক্টর হল একটি বিশেষ ফাংশন যা একটি অবজেক্ট ধ্বংস হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়। এটি সাধারণত অবজেক্টের জন্য আলাদা করা মেমরি রিলিজ বা অন্যান্য ক্লিনআপ কাজের জন্য ব্যবহৃত হয়।
- ডেস্ট্রাক্টরের নাম ক্লাসের নামের সাথে মিললেও তার আগে একটি টিলড (~) চিহ্ন থাকে।
- ডেস্ট্রাক্টর কোন প্যারামিটার গ্রহণ করে না এবং কোন রিটার্ন টাইপ থাকে না।
- একটি ক্লাসে সাধারণত একটিই ডেস্ট্রাক্টর থাকে।
উদাহরণ:
class MyClass {
public:
int x;
// কন্সট্রাক্টর
MyClass(int val) {
x = val;
}
// ডেস্ট্রাক্টর
~MyClass() {
// অবজেক্ট ধ্বংস হওয়ার সময় কিছু কাজ করতে পারে
cout
সারাংশ:
- কন্সট্রাক্টর: অবজেক্ট তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়, এবং এটি অবজেক্টের প্রাথমিক মান সেট করে।
- ডেস্ট্রাক্টর: অবজেক্ট ধ্বংস হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়, এবং এটি মেমরি মুক্তি বা ক্লিনআপ কাজের জন্য ব্যবহৃত হয়।