আমরা জানি যে ফাংশন ওভারলোডিং হল অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজের অন্যতম প্রধান বৈশিষ্ট্য। আমরা ফাংশনগুলির একই নাম ব্যবহার করতে পারি; যার প্যারামিটার সেট ভিন্ন। এখানে আমরা দেখব কিভাবে C++ ক্লাসের কনস্ট্রাক্টর ওভারলোড করা যায়। কনস্ট্রাক্টর ওভারলোডিং এর কিছু গুরুত্বপূর্ণ ধারণা আছে।
- ওভারলোডেড কনস্ট্রাক্টরদের অবশ্যই একই নাম এবং ভিন্ন সংখ্যক আর্গুমেন্ট থাকতে হবে
- সংরক্ষণকারীকে বলা হয় আর্গুমেন্টের সংখ্যা এবং প্রকারের উপর ভিত্তি করে।
- অবজেক্ট তৈরি করার সময় আমাদের আর্গুমেন্ট পাস করতে হবে, অন্যথায় কনস্ট্রাক্টর বুঝতে পারবে না কোন কনস্ট্রাক্টর বলা হবে।
উদাহরণ
#include <iostream>
using namespace std;
class Rect{
private:
int area;
public:
Rect(){
area = 0;
}
Rect(int a, int b){
area = a * b;
}
void display(){
cout << "The area is: " << area << endl;
}
};
main(){
Rect r1;
Rect r2(2, 6);
r1.display();
r2.display();
} আউটপুট
The area is: 0 The area is: 12